/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das Fewo-Suchformular definiert
*@author Guido Fünders, fuenders@traveltainment.de
*/
var IBE = new TTIBE("IBE",port,"bengine");
IBE.jsFiles = ['../../jslib/formulare/selectopt655.js','../../jslib/core/datehelper.js','../../jslib/core/zeitraum.js',
               '../../jslib/formulare/terminauswahl.js','../../jslib/formulare/formbase.js',
               '../../jslib/core/reisende.js','../../jslib/formulare/zielauswahlfewo.js'];

IBE.initOnLoad = function(){
  var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','Zielauswahl','TTREGS_'+this.port,
                  'optZimmerEX','optSchlafzimmerEX','optDauer','arrMarke_'+this.port,'optEntfMeerEX','optEntfLiftEX'];
  var injObj   = {SucheFeWo:[],Zeitraum:[],Reisende:[this.req['personen']]};
  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();
};

//_______________________________________________________________

function setFlexTime(elem) {
    var bform = document.forms['bengine'];
    var value = elem.value;
    if (value == 0) {
        bform.flextime.value = 2; 
    } else {
        bform.flextime.value = ''; 
    }
}


function addOptionFlex() {
    var bform = document.forms['bengine'];
    var newDauer = new Array();
    for (var i = 0; i < optDauer.length; i++) {    
       if(i == 1) {
            newDauer.push("wie o.g. Datum;0");
            newDauer.push(optDauer[i]);
       } else {
            newDauer.push(optDauer[i]); 
       }       
    }  
    return newDauer;
}

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/
function SucheFeWo(){
  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'];
    if(bform.snach){
      if(bform.snach[1].checked==true && bform.shotel.value!="" && bform.shotel.value.substring(0,1)!=":")
        bform.shotel.value=':'+bform.shotel.value;
    }
    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;
    var oVoid = {'':'beliebig'};
    // Formularfelder füllen
    with(this){
      if(typeof(flexInfo) != 'undefined') {
         if(flexInfo == 1)
            optDauer = addOptionFlex();
      }    
      fillSels({"zimmer":optZimmerEX,"typ":optSchlafzimmerEX,"dauer":optDauer,"marke":window["arrMarke_"+this.port],"entf_meer":optEntfMeerEX,"entf_lift":optEntfLiftEX});
      fillReisende(null, true);
      setChecks(['schwimmbad','sauna','tv','kamin','angeln','kinderbett','haustiere','geschirrspueler','waschmaschine','boot','tennis','garage','kinderbett']);
      setRadios(['snach']);
      setTexts(['shotel','preis']);
      InitDays(1);
      InitMonth(1);
      InitDays(0);
      InitMonth(0);
      UpdateDate('k');
      UpdateDate('rueckk');
      UpdateRegionen();
    }
  };

  var buttons = document.getElementsByName('btnFinden');
  for(var i=0;i<buttons.length;i++){
    try{
      buttons[i].setAttribute("src",imgPfad+"/forms/form4submit.gif");
    }catch(e){}
  }
}
