function checkForm() {
var tdate
var nowdate = new Date()
tdate = document.newbie.SMONTH.value+"/"+
       document.newbie.SDAY.value+"/"+
       document.newbie.SYEAR.value
var duedate = new Date(document.newbie.SYEAR.value, 
       document.newbie.SMONTH.value-1,
       document.newbie.SDAY.value-5)
document.newbie.DueDate.value = tdate;
if (isDate(tdate)) {
   if (nowdate > duedate) {
        alert ("Please give the learners a chance.\nYour due date seems too close to today. ")
        return false
	} else {
	document.newbie.HebDue.value = civ2heb(eval(document.newbie.SDAY.value),
		eval(document.newbie.SMONTH.value),
		eval(document.newbie.SYEAR.value));
   return true; 
	   }
} else {
   return false;
}

}

function t1 () {
var poem = new Array (0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var now = new Date
var tyear = now.getYear();


for (i = 1; i <= poem[document.newbie.SMONTH.value]; i++) {
   document.newbie.SDAY.options[i] = new Option (i,i)
   }
for (j = i; j <= 31; j++) {
   document.newbie.SDAY.options[j] = new Option ('', '')
  } 

document.newbie.SYEAR.options[1] = new Option(tyear, tyear)
document.newbie.SYEAR.options[2] = new Option(tyear+1, tyear+1)

}

function isDate(dateStr) {

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) {
        alert("Please check your date and try again.");
        return false;
    }

    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn't have 31 days!")
        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)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
        }
    }
    return true; // date is valid
}
