    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
    */
    var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = ['../jslib/ttkalender/ferien.js', 'js/search/ttkalender.js'];

    IBE.initOnLoad = function(){
        var bform = document.forms[this.formname];
        var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,
                        'Zeitraum','Reisende','Terminauswahl','optSportangebot',
                        'optDauer','arrMarke_'+this.port,'DateHelperLoaded',
                        'g_oFerien', 'TTKalender', 'TTAFHDLC', 'ttMultiAirport'];
        var injObj   = {SucheLMPS:[],Zeitraum:[],Reisende:[this.req['personen']]};
        if(this.req['formular']=='4')
            mustHave = mustHave.concat(['Zielauswahl','TTREGS_'+this.port]);
        else
            mustHave.push('TTFDRZ');
        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 optPreis = [
        "beliebig;-1",
        "bis 300 €;1",
        "bis 500 €;2",
        "bis 750 €;3",
        "bis 1000 €;4"
    ];

    var optKategorie = [
        "beliebig;-1",
        "2 Sterne und mehr;0",
        "3 Sterne und mehr;1",
        "4 Sterne und mehr;2",
        "5 Sterne;3"
    ];

    var optVerpflegung = [
        "beliebig;-1",
        "nur Übernachtung (mind.);0",
        "Frühstück (mind.);0",
        "Halbpension (mind.);2",
        "Vollpension (mind.);3",
        "All Inclusive (mind.);4"
    ];

    var optZimmerSpez = [
        "beliebig;-1",
        "Einzelzimmer;5",
        "Doppelzimmer;6",
        "Familienzimmer;2",
        "Bungalow;0",
        "Studio/Apartment/Suite;7"
    ];

    var optReisende = {
        erw:["Erwachsener","Erwachsene"],
        kinder:["J.","J."]
    };

    // Flughafen-Kategorie: Regionen
    var TTAFHDLC_REG = [
    {"id":"REG","dlc":"NORTH"},
    {"id":"REG","dlc":"SOUTH"},
    {"id":"REG","dlc":"WEST"},
    {"id":"REG","dlc":"EAST"}
    ];
    // Flughafen-Kategorie: Deutschland
    var TTAFHDLC_D = [ 
    {"id":"D","dlc":"AOC"},
    {"id":"D","dlc":"BER"},
    {"id":"D","dlc":"SXF"},
    {"id":"D","dlc":"TXL"},
    {"id":"D","dlc":"BRE"},
    {"id":"D","dlc":"DTM"},
    {"id":"D","dlc":"DRS"},
    {"id":"D","dlc":"DUS"},
    {"id":"D","dlc":"ERF"},
    {"id":"D","dlc":"FRA"},
    {"id":"D","dlc":"HHN"},
    {"id":"D","dlc":"FDH"},
    {"id":"D","dlc":"HAM"},
    {"id":"D","dlc":"HAJ"},
    {"id":"D","dlc":"FKB"},
    {"id":"D","dlc":"CGN"},
    {"id":"D","dlc":"LEJ"},
    {"id":"D","dlc":"LBC"},
    {"id":"D","dlc":"FMM"},
    {"id":"D","dlc":"MUC"},
    {"id":"D","dlc":"FMO"},
    {"id":"D","dlc":"NRN"},
    {"id":"D","dlc":"NUE"},
    {"id":"D","dlc":"PAD"},
    {"id":"D","dlc":"RLG"},
    {"id":"D","dlc":"SCN"},
    {"id":"D","dlc":"SZW"},
    {"id":"D","dlc":"STR"},
    {"id":"D","dlc":"ZQW"}
    ];
    // Flughafen-Kategorie: Ausland
    var TTAFHDLC_EU = [
    {"id":"EU","dlc":"AMS"},
    {"id":"EU","dlc":"MLH"},
    {"id":"EU","dlc":"BLL"},
    {"id":"EU","dlc":"BRU"},
    {"id":"EU","dlc":"EIN"},
    {"id":"EU","dlc":"ENS"},
    {"id":"EU","dlc":"GVA"},
    {"id":"EU","dlc":"GRZ"},
    {"id":"EU","dlc":"GRQ"},
    {"id":"EU","dlc":"INN"},
    {"id":"EU","dlc":"KLU"},
    {"id":"EU","dlc":"LNZ"},
    {"id":"EU","dlc":"LGG"},
    {"id":"EU","dlc":"LUX"},
    {"id":"EU","dlc":"MST"},
    {"id":"EU","dlc":"SZG"},
    {"id":"EU","dlc":"SXB"},
    {"id":"EU","dlc":"WAW"},
    {"id":"EU","dlc":"VIE"},
    {"id":"EU","dlc":"ZRH"}
    ];

    //___________________________________________________________________

    /**
    *@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){
            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();
        };

        //_______________________________________________________________

        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){
                fillSels({"sportangebot":optSportangebot,"preis":optPreis,"kategorie":optKategorie,"kategorie_dis":optKategorie,"dauer":optDauer,"marke":window["arrMarke_"+this.port],"zimmer":optZimmerSpez,"verpflegung":optVerpflegung,'ferientermine':optBundeslaender});
                if(typeof(optHbfges)!='undefined'){
                    fillSels({"hbfges":optHbfges,"hbfanz":optHbfanz,"hbfempf":optHbfempf,"hbfges_dis":optHbfges,"hbfanz_dis":optHbfanz,"hbfempf_dis":optHbfempf});
                }
                fillReisende(optReisende);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                //UpdateDate('k');
                //UpdateDate('rueckk');
                setChecks(['familie_kinder','familie_kinder_dis','strand','strand_dis','wellness','wellness_dis','typ','typ_dis']);
                setBitChecks(['meer','zfilter']);
                setTexts(['shotel','shotel_dis']);
                setTexts(['abflughafen']); 
                UpdateRegionen();
                FillTextAbflugro();
            }

            g_strFerienSelect = document.forms[this.formname].ferientermine.value;

            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 TTKalender('oKalHin', 'hin');
            oKalRueck = new TTKalender('oKalRueck', 'rueck');
            oKalHin.init();
            oKalRueck.init();

            try{
                document.getElementById('erster_termin').innerHTML  = this.erster_termin;
                document.getElementById('letzter_termin').innerHTML = this.letzter_termin;
            }
            catch(e){}

            var buttons = document.getElementsByName('btnFinden');
            for(var i=0;i<buttons.length;i++){
                try{
                    buttons[i].setAttribute("src",imgPfad+"/btnSuchen.gif");
                }
                catch(e){}
            }
            //-- multiAirport initiieren -------
            ttMultiAirport.mouseMoveEffects = true;
            ttMultiAirport.init(TTAFHDLC);
        };
    }

function ferienOnChange(selBox){
  g_strFerienSelect = selBox.value;
  oKalHin.updateCalendar();
  oKalRueck.updateCalendar();
}

function FillTextAbflugro() {
    var bform = document.forms['bengine'];
    var dlcArr = bform.abflughafen.value;
    var dlc = dlcArr.split(",");  
    ttMultiAirport.setNewArea(TTAFHDLC_REG);
    ttMultiAirport.setNewArea(TTAFHDLC_D);
    ttMultiAirport.setNewArea(TTAFHDLC_EU);
    ttMultiAirport.init(TTAFHDLC);  
    var ret = ttMultiAirport.getNameForDlc(dlc[0]);
    if(dlc.length > 1) ret += ' ...';
    if(ret == "") ret = "beliebig";
    bform.abflughafAli.value = ret;      
}

function showDptAirport() { 
    ttMultiAirport.setAirportValues();
    ttMultiAirport.printAirports({ 
        div: 'ttAirportAreaColREG', 
        id: 'REG', 
        col: 2  
    });  
    ttMultiAirport.printAirports({ 
        div: 'ttAirportAreaColD', 
        id: 'D', 
        col: 2  
    }); 
    ttMultiAirport.printAirports({ 
        div: 'ttAirportAreaColEU', 
        id: 'EU', 
        col: 2  
    });  
    if (typeof jQuery != 'undefined') {
        jQuery('#ttAirportAreaDCol').show('slow');
    } else {
        document.getElementById("ttAirportAreaDCol").style.display = 'block';
    } 
}

function selDptAirport() {
    if (typeof jQuery != 'undefined') {
        jQuery('#ttAirportAreaDCol').hide('slow');
    } else {
        document.getElementById("ttAirportAreaDCol").style.display = 'none';
    } 
    var dlcArr = document.getElementById('abflughafen').value;
    var dlc = dlcArr.split(",");    
    var ret = ttMultiAirport.getNameForDlc(dlc[0]);
    if(dlc.length > 1) ret += ' ...';
    if(ret == "") ret = "beliebig";
    document.getElementById('abflughafAli').value = ret;    
}   

