var kalInputWidth = 140;
var topDistanceHin = 1;
var leftDistanceHin = 0;
var topDistanceRueck = 1;
var leftDistanceRueck = 0;

var g_Pfad_KAL_IMG = "/kunden_parameter/weg_at2/ibe_v2/images/kalender/";
var g_oTermine     = {};
var oKalHin, oKalRueck;
var oImages = {
  '/kalender/pfeil_links'       : new Image(),
  '/kalender/pfeil_links_over'  : new Image(),
  '/kalender/pfeil_rechts'      : new Image(),
  '/kalender/pfeil_rechts_over' : new Image()
};
for(var imgName in oImages) {
  oImages[imgName].src = imgPfad + imgName + ".gif";
}
    /**
    *@fileoverview In dieser Datei werden Hilfsfunktionen für das LMPS Suchformular definiert
    */
    var IBE = new TTIBE("IBE",port,"bengine");
    IBE.jsFiles = ['../jslib/ttkalender/ferien.js', 'js/search/ttkalender.js', '../js/ttfdrz.js'];

    IBE.initOnLoad = function(){
        var bform = document.forms[this.formname];
        var mustHave = ['FormBase','termin_min_'+this.port,'termin_max_'+this.port,
                        'Zeitraum','Reisende','Terminauswahl','TTFDRZ','TTAFH', 'TTAFHDLC',
                        'arrMarke_'+this.port,'DateHelperLoaded',
                        'g_oFerien', 'Kalender'];
        var injObj   = {SucheFlug:[],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 optReisende = {
        erw_short:["Erwachsener","Erwachsene"],
        kinder:["Jahre","Jahre"]
    }; 
    var optPreis = [
        "beliebig;-1",
        "bis 300 €;1",
        "bis 500 €;2",
        "bis 750 €;3",
        "bis 1000 €;4"
    ];
    
    var optDauerComvel = [
        "beliebig;-1",
        "exakt wie angegeben;0",   
        "1 Tag;6_1",   
        "2 Tage;6_2",
        "3 Tage;6_3",
        "4 Tage;6_4",
        "5 Tage;6_5",
        "6 Tage;6_6",
        "7 Tage;6_7",
        "8 Tage;6_8",
        "9 Tage;6_9",  
        "10 Tage;6_10",          
        "11 Tage;6_11", 
        "12 Tage;6_12", 
        "13 Tage;6_13", 
        "14 Tage;6_14", 
        "15 Tage;6_15",          
        "16 Tage;6_16", 
        "17 Tage;6_17", 
        "18 Tage;6_18", 
        "19 Tage;6_19",
        "20 Tage;6_20", 
        "21 Tage;6_21", 
        "> 22 Tage;13"
    ];

    //___________________________________________________________________

    /**
    *@constructor
    *@extends FormBase
    *@requires Terminauswahl
    *@requires Zielauswahl
    *@requires Reisende
    *@requires Kalender
    */

    function SucheFlug(){
        FormBase.apply(this);
        Terminauswahl.apply(this);

        this.flugdauer = (this.req['flugdauer']!='')?this.req['flugdauer']:'-1';

        //_______________________________________________________________

        this.BookingAction = function(detail){
            var bform=document.forms[this.formname];
            bform.showresult.value='1';
            if(detail)
                bform.detail.value=detail;
            bform.termin.value      = parseInt(getTimestampFromString(bform.oKalHin_input.value) / 1000);
            bform.ruecktermin.value = parseInt(getTimestampFromString(bform.oKalRueck_input.value) / 1000);
            return this.chkFormular();
        };

        //_______________________________________________________________

        this.chkFormular = function(){
            var bform=document.forms[this.formname];
            if(bform.termin.value > bform.ruecktermin.value){
                alert("Ihr Rückreisedatum liegt vor dem Hinreisedatum");
                return false;
            }
            
            bform.submit();
            return false;
        };
        
        this.check_flugdauer=function(){
            var fel=document.forms[this.formname].flugdauer;
            if(fel.value != this.flugdauer){
                document.forms[this.formname].detail.value='zielgebiet';
                document.forms[this.formname].zielgebiets_kenner.value='-1';
            }
        }

        //_______________________________________________________________

        /**
        *Wird nach dem Laden der Seite ausgeführt
        */

        this.init = function(){
            if(!document.forms[this.formname]) return;

//            g_strFerienSelect = document.forms[this.formname].ferientermine.value;

            /* --- Kalender starten --- */
            g_oTermine.tsTerminMin      = this.termin_min * 1000;
            g_oTermine.tsTerminMax      = this.termin_max * 1000;
            g_oTermine.tsSelTerminHin   = getTimestampFromString(this.termin_hin);
            g_oTermine.tsSelTerminRueck = getTimestampFromString(this.termin_rueck);

            oKalHin   = new Kalender('oKalHin', 'hin');
            oKalRueck = new Kalender('oKalRueck', 'rueck');
            oKalHin.init();
            oKalRueck.init();
            /* ------------------------ */

            // Formularfelder füllen
            with(this){
                fillSels({"marke":window["arrMarke_"+this.port],"preis":optPreis,"dauer":optDauerComvel});                 
                fillSelFromArrayStyled("abflughafen",TTAFH);
                fillSelFromArray('flugdauer',TTFDRZ);
                fillReisende(optReisende);
                ttSendAfh();
            }

            try{
                if (typeof(document.getElementById('erster_termin')) != 'undefined') {
                    document.getElementById('erster_termin').innerHTML  = this.erster_termin;    
                }
                if (typeof(document.getElementById('letzter_termin')) != 'undefined') {
                    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){}
            }
            
            isTTIBEready = true;
        };
                
    }

function erwOneLess(element, targetTxt) {
    var selIndex = element.selectedIndex;

    if (selIndex > 0) {
        element.selectedIndex = selIndex - 1;
    }

    document.getElementById(targetTxt).innerHTML = element.options[element.selectedIndex].text;
}
function erwOneMore(element, targetTxt) {
    var selIndex = element.selectedIndex;

    if (selIndex < element.length-1) {
        element.selectedIndex = selIndex + 1;
    }

    document.getElementById(targetTxt).innerHTML = element.options[element.selectedIndex].text;
}

function setFlexTime(elem) {
    var bform = document.forms['bengine'];
    var value = elem.value;
    if (value == 0) {
        bform.flextime.value = 2; 
    } else {
        bform.flextime.value = ""; 
    }
}

