ciao ragazzi... volevo sapere come mai questo countdown non andasse... premetto non sono un geniaccio degli script perciò non riesco a capire cosa non vada... c'entra con il redirect finale perchè quando arriva a 0 mi da errore...

codice:
<span id=time></span>
<script type="text/javascript">
function update() {
	var now = new Date();
	var event = new Date("Mar 21 2006 21:00:00");
	var seconds = Math.floor((event - now) / 1000);
	if(seconds < 0) {
		document.getElementById('diff').innerHTML = 'accesso in corso';
		setTimeout("window.location.reload(true);", 1000);
		return;
	}
	var minutes = Math.floor(seconds / 60);
	var hours = Math.floor(minutes / 60);
	var days = Math.floor(hours / 24);
	hours -= (days * 24);
	minutes -=(days * 24 * 60) + (hours * 60);
	seconds -=(days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60);
	var diff =(days>0?(days + (days==1?' giorno':' giorni')):'') + 
		(hours>0?((((seconds==0)&&(minutes==0)&&(days!=0))?' e ':(days!=0?', ':'')) + hours + (hours==1?' ora':' ore')):'') + 
		(minutes>0?(((seconds==0)&&((days!=0)||(hours!=0))?' e ':((days!=0)||(hours!=0)?', ':'')) + minutes + (minutes==1?' minuto':' minuti')):'') + 
		(seconds>0?((((days!=0)||(hours!=0)||(minutes!=0))?' e ':'') + seconds + (seconds==1?' secondo':' secondi')):'') + '...';
	document.getElementById('time').innerHTML = diff;
	setTimeout("update();", 1000);
}

update();
</script>