Ciao,
devo realizzare un programma che, inserita una data futura, calcoli la distanza in formato gg/mm/aaaa tra la data odierna e quella futura.

Il primo problema che ho riscontrato è che non mi appare niente sullo schermo, neanche degli alert. Il secondo è che non sono sicuro della correttezza di alcune operazioni come
codice:
 dgiorno=day+(ngiorni[mese-1]-giorno);
Vi posto il codice intero.

codice:
<html>
<head>
</head>
<body>
 <script language="javascript">
  var danno, dmese, dgiorno, day, month, year, anno, mese, giorno;
  anno= data.getYear();
  mese = data.getMonth();
  giorno = data.getDay();
  day=prompt("Inserisci il giorno");
  month=prompt("Inserisci il mese");
  year=prompt("Inserisci l'anno");
  ngiorni= new Array();
  ngiorni[0]=31; //Gennaio
  ngiorni[1]=28; //Febbraio non bisestile
  ngiorni[2]=31; //Marzo
  ngiorni[3]=30; //Aprile
  ngiorni[4]=31; //Maggio
  ngiorni[5]=30; //Giugno
  ngiorni[6]=31; //Luglio
  ngiorni[7]=31; //Agosto
  ngiorni[8]=30; //Settembre
  ngiorni[9]=31; //Ottobre
  ngiorni[10]=30; //Novembre
  ngiorni[11]=31; //Dicembre
  if((anno % 400 == 0) || (anno % 100 != 0 && anno % 4 == 0))
   ngiorni[1]=29; //Febbraio bisestile
  
  if (((month1 > 12) || (month1 < 1)) || ((month2 > 12) || (month2 < 1))) //Controllo sui mesi
   month=prompt("Il mese inserito e' inesistente. Reinseriscilo. ");
  if (((day > 31) || (day < 1)) && ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))) //Controllo mesi con 31 giorni
   day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. ");
  if (((day > 30) || (day < 1)) && ((month == 4) || (month == 6) || (month == 9) || (month == 11))) //Controllo mesi con 30 giorni
   day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. ");
  if (((day > 29) || (day < 1)) && (month == 2)) //Controllo Febbraio non bisestile
   day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. ");
  if (((day > 28) || (day < 1))  && ((month == 2) && ((((year % 4) != 0) || (((year % 100) == 0) && ((year % 400) != 0)))))) //Controllo Febbraio bisestile
   day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. ");
  //danno
  if((month==mese)&&(day>=giorno)|| (month>mese))
   danno=year-anno;
  else
   danno=(year-anno)-1;
  //dmese
  if((month>=mese)&&(day>=giorno))
   dmese=month-mese;
  else
  {
   if((month>mese)&&(day<giorno))
    dmese=(month-mese)-1;
   else
   {
    if((month<mese)&&(day>=anno))
     dmese=(month+12)-mese;
    else
     dmese=(((month+12)-mese)-1);
   }
  }
  //dgiorno
  if(day>=giorno)
   dgiorno=day-giorno;
  else
   dgiorno=day+(ngiorni[mese-1]-giorno);
  document.write("La distanza tra le due date e':" +dgiorno+ "giorni " +dmese "mesi" +danno+ "anni");
 </script>
</body>
</html>
Ciao e grazie mille in anticipo.