Ciao a tutti!!! Ritorno al forum... per un problema! (ringrazio in anticipo chi si cimenterà nella risposta...)

Ecco il dilemma: stavo provando a fare un semplice conto alla rovescia in JavaScript, di quelli che scrivono 10...9...8...7 eccetera in successione. Ho quindi riscontrato un problema e penso sia legato alla funzione self.setTimeout('blabla', 1000); che serve a dare una pausa al browser: infatti il problema è che scrive prima 10 e poi direttamente 0, come se gli altri numeri apparissero per un lasso di tempo talmente breve da non poter essere visti, infatti se provo a mettere un document.alert(start); mostra 10 alert consecutivi. Come avrete visto le idee sono confuse: sapete voi come risolvere?
Codice HTML:
<html>
<head>
<title>Conto alla rovescia</title>
<script language="javascript">
<!--
	function conto ( start ) {
		document.getElementById("c_rovescia").innerHTML = start;
		var tot = start;
		for (i = 1; i <= tot; i++) {
			start = Math.abs(i-tot);
			self.setTimeout('document.getElementById("c_rovescia").innerHTML = '+start+';', 1000);
		}
	}
//-->
</script>
</head>
<body onLoad="conto(10);">
<div id="c_rovescia">
</div>
</body>
</html>
PS: Sono perfettamente cosciente del fatto che con le vecchie versioni di Internet Explorer non funziona, ma per ora mi serve solo sapere come fare una pausa che vada bene...