/******************************************************
* jQuery plug-in
* Easy Pinned Footer
* Developed by J.P. Given (http://johnpatrickgiven.com)
* Useage: anyone so long as credit is left alone
******************************************************/
(function($) {
// plugin definition
$.fn.pinFooter = function(options) {
// Get the height of the footer and window + window width
var wH = $(window).height();
var wW = getWindowWidth();
var fH = $(this).outerHeight(true);
var bH = $("body").outerHeight(true);
var mB = parseInt($("body").css("margin-bottom"));

if (options == 'relative') {
if (bH > getWindowHeight()) {
$(this).css("position","absolute");
$(this).css("width",wW + "px");
$(this).css("top",bH - fH + "px");
$("body").css("overflow-x","hidden");
} else {
$(this).css("position","fixed");
$(this).css("width",wW + "px");
$(this).css("top",wH - fH + "px");
}
} else { // Pinned option
// Set CSS attributes for positioning footer
$(this).css("position","fixed");
$(this).css("width",wW + "px");
$(this).css("top",wH - fH + "px");
$("body").css("height",(bH + mB) + "px");
}
};

// private function for debugging
function debug($obj) {
if (window.console && window.console.log) {
window.console.log('Window Width: ' + $(window).width());
window.console.log('Window Height: ' + $(window).height());
}
};

// Dependable function to get Window Height
function getWindowHeight() {
var windowHeight = 0;
if (typeof(window.innerHeight) == 'number') {
windowHeight = window.innerHeight;
}
else {
if (document.documentElement && document.documentElement.clientHeight) {
windowHeight = document.documentElement.clientHeight;
}
else {
if (document.body && document.body.clientHeight) {
windowHeight = document.body.clientHeight;
}
}
}
return windowHeight;
};

// Dependable function to get Window Width
function getWindowWidth() {
var windowWidth = 0;
if (typeof(window.innerWidth) == 'number') {
windowWidth = window.innerWidth;
}
else {
if (document.documentElement && document.documentElement.clientWidth) {
windowWidth = document.documentElement.clientWidth;
}
else {
if (document.body && document.body.clientWidth) {
windowWidth = document.body.clientWidth;
}
}
}
return windowWidth;
};
})(jQuery);
