/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für die Suchformulare definiert
*/

/* Einstellungen Kalender */
var g_oTermine     = {};
var oKalHin, oKalRueck;

var oDefInfoText = {
    hin_kurz:["Frühester Hinflug"],  // Header Anreise
    rueck_kurz:["Spätester Rückflug"],  // Header Rückreise
    hin_lang:["Frühester Hinflug korrigieren<br>oder Daten übernehmen."],  // Header Anreise
    rueck_lang:["Spätester Rückflug korrigieren<br>oder Daten übernehmen."],  // Header Rückreise
    bl_text:["Wählen Sie Ihr Bundesland"]  // Text Bundesland-Info
};

/* ---------------------------- */

var IBE = new TTIBE('IBE',port,'bengine');
IBE.jsFiles = [file_path + 'booking/jslib/formulare/selectopt654.js',
               file_path + 'booking/jslib/core/datehelper.js',
               file_path + 'booking/jslib/core/zeitraum.js',
               file_path + 'booking/jslib/formulare/terminauswahl.js',
               file_path + 'booking/jslib/formulare/formbase.js',
               file_path + 'booking/jslib/core/reisende.js',
               file_path + 'booking/jslib/ttkalender/ferien.js'
               ];

IBE.initOnLoad = function() {
    var bform    = document.forms[this.formname];
    var mustHave = ['FormBase','DateHelperLoaded','termin_min_' + this.port,'termin_max_' + this.port,'Zeitraum','Reisende','Terminauswahl','optDauerLami','g_oFerien','TTAFH'];
    var injObj   = {SucheLMPS:[],Zeitraum:[],Reisende:[this.req['personen']]};
    if (this.req['formular'] == '4') {
        mustHave = mustHave.concat(['Zielauswahl','TTREGS_' + this.port,'optZimmer2']);
    } else {
        mustHave.push('TTFDRZ');
    }
    for (var i = 0; i < mustHave.length; i++) {
        if (typeof(window[mustHave[i]]) == 'undefined') {
            window.setTimeout('IBE.initOnLoad()',20);
            return;
        }
    }
    this.inject(injObj);
    this.init();
};

/**
*eigene Optionsfelder
*/
var optKategorieEX=[
    "beliebig;-1",
    "mind. 2 Sterne;0",
    "mind. 3 Sterne;1",
    "mind. 4 Sterne;2",
    "mind. 5 Sterne;3"
];

var optVerpflegungEX = [
    "beliebig;-1",
    "mind. \xDCbernachtung;0",
    "mind. Fr\xFChst\xFCck;1",
    "mind. Halbpension;2",
    "mind. Vollpension;3",
    "All Inclusive;4"
];

var optUsrLblEX = {
    erw:["Erwachsener","Erwachsene"], // "normal"
    erw_short:["",""], // Nur Flug
    pers:["",""], // Fewo
    kinder:["J.","J."]
};

var optHbfgesEX=[
    "beliebig;0",
    "mind. 2.0 von 6.0;20",
    "mind. 3.0 von 6.0;30",
    "mind. 4.0 von 6.0;40",
    "mind. 5.0 von 6.0;50",
    "6.0 von 6.0;60"
];

var optHbfanzEX=[
    "beliebig;0",
    "mind. 5;5",
    "mind. 10;10",
    "mind. 25;25",
    "mind. 50;50",
    "mind. 100;100"
];

var optHbfempfEX=[
    "beliebig;0",
    "mind. 80%;800",
    "mind. 90%;900",
    "100%;1000"
];

var optSportangebotEX = [
   "beliebig;-1",
   "großes Sportangebot;10",
   "Tennis;0",
   "Golf;1",
   "Squash;2",
   "Radsport;3",
   "Wassersport;4",
   "Tauchen;5",
   "Reiten;6",
   "Wandern;7",
   "Surfen;8"
];
/**
 * Wird für die Hotelsuche-Maske gebraucht, also nicht löschen
 **/
