/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das Flug-Suchformular definiert
*/

var IBE = new TTIBE("IBE",port,"bengine");
IBE.jsFiles = [file_path+ibeDIR+'/jslib/formulare/'+lang+'/selectopt652.js',file_path+ibeDIR+'/jslib/core/'+lang+'/datehelper.js',
               file_path+ibeDIR+'/jslib/core/zeitraum.js',file_path+ibeDIR+'/jslib/formulare/'+lang+'/terminauswahl.js',
               file_path+ibeDIR+'/jslib/formulare/'+lang+'/formbase.js',file_path+ibeDIR+'/jslib/core/reisende.js',file_path+ibeDIR+'/'+ordner_name+'/js/markeNewSort.js'];

IBE.initOnLoad = function(){
    var mustHave = ['DateHelperLoaded','FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFH',
                    'optDauer','arrMarke_'+this.port, 'toc_va_merge'];
    var injObj   = {Zielauswahl:[],SucheFlugKlein:[],Zeitraum:[],Reisende:[this.req['personen']]};
    for(var i in mustHave){
        if(typeof(window[mustHave[i]])=='undefined'){
            //alert(mustHave[i]);
            window.setTimeout("IBE.initOnLoad()",20);return;
        }
    }
    this.inject(injObj); IBE.init();
};

//___________________________________________________________________

/**
*eigene Optionsfelder
*/

var optttdays = [
    "0 n.;1",
    "1 n.;4",
    "2 n.;5",
    "3 n.;2",
    "4 n.;6",
    "5 n.;7",
    "6 n.;8",
    "7 n.;3",
    "14 n.;9",
    "21 n.;10",
    "30 n.;11",
    "90 n.;12"
];

var optDauerTCFR=[
"7 nuits;6_7",
"14 nuits;6_14"
];




var optUsrPers = {
      erw:["",""],  // "normal"
      erw_short:["",""],         // Formular 2 / Nur Flug
      pers:["",""],        // Fewo
      kinder:["",""]
    };

//___________________________________________________________________

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/

function SucheFlugKlein(){
    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;
        else
            detail = bform.detail.value;
        bform.termin.value=this.req['termin'];
        bform.ruecktermin.value=this.req['ruecktermin'];

        // ### EXTRA TOC FR
        if (typeof(bform.tt_region) != 'undefined'){
            if(bform.tt_region.value != '-1' && bform.tt_region.value != ''){
                var arrReg = bform.tt_region.value.split("|");
                bform.zielgebiets_kenner.value=arrReg[0];
                bform.flugdauer.value=arrReg[1];
                if (arrReg[2] != arrReg[1]){
                    bform.topRegion.value=arrReg[2];
                }

                if ((detail == 'termine' && document.bengine.refresh.value == '2') || detail == 'zielgebiet')
                    detail = 'zielgebiet';
                bform.detail.value=detail;

            }
            else{
                bform.topRegion.value='';
                detail = 'zielgebiet';
                bform.detail.value=detail;
            }

        }
        if (typeof(bform.tt_countries) != 'undefined' && bform.tt_countries.value != '-1' && detail == 'zielgebiet'){
            var tt_udfregionen = "";
            var arrCountry = bform.tt_countries.value.split(",");
            var txtCountry = '';
            for(var jj=0;jj<arrCountry.length;jj++){
                if(txtCountry != '')
                    txtCountry+=';';
                txtCountry+=arrCountry[jj];
            }
            var zielSel = bform.elements["tt_countries"];
            var strZiel = zielSel[zielSel.selectedIndex].text;
            tt_udfregionen = strZiel+'|'+txtCountry;

            if (tt_udfregionen != ''){
                bform.topRegionen.value=txtCountry;
            }
        }
        if (typeof(bform.tt_countries) != 'undefined' && (bform.tt_countries.value == '-1' || bform.tt_countries.value == '')){
            bform.topRegion.value=topRflug;
            bform.topRegionen.value='';
            bform.flugdauer.value='';
            bform.udfregionen.value='';
            detail = 'termine';
            bform.detail.value=detail;
        }
        bform.flugdauer.value='';
        bform.zielgebiets_kenner.value='';
        // ###


        return this.chkFormular();
    };

    //_______________________________________________________________

    this.chkFormular = function(){
        var bform=document.forms[this.formname];
        if(this.req['termin']>this.req['ruecktermin']){
            alert("Votre date de retour est située avant la date d'arrivée");
        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;

        arrMarke_652 = toc_va_merge(arrVorgabe, arrMarke_652);

        // Formularfelder füllen
        with(this){
            //dauert(); //Reisedauer 1-22 Tage
            fillSels({'dauer':optDauerTCFR,'ttdays':optttdays});
            fillSelFromArray('abflughafen',TTAFH);
            //fillSelFromArray('flugdauer',TTFDRZ);
            //fillSels({'preis':optPreisEX});
            fillReisende(optUsrPers);
            //setTexts('preis');
            InitDays(1);
            InitMonth(1);
            InitDays(0);
            InitMonth(0);
            UpdateDate('k');
            UpdateDate('rueckk');
            UpdateRegionen();
        }
        try{
            document.getElementById('erster_termin').innerHTML  = this.erster_termin;
            document.getElementById('letzter_termin').innerHTML = this.letzter_termin;
        }
        catch(e){}

        try{
              var buttons = document.getElementsByName('btnFinden');
              var imgname = this.req['formular']==4?"spacer":"spacer";

              for(var i=0;i<buttons.length;i++){
                buttons[i].setAttribute("src",imgPfad+"/forms/"+imgname+".gif");
              }
        }
        catch(e){}
    };
}
