tu problema es en la linea #13
Código:
document.write(horas+":"+minutos+":"+segundos);
document.write crea un nuevo documento asi perdiendo todo lo que tenia anteriormente, incluido el codigo javascript. tu solucion es utilizar cualquier otro metodo excepto
write. por ejemplo, podrias usar
innerHTML aunque no es una propiedad estandar, o podrias modificar un textnode. en todo caso, para ambos necesitas un elemento, en este ejemplo voy a usar el body.
Código:
// cambia la linea #13 por
document.body.innerHTML = horas+":"+minutos+":"+segundos;
// y la linea #17 por
onload = reloj;