	var lastMenu = null;
	var doHide = false;
	var menuTimeout = null;
	
	function ShowMenu(obj, e, id)
	{
		doHide = false;
		var menu = document.getElementById(id);
		if(menu != null)
		{
			if(lastMenu)
				lastMenu.style.visibility = 'hidden';
				
			lastMenu = menu;
				
			menu.style.left = GetPosition(obj, 'left') + 'px';
			if(document.all)
				menu.style.top = (GetPosition(obj, 'top') + 32) + 'px';
			else
			   menu.style.top = (GetPosition(obj, 'top') + 19) + 'px';
		
			menu.style.visibility = 'visible';
		}	
	}
	
	function OverMenu()
	{
		doHide = false;
	}
	
	function OutMenu()
	{
		doHide = true;
		menuTimeout = setTimeout('HideOpenMenu()', 250);
	}
	
	function HideMenu(obj, e, id)
	{
		doHide = true;
		menuTimeout = setTimeout('HideOpenMenu()', 250);
	}
	
	function HideOpenMenu()
	{
		if(doHide)
		{
			clearTimeout(menuTimeout);
			if(lastMenu)
				lastMenu.style.visibility = 'hidden';
		}	
	}
	
	function GetPosition(object, offset)
	{
		var totaloffset = ((offset == 'top') ? object.offsetTop : object.offsetLeft );
		var parent = object.offsetParent;
		if (parent != null)
			totaloffset += GetPosition(parent, offset);
		
		return totaloffset;
	}

