  ////////////////////////////////
 //  © 2007 Traveltainment AG  //
/////////////////////////////// 

//___Kundendaten____________________
var split_cus = TTCustomer.split("|");
var ordner_name = split_cus[0];
var KID = split_cus[1];
var jsq_quick = split_cus[2]; //Sprung ohne Schnellsuche == 0 | Sprung mit Schnellsuche == 1
var jsq_popup = split_cus[3]; //target -> self == 0 |target -> blank == 1
var frameurl = split_cus[4]; //Strecke in frame -> nein == 0 | ja == 1
var searchurl = split_cus[5];
var afhkenner = split_cus[6]; //Laenderkenner fuer z.B. == '_at' (siehe booking/js/ttafh_xx.js)

//
var isExtQuickSearch = 1;

//Hauptpfade (default)
var cacheurl = "http://images.traveltainment.de/";
var main_url = "http://www2.vidado.com/"; 

//Wurden zuvor andere Pfade definiert?
if (typeof(TTMainUrl) != 'undefined' && TTMainUrl != ''){    
    main_url = TTMainUrl;    
}
if (typeof(TTCacheUrl) != 'undefined' && TTCacheUrl != ''){    
    cacheurl = TTCacheUrl;
}

//KALENDER: 0=kein / 1=Layer(neu) / 2=Popup(klassisch)
var extCal = 0;
if (typeof(TTExtCal) != 'undefined' && TTExtCal != ''){
    extCal = TTExtCal;    
}

//Default-Variablen checken
if (typeof(TTAddVal) == 'undefined'){
    var TTAddVal = '';
}
if (typeof(TTImgUrl) == 'undefined'){
    var TTImgUrl = 'http://www2.vidado.com/kunden_parameter/';
}

//Stylesheet kundenspez. 
document.write('<link rel="stylesheet" type="text/css" href="'+TTImgUrl+ordner_name+'/jsq_search/css/quickf_style.css" media="all">');
//DIV Container (wird in jsqs_xxx.js gefüllt)
document.write('<div id="tt_jsq_div">&nbsp;loading...</div>');

//__Welche Strecken?___________
var split_lines = TTLines.split("|");
if (typeof(TTJumpMarks) != 'undefined' && TTJumpMarks != ''){
    var split_jumper = TTJumpMarks.split("|");
}

//___Globals für Ausgabe_________________
var jsq_jump = 'IBE_lami'; //Default aktive Strecke; meist IBE_lami (port 654)
var tmpx_split_lines = split_lines[0].split(",");
var splitx_lines_type = tmpx_split_lines[0].split("#");
if(splitx_lines_type[0] == '654'){
    if (typeof(splitx_lines_type[1]) != 'undefined' && splitx_lines_type[1] == '1'){
        jsq_jump = 'IBE_lamipa';
    }
}
else if(splitx_lines_type[0] == '651'){
    jsq_jump = 'IBE_pauschal';
}
else if(splitx_lines_type[0] == '652'){
    jsq_jump = 'IBE_flug';
}
else if(splitx_lines_type[0] == '653'){
    jsq_jump = 'IBE_erde';
}
else if(splitx_lines_type[0] == '655'){
    jsq_jump = 'IBE_fewo';
} 
var IBE_typ = jsq_jump;
var jsq_art = ''; 

//KALENDER
if (extCal == 1){ 
    var g_Pfad_KAL_IMG = TTImgUrl+ordner_name+"/ibe_v2/images/kalender/";
    var g_oTermine     = {};       
    var oKalHin, oKalRueck;
    var oImages = {
      'pfeil_links'       : new Image(),
      'pfeil_links_over'  : new Image(),
      'pfeil_rechts'      : new Image(),
      'pfeil_rechts_over' : new Image()
    };    
    var oDefInfoText = {
        hin_kurz:["Früheste Anreise"],  // Header Anreise
        rueck_kurz:["Späteste Abreise"],  // Header Rückreise
        hin_lang:["Früheste Anreise korrigieren<br>oder Daten übernehmen."],  // Header Anreise
        rueck_lang:["Späteste Abreise korrigieren<br>oder Daten übernehmen."],  // Header Rückreise
        bl_text:["Wählen Sie Ihr Bundesland"]  // Text Bundesland-Info
    };         
    for(var imgName in oImages) {
        oImages[imgName].src = g_Pfad_KAL_IMG + imgName + ".gif";
    }     
}

//Wenn afhkenner !set dann leerer String
if(typeof(afhkenner) == 'undefined'){
    afhkenner = '';
}

//Externe Javascript Dateien preloaden
var isFileName = KID;

if (typeof(TTCustomerSub) != 'undefined' && TTCustomerSub != '')
{
    isFileName = KID + '_' + TTCustomerSub;
}

var jsFiles = [main_url+'booking/js/ttafh'+afhkenner+'.js',
               main_url+'booking/js/ttfdrz.js',			   
               main_url+'booking/jslib/core/datehelper.js',
               main_url+'booking/jslib/core/zeitraum.js',
               main_url+'booking/jslib/core/reisende.js',
               main_url+'booking/jslib/formulare/terminauswahl.js',
               main_url+'booking/jslib/formulare/formbase.js',               
               main_url+'booking/jsq_search/js/jsqs_'+isFileName+'.js'];

//KALENDER
if (extCal == 1){
    if (KID == '620020') {
        //--- kalender.js mit onmouseover-workaround wegen menue ----
        jsFiles.push(main_url+'booking/thomascook_de/js/ttKalender.js');
    } else {
        jsFiles.push(main_url+'booking/js/tt_kalender.js');
    }
    
}

var defPersOptTxt = {
  erw:["Erwachsener","Erwachsene"],  // "normal"
  erw_short:["Erwachsener","Erwachsene"], // Formular 2 / Nur Flug
  pers:["Person","Personen"],        // Fewo
  kinder:["Jah.","Jahre"]
};

