var menuCounter = 1;
function getSubmenu(elem)
{
	var menu =null;
	while(elem && elem.nodeName.toLowerCase() != 'li')
	{
		elem = elem.parentNode;
	}
	if (elem)
	{
		menu =  $(elem).getElementsByClassName('Submenu')[0];
	}
	if (menu && !menu.menuNumber)
	{
		menu.menuNumber = menuCounter;
		menuCounter++;
	}
	return menu;
}
function showSubmenu(elem)
{
	var menu = getSubmenu(elem);
	if (menu)
	{
		if (menu.hideTimeout)
			clearTimeout(menu.hideTimeout);
		if (!menu.isVisible)
		{
			menu.style.display = 'none';
			menu.style.visibility = 'visible';
			Effect.Appear(menu, {duration: 0.5, queue: {position: 'end', scope: 'submenu' + menu.menuNumber}});
		}
		menu.isVisible = true;
	}
}
function hideSubmenu(elem, immediate)
{
	var menu = getSubmenu(elem);
	if (menu)
	{
		if (immediate)
		{
			if (menu.isVisible)
			{
				Effect.Fade(menu, {duration: 0.5, queue: {position: 'end', scope: 'submenu' + menu.menuNumber}});
				menu.isVisible = false;
			}
		}
		else
		{
			if (menu.hideTimeout)
				clearTimeout(menu.hideTimeout);
			menu.hideTimeout = setTimeout(function () { hideSubmenu(elem, true) }, 200);
		}
	}
}
