function getWindowInnerSize() 
{ 
	
	var objWin = new Object();
	if (self.innerHeight) { 
	// all except Internet Explorer 
		objWin.width = self.innerWidth; 
		objWin.height = self.innerHeight; 
	} else if (document.documentElement && document.documentElement.clientHeight) { 
	// Explorer 6 Strict Mode 
		objWin.width = document.documentElement.clientWidth; 
		objWin.height = document.documentElement.clientHeight; 
	} else if (document.body) { 
	// other Explorers 
		objWin.width = document.body.clientWidth; 
		objWin.height = document.body.clientHeight; 
	} 
	return objWin; 
}

function getPos(id) 
{ 
	var obj = document.getElementById(id); 
	var pos = {left:0, top:0}; 
	if(typeof obj.offsetLeft != 'undefined') { 
		while (obj) { 
			pos.left += obj.offsetLeft; 
			pos.top += obj.offsetTop; 
			obj = obj.offsetParent; 
		} 
	} else { 
		pos.left = obj.left; 
		pos.top = obj.top; 
	} 
	return pos; 
}
function getHeight(element) 
{ 
	element = document.getElementById(element); 
	return element.offsetHeight; 
}
function setHeight(id, height) 
{ 
	var obj = document.getElementById(id); 
	obj.style.height = height + "px"; 
} 

function initLayout() 
{ 
	var iWindowHeight = getWindowInnerSize().height; 
	var iFooterHeight = (document.getElementById("footer")) ? getHeight("footer") : 0; 
	var iFooterTopPosition = (document.getElementById("footer")) ? getPos("footer").top : 0; 
	if (document.getElementById("footer-position-placeholder")) { 
		var iFooterPlaceholderHeight = getHeight("footer-position-placeholder"); 
		if (((iFooterTopPosition - iFooterPlaceholderHeight) + iFooterHeight) < iWindowHeight) { 
			var height = iFooterPlaceholderHeight + (iWindowHeight-(iFooterTopPosition+ iFooterHeight)); 
			setHeight("footer-position-placeholder", height) 
		} else { 
			setHeight("footer-position-placeholder", 0) 
		} 
	} 
} 

window.onload = function () {
	initLayout();
}

window.onresize = function () {
	initLayout();
}
