//var IBE = new Interface("IBE",port,"bengine");
var IBE = new Interface("IBE","654","bengine");
var countInitReq = 0;
IBE.jsFiles = [
	HOME_URL+'js/travel/libtt/form/formbase.js',HOME_URL+'js/travel/libtt/form/dateselector.js',
	HOME_URL+'js/travel/libtt/core/datehelper.js', HOME_URL+'js/travel/libtt/data/area_'+this.port+'.js'];
IBE.InitOnLoad = function(){
	if ( countInitReq == 100 ) return;
			
    var mustHave = ['FormBase', 'DateSelector', 'DEPARR', 'Target', 'TTREGS_'+this.port ];
    var injObj   = { IbeSearch:[], DateSelector:[] };

   	for(i=0; i < mustHave.length; i++) {
        if(typeof(window[mustHave[i]])=='undefined'){
        	countInitReq++;
        	window.setTimeout("IBE.InitOnLoad()",20); return;
        }
    }

    this.Inject(injObj); this.Init();
};

/**
*@constructor
*@extends FormBase
*@requires Terminauswahl
*@requires Zielauswahl
*@requires Reisende
*@requires Kalender
*/

function IbeSearch(){
	FormBase.apply(this);
    Target.apply(this,[]);

    this.BookingAction = function(){
        var bform=document.forms[this.formName];

      	bform.elements["ibeInput[depDate]"].value=bform.elements["ibeInput[depDay]"].value+"."+bform.elements["ibeInput[depMonth]"].value;
       	bform.elements["ibeInput[retDate]"].value=bform.elements["ibeInput[retDay]"].value+"."+bform.elements["ibeInput[retMonth]"].value;

       	if( typeof ( bform.elements["ibeInput[area]"]) !='undefined') {
       		var area = bform.elements["ibeInput[area]"].options[bform.elements["ibeInput[area]"].selectedIndex].value.split("|");
       		bform.elements["ibeInput[area]"].options[bform.elements["ibeInput[area]"].selectedIndex].value = area[0];
       	}

       	return this.ChkFormular();
    };

    this.ChkFormular = function(){
        var bform=document.forms[this.formName];
        if(this.req['depDate']>this.req['retDate']){
            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;
            }
        }

        return true;
    };

    /**
    *Wird nach dem Laden der Seite ausgef?hrt
    */

     this.Init = function(){
        if(!document.forms[this.formName]) {  return; }
        with( this ) {
        	this.req['ibeInput[depAirport]'] = this.req['depAirport'];
			FillSelFromArray( 'ibeInput[depAirport]', DEPARR );

			if ( this.req['target'] == 'TRUE' ) {
				valZiel = this.req['topArea'];
				if( this.req['targetArea'] ) {
					this.valReg = this.req['targetArea'].split("|")[0];
				}
        	}

			termin_hin = this.req['depDate'].split("-")[2]+'.'+this.req['depDate'].split("-")[1]+'.'+this.req['depDate'].split("-")[0];
			termin_rueck = this.req['retDate'].split("-")[2]+'.'+this.req['retDate'].split("-")[1]+'.'+this.req['retDate'].split("-")[0];

			InitDays(1);
            InitMonth(1);
            InitDays(0);
            InitMonth(0);
            UpdateDate('dep');
            UpdateDate('ret');

            if ( this.req['target'] == 'TRUE' ) {
				UpdateArea();
			}
			if( valZiel > 0 ) {
				SetToparea();
			}
			
			FillDuration();

			

           /*SetRadios(['verpflegung','zimmer','kategorie']);
            setChecks(['strand','wellness','familie_kinder']);
            if(this.req['formular']=='2'){
                fillSelFromArray('flugdauer',TTFDRZ);
                setRadios(['typ']);
                setChecks(['sportmoeglichkeiten']);
                setTexts(['shotel']);
            }
            else if(this.req['formular']=='4'){
                fillBitSels({"zimmer2":optZimmer2});
                setChecks(['typ']);
                setBitChecks(['meer','zfilter']);
                setTexts(['shotel','preis']);
                UpdateRegionen();
            }*/
        }
    };

}
