var arrForms = new Array("lmps","erde","mix","fewo","cf");
/*var arrMonth = new Array("Jan.","Feb.","M&auml;rz","April","Mai","Juni",
                         "Juli","Aug.","Sep.","Okt.","Nov.","Dez.");   */
var arrMonth = new Array("Januar","Februar","M&auml;rz","April","Mai","Juni",
                         "Juli","August","September","Oktober","November","Dezember");

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);
}

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);
}

function showForm(fType){
  
    for(var i in arrForms){
        document.getElementById("nav_"+arrForms[i]).className="nav_"+arrForms[i]+"_inaktiv";
        document.getElementById("formdiv_"+arrForms[i]).style.display="none";
    }
    document.getElementById("formdiv_"+fType).style.display="block";
    document.getElementById("nav_"+fType).className="nav_"+fType+"_aktiv";

}

/*
function getAfhOptions(fTyp){
  var arrData = new Array();
  var selAfh="";
  switch(fTyp){
    case "lf": arrData=arrAfh_lf;selAfh="FRA";break;
    case "cf": arrData=arrAfh_cf;break;
    case "lmps": arrData=arrAfh_lmps;break;
    case "fhm": arrData=arrAfh_fhm;selAfh="FRA";break;
  }
  getOptions(arrData,selAfh);
}
*/

function getAfhOptions(fTyp){
  var arrData = new Array();
  var selAfh="";
  switch(fTyp){
    case "lmps": arrData=TTAFH;break;
    case "mix": arrData=TTAFH;break;
    case "cf": arrData=TTAFH;break;
    //case "pa": arrData=TTAFH;break;
  }
  getOptions2(arrData,selAfh);
}

function getZielOptions(fTyp){
  var arrData = new Array();
  var selZiel="";
  switch(fTyp){
    case "erde": arrData=arrZiele_erde;getOptions(arrData,selZiel);break;
    case "fewo": arrData=arrZiele_fewo;getOptions(arrData,selZiel);break;
    case "cf":arrData=arrZiele_cf;getOptions(arrData,selZiel);break;
    case "lmps": arrData=arrZiele_lmps;getOptions(arrData,selZiel);break;
    case "mix": arrData=arrZiele_mix;getOptions(arrData,selZiel);break;
    //case "pa": arrData=arrZiele_pa;getOptions(arrData,selZiel);break;
  }
}

function getRegionOptions(fTyp){
  var arrData = new Array();
  var selZiel="";
  switch(fTyp){
    case "erde": arrData=arrRegions_erde;break;
    case "fewo": arrData=arrRegions_fewo;break;
    case "lmps": arrData=arrRegions_lmps;break;
    //case "pa": arrData=arrRegions_pa;break;
  }
  getOptions(arrData,selZiel);
}

