(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();

			// Take out "px"
			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);