var optDauerHotel=[
"beliebig;-1",
"1 Tag;6_1",
"2 Tage;6_2",
"3 Tage;6_3",
"4 Tage;6_4",
"5 Tage;6_5",
"6 Tage;6_6",
"7 Tage;6_7",
"8 Tage;6_8",
"9 Tage;6_9",
"10 Tage;6_10",
"11 Tage;6_11",
"12 Tage;6_12",
"13 Tage;6_13",
"14 Tage;6_14",
"15 Tage;6_15",
"16 Tage;6_16",
"17 Tage;6_17",
"18 Tage;6_18",
"19 Tage;6_19",
"20 Tage;6_20",
"21 Tage;6_21",
"22 Tage;6_22",
"> 22 Tage;13"
];
var optDauerLami=[
    "beliebig;-1",
    "1 - 4 Tage;9",
    "5 - 8 Tage;10",
    "1 Woche;6_7",
    "9 - 12 Tage;7",
    "13 - 15 Tage;3",
    "2 Wochen;6_14",
    "16 - 22 Tage;12",
    "3 Wochen;6_21",
    "> 21 Tage;13",
    "---;-2",
    "1 Tag;6_1",
    "2 Tage;6_2",
    "3 Tage;6_3",
    "4 Tage;6_4",
    "5 Tage;6_5",
    "6 Tage;6_6",
    "7 Tage;6_7",
    "8 Tage;6_8",
    "9 Tage;6_9",
    "10 Tage;6_10",
    "11 Tage;6_11",
    "12 Tage;6_12",
    "13 Tage;6_13",
    "14 Tage;6_14",
    "15 Tage;6_15",
    "16 Tage;6_16",
    "17 Tage;6_17",
    "18 Tage;6_18",
    "19 Tage;6_19",
    "20 Tage;6_20",
    "21 Tage;6_21"
];
function fillDauerFromArrayEx (selname,arrdata){
    var sel = IBE.req[selname]!='undefined'?IBE.req[selname]:'';

    kdkd= jQuery(document.forms['bengine'].dauer).empty();

    for (var i=0;i<arrdata.length;i++) {
      var lbl = arrdata[i].split(';')[0];
      var val = arrdata[i].split(';')[1];
      document.forms['bengine'].dauer.options[document.forms['bengine'].dauer.options.length] = new Option(lbl,val);

      if (val==sel) {
          document.forms['bengine'].dauer.options[document.forms['bengine'].dauer.options.length-1].selected=true;
      }
    }
}
/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/
function SucheLMPS() {
    FormBase.apply(this);
    Terminauswahl.apply(this);
    
    if(this.req['formular'] == '4') {
        Zielauswahl.apply(this,[]);
    }
    
    this.BookingAction = function(detail) {

        if (engine != "erde") {
            var bform = document.forms[this.formname];
            bform.showresult.value = '1';
            if (detail) {
                bform.detail.value = detail;
            }
            return this.chkFormular();
        } else {

var bform = document.forms[this.formname];

            if(bform.detail.value == ''){
                bform.detail.value = 'zielgebiet';
            }
            bform.showresult.value = '1';
//            if(detail){
//                bform.detail.value = detail;
//            }
//            else{
//                detail = bform.detail.value;
//            }
            var felder = {
                input_DESTINATION : ["DESTINATION","Das von Ihnen eingegebene Reiseziel ist uns leider nicht bekannt."],
                input_HOTELNAMES : ["DESTINATION","Das/Die von Ihnen eingegebene Hotel/-kette ist uns leider nicht bekannt."]
            };
            updateHiddenFields();
            if(typeof searchLayer != 'undefined' && typeof checkSearchLayer != 'undefined' && bform.searchLayer.value == "1") {
                if (typeof bform.udfregionen != 'undefined') bform.udfregionen.value = '';
                checkSearchLayer();
                if (typeof bform.wDLC != 'undefined') bform.wDLC.value = '';
                if (typeof bform.zielgebiets_kenner != 'undefined') bform.zielgebiets_kenner.value = '';
            }

            if (flagDRInput && flagNODR){
                if (document.getElementById('divErrorDR')) document.getElementById('divErrorDR').style.display = 'none';
                if ((bform['input_DESTINATION'].value != '' && bform['input_DESTINATION'].value != drRZ.InputFieldDefaultValue &&
                    ((bform['DESTINATION'].value == '-1' || bform['DESTINATION'].value == '')) &&
                    (bform['input_DESTINATION'].value != '' && bform.POI.value != drRZ.InputFieldDefaultValue &&
                    (bform.POI.value == '-1' || bform.POI.value == '' || typeof(bform.POI) == 'undefinded')))){
                    if (document.getElementById('divErrorDR')){
                        if (typeof document.getElementById('divResult') != 'undefined') {
                            document.getElementById('divResult').style.display = 'none';
                        }
                        document.getElementById('divErrorDR').innerHTML = '<div class="tt_font11b tt_padtop tt_padbot">'+felder['input_DESTINATION'][1]+'</div>';
                        document.getElementById('divErrorDR').style.display = 'block';
                        $('tabSucheOuterContainer').innerHTML = '';
                    } else{
                        alert(felder['input_DESTINATION'][1]);
                    }
                    bform['input_DESTINATION'].focus();
                    bform['input_DESTINATION'].select();
                    return false;
                }
                if (bform['input_DESTINATION'].value != '' && bform['input_DESTINATION'].value != drRZ.InputFieldDefaultValue &&
                    bform['DESTINATION'].value == '' && typeof(bform['POI'].value) == 'undefined') {
                    if (document.getElementById('divErrorDR')) {
                        if (typeof document.getElementById('divResult') != 'undefined') {
                            document.getElementById('divResult').style.display = 'none';
                        }
                        document.getElementById('divErrorDR').innerHTML = '<div class="tt_font11b tt_padtop tt_padbot">'+felder['input_DESTINATION'][1]+'</div>';
                        document.getElementById('divErrorDR').style.display = 'block';
                        $('tabSucheOuterContainer').innerHTML = '';
                    }  else{
                        alert(felder['input_DESTINATION'][1]);
                    }
                    bform['input_DESTINATION'].focus();
                    bform['input_DESTINATION'].select();
                    return false;
                }
            }

            return this.chkFormularErde();


        }
    };

    this.chkFormular = function() {
        var bform = document.forms[this.formname];
        if (this.req['termin'] > this.req['ruecktermin']) {
            alert('Ihr Rückreisedatum liegt vor dem Hinreisedatum!');
            return false;
        }
        var tmpy = bform.zimmer2;
        if (typeof(tmpy) != 'undefined') {
            if (bform.zimmer[6].checked == true && bform.zimmer2.selectedIndex == 0) {
                alert('Bitte wählen Sie ein Zimmertypen aus.');
                bform.zimmer2.focus()
                return false;
            }
        }
        
        // der Button "Erweiterte Suche" muss auf die entsprechenden Seiten geleitet werden
        if (bform.engine.value == '' || typoId == typo3IbeIds.lami.start) {
            if (bform.detail.value == '') {
                bform.id.value = typo3IbeIds.lami.search;
            } else {
                bform.id.value = typo3IbeIds.lami.ibe;
            }
        } else if (bform.engine.value == 'pauschal' || typoId == typo3IbeIds.pa.start) {
            if (bform.detail.value == '') {
                bform.id.value = typo3IbeIds.pa.search;
            } else {
                bform.id.value = typo3IbeIds.pa.ibe;
            }
        } else if (bform.engine.value == 'erde' || typoId == typo3IbeIds.city.start) {
            if (bform.detail.value == '') {
                bform.id.value = typo3IbeIds.city.search;
            } else {
                bform.id.value = typo3IbeIds.city.ibe;
            }
        }
        
        if (IBE.req['detail'] == 'termine') {
            bform.refresh.value = '1';
        }
        
        bform.submit();
        return false;
    };
    this.chkFormularErde = function() {
        var bform = document.forms[this.formname];
        if(bform.termin.value > bform.ruecktermin.value){
            alert("Ihr Rückreisedatum liegt vor dem Hinreisedatum");
            return false;
        }

//        if (document.getElementById('quickSearchErwSuche').style.display == 'block') {
//            bform.showErwSuche.value = "1";
//        } else {
//            bform.showErwSuche.value = "";
//        }
        //--- Bugfix fuer IE -------------------------
//        if(bform['input_DESTINATION'].value == inputDestinationText){
//            bform['input_DESTINATION'].focus();
//            window.setTimeout("formSubmit()", 200);
//        }
//        else{
            bform.id.value = typo3IbeIds.city.ibe;
            bform.submit();
//        }
        return false;
    };
    /**
    *Wird nach dem Laden der Seite ausgeführt
    */
    this.init = function() {
        if (!document.forms[this.formname]) {
            return;
        }
        // Formularfelder füllen
        with (this) {
            
            // --- Terminseite wird evtl. (immer) neu initialisiert
            // --- Quickfix --- leeren, da sonst doppelt befüllt --- 18.01.2012 (bw)
            
            if (detail == 'termine') {
                jQuery(document.forms['bengine'].dauer).empty();
                jQuery(document.forms['bengine'].erwachsene).empty();
                jQuery(document.forms['bengine'].verpflegung).empty();
                jQuery(document.forms['bengine'].zimmer).empty();                
            }

            var optDauerOut = optDauerLami;
            if (engine == 'erde') {
                optDauerOut = optDauerHotel;
            }
            
            fillSels({'dauer':optDauerOut,'hbfges':optHbfgesEX,'hbfges_dis':optHbfgesEX,'hbfanz':optHbfanzEX,'hbfanz_dis':optHbfanzEX,
                      'hbfempf':optHbfempfEX,'hbfempf_dis':optHbfempfEX,'preis':optPreis,'sportangebot':optSportangebotEX,
                      'sportangebot_dis':optSportangebotEX});
            if (detail == '') {
                setRadios(['kategorie','zimmer','verpflegung']);
            } else {
                fillSels({'kategorie':optKategorieEX,'kategorie_dis':optKategorieEX,'verpflegung':optVerpflegungEX,'zimmer':optZimmer});
            }
            fillReisende(optUsrLblEX);
            
            document.forms[this.formname].alter1.options[0].text = "Kind 1";
            document.forms[this.formname].alter2.options[0].text = "Kind 2";
            document.forms[this.formname].alter3.options[0].text = "Kind 3";

            setChecks(['strand','strand_dis','wellness','wellness_dis','familie_kinder','familie_kinder_dis','sportmoeglichkeiten','sportmoeglichkeiten_dis','typ','typ_dis']);
            setBitChecks(['meer','zfilter']);
            setTexts(['shotel','shotel_dis']);
            // --- lcfilter Elemente ---
            if (engine != 'erde') {
                setFormsForLcfilter(optLcfilter); // Standard Namensdefinition
            }
            UpdateRegionen();
        }
        
        try {
            document.getElementById('erster_termin').innerHTML  = this.erster_termin;
            document.getElementById('letzter_termin').innerHTML = this.letzter_termin;
        } catch(e) {}
        
        try {
            var buttons = document.getElementsByName('btnFinden');
            var imgname = this.req['formular'] == 4 ? 'button_suchen' : 'button_suchen';
            for (var i = 0; i < buttons.length; i++) {
                buttons[i].setAttribute('src',imgPfad + '/' + imgname + '.gif');         
            }      
        } catch(e) {}
        if (engine != 'erde' && detail == 'termine') {
            ibeAjaxOnReady();
        }
    };
}
    var flagNODR      = true;
    var flagDRInput   = false;
    var flagTopRegion = false;
    function updateHiddenFields(){
        var bform = document.bengine;
        //---------------------------------------------------------------------------------
        //--- HOTELNAMES-FUNKTION ---------------------------------------------------------
        //---------------------------------------------------------------------------------
        function checkHotelnames(arHN){
            var bform = document.bengine;
            var hnname       = '';
            var hniff        = '';
            var hntopregion  = '';
            var hniffort     = '';
            var hnlat        = '';
            var hnlon        = '';
            var hncitytravel = '';

            // Hotelnames verarbeiten
            for(var i = 0; i < arHN.length; i ++){
                arTmp = arHN[i].split('|');
                if(arTmp.length < 4){
                    continue;
                }
                hnname       = arTmp[0];
                hniff        = arTmp[1];
                hndlclist    = arTmp[2];
                hntopregion  = arTmp[3];
                hniffort     = arTmp[4];
                hnlat        = arTmp[5];
                hnlon        = arTmp[6];
                hncitytravel = arTmp[7];
            }

            if(hnname != ''){
                // ggf. letztes Semikolon entfernen
                if(hniffort != ''){
                    hniffort = hniffort.replace(/(.*)(;)$/, "$1");
                }

                bform.lat.value = hnlat != '' ? hnlat : 0;
                bform.lon.value = hnlon != '' ? hnlon : 0;
                bform.citytravel.value = hncitytravel != '' ? hncitytravel : '';

                bform.IFFOrt.value = '';
                bform.IFF.value = '';
                bform.topRegion.value = '';
                bform.detail.value = 'zielgebiet';
                if(bform.flugdauer) bform.flugdauer.value = '';

                if(hniffort != ''){
                    bform.IFFOrt.value = hniffort;
                }

                if(hniff != ''){
                    bform.detail.value = 'termine';
                    bform.IFF.value = hniff;
                    if(hntopregion != ''){
                        bform.topRegion.value = hntopregion;
                    }
                }
                else if(hntopregion != ''){
                    bform.detail.value = 'hotel';
                    bform.IFF.value = '';
                    bform.topRegion.value = hntopregion;
                }

                if(hncitytravel == "false" || hncitytravel == ''){
                    bform.action = "index.php";
                }
                if(bform.DESTINATION.value == '' && bform.udfregionen) bform.udfregionen.value = '';
                if(bform.IFFFilter) bform.IFFFilter.value = '';

                flagNODR = false;
            }
        }

        var arTmp = [];
        var arDest = bform.DESTINATION.value == "" ? [] : bform.DESTINATION.value.split('@@');
        if(bform.POI.value){
            var arPOI = bform.POI.value == "" ? [] : bform.POI.value.split('@@');
        }
        var arHN = bform.HOTELNAMES.value == "" ? [] : bform.HOTELNAMES.value.split('@@');

        //---------------------------------------------------------------------------------
        //--- DESTINATION -----------------------------------------------------------------
        //---------------------------------------------------------------------------------
        if(bform.DESTINATION.value != ""){
            var udfregionen = '';
            var iffort      = '';
//            var topregion   = '';
            var destname    = '';
            var daction     = '';
            var dvalue      = '';
            var topregions  = '';
//            var udr         = '';
//            var lat         = '';
//            var lon         = '';
            var citytravel  = '';

            // Destinations verarbeiten
            for(i = 0; i < arDest.length; i ++){
                arTmp = arDest[i].split('|');
                if(arTmp.length < 4){
                    continue;
                }

                destname   = arTmp[0];
                daction    = arTmp[1];
                dvalue     = arTmp[2];
                topregions = arTmp[3].replace(/;/g,",");
                udr        = arTmp[7];
                lat        = arTmp[8];
                lon        = arTmp[9];
                citytravel = arTmp[10];

                if(typeof(daction) == 'undefined'){
                    continue;
                }
            }

            if(destname != ""){
                udfregionen += destname+"|"+topregions+";";
                if(daction == '2'){ // Liste von IFFOrten
                    iffort += dvalue+";";
                }

                //--- Zurueckseten von HOTELNAMES, wenn neue DESTIANTION oder neuer POI ---
                if(bform.IFFOrt.value != dvalue){
                    drHT.InputFieldDefaultValue = 'Hotelname / -kette';
                    if(bform.IFF){
                        bform.IFF.value = '';
                    }
                }

                if(dvalue != '' && dvalue != '0' && dvalue.search(";") == '-1'){
                    bform.IFFOrt.value = dvalue;
                    bform.IFFVillage.value = dvalue;
                }

                // ggf. letztes Semikolon entfernen
                if(udfregionen != ''){
                    udfregionen = udfregionen.replace(/(.*)(;)$/, "$1");
                }

                bform.udfregionen.value = udfregionen;
                if(bform.flugdauer) bform.flugdauer.value = '';

                /*
                bform.lat.value = lat != '' ? lat : 0;
                bform.lon.value = lon != '' ? lon : 0;
                */
                bform.lat.value = 0;
                bform.lon.value = 0;

                bform.citytravel.value = citytravel != '' ? citytravel : '';

                if(bform.citytravel && (bform.citytravel.value == 'false' || bform.citytravel.value == '')){
                    bform.IFFOrt.value = "";
                    bform.IFFVillage.value = dvalue;
                }

                if(citytravel == "false" || citytravel == '' ){
                    bform.action = "index.php";
                    if(topregions.search(',') != -1) {
                    bform.detail.value = 'zielgebiet';
                    } else {
                        var tmpUdfReg           = bform.udfregionen.value.split('|');
                        var tmpUdfReg2          = tmpUdfReg[1].split(',');
                        bform.udfregionen.value = tmpUdfReg[0] + '|' + tmpUdfReg2[0];
                        bform.topRegion.value   = tmpUdfReg2[0];
                        bform.suchradius.value  = '';

                        flagTopRegion = true;

                        bform.detail.value = 'hotel';
                    }
                }
                else{
                    bform.detail.value = 'hotel';
                }

                if(bform.IFF.value != '') bform.detail.value = 'termine';
                if(bform.hotelsortierung.value != '') bform.hotelsortierung.value = '-1';
            }

            //--- Wenn zusätzlich Hotelname eingegeben wurde, pruefen ---
            if(bform.HOTELNAMES.value != ""){
                checkHotelnames(arHN);
            }
            else{
                //--- Zuruecksetzen von Formularwerten
                bform.input_HOTELNAMES.value = '';
                bform.input_HOTELNAMES.value = '';
                bform.suchradius.value = '';
                bform.zielgebiets_kenner.value = '-1';
                if(bform.wDLC) bform.wDLC.value = '';
                if(bform.IFFFilter) bform.IFFFilter.value = '';
            }

            if (!flagTopRegion) {
            bform.topRegion.value = topregions;
            }
            flagNODR = false;
        }
        //---------------------------------------------------------------------------------
        //--- POI -------------------------------------------------------------------------
        //---------------------------------------------------------------------------------
        else if(bform.POI.value != "" && arPOI){
            var poiname       = '';
            var poiiffort     = '';
            var poitopregion  = '';
            var poivillage    = '';
            var poilat        = '';
            var poilon        = '';
            var poicitytravel = '';

            // POIS verarbeiten
            for(var i = 0; i < arPOI.length; i ++){
                arTmp = arPOI[i].split('|');
                if(arTmp.length < 4){
                    continue;
                }

                poiname       = arTmp[0];
                poiiffort     = arTmp[1];
                poitopregion  = arTmp[2];
                poivillage    = arTmp[3];
                poilat        = arTmp[4];
                poilon        = arTmp[5];
                poicitytravel = arTmp[6];
            }

            if(poiname != ""){
                bform.IFFOrt.value = "";
                bform.topRegion.value = "";
                bform.udfregionen.value = '';

                if(poiiffort != ''){
                    bform.IFFOrt.value = poiiffort;
                    bform.IFFVillage.value = poiiffort;
                }
                if(poitopregion != ''){
                    bform.topRegion.value = poitopregion;
                }

                bform.lat.value = poilat != '' ? poilat : 0;
                bform.lon.value = poilon != '' ? poilon : 0;
                if(bform.flugdauer) bform.flugdauer.value = '';
                bform.citytravel.value = poicitytravel != '' ? poicitytravel : '';
                if(poicitytravel == "true"){
                    bform.detail.value = 'hotel';
                }
                else{
                    /**
                     * @todo old version from trc
                     */
                    //bform.detail.value = 'zielgebiet';
                    bform.detail.value = 'hotel';
                }

                if(bform.udfregionen) bform.udfregionen.value = poivillage+'|'+bform.topRegion.value;
                if(bform.hotelsortierung.value != '') bform.hotelsortierung.value = '-1';
            }
            //--- Wenn zusätzlich Hotelname eingegeben wurde, pruefen ---
            if(bform.HOTELNAMES.value != ""){
                checkHotelnames(arHN);
            }
            else{
                //--- Zuruecksetzen von Formularwerten
                bform.input_HOTELNAMES.value = '';
                if(bform.IFFFilter) bform.IFFFilter.value = '';
                bform.zielgebiets_kenner.value = '-1';
                if(bform.wDLC) bform.wDLC.value = '';
                if(bform.IFFFilter) bform.IFFFilter.value = '';
            }

            flagNODR = false;
        }

        //---------------------------------------------------------------------------------
        //--- HOTELNAMES ------------------------------------------------------------------
        //---------------------------------------------------------------------------------
        else if(bform.HOTELNAMES.value != ""){
            checkHotelnames(arHN);
        }

        //---------------------------------------------------------------------------------
        //--- KEINE DREAMREADER-EINGABE ---------------------------------------------------
        //---------------------------------------------------------------------------------
        else{
            if (typeof searchLayer != 'undefined' && searchLayer!="1") {
                //--- Sprungziel ermitteln --------------------------
                if ((bform.input_DESTINATION.value == '' || bform.input_DESTINATION.value == inputDestinationText) &&
                   (bform.input_HOTELNAMES.value == '' || bform.input_HOTELNAMES.value == inputHotelnamesText)){
                    if (bform.IFFOrt) {
                        bform.IFFOrt.value  = '';
                    }
                    if (bform.IFFVillage) {
                        bform.IFFVillage.value = '';
                    }
                    if (bform.topRegion) {
                        bform.topRegion.value  = '';
                    }
                    if (bform.udfregionen) {
                        bform.udfregionen.value  = '';
                    }
                    if (bform.IFFVillage) {
                        bform.zielgebiets_kenner.value  = '-1';
                    }
                    if (bform.wDLC) {
                        bform.wDLC.value = '';
                    }
                    bform.detail.value = 'zielgebiet';
                }
                else if (bform.citytravel.value == 'false' && bform.input_HOTELNAMES.value != 'Hotelname / -kette') {
                    //if(bform.IFFOrt) bform.IFFOrt.value      = '';
                    //if(bform.topRegion) bform.topRegion.value   = '';
                    if (bform.input_DESTINATION.value == '' || bform.input_DESTINATION.value == 'Stadt oder Sehensw\xFCrdigkeit') {
                        if(bform.udfregionen) bform.udfregionen.value  = '';
                    }
                }
                else if (bform.input_DESTINATION.value == '') {
                    if (bform.IFFOrt) {
                        bform.IFFOrt.value  = '';
                    }
                    if (bform.IFFVillage) {
                        bform.IFFVillage.value = '';
                    }
                    if (bform.topRegion) {
                        bform.topRegion.value  = '';
                    }
                    if (bform.udfregionen) {
                        bform.udfregionen.value  = '';
                    }
                    bform.detail.value = 'zielgebiet';
                }
                else if (bform.input_HOTELNAMES.value == '') {
                    bform.IFF.value = '';
                    bform.udfregionen.value = '';
                    if (bform.input_DESTINATION.value != '') {
                        bform.detail.value = 'hotel';
                    } else {
                        bform.detail.value = 'zielgebiet';
                        if (bform.IFFOrt) {
                            bform.IFFOrt.value = '';
                        }
                        bform.topRegion.value = '';
                    }
                }
                //else if(bform.id.value == url_id && bform.detail.value == 'zielgebiet'){
                else if (bform.detail.value == 'zielgebiet') {
                    if (bform.topRegion) {
                        bform.topRegion.value   = '';
                    }
                    if (bform.udfregionen) {
                        bform.udfregionen.value   = '';
                    }
                }
                if (bform.HOTELNAMES.value != "") {
                    checkHotelnames(arHN);
                }
                flagNODR = true;
            }
        }
    };

