/**********************************************************************************
 * menus.js - handles the navagation drop down menus
 **********************************************************************************/
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 showMenu(controlid) {
	showEl(getEl("menuTabHover" + controlid));
	showEl(getEl("menu" + controlid));
	showEl(getEl("mousetrap"));
	return;
}

function hideMenu(controlid) {
	hideEl(getEl("menuTabHover" + controlid));
	hideEl(getEl("menu" + controlid));
	return;
}

function hideAll() {
	var i = 1;
	var obj = getEl("menuTabHover" + i);
	while (obj != null) {
		hideMenu(i);
		obj = getEl("menuTabHover" + (++i));
	}
}

function mouseTrap() {
	hideAll();
	hideEl(getEl("mousetrap"));
}

var clientAreaX = 0;
var clientAreaY = 0;
function handleResize() {
	depositionMenus();
	clientAreaX = getViewportWidth();
	clientAreaY = getViewportHeight();
	document.getElementById("mousetrapImg").width = clientAreaX;
	document.getElementById("mousetrapImg").height = clientAreaY - 10;
	positionMenus();
	bLoaded = true;
}

function depositionMenus() {
	var i = 1;
	var x;
	var obj = getEl("menu" + i);
	while (obj != null) {
		obj.style.left = "0px";
		obj = getEl("menu" + (++i));
	}
}

function positionMenus() {
	var i = 1;
	var x;
	var obj = getEl("menu" + i);
	while (obj != null) {
		x = eval(obj.getAttribute("xpos"));
		if (x + obj.offsetWidth > clientAreaX) x -= (x + obj.offsetWidth - clientAreaX);
		obj.style.left = x + "px";
		hideMenu(i);
		obj = getEl("menu" + (++i));
	}
	obj = getEl("contentControl");
	if (obj != null) {
		obj.style.left = (clientAreaX - 79) + "px";
		if (getEl("banner") == null) {
			obj.style.top = "66px";
		}
	}
	
	var availHeight = getAvailHeight();
	var footerHeight = 0;
	//if (!document.all) footerHeight += 50;
	obj = getEl("sizer");
	/////
	if (obj != null) {
		if (getEl("contentFooter") != null) {
			footerHeight = getEl("contentFooter").offsetHeight;
			if ((!document.all) && (getEl("banner") == null))
				footerHeight += 15;
		}
		
		var newHeight = 0;
		if (getEl("banner") == null)
			newHeight = (availHeight - 97 - 40 - footerHeight);
		else
			newHeight = (availHeight - 176 - 40 - footerHeight);
			
		if (document.getElementById('sizer').offsetHeight < Math.max(0, newHeight)) {
			obj.style.height = Math.max(0, newHeight) + "px";		
		}		
	}
}

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 openLink(link, target) {
	//if (target == "_self")
	//	window.location.href = link;
	//else
	if (target == null) target = "_self";
	window.open(link, target);
}

function increaseContent() {
	var obj;
	var i = 1;
	var px = 12;
	obj = document.getElementById("content" + i++);
	if (obj != null && obj.style.fontSize != "")
		px = eval(obj.style.fontSize.replace("px",""));
	if (px >= 20) return;
	px++;
	while (obj != null) {
		obj.style.fontSize = px + "px";
		obj = document.getElementById("content" + i++);
	}
	saveFaceSize(px);
}

function decreaseContent() {
	var obj;
	var i = 1;
	var px = 12;
	obj = document.getElementById("content" + i++);
	if (obj != null && obj.style.fontSize != "")
		px = eval(obj.style.fontSize.replace("px",""));
	if (px <= 8) return;
	px--;
	while (obj != null) {
		obj.style.fontSize = px + "px";
		obj = document.getElementById("content" + i++);
	}
	saveFaceSize(px);
}

function saveFaceSize(fontSize) {
	var expire = new Date ();
	  	expire.setTime (expire.getTime() + (6000 * 24 * 3600000)); //expires in 6 days from users clock
	  	expire = expire.toGMTString();
	document.cookie="fontSize="+fontSize+"; path=/; expires="+expire;
}

function toolbarItemMouseOut(obj) {
	obj.parentNode.previousSibling.style.display = "none";
}
function toolbarItemMouseOver(obj) {
	obj.parentNode.previousSibling.style.display = "block";
}

function siteSearch() {
	var obj = document.getElementById("siteSearch");
	if (obj.value.length > 0)
		document.forms.frmSiteSearch.submit();
	else
		alert("Please enter your search query");
}
function siteSearch2() {
	var obj = document.getElementById("siteSearch2");
	if (obj.value.length > 0)
		document.forms.frmSiteSearch2.submit();
	else
		alert("Please enter your search query");
}

function toggleElement(id) {
	var obj = document.getElementById(id);
	
	if (obj.style.display == "none")
		obj.style.display = "block";
	else
		obj.style.display = "none";
}