    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
    */
    
    var optFirstRegSelectOpo = {
        ziel:"any",
        region:"any"
    }

    var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = ['../jslib/formulare/selectopt654.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 = ['Zielauswahl','TTREGS_'+this.port,'FormBase','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Reisende','Terminauswahl','TTAFH',
                        'optSportangebot','optDauer','arrMarke_'+this.port];
        var injObj   = {Zielauswahl:[optFirstRegSelectOpo],SucheLMPS:[],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 optPreisOpo = [
        "any;-1",
        "Up to £300;1",
        "Up to £350;7",
        "Up to £500;2",
        "Up to £750;3",
        "Up to £1000;4",
        "Up to £250;9",
        "Up to £400;10",
        "Up to £600;11",
        "Up to £800;12",
        "More than £800;13"
    ];
    
    var optKategorieOpo = [
        "any;-1",
        "Two Stars or more;0",
        "Three Stars or more;1",
        "Four Stars or more;2",
        "Five Stars;3"
    ];
    
    var optZimmerOpo = [
        "beliebig;-1",
        "Einzelzimmer;5",
        "Doppelzimmer;6",
        "Familienzimmer;2",
        "Bungalow;0",
        "Studio/Apartment/Suite;7"
    ];
    
    var optVerpflegungOpo = [
        "any;-1",
        "Bed Only;0",
        "Self Catering;6",
        "Breakfast;1",
        "Half Board;2",
        "Full Board;3",
        "All Inclusive;4"
    ];
    
    var optDauerOpo=[
    "any;-1",
    "1 day;6_1",
    "2 days;6_2",
    "3 days;6_3",
    "4 days;6_4",
    "5 - 8 days;10",
    "1 week;6_7",
    "9 - 12 days;7",
    "13 - 15 days;3",
    "2 weeks;6_14",
    "16 - 22 days;12",
    "3 weeks;6_21",
    "> 22 days;13"
    ];
    
    var defUserOpo = {
      erw:["",""],  // "normal"
      kinder:["",""]
    };
        
    //___________________________________________________________________
    
    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */
    
    function SucheLMPS(){
        this.monNames = ["Jan.","Feb.","Mar.","Apr.","May","June","July","Aug.","Sep.","Oct.","Nov.","Dec."];
        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.forms[this.formname]) return;
            
            // Formularfelder füllen
            with(this){
                //dauert();
                fillSels({'dauer':optDauerOpo,'marke':window['arrMarke_'+this.port],'preis':optPreisOpo,'kategorie':optKategorieOpo,'zimmer':optZimmerOpo,'verpflegung':optVerpflegungOpo});
                fillSelFromArray('abflughafen',TTAFH);
                fillReisende(defUserOpo);
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk');
                setChecks(['strand','wellness','familie_kinder','sportmoeglichkeiten','typ']);
                setBitChecks(['meer','zfilter']);
                setTexts(['shotel']);
                UpdateRegionen();
            }
            
            try{
                document.getElementById('erster_termin').innerHTML  = this.erster_termin;
                document.getElementById('letzter_termin').innerHTML = this.letzter_termin;
            }
            catch(e){}
            
            try{
                var buttons = document.getElementsByName('btnFinden');
                for(var i=0;i<buttons.length;i++){
                    buttons[i].setAttribute("src",imgPfad+"/angebote_finden.gif");
                }
            }
            catch(e){}
        };
    }
