/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das Fewo-Suchformular definiert
*/

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'];

IBE.initOnLoad = function(){
    var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTREGS_'+this.port,
                    'optZimmer','optSchlafzimmer','optDauer','arrMarke_'+this.port,'DateHelperLoaded'];
    var injObj   = {SucheFeWoKlein:[],Zeitraum:[],Reisende:[IBE.req['personen']]};
    for(var i in mustHave){
        if(typeof(window[mustHave[i]])=='undefined'){
            window.setTimeout("IBE.initOnLoad()",20);return;
        }
    }
    if (genaueReisedauer == true) {
        optDauer = refreshDauer();
    }
    this.inject(injObj); this.init();
};

//___________________________________________________________________

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Reisende
*@requires Kalender
*/

function setFlexTime(elem) {
    if (genaueReisedauer == true) {
        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]);       
    }  
    return newDauer;
}

var genaueReisedauer = false;
if (flexInfo != 'undefined' && flexInfo == 1) {
    genaueReisedauer = true;
} else {
    genaueReisedauer = false;
}  

function refreshDauer() {    
    if (genaueReisedauer == true) {
        var optDauerExt=[
        "beliebig;-1",
        "1 - 4 Tage;9",
        "5 - 8 Tage;10",
        "1 Woche;6_7",
        "9 - 12 Tage;7",
        "13 - 15 Tage;3",
        "2 Wochen;6_14",
        "16 - 22 Tage;12",
        "3 Wochen;6_21",
        "> 22 Tage;13",
        "---;-2",
        "1 Tag;6_1",
        "2 Tage;6_2",
        "3 Tage;6_3",
        "4 Tage;6_4",
        "5 Tage;6_5",
        "6 Tage;6_6",
        "8 Tage;6_8",
        "9 Tage;6_9",
        "10 Tage;6_10",
        "11 Tage;6_11",
        "12 Tage;6_12",
        "13 Tage;6_13",
        "15 Tage;6_15",
        "16 Tage;6_16",
        "17 Tage;6_17",
        "18 Tage;6_18",
        "19 Tage;6_19",
        "20 Tage;6_20"
        ];
        return optDauerExt;
    }
}

//___________________________________________________________________

function SucheFeWoKlein(){
    FormBase.apply(this);
    Terminauswahl.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 (genaueReisedauer == true) {
                optDauer = addOptionFlex();
            }
            fillSels({"zimmer":optZimmer,"zimmer_dis":optZimmer,"typ":optSchlafzimmer,"typ_dis":optSchlafzimmer,"dauer":optDauer,"marke":window["arrMarke_"+this.port]});
            fillReisende();
            setChecks(['schwimmbad','sauna','tv','kamin','rollstuhl','angeln','kinderbett','haustiere','geschirrspueler','waschmaschine','boot','tennis','garage','kinderbett']);
            setRadios(['snach']);
            setTexts(['shotel','shotel_dis','preis']);
            InitDays(1);
            InitMonth(1);
            InitDays(0);
            InitMonth(0);
            UpdateDate('k');
            UpdateDate('rueckk');
        }
        try{        
            var buttons = document.getElementsByName('btnFinden');
            var imgname = "neue_suche";
            for(var i=0;i<buttons.length;i++){
                buttons[i].setAttribute("src",imgPfad+"/neue_suche.gif");
            }
        }  
        catch(e){}        
        
    };     
    
}

function BookingAction(param){
    IBE.BookingAction(param);
}
