var monNames = new Array("Jan.","Feb.","M\xE4rz","April","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez.");
function twoDigit(val){
return parseInt(val,10)<10?"0"+parseInt(val,10):parseInt(val,10);
}
Date.prototype.addMonth=function(month){
if(typeof(month)=='undefined') month=1;
month = parseInt(month);
var years=Math.floor(month/12);
this.addYear(years);
month = month%12;
if((this.getMonth()+month)>11){
this.addYear();
this.setMonth((this.getMonth()+month)%12);
}else{
this.setMonth(this.getMonth()+month);
}
}
Date.prototype.addYear=function(years){
if(typeof(years)=='undefined') years=1;
years = parseInt(years);
var aktYear = this.getFullYear();
this.setYear(aktYear+years);
return this;
};
Date.prototype.addDay=function(days){
if(typeof(days)=='undefined') days=1;
days = parseInt(days);
var aktTs = this.getTime();
var addTs = days*86400000;
this.setTime(aktTs+addTs);
return this;
};
Date.prototype.resetTime = function(){
this.setHours(0,0,0,0);
return this;
};
Date.prototype.getWeek = function(){
var dt      = new Date(this.getTime());
var aktDay  = dt.getDay();
if(aktDay==0)
dt.addDay(-6);
else
dt.addDay(1-aktDay);
var aktYear = dt.getFullYear();
var tmpDt   = new Date(dt.getTime());
tmpDt.addDay(6);
if(tmpDt.getFullYear()>aktYear && tmpDt.getDate()>=4)
return 1;
var dtFirst = new Date(aktYear,0,1);
var dFirst  = dtFirst.getDay();
if(dFirst<=4)
dtFirst.addDay(1-dFirst);
else
dtFirst.addDay(8-dFirst);
return 1+parseInt((dt.getTime()-dtFirst.getTime())/(86400000*7),10);
}
function getTimestampFromString(sTermin){
var day   = 0;
var month = 0;
var year  = 0;
if(sTermin.search(/(Mo|Di|Mi|Do|Fr|Sa|So)\. (\d{2})\.(\d{2})\.(\d{4})/i)!=-1){
day   = parseInt(RegExp.$2, 10);
month = parseInt(RegExp.$3, 10);
year  = parseInt(RegExp.$4, 10);
}else if(sTermin.search(/(\d{2})[\.\/]?(\d{2})[\.\/]?(\d{4})/)!=-1){
day   = parseInt(RegExp.$1, 10);
month = parseInt(RegExp.$2, 10);
year  = parseInt(RegExp.$3, 10);
}else if(sTermin.search(/(\d{2})[\.\/]?(\d{2})[\.\/]?(\d{2})/)!=-1){
day   = parseInt(RegExp.$1, 10);
month = parseInt(RegExp.$2, 10);
year  = parseInt(RegExp.$3, 10);
year = year>20?(1900+year):(2000+year);
}
if (day >= 1 && day <= 31 && month >= 1 && month <= 12 && year >= 1920 && year < 2020) {
var dt = new Date(year,month-1,day,12,0,0);
} else {
var dt = new Date();
dt.setHours(12,0,0,0);
}
return dt.getTime();
}
var DateHelperLoaded = true;function twoDigit(val){
return parseInt(val,10)<10?"0"+parseInt(val,10):parseInt(val,10);
}
function TTIBE(name,port,formname){
this.name     = typeof(name)!='undefined'?name:"IBE";
this.port     = typeof(port)!='undefined'?port:654;
this.formname = typeof(formname)!='undefined'?formname:"bengine";
}
TTIBE.prototype = {
extend: function(dest,src){
for(attr in src) dest[attr]=src[attr];
return dest;
},
include: function(tag,pfad){
var attrs = {
link:   {rel:"stylesheet",type:"text/css",href:pfad},
script: {type:"text/javascript",src:pfad}
};
document.getElementsByTagName("head")[0].appendChild(
this.extend(document.createElement(tag),attrs[tag])
);
},
includeFiles: function(){
for(var i=0;i<window["cacheFiles_"+this.port].length;++i){
if(this.req['nurflug']=='1' && (window["cacheFiles_"+this.port][i].search(/regionen.*/)!=-1)) continue;
else if(this.req['engine']=='erde' && this.req['formular']=='2' && (window["cacheFiles_"+this.port][i].search(/regionen.*/)!=-1)) continue;
this.include("script",cacheurl+"booking/cache/"+KID+"/"+this.port+"/"+window["cacheFiles_"+this.port][i]);
}
for(var i=0;i<this.jsFiles.length;++i) this.include("script",this.jsFiles[i]);
},
inject: function(obj){
for(var ClassName in obj){
try{
window[ClassName].apply(this,obj[ClassName]);
}catch(e){
var strError = ClassName+" - type: "+typeof(window[ClassName])+"\n";
strError += "typeof Args = "+typeof(obj[ClassName])+"\n";
for(i=0;i<obj[ClassName].length;i++){
strError += "arg["+i+"]="+obj[ClassName][i]+", type="+typeof(obj[ClassName][i])+"\n\n";
}
for(var i in e){
if(i=='number'){
strError += "number: "+(e[i] & 0xFFFF)+"\n";
}else{
strError += i+": "+e[i]+"\n";
}
}
alert("Beim Laden der Seite ist ein Fehler aufgetreten ('"+ClassName+"')\n\nBitte laden Sie die Seite neu.");
}
}
},
writeHF: function(){
for(hfname in this.hidf){
document.write('<input type="hidden" name="'+hfname+'" value="'+this.hidf[hfname]+'">'+"\n");
}
}
};function Reisende(strPersonen){
this.Personen = strPersonen;
this.AnzErwachsene = 0;
this.AnzKinder = 0;
this.AlterErwachsene = [];
this.AlterKinder = [];
this.updateFromPersonen = function(){
this.AnzErwachsene = 0;
this.AnzKinder = 0;
this.AlterErwachsene = [];
this.AlterKinder = [];
var arrTmp = this.Personen.split(";");
for(var i=0;i<arrTmp.length;++i){
if(arrTmp[i]=="" ||  parseInt(arrTmp[i],10)<=0)
continue;
var aktAlter = parseInt(arrTmp[i],10);
if(aktAlter<=16){
this.AnzKinder++;
this.AlterKinder.push(Number(aktAlter));
}else{
this.AnzErwachsene++;
this.AlterErwachsene.push(aktAlter);
}
}
this.AlterKinder.sort(Numsort);
this.updateToPersonen();
};
this.updateToPersonen = function(){
this.Personen = "";
for(var i=0;i<this.AlterErwachsene.length;++i)
this.Personen += this.AlterErwachsene[i]+";";
for(var i=0;i<this.AlterKinder.length;++i)
this.Personen += this.AlterKinder[i]+";";
if(this.Personen!="")
this.Personen = this.Personen.substr(0,this.Personen.length-1);
};
this.getPersonenFromForm = function(){
var fKind = ['alter1', 'alter2','alter3'];
var bform = document.forms[this.formname];
var strPers = bform.erwachsene.value+";";
for(var i=0;i<fKind.length;++i){
if(bform[fKind[i]] && bform[fKind[i]].value!='-1')
strPers+=bform[fKind[i]].value+";";
}
this.Personen = strPers.substr(0,strPers.length-2);
this.updateFromPersonen();
};
this.updateFromPersonen();
}
function Numsort (a, b) {
return b - a;
}
function Zeitraum(){
var today = (new Date()).resetTime();
this.termin_min = window["termin_min_"+this.port] || '';
this.termin_max = window["termin_max_"+this.port] || '';
if(this.termin_min==''){
this.termin_min = ((new Date()).resetTime().getTime()/1000);
if(this.req['engine']=="pauschal")
this.termin_max = (new Date()).addDay(180).resetTime().getTime()/1000;
else
this.termin_max = (new Date()).addDay(24).resetTime().getTime()/1000;
}
if(typeof(this.req['min_termin_kunde'])!='undefined' && this.req['min_termin_kunde']!=''){    
this.termin_min = this.termin_min + (86400 * parseInt(this.req['min_termin_kunde'],10));    
}
if((today.getTime()/1000)>this.termin_min)
this.termin_min = parseInt(today.getTime()/1000);
if(this.req['termin']=='') {
if(this.req['engine']=='pauschal')
this.req['termin']=(new Date(this.termin_min*1000)).addDay(44).getTime()/1000;
else
this.req['termin']=this.termin_min;
}else if(String(this.req['termin']).search(/\./)!=-1){
var tlist = this.req['termin'].split('.');
this.req['termin'] = (new Date(tlist[2],parseInt(tlist[1],10)-1,parseInt(tlist[0],10))).getTime()/1000;
}
if(this.req['termin']<this.termin_min){
this.req['termin']=this.termin_min;
}
var termin_min2    = new Date(this.termin_min*1000);
this.erster_termin =twoDigit(termin_min2.getDate())+"."+twoDigit(termin_min2.getMonth()+1)+"."+termin_min2.getFullYear();
var termin2        = new Date(this.req['termin']*1000);
this.termin_hin    = twoDigit(termin2.getDate())+"."+twoDigit(termin2.getMonth()+1)+"."+termin2.getFullYear();
if(this.req['ruecktermin']==''){
if(this.req['engine']=='pauschal'){
this.req['ruecktermin']=parseInt(this.termin_min) + (86400 * 65);
}else{
this.req['ruecktermin']=parseInt((new Date()).addDay(24).getTime()/1000);
}
if(this.req['ruecktermin']<=this.req['termin']){
this.req['ruecktermin']= parseInt(this.req['termin']) + (86400*21);
}
if(this.req['ruecktermin']>this.termin_max) {
this.req['ruecktermin']=this.termin_max;
}
}else if(String(this.req['ruecktermin']).search(/\./)!=-1){
var tlist = this.req['ruecktermin'].split('.');
this.req['ruecktermin'] = (new Date(tlist[2],parseInt(tlist[1],10)-1,parseInt(tlist[0],10))).getTime()/1000;
}
else if(String(this.req['ruecktermin']).search(/_/)!=-1)
{
var tlist = this.req['ruecktermin'].split('_'); 
if(this.req['termin'] >= (today.getTime()/1000)) {
this.req['ruecktermin'] = this.req['termin'] + tlist[0]*86400;     
} else {
this.req['ruecktermin'] = (today.getTime()/1000)+tlist[0]*86400;    
}   
}
else if (this.req['ruecktermin']=="-1"){
this.req['ruecktermin']=this.termin_max;
}
var termin_max2 = (new Date(this.termin_max*1000)).addDay(-14).resetTime();
this.letzter_termin_hin=twoDigit(termin_max2.getDate())+"."+twoDigit(termin_max2.getMonth()+1)+"."+termin_max2.getFullYear();
this.letzter_termin_hin_stamp=termin_max2.getTime()/1000;
termin_max2 = (new Date(this.termin_max*1000)).addDay().resetTime();
this.letzter_termin_rueck = twoDigit(termin_max2.getDate())+"."+twoDigit(termin_max2.getMonth()+1)+"."+termin_max2.getFullYear();
this.letzter_termin=this.letzter_termin_rueck;
this.letzter_termin_rueck_stamp= termin_max2.getTime()/1000;
termin_max2 = (new Date(this.req['ruecktermin']*1000)).resetTime();
this.termin_rueck=twoDigit(termin_max2.getDate())+"."+twoDigit(termin_max2.getMonth()+1)+"."+termin_max2.getFullYear();
}function FormBase(){
this.fillSelFromArray = function(selname,arrdata){
var sb = document.forms[this.formname].elements[selname] || 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;
}
};
this.fillSelFromArrayStyled = function(selname, arrdata) {
var sb = document.forms[this.formname].elements[selname] || 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 arrTmp = arrdata[i].split(';');
var lbl   = arrTmp[0];
var val   = arrTmp[1];
var cName = arrTmp[2] || '';
sb.options[sb.options.length] = new Option(lbl, val);
if (val == sel) sb.options[sb.options.length-1].selected = true;
if (cName != '') sb.options[sb.options.length-1].className = cName;
}
};
this.fillSels = function(boxobject) {
for(var boxname in boxobject) {
this.fillSelFromArray(boxname,boxobject[boxname]);
}
};
this.fillSelWithOptGroups = function(selname,boxobject) {
var sb = document.forms[this.formname].elements[selname] || 0;
if (!sb || sb.type != 'select-one') return;
var sel = this.req[selname] != 'undefined' ? this.req[selname] : '';
for (var boxname in boxobject) {
if (typeof boxobject[boxname] === 'object' && boxobject[boxname] && boxobject[boxname] instanceof Array) {
var optGroup = document.createElement('optgroup');
optGroup.label = boxname;
for (var i = 0; i < boxobject[boxname].length; i++) {
var arrTmp    = boxobject[boxname][i].split(';');
var objOption = document.createElement('option');
objOption.innerHTML = arrTmp[0];
objOption.value     = arrTmp[1];
if (typeof arrTmp[2] != 'undefined' && arrTmp[2] != '')  objOption.className = arrTmp[2];
if (arrTmp[1] == sel) objOption.selected  = true;
optGroup.appendChild(objOption);
}
sb.appendChild(optGroup);
} else if (typeof boxobject[boxname] === 'string') {
var arrTmp    = boxobject[boxname].split(';');
var objOption = document.createElement('option');
objOption.innerHTML = arrTmp[0];
objOption.value     = arrTmp[1];
if (typeof arrTmp[2] != 'undefined' && arrTmp[2] != '')  objOption.className = arrTmp[2];
if (arrTmp[1] == sel) objOption.selected  = true;
sb.appendChild(objOption);
}
}
}
this.fillBitSels = function(boxobject) {
for(var boxname in boxobject) {
var sb = document.forms[this.formname].elements[boxname] || 0;
if(!sb || sb.type!='select-one') continue;
var arrdata = boxobject[boxname];
var sel = this.req[boxname]!='undefined'?parseInt(this.req[boxname]):0;
sel = sel<0?0:sel;
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((parseInt(val,10)&sel)!=0){
sb.options[sb.options.length-1].selected=true;
}
}
}
};
this.setRadios = function(rnames){
for(var i=0;i<rnames.length;++i){
var rb = document.forms[this.formname].elements[rnames[i]] || 0;
if(!rb) continue;
var val = this.req[rnames[i]]!='undefined'?this.req[rnames[i]]:'';
for(var j=0;j<rb.length;j++)
if(rb[j].value==val) rb[j].checked=true;
}
};
this.setChecks = function(cknames){
for(var i=0;i<cknames.length;++i){
var cb = document.forms[this.formname].elements[cknames[i]] || 0;
if(!cb) continue;
var val = typeof(this.req[cknames[i]])!='undefined'?this.req[cknames[i]]:'';
if(cb && cb.value==val) cb.checked=true;
}
};
this.setBitChecks = function(cknames){
for(var i=0;i<cknames.length;++i){
var cb = document.forms[this.formname].elements[cknames[i]] || 0;
if(!cb) continue;
var val = typeof(this.req[cknames[i]])!='undefined'?parseInt(this.req[cknames[i]],10):0;
val = val<0?0:val;
if(cb && (parseInt(cb.value,10)&val)!=0) cb.checked=true;
}
};
this.setBitChecksGroups = function(cknames){
for(var i=0;i<cknames.length;++i){
cba = document.getElementsByName(cknames[i]);
for(var j=0;j<cba.length;++j){
var cb = cba[j];
if(!cb) continue;
var val = typeof(this.req[cknames[i]])!='undefined'?parseInt(this.req[cknames[i]],10):0;
val = val<0?0:val;
if(cb && (parseInt(cb.value,10)&val)!=0) cb.checked=true;
}
}
};
this.setTexts = function(txtnames){
for(var i=0;i<txtnames.length;++i){
var tb = document.forms[this.formname].elements[txtnames[i]] || 0;
if(!tb) continue;
var val = typeof(this.req[txtnames[i]])!='undefined'?this.req[txtnames[i]]:'';
if(tb) tb.value=val;
}
};
this.CRad = function(val){
if(val==1) document.forms[this.formname].zimmer[6].checked=true;
else document.forms[this.formname].zimmer2.selectedIndex=0;
};
this.fillReisende = function(optUsrPersLbl){
var defPersLbl = {
erw:["Erwachsener","Erwachsene"],  // "normal"
erw_short:["Erw.","Erw."],         // Formular 2 / Nur Flug
pers:["Person","Personen"],        // Fewo
kinder:["Jah.","Jahre"]
};
if (typeof stringRessources != 'undefined' && typeof stringRessources.common != 'undefined') {
if (typeof stringRessources.common.sadult == 'undefined') {
defPersLbl.erw[0]       = stringRessources.common.sadult;
}
if (typeof stringRessources.common.sadults == 'undefined') {
defPersLbl.erw[1]       = stringRessources.common.sadults;
}
if (typeof stringRessources.common.sadultAbbr == 'undefined') {
defPersLbl.erw_short[0] = stringRessources.common.sadultAbbr;
defPersLbl.erw_short[1] = stringRessources.common.sadultAbbr;
}
if (typeof stringRessources.common.sperson == 'undefined') {
defPersLbl.pers[0]      = stringRessources.common.sperson;
}
if (typeof stringRessources.common.spersons == 'undefined') {
defPersLbl.pers[1]      = stringRessources.common.spersons;
}
if (typeof stringRessources.common.sy == 'undefined') {
defPersLbl.kinder[0]    = stringRessources.common.sy;
}
if (typeof stringRessources.common.syears == 'undefined') {
defPersLbl.kinder[1]    = stringRessources.common.syears;
}
}
var optPersLbl= optUsrPersLbl || defPersLbl;
var strPers = this.Personen;
var bform = document.forms[this.formname];
var elems = ['alter1', 'alter2','alter3'];
var erwSel = bform.erwachsene;
var strErw = "25";
var erwMax = this.req['engine']=='fewo'?8:4;
if (typeof(bform.erwachsene) != 'undefined'){
for(var i=1;i<=erwMax;i++){
if(this.req['engine']=='fewo')
var lbl = i==1?optPersLbl['pers'][0]:optPersLbl['pers'][1];
else if(this.req['formular']=='2' || this.req['formular']=='3' ||
typeof(window['SucheERDEKlein'])!='undefined' ||
typeof(window['SucheLMPSKlein'])!='undefined')
var lbl = i==1?optPersLbl['erw_short'][0]:optPersLbl['erw_short'][1];
else
var lbl = i==1?optPersLbl['erw'][0]:optPersLbl['erw'][1];
erwSel.options[erwSel.options.length] = new Option(i+" "+lbl,strErw);
strErw += ";25";
}
erwSel.options.selectedIndex = this.AnzErwachsene-1;
for(var i=0;i<elems.length;++i){
if(bform[elems[i]]){
bform[elems[i]].options[0] = new Option(" --- ","-1");
bform[elems[i]].options[1] = new Option("< 2 "+optPersLbl['kinder'][0],"1");
for(var j=2;j<=16;j++)
bform[elems[i]].options[j] = new Option(j+" "+optPersLbl['kinder'][1],j);
if(this.AlterKinder[i] && this.AlterKinder[i]!="-1")
bform[elems[i]].value=this.AlterKinder[i];
}
}
}
};
this.dauert = function(){
var sRCsany  = 'beliebig';
var sRCsday  = 'Tag';
var sRCsdays = 'Tage';
if (typeof stringRessources != 'undefined' && typeof stringRessources.common != 'undefined') {
if (typeof stringRessources.common.sany != 'undefined') {
sRCsany = stringRessources.common.sany;
}
if (typeof stringRessources.common.sday != 'undefined') {
sRCsday = stringRessources.common.sday;
}
if (typeof stringRessources.common.sdays != 'undefined') {
sRCsdays = stringRessources.common.sdays;
}
}
var sb = document.getElementsByName('dauer')[0] || 0;
if(!sb || sb.type!='select-one') return;
sb.options[sb.options.length] = new Option(sRCsany,"-1");
sb.options[sb.options.length] = new Option("1 " + sRCsday,"6_1");
for(i=2;i<=21;i++){
sb.options[sb.options.length] = new Option(i + " " + sRCsdays,"6_"+i);
}
sb.options[sb.options.length] = new Option("> 22 " + sRCsdays,"13");
try{
if(this.req['dauer']!='' && this.req['dauer']!='-1')
sb.value=this.req['dauer'];
}catch(e){}
};
this.setFormsForLcfilter = function (nameValueObj) {
if (typeof nameValueObj == 'undefined') {
alert('keine Definition für lcfilter Formularfelder vorgegeben - Bitte optLcfilter definieren!');
return;
}
var withoutTransfer = '-1';
var withRentalCar   = '-1';
if (typeof this.req['lcfilter'] != undefined) {
var lcFilter = this.req['lcfilter'];
if (lcFilter.search(';') == -1) {
if (lcFilter != '') {
if (lcFilter & 512) {
withoutTransfer = '1';
lcFilter = parseInt(lcFilter);
lcFilter |= 512;
}
if (lcFilter & 1) {
withRentalCar = '1';
lcFilter = parseInt(lcFilter);
lcFilter |= 1;
}                    
this.req['lcfilter'] = lcFilter + ';' + lcFilter;
}
} else {
var lcFilterArr = lcFilter.split(';');
lcFilterArr[0] = parseInt(lcFilterArr[0]);
lcFilterArr[1] = parseInt(lcFilterArr[1]);
if (lcFilterArr[0] & 512 && lcFilterArr[1] & 512) {
withoutTransfer = '1';
} else if (lcFilterArr[0] & 512 && lcFilterArr[1] ^ 512) {
withoutTransfer = '0';
}
if (lcFilterArr[0] & 1 && lcFilterArr[1] & 1) {
withRentalCar = '1';
} else if (lcFilterArr[0] & 1 && lcFilterArr[1] ^ 1) {
withRentalCar = '0';
}
}
var bForm                = document.bengine;
var bFormWithoutTransfer = bForm.lcfilterWithoutTransfer;
var bFormWithRentalCar   = bForm.lcfilterWithRentalCar;
if (typeof bFormWithoutTransfer != 'undefined' && bFormWithoutTransfer.type == 'select-one') {
for (var i = 0; i < nameValueObj.withoutTransfer.length; i++) {
bFormWithoutTransfer.options[i] = new Option(nameValueObj.withoutTransfer[i].name, nameValueObj.withoutTransfer[i].value, true, ((withoutTransfer == nameValueObj.withoutTransfer[i].value) ? true : false));
}
}
if (typeof bFormWithRentalCar != 'undefined' && bFormWithRentalCar.type == 'select-one') {
for (var i = 0; i < nameValueObj.withRentalCar.length; i++) {
bFormWithRentalCar.options[i] = new Option(nameValueObj.withRentalCar[i].name, nameValueObj.withRentalCar[i].value, true, ((withRentalCar == nameValueObj.withRentalCar[i].value) ? true : false));
}
}
if (typeof bFormWithoutTransfer != 'undefined' && bFormWithoutTransfer.length > 1 && bFormWithoutTransfer[0].type == 'radio') {
for (var i = 0; i < bFormWithoutTransfer.length; i++) {
if (bFormWithoutTransfer[i].value == withoutTransfer) {
bFormWithoutTransfer[i].checked = true;
break;
}
}
}
if (typeof bFormWithRentalCar != 'undefined' && bFormWithRentalCar.length > 0 && bFormWithRentalCar[0].type == 'radio') {
for (var i = 0; i < bFormWithRentalCar.length; i++) {
if (bFormWithRentalCar[i].value == withRentalCar) {
bFormWithRentalCar[i].checked = true;
break;
}
}
}            
if (typeof bFormWithoutTransfer != 'undefined' && bFormWithoutTransfer.type == 'select-one') {
if (typeof window.attachEvent != 'undefined') {
bFormWithoutTransfer.attachEvent('onchange', IBE.setLcfilterHiddenFieldForSearch);
} else {
bFormWithoutTransfer.setAttribute('onchange', 'IBE.setLcfilterHiddenFieldForSearch();');
}
}
if (typeof bFormWithRentalCar != 'undefined' && bFormWithRentalCar.type == 'select-one') {
if (typeof window.attachEvent != 'undefined') {
bFormWithRentalCar.attachEvent('onchange', IBE.setLcfilterHiddenFieldForSearch);
} else {
bFormWithRentalCar.setAttribute('onchange', 'IBE.setLcfilterHiddenFieldForSearch();');
}
}
if (typeof bFormWithoutTransfer != 'undefined' && bFormWithoutTransfer.length > 1 && bFormWithoutTransfer[0].type == 'radio') {
for (var i = 0; i < bFormWithoutTransfer.length; i++) {
if (typeof window.attachEvent != 'undefined') {
bFormWithoutTransfer[i].attachEvent('onclick', IBE.setLcfilterHiddenFieldForSearch);
} else {
bFormWithoutTransfer[i].setAttribute('onclick', 'IBE.setLcfilterHiddenFieldForSearch();');
}
}
}
if (typeof bFormWithRentalCar != 'undefined' && bFormWithRentalCar.length > 0 && bFormWithRentalCar[0].type == 'radio') {
for (var i = 0; i < bFormWithRentalCar.length; i++) {
if (typeof window.attachEvent != 'undefined') {
bFormWithRentalCar[i].attachEvent('onclick', IBE.setLcfilterHiddenFieldForSearch);
} else {
bFormWithRentalCar[i].setAttribute('onclick', 'IBE.setLcfilterHiddenFieldForSearch();');
}
}
}
} else {
alert ('lcfilter nicht in IBE.req[] gesetzt.');
}
};
this.setLcfilterHiddenFieldForSearch = function () {
var bForm                = document.bengine;
var bFormWithoutTransfer = bForm.lcfilterWithoutTransfer;
var bFormWithRentalCar   = bForm.lcfilterWithRentalCar;
var aLcfilter            = new Array();
var withoutTransferValue = '';
var withRentalCarValue   = '';
if (IBE.req['lcfilter'] != '') {
aLcfilter = IBE.req['lcfilter'].split(';');
}
if (typeof bFormWithoutTransfer != "undefined") {
if (typeof bFormWithoutTransfer != "undefined" && bFormWithoutTransfer.type == "select-one") {
withoutTransferValue = bFormWithoutTransfer.value;
}
if (typeof bFormWithoutTransfer != "undefined" && bFormWithoutTransfer.length > 1 && bFormWithoutTransfer[0].type == "radio") {
for (var i = 0; i < bFormWithoutTransfer.length; i++) {
if (bFormWithoutTransfer[i].checked == true) {
withoutTransferValue = bFormWithoutTransfer[i].value;
break;
}
}
}
}
if (typeof bFormWithRentalCar != "undefined") {
if (typeof bFormWithRentalCar != "undefined" && bFormWithRentalCar.type == "select-one") {
withRentalCarValue = bFormWithRentalCar.value;
}
if (typeof bFormWithRentalCar != "undefined" && bFormWithRentalCar.length > 0 && bFormWithRentalCar[0].type == "radio") {
for (var i = 0; i < bFormWithRentalCar.length; i++) {
if (bFormWithRentalCar[i].checked == true) {
withRentalCarValue = bFormWithRentalCar[i].value;
break;
}
}
}
}
if (typeof bFormWithoutTransfer != "undefined") {
aLcfilter[0] &= ~512;
aLcfilter[1] &= ~512;
}
if (typeof bFormWithRentalCar != "undefined") {
aLcfilter[0] &= ~1;
aLcfilter[1] &= ~1;
}
if (withoutTransferValue == '0') {
aLcfilter[0] |= 512;
} else if (withoutTransferValue == '1') {
aLcfilter[0] |= 512;
aLcfilter[1] |= 512;            
}
if (withRentalCarValue == '1') {
aLcfilter[0] |= 1;
aLcfilter[1] |= 1;
} else if (withRentalCarValue == '0') {
aLcfilter[0] |= 1;
}
if (typeof document.bengine.lcfilter != "undefined") {
var newLcfilter = aLcfilter.join(";");
if (newLcfilter != '' && newLcfilter != ';') {
document.bengine.lcfilter.value = newLcfilter;    
} else {
document.bengine.lcfilter.value = '';
}
} else {
alert('Achtung!\r\nHiddenField lcfilter nicht gesetzt!');
}
};
};function Terminauswahl(){
this.GetTage = function(strDate,hin){
var myDate = new Date(strDate.split(".")[2],parseInt(strDate.split(".")[1],10),1);
myDate.setDate(0);
var nTage = myDate.getDate();
lts=(hin)?(this.letzter_termin_hin.split(".")):(this.letzter_termin_rueck.split("."));
if(twoDigit(lts[1])==twoDigit(myDate.getMonth()+1) && lts[2]==myDate.getFullYear()){
nTage=parseInt(lts[0],10);
}
return nTage;
};
this.ChangeRueck = function(){
var lts=this.letzter_termin_rueck.split(".");
var lDate = new Date(lts[2],parseInt(lts[1]-1,10),parseInt(lts[0]),10);
var d=this.getValue('ktag');
var lMon=this.getValue('kmonat').split(".");
d = new Date(lMon[1],lMon[0]-1,d);
var nTime = d.getTime()+(22*86400000);
if(nTime>lDate.getTime())
d.setTime(lDate.getTime());
else
d.setTime(nTime);
var nMon=twoDigit(parseInt(d.getMonth(),10)+1);
var nDay=twoDigit(parseInt(d.getDate(),10));
this.SetDatum(nDay+"."+nMon+"."+d.getFullYear(),"",2);
};
this.getValue = function(name){
return document.forms[this.formname].elements[name].value;
};
this.UpdateTermine = function(kenner,y,m,d){
var date=new Date(y,m-1,d);
var bform = document.forms[this.formname];
dn=date.getTime()/1000;
if(kenner=="k"){
this.req['termin']=dn;
bform.termin.value=dn;
}else{
this.req['ruecktermin']=dn;
}
};
this.SetDatum = function(strDate, strRKenner, noMon, form){
var myDate = new Date(strDate.split(".")[2],parseInt(strDate.split(".")[1],10)-1,parseInt(strDate.split(".")[0],10));
var nTage=this.GetTage(strDate,strRKenner!="");
var com=(strRKenner)?document.forms[this.formname].ktag:document.forms[this.formname].rueckktag;
var comMon=(strRKenner)?document.forms[this.formname].kmonat:document.forms[this.formname].rueckkmonat;
var len=com.length;
var nMax=(len>nTage)?len:nTage;
for(i=0;i<nMax;i++){
if(i<nTage){
if(i>=len){
com.options[i]=new Option();
}
com.options[i].text=i+1;
com.options[i].value=i+1;
}else{
com[nTage] = null;
}
}
var nSel=myDate.getDate();
if(nSel>nTage)
nSel = nTage;
com.value = nSel;
this.UpdateTermine(((strRKenner!="")?"k":""),strDate.split(".")[2],strDate.split(".")[1],nSel);
if(noMon != 1){
comMon.value = twoDigit(myDate.getMonth()+1)+"."+myDate.getFullYear();
}
if(noMon!=2 && strRKenner!="") this.ChangeRueck();
};
this.UpdateDate = function(strKenner){
var nTag = this.getValue(strKenner+"tag");
var strMon = this.getValue(strKenner+"monat"); 
this.SetDatum(nTag+"."+strMon,(strKenner=="rueckk")?"":"dummy",2);
};
this.SetDay = function(strKenner){
var nTag=this.getValue(strKenner+"tag");
var cMon=document.forms[this.formname][strKenner+"monat"];
var strMon=this.getValue(strKenner+"monat");
var ets=this.erster_termin.split(".");
if(ets[1]+"."+ets[2]==strMon && nTag < parseInt(ets[0],10)){
cMon.selectedIndex=1;
strMon=this.getValue(strKenner+"monat");
this.SetDatum(nTag+"."+strMon,(strKenner=="rueckk")?"":"dummy",1);
nTag=this.getValue(strKenner+"tag");
}
if(strKenner=="k"){
this.ChangeRueck();
}
this.UpdateTermine(strKenner,strMon.split(".")[1],strMon.split(".")[0],nTag);
};
this.SetMonth = function(strKenner){
var nTag=this.getValue(strKenner+"tag");
var strMonat=this.getValue(strKenner+"monat");
var ets=this.erster_termin.split(".");
if(ets[1]+"."+ets[2]==strMonat && nTag<parseInt(ets[0],10)){
nTag=ets[0];
}
var strDate=nTag+"."+strMonat;
this.SetDatum(strDate,(strKenner=="rueckk")?"":"dummy",1);
};
this.InitDays = function(hin){
if(typeof(document.forms[this.formname].elements[(hin)?'ktag':'rueckktag']) != 'undefined'){
var nTage=this.GetTage((hin)?this.termin_hin:this.termin_rueck,hin);
var SelTag=(hin)?this.termin_hin.split(".")[0]:this.termin_rueck.split(".")[0];
var selBox = document.forms[this.formname].elements[(hin)?'ktag':'rueckktag'];
for(i=1;i<=nTage;i++){
selBox.options[i-1] = new Option(i,i);
if(i==SelTag) selBox.options[i-1].selected=true;
}
}
};
this.InitMonth = function(hin){      
if(typeof(document.forms[this.formname].elements[(hin)?'kmonat':'rueckkmonat']) != 'undefined'){          
if (typeof(this.monNames) != 'undefined') {
var m = this.monNames;
} else {
var m = ["Jan.","Feb.","M\xE4rz","April","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."];
} 
var ets  = this.erster_termin.split(".");
var lts  = (hin)?(this.letzter_termin_hin.split(".")):(this.letzter_termin_rueck.split("."));
var sels = (hin)?(this.termin_hin.split(".")):(this.termin_rueck.split("."));
var selBox  = document.forms[this.formname].elements[(hin)?'kmonat':'rueckkmonat'];
var aktDate = new Date(ets[2],parseInt(ets[1],10)-1,1);
var selDate = new Date(sels[2],parseInt(sels[1],10)-1,1);
var maxDate = new Date(lts[2],parseInt(lts[1],10)-1,1);
while(aktDate.getTime()<=maxDate.getTime()){
var sel = aktDate.getTime()==selDate.getTime()?" selected":"";
var val = (aktDate.getMonth()+1)<10?"0"+(aktDate.getMonth()+1):(aktDate.getMonth()+1);
var optVal = val+'.'+aktDate.getFullYear();
var optLbl = m[aktDate.getMonth()]+' '+String(aktDate.getFullYear()).substr(2,2);
selBox.options[selBox.options.length] = new Option(optLbl,optVal);
if(aktDate.getTime()==selDate.getTime())
selBox.options[selBox.options.length-1].selected = true;
aktDate.addMonth();
}
}
};
this.showKalender = function(strTyp){
if(strTyp=='hin' && typeof(kalender_rueck)!='undefined') kalender_rueck.close();
else if(strTyp=='rueck' && typeof(kalender_hin)!='undefined') kalender_hin.close();
var top=screen.height;
var left=screen.width;
var posx=((left/2)-100);
var posy=((top/2)-180);
var wndName = 'kalender_'+strTyp+'__'+this.formname+'__'+this.name;
if(typeof(t3url)!='undefined'){
var infowin = window.open(url+'booking/'+ordner_name+'/kalender.html',wndName,'width=200,height=230,scrollbars=no,screenX='+posx+',screenY='+posy+',left='+posx+',top='+posy+',dependent=yes,location=no');
}
else if (typeof(isExtQuickSearch) != 'undefined' && isExtQuickSearch == 1){
var infowin = window.open(main_url+'booking/jsq_search/kalender.html',wndName,'width=200,height=230,scrollbars=no,screenX='+posx+',screenY='+posy+',left='+posx+',top='+posy+',dependent=yes,location=no');    
}
else{
var infowin = window.open('kalender.html',wndName,'width=200,height=230,scrollbars=no,screenX='+posx+',screenY='+posy+',left='+posx+',top='+posy+',dependent=yes,location=no');
}
infowin.focus();
}
}var optDauer=[
"beliebig;-1",
"1 - 4 Tage;9",
"5 - 8 Tage;10",
"1 Woche;6_7",
"9 - 12 Tage;7",
"13 - 15 Tage;3",
"2 Wochen;6_14",
"16 - 22 Tage;12",
"3 Wochen;6_21",
"> 22 Tage;13"
];
var optDauerExt=[
"beliebig;-1",
"1 - 4 Tage;9",
"5 - 8 Tage;10",
"1 Woche;6_7",
"9 - 12 Tage;7",
"13 - 15 Tage;3",
"2 Wochen;6_14",
"16 - 22 Tage;12",
"3 Wochen;6_21",
"> 22 Tage;13",
"---;-1",
"1 Tag;6_1",
"2 Tage;6_2",
"3 Tage;6_3",
"4 Tage;6_4",
"5 Tage;6_5",
"6 Tage;6_6",
"8 Tage;6_8",
"9 Tage;6_9",
"10 Tage;6_10",
"11 Tage;6_11",
"12 Tage;6_12",
"13 Tage;6_13",
"15 Tage;6_15",
"16 Tage;6_16",
"17 Tage;6_17",
"18 Tage;6_18",
"19 Tage;6_19",
"20 Tage;6_20"
];
var optZimmer2=[
"weitere Zimmertypen;-1",
"Studio;2",
"Suite;16",
"Villa;256",
"Superior;512",
"Dreibettzimmer;1024",
"Mehrbettzimmer;4096",
"Ferienwohnung;8192",
"Ferienhaus;16384",
"Deluxe-Zimmer;32768",
"Duplexzimmer;2048"
];
var optSportangebot=[
"gro\xDFes Sportangeb.;10",
"Tennis;0",
"Golf;1",
"Squash;2",
"Radsport;3",
"Wassersport;4",
"Tauchen;5",
"Reiten;6",
"Wandern;7",
"Surfen;8",
"egal;-1"
];
var optKategorie=[
"egal;-1",
"2 Sterne;0",
"3 Sterne;1",
"4 Sterne;2",
"5 Sterne;3"
];
var optZimmer = [
"beliebig;-1",
"Einzelzimmer;5",
"Doppelzimmer;6",
"Familienzimmer;2",
"Bungalow;0",
"Apartment;7"
];
var optVerpflegung = [
"beliebig;-1",
"nur \xDCbernachtung;0",
"Fr\xFChst\xFCck;1",
"Halbpension;2",
"Vollpension;3",
"All Inclusive;4"
];
var optPreis = [
"beliebig;-1",
"bis 300 ;1",
"bis 500 ;2",
"bis 750 ;3",
"bis 1000 ;4"
];
var optHbfges=[
"beliebig;0",
"min. 3.0 von 6.0;30",
"min. 4.0 von 6.0;40",
"min. 5.0 von 6.0;50",
"6.0 von 6.0;60"
];
var optHbfanz=[
"beliebig;0",
"min. 5;5",
"min. 10;10",
"min. 25;25",
"min. 50;50",
"> 100;100"
];
var optHbfempf=[
"beliebig;0",
"min. 80%;800",
"min. 90%;900",
"min. 100%;1000"
];
var optLcfilter = {
withoutTransfer : [ { name : 'beliebig',       value : '-1' },
{ name : 'mit Transfer',   value : '0' },
{ name : 'ohne Transfer',  value : '1' } 
],
withRentalCar   : [ { name : 'beliebig',       value : '-1' },
{ name : 'mit Mietwagen',  value : '1' },
{ name : 'ohne Mietwagen', value : '0' } 
]
};function Zielauswahl(optUserRegSelect){
this.gfilt = false;
this.Regionen = [];
if(typeof(window["TTREGS_"+this.port])!='undefined')
this.Regionen = window["TTREGS_"+this.port];
this.strZiel = "";//ttregs.g_strZiel;
this.valZiel = -1;//ttregs.g_nZiel;
this.strReg = "";//ttregs.g_strRegion;
this.valReg = -1;//ttregs.g_nRegion;
var defAuswahl = {
ziel:"<Alle Reiseziele>",
region:"<Alle Regionen>"
};
this.optFirstRegSelect= optUserRegSelect || defAuswahl;
if(this.req['show_regModBalearen']==1){
for(var i=0;i<this.Regionen.length;++i){
var sr=this.Regionen[i].split('|');
if(sr[1]==10000)
sr[0]='Mallorca, Ibiza, Menorca';
this.Regionen[i]=sr.join('|');
}
this.Regionen.sort();
}
this.getTTZiel = function(topregion){
topregion = topregion || 0;
for(var i=0;i<this.Regionen.length;++i){
var tr = this.Regionen[i].split("|")[3] || 0;
if(tr==topregion){
return this.Regionen[i].split("|")[2] || 0;
}
}
return 0;
};
this.getTTRegion = function(topregion){
topregion = topregion || 0;
for(var i=0;i<this.Regionen.length;++i){
var tr = this.Regionen[i].split("|")[3] || 0;
if(tr==topregion){
return this.Regionen[i].split("|")[1] || 0;
}
}
return 0;
};
this.getTTFlugdauer = function(zk){
zk = zk || 0;
for(var i=0;i<this.Regionen.length;++i){
var aktzk = this.Regionen[i].split("|")[1] || 0; 
if(aktzk==zk){
return this.Regionen[i].split("|")[2] || 0;
}
}
return 0;
};
var topregion=this.req['topRegion'] || 0;
var flugdauer=this.req['flugdauer'] || 0;
var zielgebiets_kenner=this.req['zielgebiets_kenner'] || 0;
if(parseInt(topregion)>=10000){
this.valZiel = parseInt(topregion);
}else if(parseInt(topregion)>0){
this.valReg  = this.getTTRegion(parseInt(topregion));
this.valZiel = this.getTTZiel(parseInt(topregion));
}else{
this.valReg  = zielgebiets_kenner!=''?zielgebiets_kenner:0;
this.valZiel = flugdauer!=''?flugdauer:0;
if(this.valReg!=0 && (this.valZiel==0 || this.valZiel=="-1")){
this.valZiel = this.getTTFlugdauer(this.valReg);
this.req['flugdauer']=this.valZiel;
flugdauer = this.valZiel;
}
}
this.UpdateRegionen = function(){
document.forms[this.formname].elements["region"].options[0] = new Option(this.optFirstRegSelect['region'],"-1");
var opt=document.forms[this.formname].elements["ziel"].options;
while(opt.length>0)
opt[opt.length-1] = null;
opt[0] = new Option(this.optFirstRegSelect['ziel'],"-1");
for(var i=0;i<this.Regionen.length;++i){
var sr=this.Regionen[i].split("|");
if(sr[1]>=10000)
opt[opt.length]=new Option(sr[0],sr[1]);
}
this.FixRSel();
};
this.RZC = function(ds){
var zielSel = document.forms[this.formname].elements["ziel"];
var kenner  = zielSel.value;
this.valZiel = kenner;
if(zielSel.selectedIndex>0){
this.strZiel=zielSel[zielSel.selectedIndex].text;
}else this.strZiel="";
this.gfilt = kenner!=-1;
var opt = document.forms[this.formname].elements["region"].options;
while(opt.length>1)
opt[opt.length-1] = null;
for(var i=0;i<this.Regionen.length;++i){
var sr = this.Regionen[i].split("|");
if(sr[1]<10000 && (kenner<0 || sr[2]==kenner)){
opt[opt.length]=new Option(sr[0],sr[1]+"|"+sr[2]);
}
}
if(ds){
opt.selectedIndex=0;
this.strReg="";
this.valReg=-1;
this.emptyElements();
}
};
this.REGC=function(){
var ropt=document.forms[this.formname].elements["region"].options;
var kenner=ropt[ropt.selectedIndex].value.split("|");
this.valReg=kenner[0];
if(ropt.selectedIndex>0){
this.strReg = ropt[ropt.selectedIndex].text.replace(/([^(]*)\((.*)/,"$1");
}else this.strReg="";
if(this.gfilt==false && kenner[0]>=0){
try{
var selZiel = document.forms[this.formname].elements["ziel"];
selZiel.value = kenner[1];
this.valZiel=kenner[1];
this.strZiel=selZiel.options[selZiel.options.selectedIndex].text;
}catch(e){}
}
this.emptyElements();
};
this.emptyElements = function() {
if (typeof delElementsForPost == 'undefined') {
delElementsForPost = new Array('s_ort','sleistung');
}
if (typeof delElementsForPost != 'undefined' && delElementsForPost.length > 0) {
for(var c = 0;c < delElementsForPost.length;c++) {
if (typeof document.forms[this.formname].elements[delElementsForPost[c].toString()] != 'undefined'
&& document.forms[this.formname].elements[delElementsForPost[c].toString()].value != "") {
document.forms[this.formname].elements[delElementsForPost[c].toString()].value = "";
}
}
}
};
this.FixRSel = function(){
var opt=document.forms[this.formname].elements["ziel"].options;    
if((opt.selectedIndex<0 || opt.value!=this.valZiel) && this.valZiel!=0){
try{
document.forms[this.formname].elements["ziel"].value = this.valZiel;
}catch(e){
if(this.strZiel!="")
opt[opt.length]=new Option(this.strZiel,this.valZiel,true,true);
else{
opt.selectedIndex=0;this.RZC();return;
}
}
} 
this.RZC();
opt=document.forms[this.formname].elements["region"].options;     
if(opt.selectedIndex<0 || opt[opt.selectedIndex].value.split("|")[0]!=this.valReg){
for(i=0;i<opt.length;i++)          
if(opt[i].value.split("|")[0]==this.valReg){
opt.selectedIndex=i;break;
}
if(i==opt.length){
if(this.strReg!="")
opt[opt.length]=new Option(this.strReg+" (keine Ang.)",this.valReg+"|"+this.valZiel,true,true);
else{
opt.selectedIndex=0;this.valReg=-1;this.strReg="";
}
}
}  
};
}