function check_date(){
var dob_d = document.getElementById('dob_d').value;
var dob_m = document.getElementById('dob_m').value;
var dob_y = document.getElementById('dob_y').value;
var checkstr = new RegExp(/^[0-9]{8}$/);
var DateValue = dob_d+dob_m+dob_y;
var seperator = ".";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   /* check that the date is the correct form */
   if (checkstr.test(DateValue) != true){
    err = 27;
   }
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* 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;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* Submit form if no error */
    if (err == 0) {
        return true;
    }
   /* Error-message if err != 0 */
   else {
      document.getElementById('dob_d').focus;
      alert("Please enter a valid date of birth");
      return false;
   }
}