/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
*/

/* Einstellungen Kalender */
var g_Pfad_KAL_IMG = "/kunden_parameter/"+ordner_name+"/ibe_v2/images/kalender/";
var g_oTermine     = {};
var oKalHin, oKalRueck;
var oImages = {
  'pfeil_links'       : new Image(),
  'pfeil_links_over'  : new Image(),
  'pfeil_rechts'      : new Image(),
  'pfeil_rechts_over' : new Image()
};
var oDefInfoText = {
  hin_kurz:["Frühester Hinflug"],  // Header Anreise
  rueck_kurz:["Spätester Rückflug"],  // Header Rückreise
  hin_lang:["Frühester Hinflug korrigieren<br>oder Daten übernehmen."],  // Header Anreise
  rueck_lang:["Spätester Rückflug korrigieren<br>oder Daten übernehmen."],  // Header Rückreise
  bl_text:["Wählen Sie Ihr Bundesland"]  // Text Bundesland-Info
};

for(var imgName in oImages) {
  oImages[imgName].src = g_Pfad_KAL_IMG + imgName + ".gif";
}
/* ---------------------------- */

var IBE = new TTIBE("IBE",port,"bengine");
IBE.jsFiles = [file_path+'booking/jslib/formulare/selectopt654.js',
               file_path+'booking/jslib/core/datehelper.js',
               file_path+'booking/jslib/core/zeitraum.js',
               file_path+'booking/jslib/formulare/terminauswahl.js',
               file_path+'booking/jslib/formulare/formbase.js',
               file_path+'booking/jslib/core/reisende.js',
               file_path+'booking/jslib/ttkalender/ferien.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','optDauer','g_oFerien','TTAFH'];
  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 optUsrLblEX = {
    erw:["Erwachsener","Erwachsene"], // "normal"
    erw_short:["",""], // Nur Flug
    pers:["",""], // Fewo
    kinder:["Jahre","Jahre"]
};

var optHbfgesEX=[
"beliebig;0",
"mind. 2.0 von 6.0;20",
"mind. 3.0 von 6.0;30",
"mind. 4.0 von 6.0;40",
"mind. 5.0 von 6.0;50",
"6.0 von 6.0;60"
];

var optHbfanzEX=[
"beliebig;0",
"mind. 5;5",
"mind. 10;10",
"mind. 25;25",
"mind. 50;50",
"mind. 100;100"
];

var optHbfempfEX=[
"beliebig;0",
"mind. 80%;800",
"mind. 90%;900",
"100%;1000"
];

/**
*@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;
        }
    }
    
    if (showForm == 'lami' || typoId == 35) {
        bform.id.value = 6;
    } else {
        bform.id.value = 14;
    }
    
    bform.submit();
    return false;
  };
  
  /**
  *Wird nach dem Laden der Seite ausgeführt
  */
  this.init = function(){
    if(!document.forms[this.formname]) return;
    
    /* --- Kalender starten --- */
    /*
    g_oTermine.tsTerminMin      = this.termin_min * 1000;
    g_oTermine.tsTerminMax      = this.termin_max * 1000;
    g_oTermine.tsSelTerminHin   = getTimestampFromString(this.termin_hin);
    g_oTermine.tsSelTerminRueck = getTimestampFromString(this.termin_rueck);

    oKalHin   = new Kalender('oKalHin', 'hin', '-1', 1, 1); //'div-Name(nicht ändern!)', 'typ(hin/rück)', 'Ferien(-1=nein/all=alle Bundesländer), Anzahl sichtbarer Monate, Termin-Wahl-Art(1=klassisch,2=Zeitraum)'
    oKalRueck = new Kalender('oKalRueck', 'rueck', '-1', 1, 1);
    oKalHin.init();
    oKalRueck.init();
    */ 
    /* ------------------------ */
    
    // Formularfelder füllen
    with(this){        
      fillSels({"dauer":optDauer,'hbfges':optHbfgesEX,'hbfanz':optHbfanzEX,'hbfempf':optHbfempfEX,'preis':optPreis,'sportangebot':optSportangebot});
      //fillSelFromArray('abflughafen',TTAFH);
      fillReisende(optUsrLblEX);
      //InitDays(1);
      //InitMonth(1);
      //InitDays(0);
      //InitMonth(0);
      //UpdateDate('k');
      //UpdateDate('rueckk');
      setRadios(['kategorie']);      
      setChecks(['strand','wellness','familie_kinder','sportmoeglichkeiten','typ']);      
      setBitChecks(['meer','zfilter']);
      setTexts(['shotel','preis']);      
      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_suchen":"button_suchen";
      for(var i=0;i<buttons.length;i++){
        buttons[i].setAttribute("src",imgPfad+"/"+imgname+".gif");         
      }      
    }catch(e){}
  };
}
