Va be' lasciamo perdrere ....

ma rimetti 1000!!!!

Poi vediamo di analizzare questo codice:
codice:
  today = new Date(); // giorno ed ora corrente
  start = new Date(today.getYear(),00,01); // ore 00:00 del 1.gennaio anno corrente
  giorno_settimana = (today.getDay());
  giorno_anno = Math.floor((today.getTime() -start.getTime()) / (1000 * 60 * 60 * 24) );
  alert ("giorno anno: "+giorno_anno);
  giorno_mese = today.getDate();
  numero_mese = today.getMonth()+1;
Tutto il resto del codice non serve.

Nota che ho trasformato tutte le divisioni in una sola (le moltiplicazioni sono piu` precise); ho inserito un Math.floor; ed ho aggiunto un alert, per vedere cosa succede dopo la divisione.

Prova il tutto a diverse ore del giorno.

Ma attento che l'orologio del sistema sia corretto: se e` settata sbaglaita la timezone, il conto puo` sballare.