/* 
   Input: string in form yyyy-mm-dd
   Output: date or false if cannot be converted
   Used by: CheckForm, CalcPrice
*/
function convertDate(datestring) {
var checkstr = "0123456789";
var DateValue = datestring;
var DateTemp = "";
var seperator = "-";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
var d = new Date();
   err = 0;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = '20' + DateValue; }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(0,4);
   if (year < 2007) {
      err = 20;
      return false; 
   }
   /* Validation of month*/
   month = DateValue.substr(4,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
      return false; 
   }
   /* Validation of day*/
   day = DateValue.substr(6,2);
   if (day < 1) {
     err = 22;
     return false; 
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
      return false; 
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
      return false; 
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
      return false; 
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
      return false; 
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }

   if (d.setFullYear(year) && d.setMonth(month-1) && d.setDate(day)) {
//   	  alert("valid date: " + d);
	  return d;    
   }
   else {
   	  return false; 
   }
}

/* 
Strip whitespace from the beginning and end of a string 
Input  : a string 
Output : the trimmed string 
Used by: CheckFrom
*/ 
function trim(str) 
{ 
    return str.replace(/^\s+|\s+$/g,''); 
} 

/* Used by: Date Picker functions */
function makeTwoChars(inp) {
        return String(inp).length < 2 ? "0" + inp : inp;
}