//Voreingestellte Werte für termin / ruecktermin
var psTermin_651 = '';
var psTermin_652 = '';
var psTermin_653 = '';
var psTermin_654 = '';
var psTermin_655 = '';
var psRuecktermin_651 = '';
var psRuecktermin_652 = '';
var psRuecktermin_653 = '';
var psRuecktermin_654 = '';
var psRuecktermin_655 = '';
if(typeof(ttqf_termin_651) != 'undefined' && ttqf_termin_651 != '') {
    psTermin_651 = ttqf_termin_651;    
}
if(typeof(ttqf_termin_652) != 'undefined' && ttqf_termin_652 != '') {
    psTermin_652 = ttqf_termin_652;    
}
if(typeof(ttqf_termin_653) != 'undefined' && ttqf_termin_653 != '') {
    psTermin_653 = ttqf_termin_653;    
}
if(typeof(ttqf_termin_654) != 'undefined' && ttqf_termin_654 != '') {
    psTermin_654 = ttqf_termin_654;    
}
if(typeof(ttqf_termin_655) != 'undefined' && ttqf_termin_655 != '') {
    psTermin_655 = ttqf_termin_655;    
}
if(typeof(ttqf_ruecktermin_651) != 'undefined' && ttqf_ruecktermin_651 != '') {
    psRuecktermin_651 = ttqf_ruecktermin_651;    
}
if(typeof(ttqf_ruecktermin_652) != 'undefined' && ttqf_ruecktermin_652 != '') {
    psRuecktermin_652 = ttqf_ruecktermin_652;    
}
if(typeof(ttqf_ruecktermin_653) != 'undefined' && ttqf_ruecktermin_653 != '') {
    psRuecktermin_653 = ttqf_ruecktermin_653;    
}
if(typeof(ttqf_ruecktermin_654) != 'undefined' && ttqf_ruecktermin_654 != '') {
    psRuecktermin_654 = ttqf_ruecktermin_654;    
}
if(typeof(ttqf_ruecktermin_655) != 'undefined' && ttqf_ruecktermin_655 != '') {
    psRuecktermin_655 = ttqf_ruecktermin_655;    
}

//IBE Instanzen erstellen
var setJSFiles = '0'; 

