    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das Erde-Suchformular definiert
    */

    var optFirstRegSelectOpo = {
        ziel:"beliebig",
        region:"beliebig"
    }

    var IBE = new TTIBE("IBE",port,"bengine");
    var arrOrte = [];
    IBE.jsFiles = ['../../jslib/formulare/selectopt653.js','../../jslib/core/datehelper.js',
                   '../../jslib/core/zeitraum.js','../../jslib/formulare/terminauswahl.js',
                   '../../jslib/formulare/formbase.js','../../jslib/core/reisende.js'];

    IBE.initOnLoad = function(){
        var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','DateHelperLoaded'];
        var injObj   = {SucheERDEKlein:[],Zeitraum:[],Reisende:[this.req['personen']]};

        for(var i in mustHave){
            if(typeof(window[mustHave[i]])=='undefined'){
                window.setTimeout("IBE.initOnLoad()",20);return;
            }
        }
        this.inject(injObj); this.init();
    };

    //___________________________________________________________________

    /**
    *eigene Optionsfelder
    */
    var optKategorieDR = [
        "egal;-1",
        "2 Sterne oder mehr;0",
        "3 Sterne oder mehr;1",
        "4 Sterne oder mehr;2",
        "5 Sterne;3"
    ];

    var optZimmerDR = [
        "egal;-1",
        "mind. Einzelzimmer;5",
        "mind. Doppelzimmer;6",
        "mind. Familienzimmer;2",
        "mind. Bungalow;0",
        "mind. Studio/Apartment/Suite;7"
    ];

    var optVerpflegungDR = [
        "egal;-1",
        "mind. nur Übernachtung;0",
        "mind. Frühstück;1",
        "mind. Halbpension;2",
        "mind. Vollpension;3",
        "mind. All Inclusive;4"
    ];

    var optReisendeDR = {
        erw_short:["Erwachsener","Erwachsene"],
        kinder:["J.","J."]
    };
    //___________________________________________________________________

    /**
    *Wird nur bei Formular 5 verwendet. Wird aufgerufen, nachdem eine Javascript-Ortsdatei
    *in den Iframe geladen wurde aktualisiert die Ortsauswahlbox entsprechend
    */

    function showOrte(){
        var i,lbl,val;
        var tmp  = [];
        var expr = new RegExp(" "+IBE.req['orte_IFF'],"");
        var selectbox = document.getElementById("selOrte");
        if(selectbox){
            for(i=selectbox.length-1;i>0;i--)
                selectbox.options[i] = null;
            for(i=0;i<arrOrte.length;i++){
                tmp = arrOrte[i].split('#');
                val = tmp[0];lbl = tmp[1];
                selectbox.options[i+1] = new Option(lbl,val);
                if(IBE.req['orte_IFF']!="" && expr.exec(val)!=null){
                    selectbox.options[i+1].selected =true;
                }
            }
        }
    }

    //___________________________________________________________________

    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */

    function SucheERDEKlein(){
        FormBase.apply(this);
        Terminauswahl.apply(this);

        /**
        *booking_action
        */

        this.booking_action = function(){
            var bform=document.forms[this.formname];
            if(this.req['orte_IFF']!=0){
                if(document.forms[this.formname].zielOrt.value != '-1'){
                    var splitter = document.forms[this.formname].zielOrt.value.split(' ');
                    bform.topRegion.value = splitter[0];
                    bform.IFFOrt.value    = splitter[1];
                    this.BookingAction('hotel');
                }
                else{
                    bform.topRegion.value = '';
                    bform.IFFOrt.value = '-1';
                    this.BookingAction('zielgebiet');
                }
            }
            else
                this.BookingAction('zielgebiet');
        };

        //_______________________________________________________________

        /**
        *BookingAction
        */

        this.BookingAction = function(detail){
            var bform=document.forms[this.formname];
            bform.showresult.value='1';
            if(detail)
                bform.detail.value=detail;
            bform.termin.value=this.req['termin'];
            bform.ruecktermin.value=this.req['ruecktermin'];
            return this.chkFormular();
        };

        //_______________________________________________________________

        /**
        *Formularchecker
        */

        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;
                }
            }
            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){
                dauert();
                fillReisende(optReisendeDR);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk');
                if(this.req['formular']=='4'){

                    fillSels({'marke':window['arrMarke_'+this.port],'kategorie':optKategorieDR,'kategorie_dis':optKategorieDR,'zimmer':optZimmerDR,'verpflegung':optVerpflegungDR,'uthema':optThemes});
                    setTexts(['shotel','shotel_dis','preis']);
                    if(typeof(optHbfges)!='undefined'){
                        fillSels({"hbfges":optHbfges,"hbfanz":optHbfanz,"hbfempf":optHbfempf,"hbfges_dis":optHbfges,"hbfanz_dis":optHbfanz,"hbfempf_dis":optHbfempf});
                    }   
                }
                else if(this.req['formular']=='5'){
                        fillSels({'marke':window['arrMarke_'+this.port],'kategorie':optKategorieDR,'kategorie_dis':optKategorieDR,'zimmer':optZimmerDR,'verpflegung':optVerpflegungDR});
                        setTexts(['shotel','shotel_dis','preis','scode','scode_dis']);
                   }
                }

            var buttons = document.getElementsByName('btnFinden');
            for(var i=0;i<buttons.length;i++){
                try{
                    buttons[i].setAttribute("src",imgPfad+"/forms/form4submit.gif");
                }
                catch(e){}
            }
        };
    }

    //___________________________________________________________________

    function BookingAction(param){
        IBE.BookingAction(param);
    }
