var Tag   = 0;
var Monat = 0;
var Jahr  = 0;
function DatumCheck(Datum) {
  ErgebnisDatumCheck = true;
  Trennzeichen = ".";
  Zaehler = 0;
  for (var i=0; i<Datum.length; i++) {
    if (Datum.charAt(i) == Trennzeichen) { Zaehler++; }
  }
  if (Zaehler == 2) {
    ErstesTZ = Datum.indexOf(Trennzeichen);
    ZweitesTZ = Datum.indexOf(Trennzeichen, ErstesTZ +1);
    Tag = parseInt(Datum.substring(0, ErstesTZ), 10);
    Monat = parseInt(Datum.substring(ErstesTZ + 1, ZweitesTZ), 10);
    Jahr = parseInt(Datum.substring(ZweitesTZ + 1, Datum.length), 10);
    if (Jahr < 100) { Jahr = Jahr + 2000; }
    if ((Tag<=31) && (Tag>=1) && (Monat>=1) && (Monat<=12)) {
      if((Monat==1) || (Monat==3) || (Monat==5) || (Monat==7) || (Monat==8) || (Monat==10) || (Monat==12)) {
      } else {
        if ((Tag<=30) && (Tag>=1)) {
          if((Monat==4) || (Monat==6) || (Monat==9) || (Monat==11)) {
          } else {
            if ((Tag<=28) && (Tag>=1)) {
            } else {
              if (Tag==29) {
                if ((Jahr%4)==0) {
                  if ((Jahr%100)!=0) {
                  } else {
                    if ((Jahr%400)==0) {
                    } else {
                      ErgebnisDatumCheck = false;
                    }
                  }
                } else {
                  ErgebnisDatumCheck = false;
                }
              } else {
                ErgebnisDatumCheck = false;
              }
            }
          }
        } else {
          ErgebnisDatumCheck = false;
        }
      }
    } else {
      ErgebnisDatumCheck = false;
    }
  } else {
    ErgebnisDatumCheck = false;
  }
  return ErgebnisDatumCheck;
}
function GetWeekDay(dd,mm,yyyy) {
  var timeObj=new Date();
  var time=Date.UTC(yyyy,(mm-1),dd);
  if(yyyy<1582 || yyyy==1582 && (mm<10 || mm==10 && dd<15))
    time+=10*24*60*60*1000;
  for(k=0;k<4;k++) {
    for(year=1500-k*400;year>1200-k*400;year-=100) {
      if(yyyy<year || yyyy==year && mm<3) time-=24*60*60*1000;
    }
  }
  if(yyyy<100) time-=24*60*60*1000;
  timeObj.setTime(time);

  weekday=timeObj.getDay();
  var week = "SoMoDiMiDoFrSa";
  return week.substr(weekday*2,2);
}
function EingabeCheck() {
  Ergebnis = true;
  Ergebnis = DatumCheck(document.SuchFormular.SeVon.value);
  if (Ergebnis) {
    AnreiseDatum = new Date(Jahr, Monat-1, Tag);
    Ergebnis = DatumCheck(document.SuchFormular.SeBis.value);
    if (Ergebnis) {
      AbreiseDatum = new Date(Jahr, Monat-1, Tag);
      if (AnreiseDatum.getTime() < AbreiseDatum.getTime()) {
        Heute = new Date();
        Heute.setHours(0);
        Heute.setMinutes(0);
        Heute.setSeconds(0);
        Heute.setMilliseconds(0)
        if (AnreiseDatum.getTime() >= Heute.getTime()) {
          SeOb = document.SuchFormular.SeOb.value;
          ZwErgebnis = false;
          for (i=0;i<SeOb.length;++i) { if (SeOb.charAt(i) != " ") { ZwErgebnis = true }}
          if (ZwErgebnis) {
            Personen = document.SuchFormular.SePe.value;
            if (Personen == "") {
              Ergebnis = false;
              alert("Bitte geben Sie eine Anzahl von Personen vor.");
              document.SuchFormular.SePe.focus();
            } else {
              for (i=0;i<Personen.length;++i) {
                if (Personen.charAt(i) >= "0" && Personen.charAt(i) <= "9" && parseInt(Personen) != 0) {
                } else {
                  Ergebnis = false;
                  alert("Bitte kontrollieren Sie die Anzahl der Personen.");
                  document.SuchFormular.SePe.focus();
                }
              }
            }
          } else {
            Ergebnis = false;
            alert("Bitte geben Sie eine Objekt-Nr. ein.");
            document.SuchFormular.SeOb.focus();
        }
        } else {
          Ergebnis = false;
          alert("Das Anreisedatum liegt in der Vergangenheit.");
          document.SuchFormular.SeVon.focus();
        }
      } else {
        Ergebnis = false;
        alert("Das Abreisedatum muß hinterm dem Anreisedatum liegen.");
        document.SuchFormular.SeBis.focus();
      }
    } else {
      alert("Bitte überprüfen Sie das Abreisedatum.");
      document.SuchFormular.SeBis.focus();
    }
  } else {
    alert("Bitte überprüfen Sie das Anreisedatum.");
    document.SuchFormular.SeVon.focus();
  }
  return Ergebnis;
}
function AktualisiereWochentag(Feld) {
  if (Feld == "SeVon") {
    if (DatumCheck(document.SuchFormular.SeVon.value)) {
      WochenTag = GetWeekDay(Tag, Monat, Jahr);
      document.getElementById("WoTagAnreise").innerHTML = WochenTag + ".,&nbsp;";
      return true;
    } else {
      document.getElementById("WoTagAnreise").innerHTML = '?!&nbsp;&nbsp;';
      return false;
    }
  }
  if (Feld == "SeBis") {
    if (DatumCheck(document.SuchFormular.SeBis.value)) {
      WochenTag = GetWeekDay(Tag, Monat, Jahr);
      document.getElementById("WoTagAbreise").innerHTML = WochenTag + ".,&nbsp;";
      return true;
    } else {
      document.getElementById("WoTagAbreise").innerHTML = '?!&nbsp;&nbsp;';
      return false;
    }
  }
}
function OeffneKalender(Feld) {
  PosX = screen.width / 2  - 80;
  PosY = screen.height / 2 - 70;
  if (Feld == 'SeVon') {
    Neu = window.open("calendar.php?Feld=SeVon&Lang=no", "Fenster",
                      "locationbar=no,menubar=no,width=170,height=145,left="+PosX+",top="+PosY);
  }
  if (Feld == 'SeBis') {
    DatumCheck(document.SuchFormular.SeVon.value);
    Neu = window.open("calendar.php?Feld=SeBis&Lang=no&Monat="+Monat+"&Jahr="+Jahr, "Fenster",
                      "locationbar=no,menubar=no,width=170,height=145,left="+PosX+",top="+PosY);
  }
}
function ChangeLanguage() {
  if (DatumCheck(document.SuchFormular.SeVon.value)) {
    StrMonat = String(Monat);
    if (StrMonat.length == 1) { StrMonat = "0" + StrMonat; }
    StrTag = String(Tag);
    if (StrTag.length == 1) { StrTag = "0" + StrTag; }
  } else {
    SeVon = ""
  }
  if (DatumCheck(document.SuchFormular.SeBis.value)) {
    StrMonat = String(Monat);
    if (StrMonat.length == 1) { StrMonat = "0" + StrMonat; }
    StrTag = String(Tag);
    if (StrTag.length == 1) { StrTag = "0" + StrTag; }
  } else {
    SeBis = ""
  }
  SeOb = document.SuchFormular.SeOb.value;
  SePe = document.SuchFormular.SePe.value;
  RegKrit = ""
  if (document.SuchFormular.SeKr1.checked) { RegKrit = RegKrit + "&SeKr1=ja"; }
  if (document.SuchFormular.SeKr2.checked) { RegKrit = RegKrit + "&SeKr2=ja"; }
  if (document.SuchFormular.SeKr3.checked) { RegKrit = RegKrit + "&SeKr3=ja"; }
  if (document.SuchFormular.SeKr4.checked) { RegKrit = RegKrit + "&SeKr4=ja"; }
  if (document.SuchFormular.SeKr5.checked) { RegKrit = RegKrit + "&SeKr5=ja"; }
  if (document.SuchFormular.SeKr6.checked) { RegKrit = RegKrit + "&SeKr6=ja"; }
  if (document.SuchFormular.SeKr7.checked) { RegKrit = RegKrit + "&SeKr7=ja"; }
  if (document.SuchFormular.SeKr8.checked) { RegKrit = RegKrit + "&SeKr8=ja"; }
  if (document.SuchFormular.SeKr9.checked) { RegKrit = RegKrit + "&SeKr9=ja"; }
  if (document.SuchFormular.SeKr10.checked) { RegKrit = RegKrit + "&SeKr10=ja"; }
  if (document.SuchFormular.SeKr11.checked) { RegKrit = RegKrit + "&SeKr11=ja"; }
  if (document.SuchFormular.SeKr12.checked) { RegKrit = RegKrit + "&SeKr12=ja"; }
  if (document.SuchFormular.SeKr13.checked) { RegKrit = RegKrit + "&SeKr13=ja"; }
  if (document.SuchFormular.SeKr14.checked) { RegKrit = RegKrit + "&SeKr14=ja"; }
  if (document.SuchFormular.SeKr15.checked) { RegKrit = RegKrit + "&SeKr15=ja"; }
  RegKrit = RegKrit + "&SeRe=" + document.SuchFormular.SeRe.selectedIndex;
  location.replace("query.php?KuNr=Z0304&Lang=en&SeOb=" + SeOb + "&SePe=" + SePe + "&SeVon=" + SeVon + "&SeBis=" + SeBis + RegKrit);
}