for(var p=0;p<split_lines.length;p++){
    var tmp_split_lines = split_lines[p].split(",");
    var split_lines_type = tmp_split_lines[0].split("#");    
    
    if(split_lines_type[0] == '654'){
        if (typeof(split_lines_type[1]) != 'undefined' && split_lines_type[1] == '1'){            
            var IBE_lamipa = new TTIBE("IBE_lamipa",654,"bengine");
            var req =  {flugdauer:'',zielgebiets_kenner:'',topRegion:'','nurflug':'','formular':'4',termin:psTermin_654,ruecktermin:psRuecktermin_654,personen:'25;25'};        
            IBE_lamipa.lineName = 'lamipa';
            IBE_lamipa.jumper = '';
            if(frameurl == 1 && typeof(split_jumper) != 'undefined' && split_jumper[p] != ''){
                IBE_lamipa.jumper = split_jumper[p];
            }
            IBE_lamipa.req = req;
            if (extCal > 0 && typeof(min_termin_kunde) != 'undefined'){
                IBE_lamipa.req['min_termin_kunde'] = min_termin_kunde;
            } 
            if (extCal > 0 && typeof(min_termin_kunde_lamipa) != 'undefined') {
                IBE_lamipa.req['min_termin_kunde'] = min_termin_kunde_lamipa;    
            }         
            IBE_lamipa.req['engine'] = 'pauschal';            
            if(tmp_split_lines[2] != '0'){
                IBE_lamipa.req['kategorie'] = '-1';
            }
            if(tmp_split_lines[3] != '0'){
                IBE_lamipa.req['verpflegung'] = '-1';
            }
            if(tmp_split_lines[4] != '0'){
                IBE_lamipa.req['zimmer'] = '-1';
            }
            if(tmp_split_lines[5] != '0'){
                IBE_lamipa.req['marke'] = '';
            }
            if(tmp_split_lines[6] != '0'){
                IBE_lamipa.req['shotel'] = '';
            }
            if(tmp_split_lines[7] != '0'){
                IBE_lamipa.req['preis'] = '';
            }
            if (setJSFiles == '1'){
                IBE_lamipa.jsFiles = [];
            }
            else{
                IBE_lamipa.jsFiles = jsFiles;
                setJSFiles = '1';
            }    
        }
        else {            
            var IBE_lami = new TTIBE("IBE_lami",654,"bengine");
            var req =  {flugdauer:'',zielgebiets_kenner:'',topRegion:'','nurflug':'','formular':'4',termin:psTermin_654,ruecktermin:psRuecktermin_654,personen:'25;25'};        
            IBE_lami.lineName = 'lami';
            IBE_lami.jumper = '';
            if(frameurl == 1 && typeof(split_jumper) != 'undefined' && split_jumper[p] != ''){
                IBE_lami.jumper = split_jumper[p];
            }
            IBE_lami.req = req;
            if (extCal > 0 && typeof(min_termin_kunde) != 'undefined'){
                IBE_lami.req['min_termin_kunde'] = min_termin_kunde;
            } 
            if (extCal > 0 && typeof(min_termin_kunde_lami) != 'undefined') {
                IBE_lami.req['min_termin_kunde'] = min_termin_kunde_lami;    
            }           
            IBE_lami.req['engine'] = '';             
            if(tmp_split_lines[2] != '0'){
                IBE_lami.req['kategorie'] = '-1';
            }
            if(tmp_split_lines[3] != '0'){
                IBE_lami.req['verpflegung'] = '-1';
            }
            if(tmp_split_lines[4] != '0'){
                IBE_lami.req['zimmer'] = '-1';
            }
            if(tmp_split_lines[5] != '0'){
                IBE_lami.req['marke'] = '';
            }
            if(tmp_split_lines[6] != '0'){
                IBE_lami.req['shotel'] = '';
            }
            if(tmp_split_lines[7] != '0'){
                IBE_lami.req['preis'] = '';
            }
            if (setJSFiles == '1'){
                IBE_lami.jsFiles = [];
            }
            else{
                IBE_lami.jsFiles = jsFiles;
                setJSFiles = '1';
            }
        }
    }
    if(split_lines_type[0] == '651'){         
        var IBE_pauschal = new TTIBE("IBE_pauschal",651,"bengine");
        var req_pa =  {flugdauer:'',zielgebiets_kenner:'',topRegion:'','nurflug':'','formular':'4','engine':'pauschal',termin:psTermin_651,ruecktermin:psRuecktermin_651,personen:'25;25'};
        IBE_pauschal.lineName = 'pauschal';
        IBE_pauschal.jumper = '';
        if(frameurl == 1 && typeof(split_jumper) != 'undefined' && split_jumper[p] != ''){
            IBE_pauschal.jumper = split_jumper[p];
        }
        IBE_pauschal.req = req_pa;
        if (extCal > 0 && typeof(min_termin_kunde) != 'undefined'){
            IBE_pauschal.req['min_termin_kunde'] = min_termin_kunde;
        }
        if (extCal > 0 && typeof(min_termin_kunde_pauschal) != 'undefined') {
            IBE_pauschal.req['min_termin_kunde'] = min_termin_kunde_pauschal;    
        }
        if(tmp_split_lines[2] != '0'){
            IBE_pauschal.req['kategorie'] = '-1';
        }
        if(tmp_split_lines[3] != '0'){
            IBE_pauschal.req['verpflegung'] = '-1';
        }
        if(tmp_split_lines[4] != '0'){
            IBE_pauschal.req['zimmer'] = '-1';
        }
        if(tmp_split_lines[5] != '0'){
            IBE_pauschal.req['marke'] = '';
        }
        if(tmp_split_lines[6] != '0'){
            IBE_pauschal.req['shotel'] = '';
        }
        if(tmp_split_lines[7] != '0'){
            IBE_pauschal.req['preis'] = '';
        }
        if (setJSFiles == '1'){
            IBE_pauschal.jsFiles = [];
        }
        else{
            IBE_pauschal.jsFiles = jsFiles;
            setJSFiles = '1';
        }
    }
    if(split_lines_type[0] == '652'){         
        var IBE_flug = new TTIBE("IBE_flug",652,"bengine");
        var req_fl =  {flugdauer:'',zielgebiets_kenner:'',topRegion:'','nurflug':'1','formular':'3','engine':'',termin:psTermin_652,ruecktermin:psRuecktermin_652,personen:'25;25',dauer:'-1'};
        IBE_flug.lineName = 'flug';
        IBE_flug.jumper = '';
        if(frameurl == 1 && typeof(split_jumper) != 'undefined' && split_jumper[p] != ''){
            IBE_flug.jumper = split_jumper[p];
        }
        IBE_flug.req = req_fl; 
        if (extCal > 0 && typeof(min_termin_kunde) != 'undefined'){
            IBE_flug.req['min_termin_kunde'] = min_termin_kunde;
        }
        if (extCal > 0 && typeof(min_termin_kunde_flug) != 'undefined') {
            IBE_flug.req['min_termin_kunde'] = min_termin_kunde_flug;    
        }
        if(tmp_split_lines[5] != '0'){
            IBE_flug.req['marke'] = '';
        }  
        if(tmp_split_lines[7] != '0'){
            IBE_flug.req['preis'] = '';
        }     
        if (setJSFiles == '1'){
            IBE_flug.jsFiles = [];
        }
        else{
            IBE_flug.jsFiles = jsFiles;
            setJSFiles = '1';
        }
    }
    if(split_lines_type[0] == '653'){          
        var IBE_erde = new TTIBE("IBE_erde",653,"bengine");
        var req_er =  {flugdauer:'',zielgebiets_kenner:'',topRegion:'','nurflug':'','formular':'4','engine':'erde',termin:psTermin_653,ruecktermin:psRuecktermin_653,personen:'25;25',dauer:'-1'};
        IBE_erde.lineName = 'erde';
        IBE_erde.jumper = '';
        if(frameurl == 1 && typeof(split_jumper) != 'undefined' && split_jumper[p] != ''){
            IBE_erde.jumper = split_jumper[p];
        }
        IBE_erde.req = req_er;        
        if (extCal > 0 && typeof(min_termin_kunde) != 'undefined'){
            IBE_erde.req['min_termin_kunde'] = min_termin_kunde;
        }
        if (extCal > 0 && typeof(min_termin_kunde_erde) != 'undefined') {
            IBE_erde.req['min_termin_kunde'] = min_termin_kunde_erde;    
        }
        if(tmp_split_lines[2] != '0'){
            IBE_erde.req['kategorie'] = '-1';
        }
        if(tmp_split_lines[3] != '0'){
            IBE_erde.req['verpflegung'] = '-1';
        }
        if(tmp_split_lines[4] != '0'){
            IBE_erde.req['zimmer'] = '-1';
        }
        if(tmp_split_lines[5] != '0'){
            IBE_erde.req['marke'] = '';
        }
        if(tmp_split_lines[6] != '0'){
            IBE_erde.req['shotel'] = '';
        }
        if(tmp_split_lines[7] != '0'){
            IBE_erde.req['preis'] = '';
        }
        if (setJSFiles == '1'){
            IBE_erde.jsFiles = [];
        }
        else{
            IBE_erde.jsFiles = jsFiles;
            setJSFiles = '1';
        }         
    }
    if(split_lines_type[0] == '655'){         
        var IBE_fewo = new TTIBE("IBE_fewo",655,"bengine");
        var req_fw =  {flugdauer:'',zielgebiets_kenner:'',topRegion:'','nurflug':'','formular':'4','engine':'fewo',termin:psTermin_655,ruecktermin:psRuecktermin_655,personen:'25;25;25;25'};
        IBE_fewo.lineName = 'fewo';
        IBE_fewo.jumper = '';
        if(frameurl == 1 && typeof(split_jumper) != 'undefined' && split_jumper[p] != ''){
            IBE_fewo.jumper = split_jumper[p];
        }
        IBE_fewo.req = req_fw;
        if (extCal > 0 && typeof(min_termin_kunde) != 'undefined'){
            IBE_fewo.req['min_termin_kunde'] = min_termin_kunde;
        }
        if (extCal > 0 && typeof(min_termin_kunde_fewo) != 'undefined') {
            IBE_fewo.req['min_termin_kunde'] = min_termin_kunde_fewo;    
        }
        if(tmp_split_lines[4] != '0'){
            IBE_fewo.req['zimmer'] = '-1';
        }
        if(tmp_split_lines[5] != '0'){
            IBE_fewo.req['marke'] = '';
        }
        if(tmp_split_lines[6] != '0'){
            IBE_fewo.req['shotel'] = '';
        }
        if(tmp_split_lines[7] != '0'){
            IBE_fewo.req['preis'] = '';
        }
        if (setJSFiles == '1'){
            IBE_fewo.jsFiles = [];
        }
        else{
            IBE_fewo.jsFiles = jsFiles;
            setJSFiles = '1';
        }          
    }
    
}

