function validateDate(aDate)
{
   firstSlashIndex = aDate.indexOf('/');
   lastSlashIndex = aDate.indexOf('/', firstSlashIndex+1);
   
   if (firstSlashIndex == -1)
   {
       return (false);
   }
   
   month = aDate.substring(0,firstSlashIndex);
   if (month.substring(0,1) == "0") {
      month = month.substring(1);
   }
   if (lastSlashIndex != -1) {
      day = aDate.substring(firstSlashIndex+1,lastSlashIndex);
      year = aDate.substring(lastSlashIndex+1,aDate.length);
      if (year.length != 4) {
         return false;
         //year = "200" + year;
      }
      //else if (year.length == 2) {
      //   year = "20" + year;
      //}
   }
   else {
      day = aDate.substring(firstSlashIndex+1);
      var current = new Date(); // a new instance
      year = current.getFullYear(); 
   }
   if (day.substring(0,1) == "0") {
      day = day.substring(1);
   }
   mm = parseInt(month.valueOf());
   dd = parseInt(day.valueOf());
   yyyy = parseInt(year.valueOf());

   if (isNaN(mm) || isNaN(dd) || isNaN(yyyy)) {
      return false;
   }

   leapDays = 28;
   if (yyyy % 4 == 0 && yyyy % 100 != 0) {
      leapDays = 29;
   }
   else if (yyyy % 4 == 0 && yyyy % 400 == 0) {
      leapDays = 29;
   }
   if (yyyy < 1900) {
      return false;
   }
   else if (mm < 1 || mm > 12) {
      return false;
   }
   else if ((mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12) &&
            (dd < 1 || dd > 31)) {
      return false;
   }
   else if ((mm == 4 || mm == 6 || mm == 9 || mm == 11) &&
            (dd < 1 || dd > 30)) {
      return false;
   }
   else if ((mm == 2) && (dd < 1 || dd > leapDays)) {
      return false;
   }
   else {
      return true;
   }
}

// Returns true if aDate2 is greater than or equal to aDate1

function isGreaterThanEqualTo(aDate1, aDate2)
{
   firstSlashIndex = aDate1.indexOf('/');
   lastSlashIndex = aDate1.indexOf('/', firstSlashIndex+1);
   month1 = aDate1.substring(0,firstSlashIndex);
   if (month1.substring(0,1) == "0") {
      month1 = month1.substring(1);
   }
   if (lastSlashIndex != -1) {
      day1 = aDate1.substring(firstSlashIndex+1,lastSlashIndex);
      year1 = aDate1.substring(lastSlashIndex+1,aDate1.length);
      if (year1.length == 1) {
         year1 = "200" + year1;
      }
      else if (year1.length == 2) {
         year1 = "20" + year1;
      }
   }
   else {
      day1 = aDate1.substring(firstSlashIndex+1);
      var current = new Date(); // a new instance
      year1 = current.getFullYear();
   }
   if (day1.substring(0,1) == "0") {
      day1 = day1.substring(1);
   }
   mm1 = parseInt(month1.valueOf());
   dd1 = parseInt(day1.valueOf());
   yyyy1 = parseInt(year1.valueOf());

   firstSlashIndex = aDate2.indexOf('/');
   lastSlashIndex = aDate2.indexOf('/', firstSlashIndex+1);
   month2 = aDate2.substring(0,firstSlashIndex);
   if (month2.substring(0,1) == "0") {
      month2 = month2.substring(1);
   }
   if (lastSlashIndex != -1) {
      day2 = aDate2.substring(firstSlashIndex+1,lastSlashIndex);
      year2 = aDate2.substring(lastSlashIndex+1,aDate2.length);
      if (year2.length == 1) {
         year2 = "200" + year2;
      }
      else if (year2.length == 2) {
         year2 = "20" + year2;
      }
   }
   else {
      day2 = aDate2.substring(firstSlashIndex+1);
      var current = new Date(); // a new instance
      year2 = current.getFullYear();
   }
   if (day2.substring(0,1) == "0") {
      day2 = day2.substring(1);
   }
   mm2 = parseInt(month2.valueOf());
   dd2 = parseInt(day2.valueOf());
   yyyy2 = parseInt(year2.valueOf());

   if (yyyy2 > yyyy1) {
      return true;
   }
   else if (yyyy2 == yyyy1 && mm2 > mm1) {
      return true;
   }
   else if (yyyy2 == yyyy1 && mm2 == mm1 && dd2 >= dd1) {
      return true;
   }
   else {
      return false;
   }
}

