var currentSubMenu = null;
var mouseOverItem = null;
var mouseOverTimer = null;

function initSubMenuItem(subMenuItem) {

	subMenuItem.onclick = function() {
		var href = subMenuItem.getAttribute("hrefx");
		if ( href != null )
			go(href);
	}

	subMenuItem.onmouseover = function() {
		subMenuItem.className = "submenuitemHover cursorHand";
		return true;
	}
	
	subMenuItem.onmouseout = function() {
		subMenuItem.className = "submenuitem";
		return true;	  	
	}
}


function initSubMenu(topmenu, submenu) {
	
	topmenu.onmouseover = function() {    
		if (currentSubMenu)
			currentSubMenu.style.visibility = "hidden";
		if ( topmenu.getAttribute("hrefx") != null && topmenu.getAttribute("hrefx") != "" )
			topmenu.className = "mainmenuitemHover cursorHand";
		else
			topmenu.showSubMenu();
		if (submenu != null) 
			submenu.onmouseover();
	}
	
	topmenu.onmouseout = function() {
		this.className = 'mainmenuitem';
		if (submenu != null) 
			submenu.onmouseout();
	}
	
	if (submenu != null) {
		var subMenuItems = submenu.getElementsByTagName("div");
		for (var k = 0; k < subMenuItems.length; k++) {
			var subMenuItem = subMenuItems[k];
			if ( subMenuItem.className == "submenuitem" )
				initSubMenuItem(subMenuItem);
		}
		
		submenu.onmouseout = function() {
			if (currentSubMenu != null) {
				topmenu.setMouseOverMenu(null);
				mouseOverTimer = setTimeout('if (currentSubMenu != null) currentSubMenu.tryHideMenu()', 800);
			}
			return true;
		}
		
		submenu.onmouseover = function() {
			clearTimeout(mouseOverTimer);
			if (currentSubMenu != null)
				topmenu.setMouseOverMenu(this);
			return true;
		}
		
		submenu.tryHideMenu = function() {
			if (mouseOverItem == null && currentSubMenu != null) 
				topmenu.hideMenu();
			return true;
		}
	  
	}
	
	topmenu.setMouseOverMenu = function(item) {
		mouseOverItem = item;
	}
   
	topmenu.onclick = function() {
		var href = topmenu.getAttribute("hrefx");
		if ( href != null )
			go(href);
	}
	
	topmenu.showSubMenu = function() {
		topmenu.className = 'mainmenuitemHover';
		if (submenu != null) {
			currentSubMenu = submenu;
			submenu.style.visibility = "visible";
		}
	}
	
	topmenu.hideMenu = function() {
		topmenu.className = 'mainmenuitem';
		if (currentSubMenu != null) {
			currentSubMenu.style.visibility = "hidden";
			currentSubMenu = null;
		}
	}
	
	document.body.onclick = function() {
		if (currentSubMenu != null) 
			topmenu.hideMenu();
		return true;
	}
}

function initMainMenu( mainmenu ) {
	var subMenus = mainmenu.childNodes;
	subMenuFound = false;
	for (var j = 0; j < subMenus.length; j++) {
		if ( subMenus[j].className == "submenu" ) { 
			subMenuFound = true;
			initSubMenu(mainmenu,subMenus[j]); 
		}
 	}
	if ( !subMenuFound )
		initSubMenu(mainmenu,null); 
}

function go(url) {
	if (url != null && url != "")
		location.href = url;
}

function initMenu( menuid ) {
	var elements = document.getElementById(menuid).getElementsByTagName("div");
 	for(var i=0; i < elements.length; i++) {
		var item=elements[i];
		if (item.className=="mainmenuitem")
			initMainMenu(item);
	}
}	 

window.onload = function() {
	initMenu("menu");
}

