// JavaScript Document

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0;
   } 
   return this;
}

function daysInFebruary(whichYear) {
    return (whichYear % 4 == 0 && (!(whichYear % 100 == 0) || (whichYear % 400 == 0)) ? 29 : 28);
}

function isDate(mm, dd, yyyy) {
	if (mm !="" && !(mm > 0 && mm < 13)) { return false; }
	if (dd !="" && !(dd > 0 && dd < 32)) { return false; }
	if ((dd!="" && mm!="") && dd > daysInMonth[mm]) { return false; }
	if (yyyy !="" && !(yyyy > 1889 && yyyy < 2210)) { return false; }
	if ((mm=="2" || mm=="02" && dd!="" && yyyy!="") && dd > daysInFebruary(yyyy)) {	return false; }
	return true;
}