var OpenContainer=null;
var OpenMenus=null;
var HideMenuTimer=null;
function menuStartTimeout(hideTimeout)
{
    HideMenuTimer=setTimeout("menuHideMenus()", hideTimeout);    
}
function menuHideMenus()
{
    menuResetTimeout();
    if (OpenContainer)
    {
        var c=document.getElementById(OpenContainer);
        c.style.visibility="inherit";
        OpenContainer=null;
    }
    if (OpenMenus)
    {
        for (var i in OpenMenus)
        {
            var m=document.getElementById(OpenMenus[i]);
            m.style.visibility="hidden";            
        }
        OpenMenus=null;
    }
}
function menuHideSubmenus(menuName)
{
    if (OpenMenus)
    {
        var h=false;
        var c=0;
        for (var i in OpenMenus)
        {
            if (h)
            {
                var m=document.getElementById(OpenMenus[i]);
                m.style.visibility = "hidden";
            }
            else if (OpenMenus[i]==menuName)
            {
                h=true;
            }
            else
            {
                c++;
            }
        }
        OpenMenus.length=c+1;
    }
}
function menuOverMenuItem(menuName, subMenuSuffix)
{
    menuResetTimeout();
    menuHideSubmenus(menuName);
    if (subMenuSuffix)
    {
        var subMenuName=""+menuName+"_"+subMenuSuffix;
        menuShowSubMenu(subMenuName);
    }
}
function menuShowSubMenu(subMenuName)
{
    menuResetTimeout();
    var e = document.getElementById(subMenuName);
    e.style.visibility = "inherit";
    if (!OpenMenus)
    {
        OpenMenus=new Array;
    }
    OpenMenus[OpenMenus.length]=""+subMenuName;
}
function menuResetTimeout()
{
    if (HideMenuTimer)
    {
        clearTimeout(HideMenuTimer);
        HideMenuTimer=null;
    }
}
function menuShowMenu(containName, menuName, xOffset, yOffset, triggerName)
{
    menuHideMenus();
    menuResetTimeout();
    menuShowMenuContainer(containName, xOffset, yOffset, triggerName);
    menuShowSubMenu(menuName);
}
function menuShowMenuContainer(containName, x, y, triggerName)
{    
    var c=document.getElementById(containName);
    var s=c.style;
    s.visibility="inherit";
    OpenContainer=""+containName;
}