function getOptions(arrData,defSel){
  var strRes="";
  for(var i=0;i<arrData.length;i++){
    var val = arrData[i].replace(/([^#]*)#([^#]*)/,"$1");
    var lbl = arrData[i].replace(/([^#]*)#([^#]*)/,"$2");
    var sel = val==defSel?" selected":"";
    strRes += '<option value="'+val+'"'+sel+'>'+lbl+'</option>';
  }
  document.write(strRes);
}

function getOptions2(arrData,defSel){
  var strRes="";
  for(var i=0;i<arrData.length;i++){
    var lbl = arrData[i].replace(/([^;]*);([^;]*)/,"$1");
    var val = arrData[i].replace(/([^;]*);([^;]*)/,"$2");
    var sel = val==defSel?" selected":"";
    strRes += '<option value="'+val+'"'+sel+'>'+lbl+'</option>';
  }
  document.write(strRes);
}

function getDauerTage(){
  var strRes="";
  for(var i=2;i<=21;i++)
    strRes += '<option value="6_'+i+'">'+i+' Tage</option>';
  document.write(strRes);
}

function updateRegionen(fTyp,ziel,sel){
  var selBox=document.forms[fTyp].region;
  if(typeof(sel)=='undefined') sel="";
  if(fTyp=="lmps")
    var arrData = arrRegions_lmps;
  else
    var arrData = arrRegions_erde;
  for(var i=selBox.options.length;i>0;i--){
    selBox.options[i]=null;
  }
  for(var i=0;i<arrData.length;i++){
    var val = arrData[i].replace(/([^\|]*)\|([^#]*)#(.*)/,"$1");
    var reg = arrData[i].replace(/([^\|]*)\|([^#]*)#(.*)/,"$2");
    var lbl = arrData[i].replace(/([^\|]*)\|([^#]*)#(.*)/,"$3");
    if(reg==ziel || ziel=="-1")
      selBox.options[selBox.options.length] = new Option(lbl,val+"|"+reg);
    if(sel==val+"|"+reg)
      selBox.options[selBox.options.length-1].selected=true;
  }
}

function updateZiele(fTyp,region){
  if(region!="-1"){
    var ziel = region.replace(/([^\|]*)\|(.*)/,"$2");
    var selBox=document.forms[fTyp].reiseziel;
    selBox.value=ziel;
    updateRegionen(fTyp,ziel,region);
  }
}

function getTagOptions(fType,dir){
  var i,iAb;
  var strRes="";
  var date = new Date();
  var ts_today = date.getTime();
  if(dir=="hin"){
    switch(fType){
      case "cf":   iAb=3;break;
      case "lmps": iAb=3;break;
      case "mix": iAb=3;break;
      case "erde": iAb=3;break;
      case "fewo": iAb=3;break;
      //case "pa":   iAb=44;break;
      default:     iAb=3;
    }
  }else{
    switch(fType){
      case "cf":   iAb=24;break;
      case "lmps": iAb=24;break;
      case "mix": iAb=24;break;
      case "erde": iAb=24;break;
      case "fewo": iAb=24;break;
      //case "pa":   iAb=65;break;
      default:     iAb=24;
    }
  }
  date.addDay(iAb);
  var selTag=date.getDate();
  for(i=1;i<=31;i++){
    var sel=i==selTag?" selected":"";
    var val = i<10?"0"+i:i;
    strRes += '<option value="'+val+'"'+sel+'>'+i+'.</option>';
  }
  document.write(strRes);
}

function getMonthOptions(fType,dir){
  var i,iAb;
  var strRes="";
  var startDate = new Date();
  var selDate = new Date();
  var maxDate = getTerminMax(fType);
  var aktDate = startDate;
  aktDate.setDate(1);
  if(dir=="hin"){
    switch(fType){
      case "cf":   iAb=3;break;
      case "lmps": iAb=3;break;
      case "mix": iAb=3;break;
      case "erde": iAb=3;break;
      case "fewo": iAb=3;break;
      //case "pa":   iAb=44;break;
      default:     iAb=3;
    }
  }else{
    switch(fType){
      case "cf":   iAb=24;break;
      case "lmps": iAb=24;break;
      case "mix": iAb=24;break;
      case "erde": iAb=24;break;
      case "fewo": iAb=24;break;
      //case "pa":   iAb=65;break;
      default:     iAb=24;
    }
  }
  selDate.addDay(iAb);
  selDate.setDate(1);
  while((aktDate.getTime()/1000)<=maxDate){
    var sel=(aktDate.getMonth()==selDate.getMonth() && aktDate.getFullYear()==selDate.getFullYear())?" selected":"";
    var val =  (aktDate.getMonth()+1)<10?"0"+(aktDate.getMonth()+1):(aktDate.getMonth()+1);
    strRes += '<option value="'+val+'.'+aktDate.getFullYear()+'"'+sel+'>'+arrMonth[aktDate.getMonth()]+' '+aktDate.getFullYear()+'</option>';
    //strRes += '<option value="'+val+'.'+aktDate.getFullYear()+'"'+sel+'>'+arrMonth[aktDate.getMonth()]+' '+String(aktDate.getFullYear()).substr(2,2)+'</option>';
    aktDate.addMonth();
  }
  document.write(strRes);
}

function updateRuecktermin(fType){
  var sform  = document.forms[fType];
  var date=getSelectedDate(fType,"Hin");
  date.addDay(21);
  if((date.getTime()/1000)>getTerminMax(fType))
    date.setTime(getTerminMax(fType)*1000);
  if(sform.TagRueck){
    var tagRueck = date.getDate();
    if(tagRueck<10) tagRueck = "0"+tagRueck;
    sform.TagRueck.value=tagRueck;
  }
  if(sform.MonatRueck){
    var monRueck = date.getMonth()+1;
    if(monRueck<10) monRueck = "0"+monRueck;
    sform.MonatRueck.value=monRueck+"."+date.getFullYear();
  }
}

function getSelectedDate(fType,dir){
  var sform  = document.forms[fType];
  var selTag = parseInt(sform["Tag"+dir].value,10);
  var selMon = parseInt(sform["Monat"+dir].value.replace(/([0-9]+)\.([0-9]+)/,"$1"),10);
  var selYea = parseInt(sform["Monat"+dir].value.replace(/([0-9]+)\.([0-9]+)/,"$2"),10);
  var date   = new Date(selYea,selMon-1,selTag);
  return date;
}

function getTerminMin(fType){
  var date= new Date();
  date.addDay(3);
  return date.getTime()/1000;
}
function getTerminMax(fType){
  var date= new Date();
  date.addMonth(10);
  return date.getTime()/1000;
}

function openKal(fType,dir){
  var sform = document.forms[fType];
  var top  = screen.height;
  var left = screen.width;
  var posx=((left/2)-100);
  var posy=((top/2)-115);
  var params = '?KID='+KID+'&engine=&formular=4&ordner_name='+ordner_name+'&statistik_tag='+statistik_tag;
  if(dir=="Hin"){
    var selTer = getSelectedDate(fType,"Hin");
    params += '&termin_min='+getTerminMin("fType")+'&termin_max='+getTerminMax("fType")+'&formvar=termin&formvar2=ruecktermin&aufruf_datum_rueck=1&aufruf_datum='+(selTer.getTime()/1000);
  }else if(dir=="Rueck"){
    var selTer = getSelectedDate(fType,"Rueck");
    params += '&termin_min='+getTerminMin("fType")+'&termin_max='+getTerminMax("fType")+'&formvar=ruecktermin&aufruf_datum='+(selTer.getTime()/1000);
  }
  var kalender = window.open(kurl+params,'kalender','width=200,height=230,scrollbars=no,screenX='+posx+',screenY='+posy+',left='+posx+',top='+posy+'');
  kalender.focus();
}

function String2Date(strDate){
  var retTag = parseInt(strDate.replace(/([0-9]+)\.([0-9]+)\.([0-9]+)/,"$1"),10);
  var retMon = parseInt(strDate.replace(/([0-9]+)\.([0-9]+)\.([0-9]+)/,"$2"),10);
  var retYea = parseInt(strDate.replace(/([0-9]+)\.([0-9]+)\.([0-9]+)/,"$3"),10);
  var retDate = new Date(retYea,retMon-1,retTag)
  return retDate;
}

function getActiveForm(){
  for(i=0;i<arrForms.length;i++){
    if(document.getElementById("formdiv_"+arrForms[i]).style.display=="block")
     return arrForms[i];
  }
}

function SetDatum(strDate,strRKenner,noMon){
  var fType=getActiveForm();
  var sform=document.forms[fType];
  var dir=strRKenner==""?"Rueck":"Hin";
  var elemTag = sform["Tag"+dir];
  var elemMon = sform["Monat"+dir];
  var date=String2Date(strDate);
  var valTag=date.getDate();
  if(valTag<10) valTag = "0"+valTag;
  var valMon=date.getMonth()+1;
  if(valMon<10) valMon = "0"+valMon;
  valMon = valMon+'.'+date.getFullYear();
  elemTag.value=valTag;
  elemMon.value=valMon;
  if(dir=="Hin")
    updateRuecktermin(fType);
}

function getErwOptions(fType){
  var i,iAnz;
  var strRes="";
  switch(fType){     
    case "fewo":iAnz=8;break;
    default:     iAnz=4;
  }
  
  for(i=1;i<=iAnz;i++){
    if (fType == "fewo") {
       var sel=i==4?" selected":"";
       strRes += '<option value="'+i+'"'+sel+'>'+i+' Personen</option>';
    }
    else {
         var sel=i==2?" selected":"";
         strRes += '<option value="'+i+'"'+sel+'>'+i+' Erwachsene</option>';
    }
    
  }
  document.write(strRes);
}

function getKindOptions(fType){
  var j,iAlterMax;
  var strRes="";
  switch(fType){
    case "cf":iAlterMax=16;break;
    case "lmps":iAlterMax=16;break;
    case "mix":iAlterMax=16;break;
    case "erde":iAlterMax=16;break;
    case "fewo":iAlterMax=16;break;
    default:iAlterMax=16;
  }
  for(j=2;j<=iAlterMax;j++){
    strRes += '<option value="'+j+'">'+j+' J.</option>'+"\r\n";
  }
  document.write(strRes);
}

function erweiterteSuche(){
  var selForm = "lmps";
  var formid = "";
  
  for(var i in arrForms){
    if(document.getElementById("formdiv_"+arrForms[i]).style.display=="block"){
      selForm = arrForms[i];break;
    }
  }
  switch(selForm){
    case "lmps":formid="2";break
    case "mix":formid="4";break
    //case "pa":formid="4";break
    case "cf":formid="6";break
    case "erde":formid="3";break
    case "fewo":formid="5";break
  }
  urlParams = "?id="+formid;
  document.location.href=url+"/index.php"+urlParams;
}

function zurSuche(){
  for(var i in arrForms){
    if(document.getElementById("formdiv_"+arrForms[i]).style.display=="block"){
      var selForm = arrForms[i];break;
    }
  }
  var formid = "";
  var params = "";
  var arrRadio = document.getElementsByName("formSelect");
  for(var i=0;i<arrRadio.length;i++)
    if(arrRadio[i].checked==true) selForm=arrRadio[i].value;
  var sform = document.forms[selForm];
  switch(selForm){
    case "cf":formid=searchid_cf;break
    case "lmps":formid=searchid_lmps;break
    case "mix":formid=searchid_mix;break
    case "erde":formid=searchid_erde;break
    case "fewo":formid=searchid_fewo;break
    //case "pa":formid=searchid_pa;break
  }
  if(selForm=="lmps"){
    var abflughafen = sform.abflughafen.value;
    var flugdauer = sform.reiseziel.value;
    var detail = "zielgebiet";
    //var marke = sform.marke.value;
    var termin= sform.TagHin.value+"."+sform.MonatHin.value;
    var ruecktermin= sform.TagRueck.value+"."+sform.MonatRueck.value;
    var dauer = sform.dauer.value;
    var kategorie = sform.kategorie.value;
    var verpflegung = sform.verpflegung.value;
    var anzErw = parseInt(sform.anzErwachsene.value);
    var personen="";
    for(var i=0;i<anzErw;i++){personen+="25;";}
    for(i=1;i<=3;i++){
      if(sform["alterKind"+i] && sform["alterKind"+i].value!="-1")
        personen += sform["alterKind"+i].value+";";
    }
    personen  = personen.substr(0,personen.length-1);
    params = '?KID='+KID+'&id='+formid+'&showresult=1&detail='+detail+'&abflughafen='+abflughafen+'&flugdauer='+flugdauer+'&termin='+termin+'&ruecktermin='+ruecktermin+'&dauer='+dauer+'&personen='+personen+'&kategorie='+kategorie+'&verpflegung='+verpflegung;
  }
  else if(selForm=="mix"){
    var abflughafen = sform.abflughafen.value;
    var flugdauer = sform.reiseziel.value;
    var detail = "zielgebiet";
    //var marke = sform.marke.value;
    var termin= sform.TagHin.value+"."+sform.MonatHin.value;
    var ruecktermin= sform.TagRueck.value+"."+sform.MonatRueck.value;
    var dauer = sform.dauer.value;
    var kategorie = sform.kategorie.value;
    var verpflegung = sform.verpflegung.value;
    var anzErw = parseInt(sform.anzErwachsene.value);
    var personen="";
    for(var i=0;i<anzErw;i++){personen+="25;";}
    for(i=1;i<=3;i++){
      if(sform["alterKind"+i] && sform["alterKind"+i].value!="-1")
        personen += sform["alterKind"+i].value+";";
    }
    personen  = personen.substr(0,personen.length-1);
    params = '?KID='+KID+'&id='+formid+'&showresult=1&detail='+detail+'&abflughafen='+abflughafen+'&flugdauer='+flugdauer+'&termin='+termin+'&ruecktermin='+ruecktermin+'&dauer='+dauer+'&personen='+personen+'&kategorie='+kategorie+'&verpflegung='+verpflegung;
  }
  else if(selForm=="cf"){
    var abflughafen = sform.abflughafen.value;
    var flugdauer = sform.reiseziel.value;
    var termin= sform.TagHin.value+"."+sform.MonatHin.value;
    var ruecktermin= sform.TagRueck.value+"."+sform.MonatRueck.value;
    //var marke = sform.marke.value;
    var dauer = sform.dauer.value;
    var anzErw = parseInt(sform.anzErwachsene.value);
    var personen="";
    for(var i=0;i<anzErw;i++){personen+="25;";}
    for(i=1;i<=3;i++){
      if(sform["alterKind"+i] && sform["alterKind"+i].value!="-1")
        personen += sform["alterKind"+i].value+";";
    }
    personen  = personen.substr(0,personen.length-1);
    params = '?KID='+KID+'&id='+formid+'&showresult=1&detail=zielgebiet&nurflug=1&abflughafen='+abflughafen+'&flugdauer='+flugdauer+'&termin='+termin+'&ruecktermin='+ruecktermin+'&dauer='+dauer+'&personen='+personen;
  }else if(selForm=="erde"){
    var ziel = sform.reiseziel.value;    
    var detail = "zielgebiet";
    //var marke = sform.marke.value;
    var termin= sform.TagHin.value+"."+sform.MonatHin.value;
    var ruecktermin= sform.TagRueck.value+"."+sform.MonatRueck.value;
    var dauer = sform.dauer.value;
    var kategorie = sform.kategorie.value;
    var verpflegung = sform.verpflegung.value;
    var anzErw = parseInt(sform.anzErwachsene.value);
    var personen="";
    for(var i=0;i<anzErw;i++){personen+="25;";}
    for(i=1;i<=3;i++){
      if(sform["alterKind"+i] && sform["alterKind"+i].value!="-1")
        personen += sform["alterKind"+i].value+";";
    }
    personen  = personen.substr(0,personen.length-1);
    params = '?KID='+KID+'&id='+formid+'&showresult=1&detail='+detail+'&ziel='+ziel+'&termin='+termin+'&ruecktermin='+ruecktermin+'&personen='+personen+'&kategorie='+kategorie+'&verpflegung='+verpflegung+'&dauer='+dauer;
  }
  else if(selForm=="fewo"){
    var ziel = sform.reiseziel.value;    
    var detail = "zielgebiet";
    //var marke = sform.marke.value;
    var termin= sform.TagHin.value+"."+sform.MonatHin.value;
    var ruecktermin= sform.TagRueck.value+"."+sform.MonatRueck.value;
    var dauer = sform.dauer.value;
    var zimmer = sform.zimmer.value;
    var anzErw = parseInt(sform.anzErwachsene.value);
    var personen="";
    for(var i=0;i<anzErw;i++){personen+="25;";}    
    personen  = personen.substr(0,personen.length-1);
    params = '?KID='+KID+'&id='+formid+'&showresult=1&detail='+detail+'&ziel='+ziel+'&termin='+termin+'&ruecktermin='+ruecktermin+'&personen='+personen+'&dauer='+dauer+'&zimmer='+zimmer;
  }
  document.location.href=url+"/index.php"+params;
}