/**************************************************************
 * Setzt die Origins zu Destination
 **************************************************************/
    function EVENTS_changeDestination() {
        var oMMzo     = getElem('name','zo',0);
        var oMMfoah   = getElem('name','start_datum_monthyear',0);
        var iIndex    = oMMzo.selectedIndex;
        var sIndex    = oMMzo.options[iIndex].value;
        var sValue    = oMMfoah.value;
        var aKeys     = EVENTS_getTimes(sIndex);
        EVENTS_clearSelect(oMMfoah);    
        oMMfoah.options[0] = new Option('Alle Termine','');
        for (var i=0;i<aKeys.length;i++) {
            oMMfoah.options[(i+1)] = new Option(eval('sMMFoah'+aKeys[i]),aKeys[i]);
        }
        oMMfoah.value = sValue;
    }
    
/**************************************************************
 * Setzt die Destinations zu Origin
 **************************************************************/    
    function EVENTS_changeTime() {
        var oMMzo     = getElem('name','zo',0);
        var oMMfoah   = getElem('name','start_datum_monthyear',0);
        var iIndex    = oMMfoah.selectedIndex;
        var sIndex    = oMMfoah.options[iIndex].value;
        var sValue    = oMMzo.value;
        var aKeys     = EVENTS_getDestinations(sIndex);
        EVENTS_clearSelect(oMMzo);    
        oMMzo.options[0] = new Option('Alle Reiseziele','');
        for (var i=0;i<aKeys.length;i++) {
            oMMzo.options[(i+1)] = new Option(eval('sMMZo'+aKeys[i]),aKeys[i]);
        }
        oMMzo.value = sValue;
    }

/**************************************************************
 * Leert eine Selectbox
 * oObj = Objektinstanz der Selectbox
 **************************************************************/      
    function EVENTS_clearSelect(oObj) {
        oObj.options.length = 0;
    }

/**************************************************************
 * Gibt alle Origins zu einer Destination zurück
 * sZo = Destination
 **************************************************************/
    function EVENTS_getTimes(sZo) {
        var aOpt = new Array();
        var aRet = new Array();
        if (sZo == '') {
            return aMMTimes;
        } else {
            for (var i=0;i<aMMDepend.length;i++) {
                aOpt = aMMDepend[i].split('_');
                if (aOpt[1]==sZo) {
                    aRet.push(aOpt[0]);
                }
            }
        }
        return aRet;
    }

/**************************************************************
 * Gibt alle Destinations zu einer Origin zurück
 * sFoah = Origin
 **************************************************************/    
    function EVENTS_getDestinations(sFoah) {
        var aOpt = new Array();
        var aRet = new Array();
        if (sFoah=='') {
            return aMMZo;
        } else {
            for (var i=0;i<aMMDepend.length;i++) {
                aOpt = aMMDepend[i].split('_');
                if (aOpt[0]==sFoah) {
                    aRet.push(aOpt[1]);
                }
            }
        }
        return aRet;
    }

/**************************************************************
 * Initialisierung mit Standartwerten
 **************************************************************/     
    function EVENTS_initSelect() {
        var sZo   = getElem('name','zo',0).value;
        var sFoah = getElem('name','start_datum_monthyear',0).value;
        if (sZo!='') {
            EVENTS_changeDestination();
        }
        if (sFoah!='') {
            EVENTS_changeTime();
        }
    }

