
var lastMoObjId       = '';

var mainMenueStr      = 'mo-menue-';
var subMenueStr       = 'mo-submenue-';
var subMenueFade      = 'mo-submenue-fade-';

var activeOpenClass   = 'main-sub-navi-act-sub';            // aktive Menupunkt Pfeil nach unten (Untermenu anzeigen)
var activeCloseClass  = 'main-sub-navi-act-sub-close';      // aktive Menupunkt Pfeil nach rechts (Untermenu verstecken) -> das musste auch die gleiche Klasse sein, wenn wir keine Untermenu haben aber aktiv ist
var normalOpenClass   = 'main-sub-navi-no-sub-open';        // nicht aktive Menupunkt Pfeil nach unten (Untermenu anzeigen)
var normalCloseClass  = 'main-sub-navi-no-sub';             // nicht aktive Menupunkt Pfeil nach rechts (Untermenu verstecken)

var closeMenueRest    = true;
var alertIt           = false;

var initIds           = new Array;


function menueSlider(moObjId, closeMenueRest){
    if (moObjId == lastMoObjId){
        return true;
    }
    // toggle object
    if (document.getElementById(subMenueStr+moObjId)){
        opAlert(1);
		    changeMenueSymbol(moObjId);
		    moObjSliderBlock = document.getElementById(subMenueStr+moObjId);
		    $(moObjSliderBlock).slideToggle("slow");
		    opAlert(4);
    }
    // close first all slider blocks
    if (closeMenueRest){
        opAlert(5);
        closeLastMoSlider(lastMoObjId, moObjId);
        lastMoObjId = moObjId;
    }

    opAlert(7);
}

function changeMenueSymbol(curMoObjId){
    opAlert(2);
    moObjSliderFadeBlock = document.getElementById(subMenueFade+curMoObjId);
    switch (document.getElementById(mainMenueStr+curMoObjId).className){
        case activeOpenClass:
            opAlert(3);
            if (moObjSliderFadeBlock){
                $(moObjSliderFadeBlock).fadeOut("slow");
            }
            document.getElementById(mainMenueStr+curMoObjId).className = activeCloseClass;
        break;
        case activeCloseClass:
            if (moObjSliderFadeBlock){
                $(moObjSliderFadeBlock).fadeIn("slow");
            }
            document.getElementById(mainMenueStr+curMoObjId).className = activeOpenClass;
        break;
        case normalOpenClass:
            if (moObjSliderFadeBlock){
                $(moObjSliderFadeBlock).fadeOut("slow");                
            }
            document.getElementById(mainMenueStr+curMoObjId).className = normalCloseClass;
        break;
        case normalCloseClass:
            if (moObjSliderFadeBlock){
                $(moObjSliderFadeBlock).fadeIn("slow");
            }
            document.getElementById(mainMenueStr+curMoObjId).className = normalOpenClass;
        break;
    }
}


function closeLastMoSlider(lastMoObjId, moObjId){
    // toggle object
    if (document.getElementById(subMenueStr+lastMoObjId) && document.getElementById(subMenueStr+moObjId)){
        opAlert(6);
		    changeMenueSymbol(lastMoObjId);
		    moLastObjSliderBlock = document.getElementById(subMenueStr+lastMoObjId);
		    $(moLastObjSliderBlock).slideToggle("slow");
    }
}

function initMenues(closeMenueRest){
    
    for (initI=0; initI<initIds.length; initI++){
        moObjInitId = initIds[initI];
        if (document.getElementById(subMenueStr+moObjInitId)){
            document.getElementById(subMenueStr+moObjInitId).style.display = 'none';
            changeMenueSymbol(moObjInitId);
    
            if (document.getElementById(mainMenueStr+moObjInitId).className == activeCloseClass){
                menueSlider(moObjInitId, closeMenueRest);
            }
        }
    }
}

function opAlert(alertId){
    if (alertIt){
        alert(alertId);
    }
}

