var WebresWindow = null;

function checkDate(d) {
   if (!d) return false;
   tmp = d;
   d=d.toString();
   
   d=d.split(".");
   if (d.length!=3) return false;
   
   d[0]=parseInt(d[0], 10);
   d[1]=parseInt(d[1], 10)-1;
   d[2]=parseInt(d[2], 10);
   
   if (d[2].length==2) d[2]="20"+d[2];
   
   var cd=new Date(d[2], d[1], d[0]);
   
   if (cd.getDate()==d[0] && cd.getMonth()==d[1] && cd.getFullYear()==d[2]) {
      return cd; 
   }
   else {
      return false;
   }
}

function checkArrival() {
   arrival=document.getElementById('input_arrival').value.toString();
   departure=document.getElementById('input_departure').value.toString();
   
   arrivalDate = checkDate(arrival);
   departureDate = checkDate(departure);

   if (arrivalDate && departureDate && (departureDate.getTime() <= arrivalDate.getTime())) {
      tmp = new Date(arrivalDate);
      tmp.setDate(arrivalDate.getDate()+1);
      day = tmp.getDate();
      month = tmp.getMonth()+1;
      year = tmp.getFullYear();
      if (day < 10) day = '0' + day;
      if (month < 10) month = '0' + month;
      if (year < 100) year = '20' + year;
      document.getElementById('input_departure').value = day + '.' + month + '.' + year;
   }
}

function checkDeparture() {
   arrival=document.getElementById('input_arrival').value.toString();
   departure=document.getElementById('input_departure').value.toString();
   
   arrivalDate = checkDate(arrival);
   departureDate = checkDate(departure);

   if (arrivalDate && departureDate && (departureDate.getTime() <= arrivalDate.getTime())) {
      tmp = new Date(departureDate);
      tmp.setDate(departureDate.getDate()-1);
      day = tmp.getDate();
      month = tmp.getMonth()+1;
      year = tmp.getFullYear();
      if (day < 10) day = '0' + day;
      if (month < 10) month = '0' + month;
      if (year < 100) year = '20' + year;
      document.getElementById('input_arrival').value = day + '.' + month + '.' + year;
   }
}

function check(arrivalDateNotValid, departureDateNotValid, arrivalDateTooEarly) {
   document.getElementById('input_arrival').className = "";
   document.getElementById('input_departure').className = "";

   arrival=document.getElementById('input_arrival').value.toString();
   departure=document.getElementById('input_departure').value.toString();
   todayDate = new Date();

   arrivalDate = checkDate(arrival);
   if (!arrivalDate) {
      document.getElementById('input_arrival').className = "error";
      alert(arrivalDateNotValid);
      return false;
   }
   departureDate = checkDate(departure);
   if (!departureDate) {
      document.getElementById('input_departure').className = "error";
      alert(departureDateNotValid);
      return false;
   }
   
   tmpDay = arrivalDate.getDate();
   tmpMonth = arrivalDate.getMonth()+1;
   tmpYear = arrivalDate.getFullYear();
   if (tmpDay < 10) tmpDay = '0' + tmpDay;
   if (tmpMonth < 10) tmpMonth = '0' + tmpMonth;
   if (tmpYear < 100) tmpYear = '20' + tmpYear;
   arrivalDateStr = tmpYear+''+tmpMonth+''+tmpDay;

   tmpDay = todayDate.getDate();
   tmpMonth = todayDate.getMonth()+1;
   tmpYear = todayDate.getFullYear();
   if (tmpDay < 10) tmpDay = '0' + tmpDay;
   if (tmpMonth < 10) tmpMonth = '0' + tmpMonth;
   if (tmpYear < 100) tmpYear = '20' + tmpYear;
   todayDateStr = tmpYear+''+tmpMonth+''+tmpDay;
   if (arrivalDateStr < todayDateStr) {
      document.getElementById('input_arrival').className = "error";
      alert(arrivalDateTooEarly);
      return false;
   }

   arrival=arrival.split(".");
   departure=departure.split(".");

   if (arrival[0].length==1) arrival[0]="0"+arrival[0];
   if (departure[0].length==1) departure[0]="0"+departure[0];
   
   if (arrival[1].length==1) arrival[1]="0"+arrival[1];
   if (departure[1].length==1) departure[1]="0"+departure[1];
   
   if (arrival[2].length==2) arrival[2]="20"+arrival[2];
   if (departure[2].length==2) departure[2]="20"+departure[2];

   arrivalString = arrival[0]+arrival[1]+arrival[2];
   departureString = departure[0]+departure[1]+departure[2];

   document.getElementById('input_arrival').value = arrival[0]+'.'+arrival[1]+'.'+arrival[2];
   document.getElementById('input_departure').value = departure[0]+'.'+departure[1]+'.'+departure[2];

   if ( WebresWindow == null ) {
      WebresWindow = window.open("", "booking", "toolbar=no, width=750, height=550, directories=no, status=yes, scrollbars=yes, resize=yes, menubar=no");
   } 
   else {
      if ( WebresWindow.closed ) {
         WebresWindow = window.open("", "booking", "toolbar=no, width=750, height=550, directories=no, status=yes, scrollbars=yes, resize=yes, menubar=no");
      } 
      else {
         WebresWindow.focus();
      }
   }
   
   document.bkrequest.target="booking";
   document.bkrequest.action="http://www.hoteldaten.com/koop-apis/wdba/dorequest.php";
   document.bkrequest.submit();
   
   return true;
}
