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
        {
            //alert("show");

            l.style.visibility = 'hidden';
        }
        else {
            //alert("hide");
            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; 










//old code below here

var tabNavPrefix = 'header_2_n_tab_';


var currentNavTab = 0;

var hoverNavTab = -1;

var navTabArray = new Object();




function removeClassName(e, t) {

    if (typeof e == "string") {

        e = document.getElementById(e);

    }

    //code to change and replace strings

    var ec = ' ' + e.className.replace(/^s*|s*$/g, '') + ' ';

    var nc = ec;

    t = t.replace(/^s*|s*$/g, '');

    //check if not already there

    if (ec.indexOf(' ' + t + ' ') != -1) {

        //found, so lets remove it

        nc = ec.replace(' ' + t.replace(/^s*|s*$/g, '') + ' ', ' ');

    }

    //return the changed text!

    e.className = nc.replace(/^s*|s*$/g, ''); //trimmed whitespace

    return true;

}




function navClick(tabKey) {

    var tab = document.getElementById(tabNavPrefix + tabKey);

    if (navTabArray[tabKey]['state']) { }

    else if (!navTabArray[tabKey]['state']) {

        tab.innerHTML = getOnNavString(tabKey);

        navTabArray[tabKey]['state'] = true;

        // disable previous

        var oTab = document.getElementById(tabNavPrefix + currentNavTab);

        oTab.innerHTML = getOffNavString(currentNavTab);

        navTabArray[currentNavTab]['state'] = false;

        currentNavTab = tabKey;

    }

    else {

        alert('tab is missing ...')

    }



}



function navHover(tabKey) {



    restoreNav();

    var tab = document.getElementById(tabNavPrefix + tabKey);



    if (!navTabArray[tabKey]['state']) {

        tab.innerHTML = getHoverNavString(tabKey);



    }

    hoverNavTab = tabKey;

    if (document.getElementById('header_2_sub_nav_' + tabKey)) {

        /*document.getElementById('header_2_sub_nav_'+tabKey).removeClass('hidden');

			document.getElementById('header_2_sub_nav_'+tabKey).addClass('shown');*/

        //alert(document.getElementById('header_2_sub_nav_'+tabKey).className);
        removeClassName('header_2_sub_nav_' + tabKey, 'hidden');

        if (document.getElementById && document.createTextNode) {
            var n = document.getElementById('header_2_sub_nav_' + tabKey);
            if (n) {
                n.className += n.className ? ' shown' : 'shown';
            }
        }

    }



}



function restoreNav() {

    if (hoverNavTab > -1) {



        if (!navTabArray[hoverNavTab]['state']) {

            var oTab = document.getElementById(tabNavPrefix + hoverNavTab);

            oTab.innerHTML = getOffNavString(hoverNavTab);

        }



        if (document.getElementById('header_2_sub_nav_' + hoverNavTab)) {
            //alert(document.getElementById('header_2_sub_nav_'+hoverNavTab).className);
            /*document.getElementById('header_2_sub_nav_'+hoverNavTab).removeClass('shown');*/
            document.getElementById('header_2_sub_nav_' + hoverNavTab).className = 'nav_overlay on shown';

            /*document.getElementById('header_2_sub_nav_'+hoverNavTab).addClass('hidden');*/
            document.getElementById('header_2_sub_nav_' + hoverNavTab).className = 'nav_overlay off hidden';

            subHover('');

        }



    }



}



function getHoverNavString(tabKey) {

    return '<div class="n_outer_hover"><div class="n_inner_hover"><div class="nav_tab_hover"><span class="n_hover">' + navTabArray[tabKey]['name'] + '</span></div></div></div>';

}



function getOnNavString(tabKey) {

    return '<div class="n_outer_on" onmouseover="navHover(' + tabKey + ');"><div class="n_inner_on"><div class="nav_tab_on"><span class="n_on" >' + navTabArray[tabKey]['name'] + '</span></div></div></div>';

}



function getOffNavString(tabKey) {

    return '<div class="n_outer_off" onmouseover="navHover(' + tabKey + ');"><div class="n_inner_off"><div class="nav_tab_off"><span class="n_off" >' + navTabArray[tabKey]['name'] + '</span></div></div></div>';

}



var previousSubId = '';

function subHover(element_id) {



    if (previousSubId != '') {

        /*document.getElementById(previousSubId).removeClass('hover');*/
        //alert(document.getElementById(previousSubId).className);
        document.getElementById(previousSubId).className = 'sub_nav_item off';
    }



    if (element_id != '') {



        /*document.getElementById(element_id).addClass('hover');*/
        //alert(document.getElementById(element_id).className);
        document.getElementById(element_id).className = 'sub_nav_item off hover';

    }

    previousSubId = element_id;

}

function subHoverOn(element_id) {



    if (previousSubId != '') {

        /*document.getElementById(previousSubId).removeClass('hover');*/
        //alert(document.getElementById(previousSubId).className);
        document.getElementById(previousSubId).className = 'sub_nav_item on';
    }



    if (element_id != '') {



        /*document.getElementById(element_id).addClass('hover');*/
        //alert(document.getElementById(element_id).className);
        document.getElementById(element_id).className = 'sub_nav_item on hover';

    }

    previousSubId = element_id;

}