// Default-Werte für Formularfelder
var showReiseziel = '0';
var showKategorie = '0';
var showVerpflegung = '0';
var showZimmer = '0';
var showMarke = '0';
var showShotel = '0';
var showPreis = '0';
var showThemen = '0';
var showHbw = '0';
var showPort;

//Dynamisches Einbinden der Daten
function initOnLoad(){
    for(var p=0;p<split_lines.length;p++){
        var tmp_split_lines = split_lines[p].split(",");
        var split_lines_type = tmp_split_lines[0].split("#");
         
        //654-Strecke?
        if(split_lines_type[0] == '654' && split_lines_type[0] == this.port){
            //Lami Pauschal?
            if (typeof(split_lines_type[1]) != 'undefined' && split_lines_type[1] == '1' && this.lineName == 'lamipa'){
                p = split_lines.length;
                showReiseziel = tmp_split_lines[1];
                showKategorie = tmp_split_lines[2];
                showVerpflegung = tmp_split_lines[3];
                showZimmer = tmp_split_lines[4];
                showMarke = tmp_split_lines[5];
                showShotel = tmp_split_lines[6];
                showPreis = tmp_split_lines[7];
                showThemen = tmp_split_lines[8];
                showHbw = tmp_split_lines[9];
            }
            else if (typeof(split_lines_type[1]) == 'undefined' && this.lineName == 'lami'){
                p = split_lines.length;
                showReiseziel = tmp_split_lines[1];
                showKategorie = tmp_split_lines[2];
                showVerpflegung = tmp_split_lines[3];
                showZimmer = tmp_split_lines[4];
                showMarke = tmp_split_lines[5];
                showShotel = tmp_split_lines[6];
                showPreis = tmp_split_lines[7];
                showThemen = tmp_split_lines[8];
                showHbw = tmp_split_lines[9];
            }
        }     
        else if (split_lines_type[0] != '654' && split_lines_type[0] == this.port){
            p = split_lines.length;
            showReiseziel = tmp_split_lines[1];
            showKategorie = tmp_split_lines[2];
            showVerpflegung = tmp_split_lines[3];
            showZimmer = tmp_split_lines[4];
            showMarke = tmp_split_lines[5];
            showShotel = tmp_split_lines[6];
            showPreis = tmp_split_lines[7];
            showThemen = tmp_split_lines[8]; 
            showHbw = tmp_split_lines[9];
        }
    }
    
    var mustHave  = ['DateHelperLoaded','termin_min_'+this.port,'termin_max_'+this.port,'Zeitraum','Terminauswahl','Reisende'];
    //KALENDER
    if(extCal==1){
        mustHave.push('Kalender');
    }
    if(this.port == 651 || this.port == 652 || this.port == 654){
        mustHave.push('TTAFH');
    }
    if (this.port != 652){
        mustHave.push('TTREGS_'+this.port);
    }
    if (this.port == 652){
        mustHave.push('TTFDRZ');
    }
    if (this.port != 652 && this.port != 653){
        mustHave.push('optDauer');
    }
    if (showMarke == '1'){
        mustHave.push('arrMarke_'+this.port);
    }
        
    var injObj    = {Zeitraum:[],Reisende:[this.req['personen']]};
    for(var i = 0; i < mustHave.length; i++){
        if(typeof(window[mustHave[i]])=='undefined'){                          
            
            if(this.port == 654){                 
                if (this.lineName == 'lami'){                     
                    window.setTimeout("IBE_lami.initOnLoad()",50);
                }
                else if (this.lineName == 'lamipa'){
                    window.setTimeout("IBE_lamipa.initOnLoad()",50);
                }
             }
             else if (this.port == 651){                
                window.setTimeout("IBE_pauschal.initOnLoad()",50);
             }
             else if (this.port == 652){                
                window.setTimeout("IBE_flug.initOnLoad()",50);
             }
             else if (this.port == 653){                
                window.setTimeout("IBE_erde.initOnLoad()",50);
             }
             else if (this.port == 655){                
                window.setTimeout("IBE_fewo.initOnLoad()",50);
             }
             return;
        }
    }
    this.inject(injObj); 
    this.init();
};

//Regionen ziehen
function RegGruppe(label,zk,fd,tr,port){
   this.label = label;
   this.zielgebiet = zk;
   this.ziel  = fd;
   this.topregion = tr;
   this.regionen  = [];

	for(var x=0;x<window["TTREGS_"+port].length;x++){
		var ttziel=window["TTREGS_"+port][x].split('|');
		if(ttziel[3]!=ttziel[2] && ttziel[2]==this.ziel)
    	this.regionen.push(window["TTREGS_"+port][x]);
    }
  this.regionen.sort();   
} 

