Ciao.

Cosa sbaglio in queste funzioni javascript, perchè non mi permette validare la data odierna?
Non dovrebbe validare solo le date antecedenti a quella odierna... invece non valida anche quella odierna... perchè?


codice:
var re = new RegExp("^(\\d{2})/(\\d{2})/(\\d{4})$", "");
 
var arrMonths = new Array("Gennaio", "Febbraio", "Marzo", "Aprile",
                          "Maggio", "Giugno", "Luglio", "Agosto",
                          "Settembre", "Ottobre", "Novembre", "Dicembre");
                          
function checkDate(dateObj)
{
  var dt = dateObj.value.match(re);
 
  if (!dt)
    {
      alert("La data va inserita nel formato gg/mm/aaaa !");
      return(false);
    }
 
  day = dt[1];
  month = dt[2];
  year = dt[3];
 
  if (month < 1 || month > 12)
    {
      alert("Specificare un mese compreso tra 1 e 12 !");
      return(false);
    }
 
 
  if (month == 2) maxDay = (!(year % 4) && ((year % 100) || !(year % 400))) ? 29 : 28;
  else maxDay = (month == 4 || month == 6 || month == 9 || month == 11) ? 30 : 31;
 
  if (day < 1 || day > maxDay)
    {
      alert("Il mese di " + arrMonths[month - 1] + " non ha " + day +
            " giorni\nSpecificare un giorno compreso tra 1 e " + maxDay + " !");
 
      return(false);
    }

  //INIZIO CONTROLLO VALORE DATA
  var now = new Date();   
  now.setHours(0);
  now.setMinutes(0);
  now.setSeconds(0); 
  
  var theDate = new Date(year, month - 1, day, 0, 0, 0);

  if(now.getTime() > theDate.getTime())
  {
     alert("Il sistema non prevede l'inserimento di date antecedenti a quella odierna.");
     return false;
  }
//FINE CONTROLLO DATA    
 
  return(true);
}

function convalidaForm(Qform) 
{

  // Controlla data_intervento
  if (!checkDate(Qform.data_intervento))
    {
      Qform.data_intervento.focus();
      Qform.data_intervento.select();
      return(false);
    }

return(true);
}