var menuIntervalID = null;
var menuIntervalCount = 0;
var menuShowID = null;

function hideMenuItem(menuid)
{
    var ddOld = $get(menuid);
    if (ddOld)
        ddOld.style.display = 'none';
}

function ShowMenuItem(menuid)
{
    if (menuIntervalID != null)
        clearInterval(menuIntervalID);

    if (menuShowID != null)
        hideMenuItem(menuShowID);
    
    var dd = $get(menuid);
    if (!dd) return;

    menuIntervalCount = 0;    
    dd.style.display='';
    dd.onmouseout = trackMenuMouseOut;
    dd.onmouseover = trackMenuMouseOver;
    menuShowID = menuid;
}

function trackMenuMouseOut(e)
{
    menuIntervalID = setInterval("removeMenuItem()", 500);
}

function trackMenuMouseOver(e)
{
    menuIntervalCount = 0;
    clearInterval(menuIntervalID);
    menuIntervalID = null;
}

function removeMenuItem()
{
    menuIntervalCount++;
    if (menuIntervalCount > 3)
    {
        menuIntervalCount = 0;
        hideMenuItem(menuShowID);
        clearInterval(menuIntervalID);
        menuIntervalID = null;
        menuShowID = null;
    }
}