/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
*/

var IBE = new TTIBE("IBE",port,"bengine");
IBE.jsFiles = [file_path+ibeDIR+'/jslib/formulare/'+lang+'/selectopt653.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 bform = document.forms[this.formname];
  var mustHave = ['FormBase','DateHelperLoaded','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl',
                  'optSportangebot','optDauer','arrMarke_'+this.port,'toc_va_merge'];
  var injObj   = {SucheLMPS:[],Zeitraum:[],Reisende:[this.req['personen']]};

  if(this.req['formular']=='4')
    mustHave = mustHave.concat(['Zielauswahl','TTREGS_'+this.port]);
  else
    mustHave.push('TTFDRZ');
  for(var i in mustHave){
    if(typeof(window[mustHave[i]])=='undefined'){
      window.setTimeout("IBE.initOnLoad()",20);return;
    }
  }

  this.inject(injObj); this.init();
};

//___________________________________________________________________
/**
*eigene Optionsfelder
*/
if(formid=="6" || backid=="94") {
/* Skitab*/

var optDauerTCFR=[
"2 nuits;6_2",
"3 nuits;6_3",
"4 nuits;6_4",
"5 nuits;6_5",
"7 nuits;6_7"
];
}
else{
/* Hoteltab*/
var optDauerTCFR=[
"1 nuit;6_1",
"2 nuits;6_2",
"3 nuits;6_3",
"4 nuits;6_4",
"5 nuits;6_5",
"6 nuits;6_6",
"7 nuits;6_7",
"8 nuits;6_8",
"9 nuits;6_9",
"10 nuits;6_10",
"11 nuits;6_11",
"12 nuits;6_12",
"13 nuits;6_13",
"14 nuits;6_14",
"21 nuits;6_21"
];

}



var TCoptSportangebot=[
"Multisport;10",
"Tennis;0",
"Golf;1",
"Squash;2",
"Sport nautique;4",
"Plongée;5",
"Trekking;7",
"Indifférent;-1"
];

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 optZimmerEX = [
    "beliebig;-1",
    "Einzelzimmer;5",
    "Doppelzimmer;6",
    "Familienzimmer;2",
    "Bungalow;0",
    "Studio/Apartment/Suite;7"
];
*/
//___________________________________________________________________



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 SucheLMPS(){
    FormBase.apply(this);

    //alert(this.req['termin'] + " SucheLMPS0 " + this.req['ruecktermin']);
  
  Terminauswahl.apply(this);

  //alert(this.req['termin'] + " SucheLMPS1 " + this.req['ruecktermin']);

  if(this.req['formular']=='4') Zielauswahl.apply(this,[]);

  //alert(this.req['termin'] + " SucheLMPS2 " + this.req['ruecktermin']);

  //this.req['termin'] = "undefined";
  this.req['ruecktermin'] = "undefined";

  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;

    //alert(this.req['termin'] + " SucheLMPS3 " + this.req['ruecktermin']);
        
    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;
        }
    }
    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];

  //alert(this.req['termin'] + " " + this.req['ruecktermin']); return false;
    
    if(this.req['termin']>this.req['ruecktermin']){
      alert("Votre date de retour est située avant la date d'arrivée");
      return false;
    }
    var tmpy=bform.zimmer2;
    if(typeof(tmpy)!='undefined'){
      if(bform.zimmer[6].checked==true && bform.zimmer2.selectedIndex==0){
        alert("Veuillez sélectionner un type de chambre");
        bform.zimmer2.focus()
        return false;
      }
    }
    bform.submit();
    return false;
  };


  /**
  *Wird nach dem Laden der Seite ausgeführt
  */
  this.init = function() {


  //alert(this.req['termin'] + " 0 " + this.req['ruecktermin']);


      if (formid == "6") {
          this.UpdateRegionen = function() {
              // Erstes Element der Regionauswahlbox erstellen
              document.forms[this.formname].elements["tt_region"].options[0] = new Option(this.optFirstRegSelect['tt_region'], "-1");

              // Erstes Element der Zielauswahl erstellen
              var opt = document.forms[this.formname].elements["tt_countries"].options;
              while (opt.length > 0)
                  opt[opt.length - 1] = null;

              this.fillSelFromArray('tt_countries', optLaender);
              this.FixRSel();
          };
      }

      if (!document.forms[this.formname]) return;

      //arrMarke_654 = toc_va_merge(arrVorgabe, arrMarke_654);

      // Formularfelder füllen
      with (this) {

          fillSels({ "dauer": optDauerTCFR, "marke": window["arrMarke_" + this.port], "sportangebot": TCoptSportangebot, 'ttdays': optttdays, 'kategorie': optKategorie, 'zimmer': optZimmer, 'verpflegung': optVerpflegung, 'preis': optPreis });

          fillReisende(optUsrPers);

          InitDays(1);
          InitMonth(1);
          InitDays(0);
          InitMonth(0);

          UpdateDate('k');

          UpdateDate('rueckk');

          //setTexts(['shotel']);
          UpdateRegionen();
          //updateDestinations();

          
          

      }

      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");
              //buttons[i].onmouseover = function(){this.src=imgPfad+"/forms/"+imgname+"_over.gif";};
              //buttons[i].onmouseout = function(){this.src=imgPfad+"/forms/"+imgname+".gif";};
          }
      } catch (e) { }

      document.getElementById("selectFlex").selectedIndex = 0;

      document.getElementById("selectDuree").selectedIndex = 0;
      
  };
}
