/**
*@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/datehelper.js',
               file_path+ibeDIR+'/jslib/core/zeitraum.js',file_path+ibeDIR+'/jslib/formulare/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 bform = document.forms[this.formname];
  var mustHave = ['FormBase','DateHelperLoaded','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFH',
                  'optDauer','arrMarke_'+this.port,'toc_va_merge'];
  var injObj   = {Zielauswahl:[],SucheFlug:[],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();
};


/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/


var optUsrPers = {
      erw:["",""],  // "normal"
      erw_short:["",""],         // Formular 2 / Nur Flug
      pers:["",""],        // Fewo
      kinder:["",""]
    };

function SucheFlug(){
  this.monNames = ["jan.","feb.","maart","april","mei","juni","juli","aug.","sept.","okt.","nov.","dec."];
  FormBase.apply(this);
//alert('hier1');

  Terminauswahl.apply(this);
//alert('hier2');

  //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'];

    // ### 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];
            }

            detail = 'hotel';
            bform.detail.value=detail;
        }
        else{
            bform.topRegion.value='';
            bform.flugdauer.value='';
            detail = 'zielgebiet'
            bform.detail.value=detail;
        }

    }
    if (typeof(bform.tt_countries) != 'undefined' && bform.tt_countries.value != '-1'){
        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;
        }
        bform.flugdauer.value=txtCountry;
    }
    if (typeof(bform.tt_countries) != 'undefined' && (bform.tt_countries.value == '-1' || bform.tt_countries.value == '')){
        bform.topRegion.value='';
        bform.flugdauer.value='';
        bform.udfregionen.value='';
        detail = 'zielgebiet'
        bform.detail.value=detail;
    }
    // ###


    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;

    arrMarke_652 = toc_va_merge(arrVorgabe, arrMarke_652);

    // Formularfelder füllen
    with(this){
      fillSels({'dauer':optDauer,'marke':window["arrMarke_"+this.port]});
      fillSelFromArray('abflughafen',TTAFH);
      //fillSelFromArray('flugdauer',TTFDRZ);
      //dauert();
      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?"button_search":"button_search";

      for(var i=0;i<buttons.length;i++){
        buttons[i].setAttribute("src",imgPfad+"/forms/"+imgname+"_inactive.gif");
        buttons[i].onmouseover = function(){this.src=imgPfad+"/forms/"+imgname+"_active.gif";};
        buttons[i].onmouseout = function(){this.src=imgPfad+"/forms/"+imgname+"_inactive.gif";};
      }
    }
    catch(e){}

  };
}
/*
function BookingAction(param){
  IBE.BookingAction(param);
} */