Io ho il seguente codice:

...

function countdown(sec){
var second = sec - 1;
if (second == 4){
document.write("<p align=center><font size=4>
ATTENZIONE: stai per essere reindirizzato su
http://www.miosito.com </font></p>");
}

if (second > 0){
var id = setTimeout("countdown(second)",1000);
//countdown(second);
}
else{
window.opener.location.href='http://www.miosito.com/';
window.close();
}

}

var sec=5;
</script>

</head>

<body onLoad="countdown(sec)">
...

perché setTimeout mi blocca l'esecuzione del programma e non mi richiama ricorsivamente la funzione?