/**
*@fileoverview In dieser Datei werden Hilfsfunktionen für das kleine Erde-Suchformular definiert
*/
    var optFirstRegSelectOpo = {
        ziel:"beliebig",
        region:"beliebig"
    }

var IBE = new TTIBE("IBE",port,"bengine");
IBE.jsFiles = ['../../jslib/formulare/selectopt653.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','DateHelperLoaded'];        
    var injObj   = {Zielauswahl:[optFirstRegSelectOpo],SucheERDEKlein:[],Zeitraum:[],Reisende:[this.req['personen']]};
        if(this.req['formular']=='4')
            mustHave = mustHave.concat(['Zielauswahl','TTREGS_'+this.port,'optZielOrt','optThemes']);
        else if(this.req['formular']=='5')
            mustHave.push('arrLaender');
        else
            mustHave = mustHave.concat(['Zielauswahl','TTRZ_ERDE','optZielOrt','optThemes']);
    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",
    "Studio/Apartment/Suite;7"
];

var optVerpflegungEX = [
    "beliebig;-1",
    "nur Übernachtung;0",
    "Frühstück;1",
    "Halbpension;2",
    "Vollpension;3",
    "All Inclusive;4"
];

var optKategorieEX = [
    "beliebig;-1",
    "2 Sterne oder mehr;0",
    "3 Sterne oder mehr;1",
    "4 Sterne oder mehr;2",
    "5 Sterne;3"
];

var optReisendeEX = {
    erw_short:["Erwachsener","Erwachsene"],
    kinder:["J.","J."]
};

//___________________________________________________________________

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/

function SucheERDEKlein(){
    FormBase.apply(this);
    Terminauswahl.apply(this);
    
    //_______________________________________________________________
    
    this.booking_action = function(){
        var bform=document.forms[this.formname];
        if(this.req['orte_IFF']!=0){
            if(document.forms[this.formname].zielOrt.value != '-1'){
                var splitter = document.forms[this.formname].zielOrt.value.split(' ');
                bform.topRegion.value = splitter[0];
                bform.IFFOrt.value    = splitter[1];
                this.BookingAction('hotel');
            }
            else{
                bform.topRegion.value = '';
                bform.IFFOrt.value = '-1';
                this.BookingAction('zielgebiet');
            }
        }
        else
            this.BookingAction('zielgebiet');
    };
    
    //_______________________________________________________________
    
    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;
    };
    
    //_______________________________________________________________
    
    /**
    *Wird nach dem Laden der Seite ausgeführt
    */
  
    this.init = function(){
        if(!document.forms[this.formname]) return;
        // Formularfelder füllen
        with(this){
            dauert();
            fillSels({'kategorie':optKategorieEX,'kategorie_dis':optKategorieEX,'zimmer':optZimmerEX,'verpflegung':optVerpflegungEX});
            fillReisende(optReisendeEX);
            InitDays(1);
            InitMonth(1);
            InitDays(0);
            InitMonth(0);
            UpdateDate('k');
            UpdateDate('rueckk');
            setTexts(['shotel','shotel_dis','preis']);
                    UpdateRegionen();
        }
        try{        
            var buttons = document.getElementsByName('btnFinden');
            var imgname = "neue_suche";
            for(var i=0;i<buttons.length;i++){
                buttons[i].setAttribute("src",imgPfad+"/Skyscraper/"+imgname+".gif");
                buttons[i].onmouseover = function(){this.src=imgPfad+"/Skyscraper/"+imgname+"_over.gif";};
                buttons[i].onmouseout = function(){this.src=imgPfad+"/Skyscraper/"+imgname+".gif";};                    
            }
        }  
        catch(e){}
    };
}

//___________________________________________________________________

function BookingAction(param){
    IBE.BookingAction(param);
}