//Daten aufbereiten
function fillSelFromArray(selname,arrdata){
  var sb = document.getElementsByName(selname)[0] || 0;
  if(!sb || sb.type!='select-one') return;
  var sel = this.req[selname]!='undefined'?this.req[selname]:'';
  for(var i=0;i<arrdata.length;i++){
    var lbl = arrdata[i].split(';')[0];
    var val = arrdata[i].split(';')[1];    
    sb.options[sb.options.length] = new Option(lbl,val);
    if(val==sel) sb.options[sb.options.length-1].selected=true;
  }
}

//Options Reiseziele füllen
function fillReiseziele(port){     
    var regSelect = document.getElementById('jsq_formula').regionen;
    //NurFlug Options
    if(port==652){
        for(t=0;t<window["TTFDRZ"].length;t++){
            var ttf = window["TTFDRZ"][t].split(';');
            regSelect.options[regSelect.options.length] = new Option(ttf[0],ttf[1]);
        }  
    //Sonstige Options
    }
    else
    {         
        //Aufteilung in Topregion und zugehörigen Regionen; langsamer
        if (showReiseziel == '1'){
            //Gibts Cache von RegGruppe?
            if (this.port == 654 && typeof(TTREGGROUPS_654) != 'undefined'){
                var TTREGGROUPS = TTREGGROUPS_654;            
            }
            else if (this.port == 651 && typeof(TTREGGROUPS_651) != 'undefined'){
                var TTREGGROUPS = TTREGGROUPS_651;
            }
            else if (this.port == 653 && typeof(TTREGGROUPS_653) != 'undefined'){
                var TTREGGROUPS = TTREGGROUPS_653;
            }
            else if (this.port == 655 && typeof(TTREGGROUPS_655) != 'undefined'){
                var TTREGGROUPS = TTREGGROUPS_655;
            }
            else
            {        
                var TTREGGROUPS = [];
            	for(var t=0;t<window["TTREGS_"+port].length;t++){
            		var ziel=window["TTREGS_"+port][t].split('|');
            
            		if(ziel[2]==ziel[3]){
            			TTREGGROUPS[TTREGGROUPS.length] = new RegGruppe(ziel[0],ziel[1],ziel[2],ziel[3],port);
                    }  
                }             
                //Array RegGruppe cachen
                if (this.port == 654){
                    var TTREGGROUPS_654 = TTREGGROUPS;                            
                }  
                else if (this.port == 651){
                    var TTREGGROUPS_651 = TTREGGROUPS;                            
                } 
                else if (this.port == 653){
                    var TTREGGROUPS_653 = TTREGGROUPS;                            
                } 
                else if (this.port == 655){
                    var TTREGGROUPS_655 = TTREGGROUPS;                            
                }     
            }              
        	
        	//Select-options bauen
            for(t=0;t<TTREGGROUPS.length;t++){
        		regSelect.options[regSelect.options.length] = new Option(TTREGGROUPS[t].label,TTREGGROUPS[t].zielgebiet+'|'+TTREGGROUPS[t].ziel+'|'+TTREGGROUPS[t].topregion);            	
                for(j=0;j<TTREGGROUPS[t].regionen.length;j++){
                    var ziel=TTREGGROUPS[t].regionen[j].split('|');
                    regSelect.options[regSelect.options.length] = new Option(String.fromCharCode(160,160,160)+ziel[0],ziel[1]+'|'+ziel[2]+'|'+ziel[3]);
                }                   
            }        
           
        }
        //nur Gruppen anzeigen
        else if (showReiseziel == '2'){
            //Gibts Cache von RegGruppe?
            if (this.port == 654 && typeof(TTGROUPSONLY_654) != 'undefined'){
                var TTGROUPSONLY = TTGROUPSONLY_654;            
            }
            else if (this.port == 651 && typeof(TTGROUPSONLY_651) != 'undefined'){
                var TTGROUPSONLY = TTGROUPSONLY_651;
            }
            else if (this.port == 653 && typeof(TTGROUPSONLY_653) != 'undefined'){
                var TTGROUPSONLY = TTGROUPSONLY_653;
            }
            else if (this.port == 655 && typeof(TTGROUPSONLY_655) != 'undefined'){
                var TTGROUPSONLY = TTGROUPSONLY_655;
            }
            else {
                var TTGROUPSONLY = [];
            	for(var t=0;t<window["TTREGS_"+port].length;t++){
            		var ziel=window["TTREGS_"+port][t].split('|');
            
            		if(ziel[2]==ziel[3]){
            			TTGROUPSONLY[TTGROUPSONLY.length] = new RegGruppe(ziel[0],ziel[1],ziel[2],ziel[3],port);
                    }  
                }
                //Array RegGruppe cachen
                if (this.port == 654){
                    var TTGROUPSONLY_654 = TTGROUPSONLY;                            
                }  
                else if (this.port == 651){
                    var TTGROUPSONLY_651 = TTGROUPSONLY;                            
                } 
                else if (this.port == 653){
                    var TTGROUPSONLY_653 = TTGROUPSONLY;                            
                } 
                else if (this.port == 655){
                    var TTGROUPSONLY_655 = TTGROUPSONLY;                            
                }
            }
            
            //Select-options bauen
            for(t=0;t<TTGROUPSONLY.length;t++){
        		regSelect.options[regSelect.options.length] = new Option(TTGROUPSONLY[t].label,TTGROUPSONLY[t].zielgebiet+'|'+TTGROUPSONLY[t].ziel+'|'+TTGROUPSONLY[t].topregion);
            }
            
        }
        //einfache alphab. Sortierung; schneller
        else 
        {
            for(var t=0;t<window["TTREGS_"+port].length;t++){
        		var ziel=window["TTREGS_"+port][t].split('|');    		
                regSelect.options[regSelect.options.length] = new Option(ziel[0],ziel[1]+'|'+ziel[2]+'|'+ziel[3]);              
            }      
        } 
    }	
};  
 
