/**********************************************************************************
 * layout.js - handles the layout
 **********************************************************************************/
var bLoaded = false;
var dom = (document.getElementById != null);
var ie = (document.all != null);
var ns = (document.layers != null);

function getEl(id) {
	var obj;
	if (dom) {
		obj = document.getElementById(id);
	} else if (ie) {
		obj = eval("document.all." + id);
	} else if (ns) {
		obj = eval("document.layers[\"" + id + "\"]");
	}
	return obj;
}

function showEl(obj) {
	if ((obj == null) || (!bLoaded)) return;
	if (dom) {
		obj.style.visibility = "visible";
	} else if (ie) {
		obj.style.visibility = "visible";
	} else if (ns) {
		obj.visibility = "visible";
	}
}

function hideEl(obj) {
	if ((obj == null) || (!bLoaded)) return;
	if (dom) {
		obj.style.visibility = "hidden";
	} else if (ie) {
		obj.style.visibility = "hidden";
	} else if (ns) {
		obj.visibility = "hidden";
	}
}

function findPosX(obj) {
	var curleft = 0;
	if (document.getElementById || document.all) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (document.getElementById || document.all) 	{
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curtop += obj.y;
	return curtop;
}

function hideSelects(obj) {
	if (!document.all) return;
	var ary = document.getElementsByTagName("SELECT");
	var i;
	for (i=0; i<ary.length; i++) {
		var x = findPosX(ary[i]);
		var y = findPosY(ary[i]);
		var w = ary[i].offsetWidth;
		var mb = eval(obj.style.top.replace("px", "")) + obj.offsetHeight;
		var l = eval(obj.style.left.replace("px", ""));
		var ml = l + obj.offsetWidth;
		if (y <= mb) {
			if ((x >= l && x <= ml) || (x+w >= l && x+w <= ml) || (x <= l && x+w >= ml))
				ary[i].style.visibility = "hidden";
		}
	}
}

function showSelects() {
	if (!document.all) return;
	var ary = document.getElementsByTagName("SELECT");
	var i;
	for (i=0; i<ary.length; i++) {
		if ((ary[i].style.visibility == "hidden") && (ary[i].disabled == false))
			ary[i].style.visibility = "";
	}
}

var clientAreaX = 0;
var clientAreaY = 0;
var loaded = false;
var headerHeight, bodyHeight, footerHeight;
	
function handleResize() {
	clientAreaX = getViewportWidth();
	clientAreaY = getViewportHeight();

	if (!loaded) {
	headerHeight = getEl("pageHeader").offsetHeight;
	bodyHeight = getEl("pageBody").offsetHeight;
	footerHeight = getEl("footer").offsetHeight;
	loaded = true;
	}
	
	//var leftOffset = findPosX(footer);
	footer.style.position = 'absolute';		
	
	if (headerHeight + bodyHeight > clientAreaY) {
		//footer.style.top = (headerHeight + bodyHeight) + 'px';
	} else {
		//footer.style.top = (clientAreaY - footerHeight) - 0 + 'px';
		pageBody.style.height = (clientAreaY - footerHeight) - headerHeight - 22 + 'px';
	}
	
	footer.style.left = findPosX(getEl("frame")); //leftOffset;
	bLoaded = true;
}

function getViewportWidth() {
	var width = 0;
	if( document.documentElement && document.documentElement.clientWidth )
		width = document.documentElement.clientWidth;
	else if( document.body && document.body.clientWidth )
		width = document.body.clientWidth;
	else if( window.innerWidth )
		width = window.innerWidth - 18;
	return width;
}

function getViewportHeight() {
	var height = 0;
	if( document.documentElement && document.documentElement.clientHeight )
		height = document.documentElement.clientHeight;
	else if( document.body && document.body.clientHeight )
		height = document.body.clientHeight;
	else if( window.innerHeight )
		height = window.innerHeight - 18;
	return height;
}

function getAvailHeight() {
	var height = 0;
	if( document.all && document.documentElement && document.documentElement.offsetHeight )
		height = document.documentElement.offsetHeight;
	else if( window.innerHeight )
		height = window.innerHeight + 4;
	else if( document.body && document.body.scrollHeight )
		height = document.body.scrollHeight;
	return height;
}

function toggleElement(id) {
	var obj = document.getElementById(id);
	
	if (obj.style.display == "none")
		obj.style.display = "block";
	else
		obj.style.display = "none";
    //alert('Called me.');
    //handleResize();
}
