Non c'è la funzione sleep, ma puoi simularla con poche modifiche al tuo script:
Codice HTML:
<html>
<head>
<title>photogallery</title>
<SCRIPT TYPE="text/javascript">
// le immagini sono sempre le stesse, per cui meglio che stiano fuori dalla funzione...
var immagini = new Array();
immagini[0]=img/al.jpg;
immagini[1]=img/basten.jpg;
immagini[2]=img/calaio.jpg;
immagini[3]=img/kaka.jpg;
immagini[4]=img/matrix.jpg;
function mostrafoto(){
indice x = Math.random() * 4;
var img= immagine[x];
document.foto.src="img";
setTimeout ("mostrafoto()",2000);
} </SCRIPT>
</head>
<body onload="mostrafoto()">
<div><IMG name="foto" src="img/10.jpg"></div>
</body>
</html>
Il secondo parametro di setTimeout è il tempo in millisecondi su cui imposti il ritardo di esecuzione (o, in questo caso, la ripetizione) della funzione (qui sopra è 2000 ms = 2 secondi).
Stammi bene...