var MENUDIV_ID = "menu";
var SUBMENU_CLASS = 'subMenu';
var hideinterval=-1;
var hideid=-1;
var showid=-1;
var id_cnt=0;

function showSubMenu(menuItemObj)
{
	var left=0;
	var top=0;
	var submenu = menuItemObj.getElementsByTagName('UL')[0];
	if(!submenu.id)
	{	
		submenu.id=id_cnt;
		id_cnt++;
	}
	id=submenu.id;
	if(hideid != -1 && hideid != id) realHideSubMenu();
	hideid = -1;
	if(menuItemObj.offsetParent)
	{
		while(menuItemObj)
		{
			left	+=menuItemObj.offsetLeft;
			top		+=menuItemObj.offsetTop;
			menuItemObj = menuItemObj.offsetParent;
		}
	} 
	else if (menuItemObj.x) 
	{
		menuItemObj += menuItemObj.x;
		menuItemObj += menuItemObj.y;
	}
	if(!submenu.id)
	submenu.id=id_cnt;
	id_cnt++;
	
	submenu.style.position="absolute";
	submenu.style.left = (left+100)+"px";
	submenu.style.top = (top-20)+"px";
	submenu.className = "subMenu visible";
	 showid = submenu.id;
	
}


function hideSubMenu(menuItemObj)
{
	clearInterval(hideinterval);
	submenu = menuItemObj.getElementsByTagName('UL')[0];
	hideid= submenu.id;
	hideinterval = setInterval("realHideSubMenu()", 350);
}

function realHideSubMenu(submenu)
{
	clearInterval(hideinterval);
	
	if(hideid != -1) 
	{
		submenu = document.getElementById(hideid);
		submenu.className="subMenu hidden";	
		hideid = -1;
	}	
}

function collectMenuNodes(menuObj) {
     if (!menuObj) return null;

     var results = new Array();
     var menuUL = menuObj.getElementsByTagName('UL')[0];
     var results = menuUL.getElementsByTagName('LI');
  	 return results;
}

function initMenu() {
	var mainDiv = document.getElementById(MENUDIV_ID);
	menuItems = collectMenuNodes(mainDiv);
	if (menuItems){
		for (var no=0;no<menuItems.length;no++) {
			if(menuItems[no].getElementsByTagName('UL')[0])
			{	
				menuItems[no].getElementsByTagName('UL')[0].className="subMenu hidden";		
				menuItems[no].onmouseover=function(){ showSubMenu(this);};
				menuItems[no].onmouseout=function(){ hideSubMenu(this);};
			}	
		}
	}
}

window.onload = initMenu;