	/**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
    *JS files paths are modified here
    */
	
	var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = [ibe_dir_fr+'jslib/formulare/fr/selectopt654.js',ibe_dir_fr+'jslib/core/fr/datehelper.js',
                   ibe_dir_fr+'jslib/core/zeitraum.js',ibe_dir_fr+'jslib/formulare/fr/terminauswahl.js',
                   ibe_dir_fr+'jslib/formulare/fr/formbase.js',ibe_dir_fr+'jslib/core/reisende.js'];

    IBE.initOnLoad = function() {
		
        var bform = document.forms[this.formname];
        var mustHave = ['FormBase', 'termin_min_' + this.port, 'termin_max_' + this.port, 'Zeitraum', 'Reisende', 'Terminauswahl', 'TTAFH',
                        'optSportangebot', 'optDauer', 'arrMarke_' + this.port, 'DateHelperLoaded'];
        var injObj = { SucheLMPS: [], Zeitraum: [], Reisende: [this.req['personen']] };
        if (this.req['formular'] == '4')
            mustHave = mustHave.concat(['Zielauswahl', 'TTREGS_' + this.port, 'optZimmer2']);
        else
            mustHave.push('TTFDRZ');
        for (var i in mustHave) {
            if (typeof (window[mustHave[i]]) == 'undefined') {
                window.setTimeout("IBE.initOnLoad()", 20); return;
            }
        }
		
        this.inject(injObj);
		
		/* --- Jerome --- */
		var min_limit = 5;
		var date = this.erster_termin.split('.');
		var length = date[0].length;		
		date[0] = parseInt(date[0])
				
		if(length <= 2)
			this.erster_termin = 0;
		
		this.erster_termin+= date[0]+parseInt(min_limit)+'.'+date[1]+'.'+date[2];
		
		this.init();
    };
    
    //___________________________________________________________________
    
    /**
    *eigene Optionsfelder
    */
    
    var optReisendeBR = {
        erw:["Adulte","Adultes"],
        kinder:["an","ans"]
    };
    
    //___________________________________________________________________
    
    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */

    function SucheLMPS() {

        var optLaender654;
    
        FormBase.apply(this);
        Terminauswahl.apply(this);
        
        if(this.req['formular']=='4') 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'];
            return this.chkFormular();
        };
        
        //_______________________________________________________________
        
        this.chkFormular = function(){
            var bform=document.forms[this.formname];
            if(this.req['termin']>this.req['ruecktermin']){
                alert("La date de retour est ant&eacute;rieure &agrave; la date de d&eacute;part");
                return false;
            }
            var tmpy=bform.zimmer2;
            if(typeof(tmpy)!='undefined'){
                if(bform.zimmer[6].checked==true && bform.zimmer2.selectedIndex==0){
                    alert("Veuillez choisir un type de logement.");
                    bform.zimmer2.focus()
                    return false;
                }
            }
            
	     if(!bform.preis.value.match(/^\d*$/)){
		alert("Le prix ne peut comporter que des chiffres");
	     bform.preis.value="";
	     bform.preis.focus();
	     return false;
		}
	     else if(parseInt(bform.preis.value) <= 0){
		alert("Le prix doit être un nombre positif");
	     bform.preis.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) {
                fillSels({ "sportangebot": optSportangebot, "dauer": optDauer, "marke": window["arrMarke_" + this.port] });
                fillSelFromArray('abflughafen', TTAFH);
                fillReisende(optReisendeBR);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk');
                setRadios(['kategorie', 'zimmer', 'verpflegung']);
                setChecks(['familie_kinder', 'strand', 'wellness', 'typ']);
                fillBitSels({ "zimmer2": optZimmer2 });
                setBitChecks(['meer', 'zfilter']);
                setTexts(['shotel', 'preis']);
                //The following method replaces the deprecated UpdateRegionen method!!!
                updateDestinations();

            }

            try {
                document.getElementById('erster_termin').innerHTML = this.erster_termin;
                document.getElementById('letzter_termin').innerHTML = this.letzter_termin;
            }
            catch (e) { }

            var buttons = document.getElementsByName('btnFinden');
            for (var i = 0; i < buttons.length; i++) {
                try {
                    buttons[i].setAttribute("src", imgPfad + "/angebote_finden.gif");
                }
                catch (e) { }
            }
        };        
    }
    

