var TimeOut         = 300;
var currentLayer    = null;
var currentitem     = null;
var currentLayerNum = 0;
var noClose         = 0;
var closeTimer      = null;
var tabInactiveTimer = null;

function mopen(n,noSubs)
{
    var l  = document.getElementById("menu"+n);
    var mm = document.getElementById("mmenu"+n);
    if(l)
    {
        mcancelclosetime();
        if(!noSubs) // if a tab has no sub-nav elements
        {
            l.style.visibility='visible';
        }
        if(currentLayer && (currentLayerNum != n))
            currentLayer.style.visibility='hidden';
        document.getElementById("mmenu"+currentLayerNum).className = 'menu';
        currentLayer = l;
        currentitem = mm;
        currentitem.className = 'menuActive';
        currentLayerNum = n;			
    }
    else if(currentLayer)
    {
        currentLayer.style.visibility='hidden';
        window.setTimeout("document.getElementById(\"mmenu" + n + "\").className = 'menu'", TimeOut);
        currentLayerNum = 0;
        currentitem = null;
        currentLayer = null;
 	}
}

function mclosetime(noSubs)
{
    if(noSubs)
    {
        closeTimer = window.setTimeout(mclose, 0);
    }
    else
    {
        closeTimer = window.setTimeout(mclose, TimeOut);
    }
}



function mcancelclosetime(n)
{
    if(n != null)
    {
        document.getElementById("mmenu"+n).className = 'menuActive';
    }
    if(closeTimer)
    {
        window.clearTimeout(closeTimer);
        closeTimer = null;
    }
}

function mclose()
{
    if(currentLayer && noClose!=1)
    {
        currentLayer.style.visibility='hidden';
        currentitem.className = 'menu';
        currentLayerNum = 0;
        currentLayer = null;
        currentitem = null;
    }
    else
    {
        noClose = 0;
    }
    currentLayer = null;
    currentitem = null;
}

document.onclick = mclose; 