// Funktionen zuweisen
for(var p=0;p<split_lines.length;p++){
    var tmp_split_lines = split_lines[p].split(",");
    var split_lines_type = tmp_split_lines[0].split("#");
        
    if(split_lines_type[0] == '654'){
        if (typeof(split_lines_type[1]) != 'undefined' && split_lines_type[1] == '1'){
            IBE_lamipa.initOnLoad = initOnLoad;
            IBE_lamipa.fillSelFromArray = fillSelFromArray;
            IBE_lamipa.fillReiseziele = fillReiseziele;
        }
        else {
            IBE_lami.initOnLoad = initOnLoad;
            IBE_lami.fillSelFromArray = fillSelFromArray;
            IBE_lami.fillReiseziele = fillReiseziele;
        }         
    }
    if(split_lines_type[0] == '653'){
        IBE_erde.initOnLoad = initOnLoad;
        IBE_erde.fillSelFromArray = fillSelFromArray;
        IBE_erde.fillReiseziele = fillReiseziele;
    }
    if(split_lines_type[0] == '652'){
        IBE_flug.initOnLoad = initOnLoad;
        IBE_flug.fillSelFromArray = fillSelFromArray;
        IBE_flug.fillReiseziele = fillReiseziele;
    }
    if(split_lines_type[0] == '651'){
        IBE_pauschal.initOnLoad = initOnLoad;
        IBE_pauschal.fillSelFromArray = fillSelFromArray;
        IBE_pauschal.fillReiseziele = fillReiseziele;
    }
    if(split_lines_type[0] == '655'){
        IBE_fewo.initOnLoad = initOnLoad;
        IBE_fewo.fillSelFromArray = fillSelFromArray;
        IBE_fewo.fillReiseziele = fillReiseziele;
    }
}

//Initialisieren
function init(){
    if (typeof(FormBase) != 'undefined'){ 
        showPort = this.port;
        if(extCal != 1){
            this.monNames = ["Jan.","Feb.","M\xE4rz","April","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."];
        }
        FormBase.apply(this);
        Terminauswahl.apply(this);
        
        if (typeof(write_quickSearch) != 'undefined'){
            write_quickSearch(this.port, this.lineName, this.jumper);
        }
        else{
            window.setTimeout(this.name + ".init()",100);
        }
        
        with(this){ 
            
            //Vor-Selektierte Werte setzen 
            if (typeof(ttqfPreSelect) != 'undefined'){
                window.setTimeout("setPreSelects()",20);
            }
            
            if(this.port==653 || this.port==652){                 
                if(typeof(window["optDauer"+this.port])!='undefined'){
                    fillSelFromArray('dauer',window["optDauer"+this.port]);
                }
                else{
                    dauert();
                }
            }
            else {
                fillSelFromArray('dauer',optDauer);
            }
            fillSelFromArray('abflughafen',TTAFH);
            fillReiseziele(this.port);
            fillReisende(defPersOptTxt);
            if(showKategorie=='2'){
                setRadios(['kategorie']);
            }
            else if(showKategorie=='1'){
                fillSelFromArray('kategorie',optKategorie);
            } 
            if(showVerpflegung=='2'){
                setRadios(['verpflegung']);
            }
            else if(showVerpflegung=='1'){
                fillSelFromArray('verpflegung',optVerpflegung);
            }
            if(showZimmer=='2'){
                setRadios(['zimmer']);
            }
            else if(showZimmer=='1'){                
                if(this.port==655){
                    fillSelFromArray('zimmer',optZimmerFW);
                }
                else{
                    fillSelFromArray('zimmer',optZimmer);
                }
            }
            if(showMarke=='1'){
                fillSels({"marke":window["arrMarke_"+this.port]});
            }
            if(showShotel=='1'){
                setTexts(['shotel']);
            }
            if(showPreis=='1'){
                setTexts(['preis']);
            }
            if(showThemen=='1'){
                fillSels({"uthema":optThemes});
            }
            if(showHbw=='1'){ 
                if(typeof(optHbfges) != 'undefined') {
                    fillSels({"hbfges":optHbfges});    
                }
                if(typeof(optHbfanz) != 'undefined') {
                    fillSels({"hbfanz":optHbfanz});    
                }
                if(typeof(optHbfempf) != 'undefined') {
                    fillSels({"hbfempf":optHbfempf});    
                }                
            }
            /* --- klassische Kalender config --- */
            if (extCal != 1){
                InitDays(1);
                InitMonth(1);
                InitDays(0);
                InitMonth(0);
                UpdateDate('k');
                UpdateDate('rueckk'); 
            }
            /* ------------------------ */
            /* --- Layer-Kalender config --- */
            if (extCal == 1){                                 
                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', '-1', 1, 1); //'div-Name(nicht ändern!)', 'typ(hin/rück)', 'Ferien(-1=nein/all=alle Bundesländer), Anzahl sichtbarer Monate, Termin-Wahl-Art(1=klassisch,2=Zeitraum)'
                oKalRueck = new Kalender('oKalRueck', 'rueck', '-1', 1, 1);
                
                oKalHin.init();
                oKalRueck.init(); 
            }
            /* ------------------------ */      
        }     
    }
    else {
        window.setTimeout(this.name + ".init()",100);
    }
};

//Felder beim Wechsel leeren
function clearSelects(formular,arNamen){
  for(var i=0;i<arNamen.length;i++){
    var selname = arNamen[i];
    var sb = document.getElementById('jsq_formula')[selname] || 0;
   if(!sb || sb.type!='select-one') continue;
    var stop = selname=="regionen"?1:0;
   for(var j=sb.options.length;j>stop;j--){
        sb.options[j-1] = null;
   }    
  }
}

