function isDate(dateStr) {
 var datePat = /^(\d{1,2})(.)(\d{1,2})(.)(\d{4})$/;
 var matchArray = dateStr.match(datePat);
 if (matchArray == null) return false;
 day = matchArray[1];
 month = matchArray[3];
 year = matchArray[5];
 if (month < 1 || month > 12) return false;
 if (day < 1 || day > 31) return false;
 if ((month==4 || month==6 || month==9 || month==11) && day==31) return false;
 if (month == 2) { // check for february 29th
 var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
 if (day > 29 || (day==29 && !isleap)) return false;
 }
 return true;
}
// Funktion empfaengt geaendertes Anreisedatum und berechnet daraus neues Abreisedatum
function setDate(test) {
 var datefrom = document.getElementById('datefrom').value;
 if(!isDate(datefrom)) {
 alert('Bitte geben Sie ein g&uuml;ltiges Anreisedatum ein!');
 var anreise = new Date();
 anreise.setTime(anreise.getTime() +168 * 60 * 60 * 1000);
 var dd = anreise.getDate();
 if(dd<10)dd='0'+dd;
 var mm = anreise.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('datefrom').value = dd+'.'+mm+'.'+anreise.getFullYear();
 } else {
 // Berechnung neues Abreisedatum
 var input = datefrom.split('.');
 // Sonderbehandlung
 //if (input[1] == '02' && (input[0] == '30' || input[0] == '31')) document.getElementById('datefrom').value = '01.03.2008';
 var anreise = new Date(input[2],(input[1]-1),input[0]);
 var abreise = new Date();
 abreise.setTime(anreise.getTime() +24 * 60 * 60 * 1000);
 // neues Abreisedatum ab ins Form
 var dd = abreise.getDate();
 if(dd<10)dd='0'+dd;
 var mm = abreise.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('dateto').value = dd+'.'+mm+'.'+abreise.getFullYear();
 }
}
// liegt Abreisedatum vor Anreisedatum wenn ja, Abreisedatum ein Tag spaeter als Anreisedatum waehlen
function checkDate() {
 var datefrom = document.getElementById('datefrom').value;
 var dateto = document.getElementById('dateto').value;
 if(!isDate(dateto)) {
 alert('Bitte geben Sie ein g&uuml;ltiges Abreisedatum ein!');
 var anr = datefrom.split('.');
 var anreise = new Date(anr[2],(anr[1]-1),anr[0]);
 var abreise_neu = new Date();
 abreise_neu.setTime(anreise.getTime() +24 * 60 * 60 * 1000);
 var dd = abreise_neu.getDate();
 if(dd<10)dd='0'+dd;
 var mm = abreise_neu.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('dateto').value = dd+'.'+mm+'.'+abreise_neu.getFullYear();
 } else {
 var anr = datefrom.split('.');
 var abr = dateto.split('.');
 var anreise = new Date(anr[2],(anr[1]-1),anr[0]);
 var abreise = new Date(abr[2],(abr[1]-1),abr[0]);
 if (abreise <= anreise) {
 var abreise_neu = new Date();
 abreise_neu.setTime(anreise.getTime() +24 * 60 * 60 * 1000);
 var dd = abreise_neu.getDate();
 if(dd<10)dd='0'+dd;
 var mm = abreise_neu.getMonth()+1;
 if(mm<10)mm='0'+mm;
 document.getElementById('dateto').value = dd+'.'+mm+'.'+abreise.getFullYear();
 }
 }
}
