// If javascript is enabled, make the navMenu invisible until the proper mouseovers have been defined and give special styles to the subnavMenus
if (document.getElementById && document.getElementsByTagName) {
	document.write("<link type=\"text/css\" rel=\"stylesheet\" href=\"styles/jsmenustyle.css\" />");
}

window.onload = init;

function init() {
	if (document.getElementById && document.getElementsByTagName) {
		var mynavMenu = document.getElementById("navMenu").getElementsByTagName("A");
		if (!mynavMenu) { return; }
		else {
			for (var i=0;i<mynavMenu.length;i++) {
				mynavMenu[i].onmouseover = navHoverStyle;
				mynavMenu[i].onfocus = navHoverStyle;
			}
			document.getElementById("navMenu").style.visibility = "visible";
		}
	}
}

// Stores the currently open UL objects
var opennavMenus = new Array();

// Stores the timer for closing the navMenu
var navTimer;

function navHoverStyle(e) {
	if (!e) var e = window.event;
	if (e.target) var tg = e.target;
	else if (e.srcElement) var tg = e.srcElement;

	var linkElm = tg;
	while (linkElm.nodeName != 'A')
		linkElm.parentNode;

	while (tg.nodeName != 'LI')
		tg = tg.parentNode;

	// Determine if and if so, which subnavMenu items to close
	var tgParent = tg.parentNode;
	while (tgParent.nodeName != 'UL')
		tgParent = tgParent.parentNode;

	if (tgParent.id == 'navMenu') {
		closeAll(0);
	}
	else {
		var j=0;
		while (opennavMenus[j] != tgParent) {
			j++;
		}
		closeAll(j+1);
	}

	// Determine if the current item has a subnavMenu and if so, open it
	for ( var i=0;i<tg.childNodes.length;i++) {
		if ( tg.childNodes[i].nodeName == 'UL') {
			var subnavMenuElm = tg.childNodes[i];
		}
	}

	if (subnavMenuElm) {
		linkElm.className = 'unfolded';
		subnavMenuElm.style.display = 'block';
		opennavMenus.push(subnavMenuElm);
	}

	// Set the timer
	checkNavTimer();

	return false;
}

function checkNavTimer() {
	if (navTimer) clearTimeout(navTimer);
	navTimer = setTimeout('closeAll(0)',2000);
}

function closeAll(lvl) {
	var oMl = opennavMenus.length-1;
	for ( var i=oMl;i>=lvl;i--) {
		var linkElm = opennavMenus[i].previousSibling;
		while (linkElm.nodeName != 'A')
			linkElm = linkElm.previousSibling;

		linkElm.className = '';
		opennavMenus[i].style.display = 'none';
		opennavMenus.pop();
	}
}