//Initialisierung der Daten
var setInitStat = '0';
for(var p=0;p<split_lines.length;p++){
    var tmp_split_lines = split_lines[p].split(",");
    var split_lines_type = tmp_split_lines[0].split("#");
        
    if(split_lines_type[0] == '654'){
        if (typeof(split_lines_type[1]) != 'undefined' && split_lines_type[1] == '1'){
            IBE_lamipa.init = init;
            IBE_lamipa.includeFiles();
            if (setInitStat == '0'){
                IBE_lamipa.initOnLoad();
                setInitStat = '1';
            }
        }
        else {
            IBE_lami.init = init;
            IBE_lami.includeFiles();
            if (setInitStat == '0'){
                IBE_lami.initOnLoad();
                setInitStat = '1';
            }
        }        
    }
    if(split_lines_type[0] == '653'){
        IBE_erde.init = init;
        IBE_erde.includeFiles();
        if (setInitStat == '0'){
            IBE_erde.initOnLoad();
            setInitStat = '1';
        }
    }
    if(split_lines_type[0] == '652'){
        IBE_flug.init = init;
        IBE_flug.includeFiles();
        if (setInitStat == '0'){
            IBE_flug.initOnLoad();
            setInitStat = '1';
        }
    }
    if(split_lines_type[0] == '651'){
        IBE_pauschal.init = init;
        IBE_pauschal.includeFiles();
        if (setInitStat == '0'){
            IBE_pauschal.initOnLoad();
            setInitStat = '1';
        }
    }
    if(split_lines_type[0] == '655'){
        IBE_fewo.init = init;
        IBE_fewo.includeFiles();
        if (setInitStat == '0'){
            IBE_fewo.initOnLoad();
            setInitStat = '1';
        }
    }
    
}

//Vor-Selektierte Werte setzen
function setPreSelects(){
    
    if (typeof(ttqfPreSelect) == 'object'){
        
        var bform = document.forms['bengine'];
        
        for(var p=0; p<ttqfPreSelect.length; p++){
            var psRow = ttqfPreSelect[p];
            psRow = psRow.replace(/\s/g, "");              
            var psPort = 0;
            var psLine = psRow.split('|')[0];
            var psField = psRow.split('|')[1];
            var psVal = psRow.split('|')[2];            
            
            if (typeof(psLine) == 'string' && (psLine=='651' ||  psLine=='652' ||  psLine=='653' ||  psLine=='654' ||  psLine=='655')){
                psPort = psLine;
            } 
            psField = psField.toLowerCase();    
            var psName = '';  
            switch (psField){
                case "topregion":
                    psName = "regionen";    
                break;
                case "personen":
                    psName = "erwachsene";    
                break;
            } 
            if (psName == ''){
                psName = psField;
            }       
            
            //### Übereinstimmung Preselect-Port und Formular-Port?
            if (psPort == showPort && psName != ''){                                   
                var elm = bform.elements[psName];
                
                //Existiert das Formular-Element?                
                if (typeof(elm) != 'undefined'){
                    //--- Select: Reiseziele
                    if (psName == 'regionen'){
                        //Nurflug?
                        if (showPort == 652){                            
                            for(t=0;t<window["TTFDRZ"].length;t++){
                                var zielArr = window["TTFDRZ"][t].split(';');
                                if (psVal == zielArr[1]){
                                    elm.value = zielArr[1];
                                    t=window["TTFDRZ"].length;
                                }                                 
                            }
                        }
                        else {                        
                            for(var t=0;t<window["TTREGS_"+showPort].length;t++){
                        		var zielArr = window["TTREGS_"+showPort][t].split('|');    		
                                if (psVal == zielArr[3]){
                                    elm.value = zielArr[1]+'|'+zielArr[2]+'|'+zielArr[3];
                                    t=window["TTREGS_"+showPort].length;
                                }            
                            }
                        }
                    } //if (psName == 'regionen')
                    //--- Select: Erwachsene
                    else if (psName == 'erwachsene'){
                        psVal = psVal.replace(/\s/g, "");
                        var arrPers = psVal.split(';');
                        var fErw = '';
                        var fK1 = '-1';
                        var fK2 = '-1';
                        var fK3 = '-1';
                        for(var t=0;t<arrPers.length;t++){
                            if (arrPers[t] != '' && arrPers[t] != 0){
                                if (arrPers[t] > 16){
                                    if (fErw != ''){
                                        fErw+= ';';
                                    }
                                    fErw+= '25';
                                }
                                else{
                                    if (fK1=='-1'){
                                        fK1 = arrPers[t];
                                    }
                                    else if (fK2=='-1'){
                                        fK2 = arrPers[t];
                                    }
                                    else if (fK3=='-1'){
                                        fK3 = arrPers[t];
                                    }
                                }
                            }                             
                        }
                        if (fErw != ''){
                            elm.value = fErw;
                            if (fK1!='-1'){
                                bform.elements['alter1'].value = fK1;
                            }
                            if (fK2!='-1'){
                                bform.elements['alter2'].value = fK2;
                            }
                            if (fK3!='-1'){
                                bform.elements['alter3'].value = fK3;
                            }
                        }                        
                    } //else if (psName == 'erwachsene')                     
                    //--- Sonstige
                    else {
                        elm.value = psVal;
                    }  
                } //if (typeof(elm) != 'undefined')
                
            }//if (psPort == showPort && psField != '')
           
        }
        
    }
    
}

