var menu = new Array("subnavhome", "subnav01", "subnav02", "subnav03", "subnav04", "subnav05", "subnav06", "subnav07", "subnav08");
var HideDelay;
var ShowDelay;
var clickCheck = false;

/* changeColor - changes the color of the element with id "main" + idName to newColor
    parameters: 	string idName - HTML element ID;
			string newColor - new color to be set
    return: void
*/
function changeColor(idName, newColor) {
	var f = document.getElementById("main"+idName);
	if(f) {
		f.style.color = newColor;
	}
}

/* setVisibility - sets/resets visibility of the element with id idName
    parameters: 	string idName - HTML element ID;
			boolean isVisible - true if the element should be visible, false if the element should be hidden
    return: void
*/

function setVisibility(idName, isVis) {
	var e = document.getElementById(idName);

	if(e) {
		if(isVis) {
			e.style.visibility = "visible";
			changeColor(idName, "#FFFFFF");
		}
		else {
			e.style.visibility = "hidden";
			if(idName == "subnavhome" || idName == "subnav08") {
				changeColor(idName, "#7a7974");
			} else {
				changeColor(idName, "#333333");
			}
		}
	}
}


/* isVisible - checks whether the visibility of an element with id idName is set
    parameters: 	string idName - HTML element ID;
			boolean isVisible - true if the element should be visible, false if the element should be hidden
    return: false if element has it's visibility set to hidden, true otherwise
*/
function isVisible(idName) {
	var isVis = true; /* let's assume that the element is visible if it is not hidden */
	var e = document.getElementById(idName);
	if(e) {
		if(e.style.visibility == "hidden") {
			isVis = false;
		}
	}
	return isVis;
}


function HideContent(idName) {
	setVisibility(idName, false);
}


function ShowContent(idName) {
	setVisibility(idName, true);
}


function ReverseDisplay(idName) {
	if(!isVisible(idName)) {
		setVisibility(idName, true);
	} else {
		if (clickCheck != true) {
			HideDelay = setTimeout("setVisibility('"+idName+"', false)", 500);
		}
	}
}


function hideMenus(except) {
	for(i = 0; i < menu.length; i++) {
		if(menu[i] != except) {
			setVisibility(menu[i], false);
		}
	}
}


function submenuOver(idName) {
	clearTimeout(HideDelay);
	clearTimeout(ShowDelay);
	hideMenus(idName);
	setVisibility(idName, true);
}


function submenuHide(d) {
	if (clickCheck != true) {
		HideDelay = setTimeout("HideContent('"+d+"')", 500);
	}
}


function submenuShow(d) {
	if (clickCheck != true) {
		ShowDelay = setTimeout("ShowContent('"+d+"')", 500);
	}
}


function submenuClick() {
	clickCheck = true;
}


// Show / Hide
function HideAll(d) {
	var menu = new Array("subnav01", "subnav02", "subnav03"); //separate with a comma

	for(i = 0; i < menu.length; i++) {
		if (menu[i] != d) {
			Hide(menu[i]);
		}
	}
}

function Hide(d) {
	if(d.length < 1) { return; }
	document.getElementById(d).style.display = "none";
}


function Show(d) {
	if(d.length < 1) { return; }
		document.getElementById(d).style.display = "block";
}


function Reverse(d) {
	if(d.length < 1) { return; }
	if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
	else { document.getElementById(d).style.display = "none"; }
}
// END Show / Hide