    /* Einstellungen Kalender */
    var inputClass = 'ttkalInput';
    var leftDistance = 180;
    var topDistance = 240;
    var oKalHin, oKalRueck;
    var g_oTermine     = {};

    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das kleine LMPS-Suchformular definiert
    */
    var optFirstRegSelectOpo = {
        ziel:"beliebig",
        region:"beliebig"
    }

    var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = ['../jslib/formulare/selectopt654.js','../jslib/core/datehelper.js',
                   '../jslib/core/zeitraum.js','../jslib/formulare/terminauswahl.js',
                   '../jslib/formulare/formbase.js','../jslib/core/reisende.js',
                   'js/search/tt_kalender_09_07_01.js','../jslib/ttkalender/' + ferien_js,
                   '../js/ttMapForAirportMultiChoice.js',
                   '../js/ttAirportMultiChoice.js'];

    IBE.initOnLoad = function(){
        var mustHave = ['Zielauswahl','TTREGS_'+this.port,'FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFH',
                        'optSportangebot','optDauer','optKategorie','DateHelperLoaded', 'Kalender', 'optBundeslaender','ttMultiAirport','TTAFHDLC'];
        var injObj   = {Zielauswahl:[optFirstRegSelectOpo],SucheLMPSKlein:[],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 optPreisOpo = [
        "beliebig;-1",
        "bis 300 €;1",
        "bis 500 €;2",
        "bis 750 €;3",
        "bis 1000 €;4"
    ];

    var optKategorieOpo = [
        "beliebig;-1",
        "2 Sterne und mehr;0",
        "3 Sterne und mehr;1",
        "4 Sterne und mehr;2",
        "5 Sterne;3"
    ];

    var optZimmerOpo = [
        "beliebig;-1",
        "Einzelzimmer;5",
        "Doppelzimmer;6",
        "Familienzimmer;2",
        "Bungalow;0",
        "Studio/Apartment/Suite;7"
    ];

    var optVerpflegungOpo = [
        "beliebig;-1",
        "nur Übernachtung (mind.);0",
        "Frühstück (mind.);1",
        "Halbpension (mind.);2",
        "Vollpension (mind.);3",
        "All Inclusive (mind.);4"
    ];

    var optReisendeOpo = {
        erw_short:["Erwachsener","Erwachsene"],
        kinder:["J.","J."]
    };
    
    var optDauerOpo=[
        "beliebig;-1",
        "exakt wie u.g. Datum;0",
        "1 Tag;6_1",
        "2 Tage;6_2",
        "3 Tage;6_3",
        "4 Tage;6_4",
        "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",
        "> 22 Tage;13"
    ];

    var optHbfgesEX=[
        "beliebig;0",
        "min. 2.0 von 5.0;20",
        "min. 3.0 von 5.0;30",
        "min. 4.0 von 5.0;40"        
    ];
    
    var optHbfanzEX=[
        "beliebig;0",
        "mind. 2;2",
        "mind. 3;3",
        "mind. 5;5",
        "mind. 10;10",
        "mind. 20;20",
        "mind. 30;30"
    ];
    
    var optHbfempfEX=[
        "beliebig;0",
        "mind. 80%;800",
        "mind. 90%;900",
        "mind. 100%;1000"
    ];

    //___________________________________________________________________

    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */

    function SucheLMPSKlein(){
        FormBase.apply(this);
        Terminauswahl.apply(this);

        //_______________________________________________________________

        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'];
            
            bform.termin.value      = parseInt(getTimestampFromString(bform.oKalHin_input.value) / 1000);
            bform.ruecktermin.value = parseInt(getTimestampFromString(bform.oKalRueck_input.value) / 1000);
            
            return this.chkFormular();
        };

        //_______________________________________________________________

        this.chkFormular = function(){
            var bform=document.forms[this.formname];
            //if(this.req['termin']>this.req['ruecktermin']){
            if(bform.termin.value > bform.ruecktermin.value) { 
                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;
                }
            }
            //--- Xplosion Tracking ---
            if (KID == '634005') {
                bform.submit();
            } else {    
                doXplosionForSearch();
            }
            return false;
        };

        //_______________________________________________________________

        this.init = function(){
            if(!document.bengine) return;
            
            g_strFerienSelect = document.forms[this.formname].ferientermine.value;
            
            /* --- Kalender starten --- */
            g_oTermine.tsTerminMin      = this.termin_min * 1000;
            g_oTermine.tsTerminMax      = this.termin_max * 1000;
            g_oTermine.tsSelTerminHin   = getTimestampFromString(this.termin_hin);
            g_oTermine.tsSelTerminRueck = getTimestampFromString(this.termin_rueck);
        
            oKalHin   = new Kalender('oKalHin', 'hin');
            oKalRueck = new Kalender('oKalRueck', 'rueck');
            oKalHin.init();
            oKalRueck.init();
            
            // Formularfelder füllen
            with(this) {
                if(typeof(optHbfgesEX)!='undefined'){
                    fillSels({"hbfgesOpodo":optHbfgesEX,"hbfanzOpodo":optHbfanzEX,"hbfempfOpodo":optHbfempfEX});
                    fillSels({"hbfgesOpodo_dis":optHbfgesEX,"hbfanzOpodo_dis":optHbfanzEX,"hbfempfOpodo_dis":optHbfempfEX});
                }    
                             
                if (nurflug == 1) {
                    dauert();
                    fillSels({'kategorie':optKategorieOpo,'kategorie_dis':optKategorieOpo,'zimmer':optZimmerOpo,'verpflegung':optVerpflegungOpo});
                } else {
                    fillSels({'sportangebot':optSportangebot, 'sportangebot_dis':optSportangebot});
                    fillSels({'dauer':optDauerOpo}); 
                    fillSels({'preis':optPreisOpo,'kategorie':optKategorieOpo,'kategorie_dis':optKategorieOpo,'zimmer':optZimmerOpo,'verpflegung':optVerpflegungOpo,"marke":window["arrMarke_"+this.port]});
                }       
                fillSels({'ferientermine':optBundeslaender});
                setTexts(['abflughafen']);
                fillSelFromArrayStyled("abflughafSel", TTAFH); 
                FillTextAbflugro();
                if (abflughafen != '' && abflughafen != '-1') {
                    var mehrAuswahl = abflughafen.split(',');
                    if (mehrAuswahl.length > 1) {
                        document.getElementsByName('abflughafSel')[0].selectedIndex = 1;
                    } else {
                        for (i = 0; i < document.getElementsByName('abflughafSel')[0].length; ++i) {
                            if (document.getElementsByName('abflughafSel')[0].options[i].value == abflughafen) {
                                document.getElementsByName('abflughafSel')[0].options[i].selected = true;
                                break;
                            }
                        }
                    }
                    document.getElementById('abflughafen').value = abflughafen;
                }
                fillReisende(optReisendeOpo);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                //UpdateDate('k');
                //UpdateDate('rueckk');
                setChecks(['strand','strand_dis','wellness','wellness_dis','familie_kinder','familie_kinder_dis','sportmoeglichkeiten','sportmoeglichkeiten_dis','typ','typ_dis']);
                setBitChecks(['meer','meer_dis','zfilter']);
                setTexts(['shotel']);
                setFormsForLcfilter(optLcfilter);
                UpdateRegionen();
            }

            var buttons = document.getElementsByName('btnFinden');
            for(var i=0;i<buttons.length;i++){
                try{
                    buttons[i].setAttribute("src",imgPfad+"/skysraper/suche_aendern.gif");
                }
                catch(e){}
            }
            //-- multiAirport initiieren -------        
            ttMultiAirport.setMap(true);
            ttMultiAirport.mouseMoveEffects = true;
            ttMultiAirport.controlType = "graphic";
            ttMultiAirport.init(TTAFHDLC);             
        };

    }

    //___________________________________________________________________

    function BookingAction(param){
        IBE.BookingAction(param);
    }
    
function ferienOnChange(selBox){
  g_strFerienSelect = selBox.value;
  oKalHin.updateCalendar();
  oKalRueck.updateCalendar();
}


function ferienartOnChange(selBox){
  g_strFerienartSelect = selBox.value;
  oKalHin.updateCalendar();
  oKalRueck.updateCalendar();
}    
    
function setFlexTime(elem) {
    var bform = document.forms['bengine'];
    var value = elem.value;
    if (value == 0) {
        bform.flextime.value = 2; 
    } else {
        bform.flextime.value = ""; 
    }
}    
