(function($){  

	$.fn.positionFooter = function(center){  
  
		var element = this; 

		var originalPosition = $(element).offset();
		var originalTopPosition = originalPosition.top;  

		positionTheFooter();  
  
		$(window).bind("resize", function(){  
			positionTheFooter();  
		});
		function positionTheFooter(){ 
			
			var elementPosition = $(element).offset();
			var elementPaddingTop = $(element).css("padding-top");
			var elementPaddingBottom = $(element).css("padding-bottom");
			var elementPaddingleft = $(element).css("padding-left");
			var elementPaddingRight = $(element).css("padding-right");
			var elementHeight = $(element).height();
			var elementWidth = $(element).width();
			
			var windowHeight = $(window).height();
			var windowWidth = $(window).width();
			
			elementPaddingTop = elementPaddingTop.replace(/px/,"");
			elementPaddingBottom = elementPaddingBottom.replace(/px/,"");
			elementPaddingleft = elementPaddingleft.replace(/px/,"");
			elementPaddingRight = elementPaddingRight.replace(/px/,"");
			
			var newPosition = (parseInt(windowHeight) - (parseInt(elementHeight) + (parseInt(elementPaddingTop) + parseInt(elementPaddingBottom))));
			var currentPosition = elementPosition.top - (parseInt(elementHeight) + (parseInt(elementPaddingTop) + parseInt(elementPaddingBottom)));
			
			
			if(originalTopPosition < windowHeight){
				
				$(element).css({  
					"position" : "absolute",
					"top" : newPosition
				});
				
				if(center == true){
					$(element).css({  
						"left" : windowWidth / 2 - (((elementWidth + parseInt(elementPaddingleft) + parseInt(elementPaddingRight)) / 2))
					});
				}
				
			}
			
			if(newPosition <= originalTopPosition){
				
				$(element).css({  
					"position" : "absolute",
					"top" : originalTopPosition
				});
				
				if(center == true){
					$(element).css({  
						"left" : windowWidth / 2 - (((elementWidth + parseInt(elementPaddingleft) + parseInt(elementPaddingRight)) / 2))
					});
				}
				
			}
			
		};
		
	};
})(jQuery);
