    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
    */
    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'];
                   
    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'];
        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 in mustHave){
            if(typeof(window[mustHave[i]])=='undefined'){
                window.setTimeout("IBE.initOnLoad()",20);return;
            }
        }
        if(typeof(this.req['abflughafen2']) != 'undefined') {
            mustHave.push('TTAFHDLC'); 
        } else {
            mustHave.push('TTAFH');
        }   
        this.inject(injObj); this.init();
    };
    
    //___________________________________________________________________
    
    /**
    *eigene Optionsfelder
    */
    
    var optReisendeBR = {
        erw:["Erwachsener","Erwachsene"],
        kinder:["J.","J."]
    };
    
    //___________________________________________________________________
    
    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */
    
var genaueReisedauer = false;
if (flexInfo != 'undefined' && flexInfo == 1) {
    genaueReisedauer = true;
} else {
    genaueReisedauer = false;
}   
    
if (genaueReisedauer == true) {   
    var optDauerExt=[
    "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",
    "> 22 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",
    "8 Tage;6_8",
    "9 Tage;6_9",
    "10 Tage;6_10",
    "11 Tage;6_11",
    "12 Tage;6_12",
    "13 Tage;6_13",
    "15 Tage;6_15",
    "16 Tage;6_16",
    "17 Tage;6_17",
    "18 Tage;6_18",
    "19 Tage;6_19",
    "20 Tage;6_20"
    ];
}

if (transFlag == '1') {
    var MyOptLcfilter = {
        combiLcfilter   : [ { name : 'beliebig', value : '-1'},
                         { name : 'mit Transfer', value :  '512;0' },
                         { name : 'ohne Transfer', value :  '512;512' },
                         { name : 'mit Mietwagen', value :  '1;1' }
                       ]
    };
}

    // DLC-Abflughafen Select zusammenstellen
    function makeTTAFHDLC() {
        var TTAFHCust = new Array();
        for (var nr = 0; nr < TTAFHDLC.length; nr++) {
            TTAFHCust.push(TTAFHDLC[nr]['label'] + ';' + TTAFHDLC[nr]['dlc']);
        }
        TTAFHCust.push('Mehrfachauswahl' + ';' + '-2');
        document.forms['bengine'].abflughafen2.length = 1;   
        return TTAFHCust;
    }
    
    function setFlexTime(elem) {
        if (genaueReisedauer == true) {
            var bform = document.forms['bengine'];
            var value = elem.value;
            if (value == 0) {
                bform.flextime.value = 2; 
            } else {
                bform.flextime.value = ''; 
            }
        }
    }


    function addOptionFlex() {
        var bform = document.forms['bengine'];
        var newDauer = new Array();
        for (var i = 0; i < optDauerExt.length; i++) {    
            if (i == 1) {
                newDauer.push("wie o.g. Datum;0");
            } 
            newDauer.push(optDauerExt[i]);       
        }  
        return newDauer;
    }
    
    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){
                if (genaueReisedauer == true) {
                    optDauer = addOptionFlex();
                } 
                fillSels({"sportangebot":optSportangebot,"dauer":optDauer,"marke":window["arrMarke_"+this.port]});
                if(typeof(optHbfges)!='undefined'){
                    fillSels({"hbfges":optHbfges,"hbfanz":optHbfanz,"hbfempf":optHbfempf});
                }
                //fillSelFromArray('abflughafen',TTAFH);
                if(typeof(this.req['abflughafen2']) != 'undefined') { 
                    setTexts(['abflughafen']);  
                    TTAFHCust = makeTTAFHDLC();
                    fillSelFromArray('abflughafen2',TTAFHCust);
                    window.setTimeout("setAfhSelect('abflughafen2')",50);
                } else {
                    fillSelFromArray('abflughafen',TTAFH);
                }
                fillReisende(optReisendeBR);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk');
                setRadios(['kategorie','zimmer','verpflegung']);
                setChecks(['familie_kinder','strand','wellness','typ']);
                fillBitSels({"zimmer2":optZimmer2});
                setBitChecks(['meer','zfilter']);
                setTexts(['shotel']);
                if (transFlag == '1') {
                    setFormsForLcfilter(MyOptLcfilter);
                }
                UpdateRegionen();
            }
            
            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+"/forms/form4submit.gif");
                }
                catch(e){}
            }
        };        
    }
    

