/******************************************************
* jQuery plug-in
* Easy Background Image Resizer
* Developed by J.P. Given (http://johnpatrickgiven.com)
* Useage: anyone so long as credit is left alone
******************************************************/

var containerObj;
var center = 0;


(function($) {
// plugin definition
$.fn.ezBgResize = function(cntr) {

if (cntr) {
center = 1;
}

// First position object
containerObj = this;

containerObj.css("visibility","hidden");

$("body").css({
"overflow-x":"hidden"
});

$(window).load(function() {
resizeImage();
});

$(window).bind("resize",function() {
resizeImage();
});

};

function resizeImage() {

$("body").css({
"overflow-x":"auto"
});

containerObj.css({
"position":"fixed",
"top":"0px",
"left":"0px",
"z-index":"-1",
"overflow":"hidden",
"width":getWindowWidth() + "px",
"height":getWindowHeight() + "px"
});

// Resize the img object to the proper ratio of the window.
var iw = containerObj.children('img').width();
var ih = containerObj.children('img').height();
if ($(window).width() > $(window).height()) {
if (iw > ih) {
var fRatio = iw/ih;
containerObj.children('img').css("width",$(window).width() + "px");
containerObj.children('img').css("height",Math.round($(window).width() * (1/fRatio)));

var newIh = Math.round($(window).width() * (1/fRatio));

if(newIh < $(window).height()) {
var fRatio = ih/iw;
containerObj.children('img').css("height",$(window).height());
containerObj.children('img').css("width",Math.round($(window).height() * (1/fRatio)));
}
} else {
var fRatio = ih/iw;
containerObj.children('img').css("height",$(window).height());
containerObj.children('img').css("width",Math.round($(window).height() * (1/fRatio)));
}
} else {
var fRatio = ih/iw;
containerObj.children('img').css("height",$(window).height());
containerObj.children('img').css("width",Math.round($(window).height() * (1/fRatio)));
}

containerObj.css("visibility","visible");

// Center BG Image
if (center) {

containerObj.children('img').css("position","relative");

if (containerObj.children('img').width() > containerObj.width()) {
var wDiff = (containerObj.children('img').width() - containerObj.width()) / 2;
containerObj.children('img').css("left", "-" + wDiff + "px");
}
}
}
})(jQuery);

// 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;
};
