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.fillSels = function(boxobject){
for(var boxname in boxobject){
this.fillSelFromArray(boxname,boxobject[boxname]);
}
};
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"]
};
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 sb = document.getElementsByName('dauer')[0] || 0;
if(!sb || sb.type!='select-one') return;
sb.options[sb.options.length] = new Option("beliebig","-1");
sb.options[sb.options.length] = new Option("1 Tag","6_1");
for(i=2;i<=21;i++){
sb.options[sb.options.length] = new Option(i+" Tage","6_"+i);
}
sb.options[sb.options.length] = new Option("> 22 Tage","13");
try{
if(this.req['dauer']!='' && this.req['dauer']!='-1')
sb.value=this.req['dauer'];
}catch(e){}
};
}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 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 optZielOrt=[
"beliebig;",
"Aachen;117 4616",
"Augsburg;105 4625",
"Bad F\xFCssing;105 4863",
"Bad Kissingen;2029 4866",
"Bad Mergentheim;2070 6365",
"Baden-Baden;2002 4882",
"Bayreuth;2030 4627",
"Berchtesgaden;2069 5463",
"Berlin;106 4527",
"Bochum;2059 4590",
"Bonn;117 4617",
"Bremen;112 4588",
"Cochem;118 6333",
"Cottbus;107 6723",
"Dortmund;2059 4614",
"Dresden;121 4528",
"D\xFCsseldorf;2019 4591",
"Erfurt;128 4647",
"Essen;2059 4592",
"Frankfurt am Main;114 4613",
"Friedrichshafen;2028 6574",
"Garmisch-Partenkirchen;2058 4858",
"Gotha;128 7220",
"Halle/Saale;123 4648",
"Hamburg;113 4572",
"Hannover;116 4644",
"Heidelberg;104 4607",
"Insel Lindau;2028 6910",
"Kassel;114 4653",
"Kiel;2039 4656",
"Köln;2020 4585",
"Königswinter;117 4619",
"Konstanz;2028 6918",
"Leipzig;121 4570",
"L\xFCbeck;2039 4655",
"Magdeburg;123 4638",
"Marburg;114 4898",
"Mittelberg;105 6486",
"M\xFCnchen;264 4564",
"Oberhausen;2059 4615",
"Potsdam;107 4560",
"Rostock;2035 5629",
"R\xFCdesheim;2022 6596",
"Rust;2002 5147",
"Schwerin;2034 4640",
"Suttgart;104 4579",
"Titisee;2002 5453",
"Triberg;2002 5459",
"Trier;118 4651",
"Weimar;128 4569",
"Wiesbaden;2022 4652",
"Winterberg;2038 5500",
"Wuppertal;117 6360",
"W\xFCrzburg;2060 4623"
];
var optThemes=[
"beliebig;0",
"Golf;1_9",
"Wellness;1_12",
"Urlaub in den Bergen;2_1",
"Romantik / Gourmet;2_2",
"Ski;1_10",
"Badeurlaub Nord- & Ostsee;1_13",
"Badeurlaub am Mittelmeer;1_14",
"Badeurlaub in der Ferne;1_15",
"Familienurlaub;2_3",
"Urlaub in Deutschland;1_11",
"Urlaub in Österreich;1_16",
"Städtereisen;2_4",
"Freizeitparks;2_5",
String.fromCharCode(160,160)+"Disneyland Paris (FR);1_1",
String.fromCharCode(160,160)+"Legoland Billund (DK);1_2",
String.fromCharCode(160,160)+"Legoland Deutschland;1_3",
String.fromCharCode(160,160)+"Movie Park Germany;1_4",
String.fromCharCode(160,160)+"Phantasialand;1_5",
String.fromCharCode(160,160)+"Heidepark Soltau;1_6",
String.fromCharCode(160,160)+"Hansa Park;1_7",
String.fromCharCode(160,160)+"Europa Park;1_8"
];
var imgThemeId={
"0":"default",
"1_9":"glf",
"1_12":"wll",
"2_1":"brg",
"2_2":"gor",
"1_10":"ski",
"1_13":"bno",
"1_14":"bmi",
"1_15":"bfe",
"2_3":"fam",
"1_11":"deu",
"1_16":"ast",
"2_4":"sta",
"2_5":"fpk",
"1_1":"fpk",
"1_2":"fpk",
"1_3":"fpk",
"1_4":"fpk",
"1_5":"fpk",
"1_6":"fpk",
"1_7":"fpk",
"1_8":"fpk"
};
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. 20;20",
"min. 30;30",
"> 50;50"
];
var optHbfempf=[
"beliebig;0",
"min. 80%;800",
"min. 90%;900",
"min. 100%;1000"
];
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",
"Studio/Apartment/Suite;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"
];
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;
this.uthema = '';
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.updateRegListe=function(){
this.valZiel=-1; this.strZiel='';
this.valReg=-1;  this.strReg='';
this.UpdateRegionen();
}
this.UpdateRegionen = function(){
if(document.forms[this.formname].uthema){
this.uthema=document.forms[this.formname].uthema.value;
}
else if(document.forms[this.formname].uthema_dis){
this.uthema=document.forms[this.formname].uthema_dis.value;
}
else{
if(document.forms[this.formname].zielOrt){
var opt = document.forms[this.formname].zielOrt.options;
for(var i=0;i<opt.length;i++){
if(this.req['orte_IFF'] && opt[i].value.split(' ')[1]==this.req['orte_IFF'])
bform.zielOrt.value = opt[i].value;
}
}
return;
}
this.HBit=this.uthema.split("_");
if(this.HBit[0]==1){
this.tmp_val=4;this.tmp_HBit=1;
}else{
this.tmp_val=5;this.tmp_HBit=2;
}
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){
if((sr[this.tmp_val]&(1<<this.HBit[1]-1) && this.HBit[0]==this.tmp_HBit) || this.uthema=='' || this.uthema=='0')
opt[opt.length]=new Option(sr[0],sr[1]);
}
}
this.FixRSel();
};
this.RZC = function(ds){
var bform = document.forms[this.formname];
var zielSel = bform.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 = bform.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)){
if((sr[this.tmp_val]&(1<<this.HBit[1]-1) && this.HBit[0]==this.tmp_HBit) || this.uthema=='' || this.uthema=='0'){
opt[opt.length]=new Option(sr[0],sr[1]+"|"+sr[2]);
}
}
}
if(ds){
opt.selectedIndex=0;
this.strReg="";
this.valReg=-1;
}
};
this.REGC=function(){
var bform = document.forms[this.formname];
var ropt=bform.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 = bform.elements["ziel"];
selZiel.value = kenner[1];
this.valZiel=kenner[1];
this.strZiel=selZiel.options[selZiel.options.selectedIndex].text;
}catch(e){}
}
};
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="";
}
}
}
};
}