/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das kleine LMPS-Suchformular definiert
*/

var optFirstRegSelectOpo = {
    ziel:"beliebig",
    region:"beliebig"
}


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'];

IBE.initOnLoad = function(){    
    var mustHave = ['Zielauswahl','TTREGS_'+this.port,'FormBase','DateHelperLoaded','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFH',
                    'optDauer','optKategorie'];
    var injObj   = {Zielauswahl:[optFirstRegSelectOpo],SucheLMPSKlein:[],Zeitraum:[],Reisende:[this.req['personen']]};
    
    for(var i in mustHave){
        if(typeof(window[mustHave[i]])=='undefined'){
            window.setTimeout("IBE.initOnLoad()",20);return;
        }
    }
    this.inject(injObj); this.init();
};

//___________________________________________________________________

/**
*eigene Optionsfelder
*/

var optZimmerEX = [
    "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 optUsrLblEX = {
  erw:["",""], // "normal"
  erw_short:["",""], // Nur Flug
  pers:["",""], // Fewo
  kinder:["J.","J."]
};

//___________________________________________________________________

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/

function SucheLMPSKlein(){
    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'];
        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;
            }
        }
        bform.submit();
        return false;
    };
    
    //_______________________________________________________________
  
    this.init = function(){
        if(!document.bengine) return;
        // Formularfelder füllen
        with(this){            
            //dauert(); //Reisedauer 1-22 Tage
            fillSels({'dauer':optDauer,'kategorie':optKategorie,'kategorie_dis':optKategorie,'zimmer':optZimmerEX,'verpflegung':optVerpflegung});
            fillSelFromArray('abflughafen',TTAFH);
            fillReisende(optUsrLblEX);            
            InitDays(1);
            InitMonth(1);
            InitDays(0);
            InitMonth(0);
            UpdateDate('k');
            UpdateDate('rueckk');
            setChecks(['strand','strand_dis','wellness','wellness_dis','familie_kinder','familie_kinder_dis','sportmoeglichkeiten','sportmoeglichkeiten_dis']);
            //setBitChecks(['meer','meer_dis']);
            setTexts(['shotel','shotel_dis','preis']);                   
            if (detail != 'termine') {
                UpdateRegionen();
            }
        }
        try{
              var buttons = document.getElementsByName('btnFinden');
              var imgname = this.req['formular']==4?"button_neuesuche":"button_neuesuche";
              for(var i=0;i<buttons.length;i++){
                    buttons[i].setAttribute("src",imgPfad+"/"+imgname+".gif");         
              }
        }
        catch(e){}
    };
    
}

//___________________________________________________________________

function BookingAction(param){
    IBE.BookingAction(param);
}
