    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das Flug-Suchformular definiert
    */
    
    var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = ['../jslib/core/datehelper.js','../jslib/core/zeitraum.js',
                   '../jslib/formulare/terminauswahl.js','../jslib/formulare/formbase.js',
                   '../jslib/core/reisende.js','../js/ttfdrz.js'];
    
    IBE.initOnLoad = function(){
        var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl',
                        'TTFDRZ','TTAFH','arrMarke_'+this.port,'DateHelperLoaded'];
        var injObj   = {SucheFlug:[],Zeitraum:[],Reisende:[IBE.req['personen']]};
        for(var i in mustHave){
            if(typeof(window[mustHave[i]])=='undefined'){
                window.setTimeout("IBE.initOnLoad()",20);return;
            }
        }
        this.inject(injObj); IBE.init();
    };
    
    //___________________________________________________________________
    
    /**
    *eigene Optionsfelder
    */
    
    var optReisendeFE = {
        erw_short:["Erwachsener","Erwachsene"],
        kinder:["Jahr","Jahre"]
    };
    
    var optDauerFE = [
        "beliebig;-1",
        "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 optPreisFEFlug = [
        "beliebig;-1",
        "bis 100 €;100",
        "bis 200 €;200",
        "bis 400 €;400",
        "bis 800 €;800",
        "bis 1.200 €;1200"
    ];
        
    //___________________________________________________________________
    
    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */
    
    function SucheFlug(){
        FormBase.apply(this);
        Terminauswahl.apply(this);
        
        this.flugdauer = (this.req['flugdauer']!='')?this.req['flugdauer']:'-1';
        
        //_______________________________________________________________
        
        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;
            }
            bform.submit();
            return false;
        };
        
        //_______________________________________________________________
        
        this.check_flugdauer=function(){
            var fel=document.forms[this.formname].flugdauer;
            if(fel.value != this.flugdauer){
                document.forms[this.formname].detail.value='zielgebiet';
                document.forms[this.formname].zielgebiets_kenner.value='-1';
            }
        }
        
        //_______________________________________________________________
        
        /**
        *Wird nach dem Laden der Seite ausgeführt
        */
        
        this.init = function(){
            if(!document.forms[this.formname]) return;
            
            for(var i = 0; i < TTFDRZ.length; i ++){
                if(TTFDRZ[i].search(/Nahstrecke/) != '-1'){
                   TTFDRZ[i] = TTFDRZ[i].replace('Nahstrecke', 'Nahstrecke (bis ca. 2,5 Std. Flug)') ;
                }
                if(TTFDRZ[i].search(/Fernstrecke/) != '-1'){
                    TTFDRZ[i] = TTFDRZ[i].replace('Fernstrecke', 'Fernstrecke (ab 6 Std. Flug)') ;
                }
            }
            
            // Formularfelder füllen
            with(this){
                fillSels({'marke':window["arrMarke_"+this.port],'preis':optPreisFEFlug});
                fillSelFromArray('abflughafen',TTAFH);
                fillSelFromArray('flugdauer',TTFDRZ);
                dauert();
                fillReisende(optReisendeFE);
                setTexts(['preis']);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk');
            }
            
            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){}
            }
        };
    }
    