    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
    */
    var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = [];
                   
    IBE.initOnLoad = function(){
        var bform = document.forms[this.formname];
        var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFHDLC',
                        'optSportangebot','optDauer','arrMarke_'+this.port,'DateHelperLoaded','ttTourOperatorMulti'];
        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 optReisendeITO = {
        erw:["Erw.","Erw."],
        kinder:["Jahre","Jahre"]
    };
    
    var optzimmer2ITO = [
        "weitere Zimmertyp..;-1",
        "Studio;2",
        "Suite;16",
        "Villa;256",
        "Superior;512",
        "Dreibettzimmer;1024",
        "Mehrbettzimmer;4096",
        "Ferienwohnung;8192",
        "Ferienhaus;16384",
        "Deluxe-Zimmer;32769",
        "Duplexzimmer;2048"
    ];
    
    
    //___________________________________________________________________
    
    /**
    *@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;
        };
        
        //_______________________________________________________________
        
        this.showKalender2 = function(strTyp){
            if(strTyp=='hin' && typeof(kalender_rueck)!='undefined') kalender_rueck.close();
            else if(strTyp=='rueck' && typeof(kalender_hin)!='undefined') kalender_hin.close();
            var top=screen.height;
            var left=screen.width;
            var posx=((left/2)-100);
            var posy=((top/2)-180);
            var wndName = 'kalender_'+strTyp+'__'+this.formname+'__'+this.name;
            /* TYPO3-Strecke? */
            if(typeof(t3url)!='undefined'){
                var infowin = window.open(url+'booking/'+ordner_name+'/kalender.php?parent_url='+parent_url,wndName,'width=200,height=230,scrollbars=no,screenX='+posx+',screenY='+posy+',left='+posx+',top='+posy);
            }
            else{
                var infowin = window.open('kalender.php?parent_url='+parent_url,wndName,'width=200,height=230,scrollbars=no,screenX='+posx+',screenY='+posy+',left='+posx+',top='+posy);
            }
            infowin.focus();
        }
                
        //_______________________________________________________________
        /**
        *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,"dauer":optDauer,"marke":window["arrMarke_"+this.port]});
                //fillSels({"sportangebot":optSportangebot,"dauer":optDauer,"marke":eval('arrMarke_' + this.port)});
                fillSels({"sportangebot":optSportangebot,"dauer":optDauer});
                if(typeof(optHbfges)!='undefined'){
                    fillSels({"hbfges":optHbfges,"hbfanz":optHbfanz,"hbfempf":optHbfempf});
                }
                var airportSelectFiller = makeTTAFHDLC();
                fillSelFromArray('abflughafen2',airportSelectFiller);
                window.setTimeout("setAfhSelect(abflughafen, abflughafen2)",50);
                fillReisende(optReisendeITO);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk');
                setRadios(['kategorie','zimmer','verpflegung']);
                setChecks(['familie_kinder','strand','wellness','typ']);
                fillBitSels({"zimmer2":optzimmer2ITO});
                setBitChecks(['meer','zfilter']);
                setTexts(['shotel','preis']);
                UpdateRegionen();
                ttTourOperatorMulti.init( {
                    showChangeGui:     true
                });
            }
            
            try{
                document.getElementById('erster_termin').innerHTML  = this.erster_termin;
                document.getElementById('letzter_termin').innerHTML = this.letzter_termin;
            }
            catch(e){}
            
            FillTextAbflugro();
            
            var buttons = document.getElementsByName('btnFinden');
            for(var i=0;i<buttons.length;i++){
                try{
                    buttons[i].setAttribute("src",spezial_ordner+"forms/form4submit.gif");
                }
                catch(e){}
            }
        };        
    }
    
// 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 FillTextAbflugro() {  
    ttMultiAirport.setNewArea(TTAFHDLC_REG);
    ttMultiAirport.setNewArea(TTAFHDLC_D);
    ttMultiAirport.setNewArea(TTAFHDLC_EU);
    ttMultiAirport.setMap(true);
    ttMultiAirport.mouseMoveEffects = true;   
    ttMultiAirport.init(TTAFHDLC);     
}
