var sub_menu_delay = 500;
var HidingSubmenu = null;
var SubmenuTimer = null;
		
function ShowSubmenu(menu)
{
  var menu_element = document.getElementById(menu);
	if (menu_element)
	{
	  menu_element.style.visibility='visible';				
		if (SubmenuTimer)
		{ // something is visible
		  if (HidingSubmenu == menu_element) 
			{
			  clearTimeout(SubmenuTimer);
				SubmenuTimer = null;
				HidingSubmenu = null;
			}
			else
			{
			  HideVisibleSubmenu();
			}
		}
	}
}

function TimedHideSubmenu(menu)
{
  if (SubmenuTimer == null)
	{
		  var menu_element = document.getElementById(menu);
 		if (menu_element)
  	{
	    SubmenuTimer = setTimeout("HideVisibleSubmenu()", sub_menu_delay);
			HidingSubmenu = menu_element; 
			}
	}
	else
	{
	  Alert('Trying to hide menu before some other is hidden');
	}		 
}

function HideVisibleSubmenu()
{
	if (HidingSubmenu)
	{
	  HidingSubmenu.style.visibility='hidden';
			HidingSubmenu = null;			  
	}
  clearTimeout(SubmenuTimer);
	SubmenuTimer = null;
}
