var currentMenu = null;
var mytimer = null;
var timerOn = false;
var opera = window.opera ? true : false;

if (!document.getElementById) document.getElementById = function() { return null; }

function initializeMenu(menuId, starterId) 
{
	var menu =    document.getElementById(menuId);
	var starter = document.getElementById(starterId);

	if (menu == null || starter == null) return;
	
	currentMenu = menu;


	starter.onmouseover = function() {
		if (currentMenu) {
			currentMenu.style.visibility = "hidden";
			currentMenu = null;
			this.showMenu();
			stopTime();
		}
	}

	menu.onmouseover = function() {
		if (currentMenu) {
			currentMenu.style.visibility = "hidden";
			currentMenu = null;
			this.showMenu();
		}
	}	


	menu.onmouseout = function(event) { this.hideMenu(); }
	starter.onmouseout = function() {   menu.hideMenu(); }


	starter.onfocus	 = function() { this.onmouseover(); }
	starter.onblur	 = function() { this.onmouseout(); }


	starter.showMenu = function() {
		menu.style.left = this.offsetLeft + "px";
		if (!opera) { menu.style.top = this.offsetTop + this.offsetHeight + "px"; }
		else {        menu.style.top = this.offsetHeight + "px"; }
		menu.style.visibility = "visible";
		currentMenu = menu;
	}
	
	menu.showMenu = function() {
		menu.style.visibility = "visible";
		currentMenu = menu;
		stopTime();
	}


	menu.hideMenu = function()  {
		if (!timerOn) {
			mytimer = setTimeout("killMenu('" + menuId + "');", 2000);
			timerOn = true;
		}
	}
}


function killMenu(amenu) 
{
	var menu = document.getElementById(amenu);
	menu.style.visibility = "hidden";
	stopTime();
}


function stopTime() 
{
	if (mytimer) {
		 clearTimeout(mytimer);
		 mytimer = null;
		 timerOn = false;
	}
} 


window.onload = function() 
{
	// disable menu for ie5 mac, because it forces floated elements in the body to stack above our absolutely-positioned dropdowns
	var notIE5Mac = !(
		(navigator.appVersion.indexOf("Mac") != -1) && 
		(navigator.appName.indexOf("Explorer") > 0) && 
		(parseFloat(navigator.appVersion) == 4)
	);
	
	if (notIE5Mac) {
		initializeMenu("menu8", "menu8Starter");
		initializeMenu("menu7", "menu7Starter");
		initializeMenu("menu6", "menu6Starter");
		initializeMenu("menu5", "menu5Starter");
		initializeMenu("menu4", "menu4Starter");
	}
}
 
