function copyFunction(func, arg)
{
	return function()
	{
		func(arg);
	}
}

TopMenu = new Object();

TopMenu.menuList = new Array();
TopMenu.activeMenu = null;
TopMenu.showLock = false;
TopMenu.hideLock = false;

TopMenu.addMenu = function(id)
{
	TopMenu.menuList.push(id);
}

TopMenu.init = function()
{
	
	for(m = 0; m < TopMenu.menuList.length; m++ )
	{
		menuItem = document.getElementById(TopMenu.menuList[m]);
		if (document.all){
			menuItem.onmouseenter = copyFunction(TopMenu.show, menuItem);
			menuItem.onmouseleave = copyFunction(TopMenu.hide, menuItem);
		}
		else
		{
			menuItem.onmouseover = copyFunction(TopMenu.show, menuItem);
			menuItem.onmouseout = copyFunction(TopMenu.hide, menuItem);
		}
		//menuItem.style.zIndex = "1000";
		TopMenu.menuList[m] = menuItem;
		
		lis = menuItem.getElementsByTagName("LI");
		for(l = 0; l<lis.length; l++)
		{
			lis[l].style.display = "block";
		}
	}
}

TopMenu.show = function(obj)
{
	if (TopMenu.showLock == false)
	{
		TopMenu.showLock = true;
		ul = obj.getElementsByTagName('DIV');
		if (ul.length > 0)
		{
			ul = ul[0];
			ul.style.display = 'block';
			TopMenu.activeMenu = ul;
		}
		
		lis = obj.parentNode;
		for(c = 0; c < lis.length; c++)
		{
			if(lis[c] != obj)
				selectedIndex = obj.className.indexOf(" selected");
				if (selectedIndex!=-1){
					obj.className = obj.className.substring(0, selectedIndex);
				}
		}
		
		obj.className += " selected";
		
		TopMenu.showLock = false;
	}
	else{
		TopMenu.showLock = false;
	}
}

TopMenu.hide = function(obj)
{
if (TopMenu.hideLock == false)
	{
		TopMenu.hideLock = true;
		
		ul = obj.getElementsByTagName('DIV');
		if (ul.length > 0)
		{
			ul = ul[0];
			if(ul.className.indexOf('DoNotClose') == -1) {
				ul.style.display = 'none';
			}
		}
		if(TopMenu.activeMenu != null)
		{
			//TopMenu.activeMenu.style.display = 'none';
			TopMenu.activeMenu = null;
		}
		
		selectedIndex = obj.className.indexOf(" selected");
		if (selectedIndex!=-1){
			obj.className = obj.className.substring(0, selectedIndex);
		}
		
		TopMenu.hideLock = false;
	}
	else{
		TopMenu.hideLock = false;
	}
}

addLoadEvent(TopMenu.init);
