var jh_navi_current = false;
var jh_navi_timeout;

function jh_navi(menuindex, entryindex, state) {

        if (state) {
                if (jh_navi_current == false) {
                        // Kein Menue offen -> nur Menue oeffnen
                } else if (jh_navi_current == menuindex) {
                        // Aktuelles Menue -> Zeitverzoegerung für etwaiges Schliessen deaktivieren
                        window.clearTimeout(jh_navi_timeout);
                } else {
                        // Anderes Menue offen -> anderes schliessen + Menue oeffnen
                        jh_navi_perform(jh_navi_current, 0, false);
                }
                
                // Menue oeffnen
                jh_navi_current = menuindex;
                jh_navi_perform(jh_navi_current, 0, true);
        } else {
                window.clearTimeout(jh_navi_timeout);
                jh_navi_timeout = window.setTimeout("jh_navi_perform(\'" + menuindex + "\', \'" + entryindex + "\', false);", 200);
        }


        // submenue hover
        if ((entryindex > 0) && (document.getElementById('navi-' + menuindex + '-' + entryindex + '-back'))) {
                var active = (document.getElementById('navi-' + menuindex + '-' + entryindex + '-back').className.search(/active/) != -1);
                
                document.getElementById('navi-' + menuindex + '-' + entryindex + '-back').className = ((active) ? ((state) ? 'navi-sub-active-hover' : 'navi-sub-active') : ((state) ? 'navi-sub-hover' : 'navi-sub-back'));
        }
}

function jh_navi_perform(menuindex, entryindex, state) {
        // hauptmenue hover
        if (document.getElementById('navi-' + menuindex + '-back')) {
                var active = (document.getElementById('navi-' + menuindex + '-back').className.search(/active/) != -1);
        
                document.getElementById('navi-' + menuindex + '-back').className = ((active) ? ((state) ? 'navi-active-hover' : 'navi-active') : ((state) ? 'navi-hover' : 'navi-back'));
        }

        // untermenue
        if (document.getElementById('navi-' + menuindex) && document.getElementById('navi-' + menuindex + '-front') && document.getElementById('navi-' + menuindex + '-back-main')) {
                if ((state == true) && (entryindex <= 0)) {
                        // submenue (front+back) positionieren
                        npos = jh_getposition(document.getElementById('navi-' + menuindex));
                        jh_setposition(document.getElementById('navi-' + menuindex + '-front'), npos.x, npos.y + npos.h);
                        jh_setposition(document.getElementById('navi-' + menuindex + '-back-main'), npos.x, npos.y + npos.h);
                }
        
                if (state) {
                        document.getElementById('navi-' + menuindex + '-front').style.visibility = 'visible';
                        document.getElementById('navi-' + menuindex + '-back-main').style.visibility = 'visible';
                } else {
                        document.getElementById('navi-' + menuindex + '-front').style.visibility = 'hidden';
                        document.getElementById('navi-' + menuindex + '-back-main').style.visibility = 'hidden';
                }
                
        }
        
}

function jh_naviwin(winobj, state) {
        winobj.className = ((state) ? 'win-1x1-navi-hover' : 'win-1x1-navi');
}