/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
*@author Guido Fünders, fuenders@traveltainment.de
*/
var IBE = new TTIBE("IBE",port,"bengine");
IBE.jsFiles = ['http://www.isik.de/tt/js/selectopt654.js','http://www.isik.de/tt/js/datehelper.js',
               'http://www.isik.de/tt/js/zeitraum.js','http://www.isik.de/tt/js/terminauswahl.js',
               'http://www.isik.de/tt/js/formbase.js','http://www.isik.de/tt/js/reisende.js'];
IBE.initOnLoad = function(){
  var bform = document.forms[this.formname];
  var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFH',
                  'optSportangebot','optDauer','arrMarke_'+this.port];
  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 in mustHave){
    if(typeof(window[mustHave[i]])=='undefined'){
      window.setTimeout("IBE.initOnLoad()",20);return;
    }
  }
  this.inject(injObj); this.init();
};

    var optKategorieIsik = [
        "beliebig;-1",
        "2 Sterne und mehr;0",
        "3 Sterne und mehr;1",
        "4 Sterne und mehr;2",
        "5 Sterne;3"
    ];

    var optZimmerIsik = [
        "beliebig;-1",
        "Einzelzimmer;5",
        "Doppelzimmer;6",
        "Familienzimmer;2",
        "Bungalow;0",
        "Apartment;7",
        "Studio;2_2",
        "Suite;2_16",
        "Villa;2_256",
        "Superior;2_512",
        "Dreibettzimmer;2_1024",
        "Mehrbettzimmer;2_4096",
        "Ferienwohnung;2_8192",
        "Ferienhaus;2_16384",
        "Deluxe-Zimmer;2_32768",
        "Duplex-Zimmer;2_2048"
    ];

    var optVerpflegungIsik = [
        "beliebig;-1",
        "nur Übernachtung;0",
        "Frühstück;0",
        "Halbpension;2",
        "Vollpension;3",
        "All Inclusive;4"
    ];

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/
function SucheLMPS(){
  FormBase.apply(this);
  Terminauswahl.apply(this);
  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;
    }
    bform.submit();
    return false;
  };

  /**
  *Wird nach dem Laden der Seite ausgeführt
  */
  this.init = function(){
    if(!document.forms[this.formname]) return;

    // Formularfelder füllen
    with(this){
      fillSels({"sportangebot":optSportangebot,"dauer":optDauer,"marke":window["arrMarke_"+this.port],"kategorie":optKategorieIsik,"zimmer":optZimmerIsik,"verpflegung":optVerpflegungIsik});
      fillSelFromArray('abflughafen',TTAFH);
      fillReisende();
      InitDays(1);
      InitMonth(1);
      InitDays(0);
      InitMonth(0);
      UpdateDate('k');
      UpdateDate('rueckk');
      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 = "form4submit";
      for(var i=0;i<buttons.length;i++){
        buttons[i].setAttribute("src",imgPfad+"/forms/"+imgname+".gif");
      }
    }catch(e){}
  };
}