var ActiveMenuID = null;
var MenuTimeoutID = null;

function MenuMouseOver( ParentElement, MenuID )
{
	if( ActiveMenuID == MenuID )
	{
		// if there is a countdown to hide this menu, cancel it
		if( MenuTimeoutID != null )
		{
			clearTimeout( MenuTimeoutID );
			MenuTimeoutID = null;
		}
	}
	else
	{
		// if another menu is active, immediately hide it before displaying this one
		if( ActiveMenuID )
		{
			HideMenu( ActiveMenuID );
		}

		var Menu = document.getElementById( MenuID );
		if( Menu )
		{
			var MenuPosition = getMenuPosition( ParentElement );
			Menu.style.left = MenuPosition.left;
			Menu.style.top = MenuPosition.top;
			Menu.style.display='';

			ActiveMenuID = MenuID;
		}
	}
}

function MenuMouseOut( MenuID )
{
	if( ActiveMenuID == MenuID && MenuTimeoutID == null )
	{
		MenuTimeoutID = setTimeout( "HideMenu( '" + MenuID + "' )", 500 );
	}
}

function HideMenu( MenuID )
{
	if( MenuTimeoutID != null )
	{
		clearTimeout( MenuTimeoutID );
		MenuTimeoutID = null;
	}

	if( ActiveMenuID == MenuID )
	{
		var Menu = document.getElementById( MenuID );
		Menu.style.display='none';
		ActiveMenuID = null;
	}
}
