Un truco para acortar tanto código es:
var dias="Domingo Lunes Martes Miercoles ..."
dias = dias.split(" ")
Y así en todas, ahorras mucho código y dias pasa a ser de forma automática un array.
Para hacer que se produzcan los cambios de fecha en la página tienes varias formas dependiendo de dónde vas a mostrar el reloj: en el título, en la barra de estado, en un botón, en un cuadro de texto o en un div. El más vistoso es con el div pero pás difícil de programar (cambia para IE y NS). Sólo deberás hacer una función recursiva con control de tiempo que escriba una y otra vez en el lugar donde pondrás el reloj. para ello utiliza setTimeout("función",tiempo en ms).
Para escribir el div detecta antes el navegador:
ie(document.all)? true:false
ns(document.layers)?true:false
supongamos que la función recursiva aplica a la variable "fechaActual" la cadena necesaria (en html) que contendrá la información de ese momento. Para escribir en el div:
//Supongo que el div de llama RelojCal
if(ie){
RelojCal.innerHTML=fechaActual
}
if(ns){
RC=document.RelojCal.document
RC.open()
RC.write(fechaActual)
RC.close()
}
Todo esto dentro de tu función recursiva para que cambie cada cierto tiempo (p.ej. cada segundo caso de un reloj)