//Formular-Werte setzen
function generateFormValues(bform, formType) {            
    var detail = "";
    if(formType == 'line') {
        detail = "zielgebiet";    
    }    
    //Hin- u. Rücktermin
    var termin = '';
    var ruecktermin = '';
    var vHin = '';
    var vRueck = '';
    var aTermin;
    //Wenn Layer-Kalender:
    if (extCal == 1){
        if (bform.oKalHin_input && bform.oKalRueck_input) {
            vHin = bform.oKalHin_input.value;
            vRueck = bform.oKalRueck_input.value;
        }
        if (vHin != '' && vRueck != '') {
            aTermin = vHin.split('.');
            termin = aTermin[1].substring(1) + '.' + aTermin[2] + '.' + aTermin[3];
            aTermin = vRueck.split('.');
            ruecktermin = aTermin[1].substring(1) + '.' + aTermin[2] + '.' + aTermin[3];
        }
    }
    else{
        if (typeof(bform.kmonat) != 'undefined' && typeof(bform.ktag) != 'undefined'){
            termin = bform.ktag.value+"."+bform.kmonat.value;
        }
        if (typeof(bform.rueckktag) != 'undefined' && typeof(bform.rueckkmonat) != 'undefined'){
            ruecktermin = bform.rueckktag.value+"."+bform.rueckkmonat.value;
        }
    }    
    //Reisedauer
    var dauer = '';    
    if (typeof(bform.dauer) != 'undefined' && bform.dauer.value != '-1'){
        dauer = bform.dauer.value;
    }    
    //Abflughafen
    var abflughafen = '';    
    if (typeof(bform.abflughafen) != 'undefined' && bform.abflughafen.value != '-1'){
        abflughafen = bform.abflughafen.value;
    }    
    //Thema
    var thema = '';    
    if (typeof(bform.uthema) != 'undefined' && bform.uthema.value != '0'){
        thema = bform.uthema.value;
    }    
    //Hotelkategorie
    var kategorie = '';    
    if (typeof(bform.kategorie) != 'undefined'){
        if(showKategorie == '1'){
            kategorie = bform.kategorie.value;
        }
        else if(showKategorie == '2'){
            for(var m=0;m<bform.kategorie.length;m++){
                if(bform.kategorie[m].checked == true){
                    kategorie = bform.kategorie[m].value;
                }
            }
        }
    }    
    //Verpflegung
    var verpflegung = '';    
    if (typeof(bform.verpflegung) != 'undefined'){
        if(showVerpflegung == '1'){
            verpflegung = bform.verpflegung.value;
        }
        else if(showVerpflegung == '2'){
            for(var m=0;m<bform.verpflegung.length;m++){
                if(bform.verpflegung[m].checked == true){
                    verpflegung = bform.verpflegung[m].value;
                }
            }
        }
    }    
    //Zimmertyp
    var zimmer = '';    
    if (typeof(bform.zimmer) != 'undefined'){
        if(showZimmer == '1'){
            zimmer = bform.zimmer.value;
        }
        else if(showZimmer == '2'){
            for(var m=0;m<bform.zimmer.length;m++){
                if(bform.zimmer[m].checked == true){
                    zimmer = bform.zimmer[m].value;
                }
            }
        }
    }    
    //Veranstalter
    var marke = '';    
    if (typeof(bform.marke) != 'undefined'){
        marke = bform.marke.value;
    }    
    //Suche Hotelnamen
    var shotel = '';    
    if (typeof(bform.shotel) != 'undefined'){
        shotel = bform.shotel.value;
    }    
    //Preis
    var preis = '';    
    if (typeof(bform.preis) != 'undefined'){
        preis = bform.preis.value;
    }    
    //Topregion/Flugdauer
    var topRegion = "";
    var flugdauer = "";  
    if (typeof(bform.regionen) != 'undefined' && bform.regionen.value != '-1'){
        var arrReg = bform.regionen.value.split("|");
        //Ausnahme Flug, weil array TTFDRZ
        if (jsq_jump == 'IBE_flug'){
            flugdauer = arrReg[0];
        }
        else{
            if(formType == 'line') {
                flugdauer = arrReg[1];    
            } else {
                topRegion = arrReg[1];    
            }                        
            if (arrReg[2] != arrReg[1]){
                topRegion = arrReg[2];
                if(formType == 'line') {
                    detail = "hotel";    
                }                
            }
        }
    }
    //Personen
    var personen='25;25';
    if (jsq_jump == 'IBE_fewo'){
        personen='25;25;25;25';
    }
    if (typeof(bform.erwachsene) != 'undefined'){
        var anzErw = bform.erwachsene.value;
        personen=anzErw;
        var alterkinder = "";
        if (typeof(bform.alter1) != 'undefined'){
            for(ki=1;ki<=3;ki++){
              if(bform["alter"+ki] && bform["alter"+ki].value!="-1")
                alterkinder += bform["alter"+ki].value+";";
            }
            if (alterkinder != ""){
                personen = personen + ";" + alterkinder;
            }
        }
    }
    //Hotelbewertung   
    var hbfges = ''; 
    var hbfanz = '';
    var hbfempf = '';
    if(showHbw=='1'){                
        if (typeof(bform.hbfges) != 'undefined'){
            hbfges = bform.hbfges.value;
        }       
        if (typeof(bform.hbfanz) != 'undefined'){
            hbfanz = bform.hbfanz.value;
        }       
        if (typeof(bform.hbfempf) != 'undefined'){
            hbfempf = bform.hbfempf.value;
        }         
    }
    //Meerblick
    var meer = '';    
    if (typeof(bform.meer) != 'undefined' && bform.meer.checked == true){
        meer = bform.meer.value;
    }
    //Strandlage
    var strand = '';    
    if (typeof(bform.strand) != 'undefined' && bform.strand.checked == true){
        strand = bform.strand.value;
    }
    //Frühbucher
    var fruehb = '';
    var req_fruehb = ''
    if (typeof(bform.fruehb) != 'undefined' && bform.fruehb.checked == true){
        fruehb = bform.fruehb.value;
    }
    
    var formValues = {
        "val_termin": termin,
        "val_ruecktermin":ruecktermin,
        "val_dauer":dauer,
        "val_abflughafen":abflughafen,
        "val_thema":thema,
        "val_kategorie":kategorie,
        "val_verpflegung":verpflegung,
        "val_zimmer":zimmer,
        "val_marke":marke,
        "val_shotel":shotel,
        "val_preis":preis,
        "val_topRegion":topRegion,
        "val_flugdauer":flugdauer,
        "val_detail":detail,
        "val_personen":personen,
        "val_hbfges":hbfges,
        "val_hbfanz":hbfanz,
        "val_hbfempf":hbfempf,
        "val_meer":meer,
        "val_strand":strand,
        "val_fruehb":fruehb
    };
    
    return formValues;    
}
  
/*-------------------------------------------------------------------------------
___EOF________________________________________________________________________*/
