jQuery(document).ready(function() {
jQuery("#footer").positionFooter(true);
});

(function(jQuery){  
jQuery.fn.positionFooter = function(center){  
var element = this; 
var originalPosition = jQuery(element).offset();
var originalTopPosition = originalPosition.top;  
positionTheFooter();  
jQuery(window).bind("resize", function(){  
    positionTheFooter();  
});
 
function positionTheFooter(){ 
  var elementPosition = jQuery(element).offset();
  var elementPaddingTop = jQuery(element).css("padding-top");
  var elementPaddingBottom = jQuery(element).css("padding-bottom");
  var elementPaddingleft = jQuery(element).css("padding-left");
  var elementPaddingRight = jQuery(element).css("padding-right");
  var elementHeight = jQuery(element).height();
  var elementWidth = jQuery(element).width();
  var windowHeight = jQuery(window).height();
  var windowWidth = jQuery(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){
    jQuery(element).css({  
      "position" : "absolute",
      "top" : newPosition
    });
    if(center == true){
      jQuery(element).css({  
        "left" : windowWidth / 2 - (((elementWidth + parseInt(elementPaddingleft) + parseInt(elementPaddingRight)) / 2))
      });
    }
  }
  if(newPosition <= originalTopPosition){
    jQuery(element).css({  
      "position" : "absolute",
      "top" : originalTopPosition
    });
    if(center == true){
      jQuery(element).css({  
        "left" : windowWidth / 2 - (((elementWidth + parseInt(elementPaddingleft) + parseInt(elementPaddingRight)) / 2))
      });
    }
  }
};
};  
})(jQuery); 