//-------------------------------------------------------------------------
// Weiterleitung zu HRS
//-------------------------------------------------------------------------
function weiterzuHRS(){
	
	// Daten aus Formular auslesen
	var location = document.SuchFormular.SeRe.options[document.SuchFormular.SeRe.selectedIndex].value;

	// Mit Location ID arbeiten - bei HRS > regionKey
	// Angabe: %25ID
	/*
	if (location == "Ostseebad Rerik") location = "%2587945"; 
	if (location == "Börgerende-Rethwisch") location = "%2587664"; 
	if (location == "" || location == 0) location = "%2529549"; 
	*/
	
	// Mit Ortsnamen arbeiten
	if (location == "Ostseebad Rerik") location = "Ostseebad Rerik"; 
	if (location == "Börgerende-Rethwisch") location = "Boergerende-Rethwisch"; 
	if (location == "" || location == 0) location = "Region - Ostseekueste (Mecklenburg-Vorpommern)"; 
	var personen = document.SuchFormular.SePe.value;
	var anreise = document.SuchFormular.SeVon.value;
	var abreise = document.SuchFormular.SeBis.value;
	
	// Zimmeranzahl ermitteln
	var einzelzimmer = personen%2;
	var doppelzimmer = parseInt(personen/2);
	
	// Datum aufsplitten, HRS benötigt Tag, Monat, Jahr
	var arrAnreise = new Array();
	arrAnreise = anreise.split(".");
	var arrAbreise = new Array();
	arrAbreise = abreise.split(".");
	
	var url = 'http://www.hrs.com/web3/?client=de__blue&customerId=437898567' + 
		'&location=' + location + 
		'&startDateDay=' + arrAnreise[0] +
		'&startDateMonth=' + arrAnreise[1] +
		'&startDateYear=' + arrAnreise[2] +
		'&endDateDay=' + arrAbreise[0] +
		'&endDateMonth=' + arrAbreise[1] +
		'&endDateYear=' + arrAbreise[2] +
		'&singleRooms=' + einzelzimmer +
		'&doubleRooms=' + doppelzimmer +
		'&adults=' + personen;
	
	// Weiterleitung - öffnen in neuem Fenster
	open_window(url,800,650);
}

