Vale ya lo consegui, lo unico que hice fue poner el script al final, fuera de body. Pensé un poco para variar y deduje que si lo pongo al principio (como lo tenia antes) al hacer
"var input=document.forms['frm'].elements['fecha'];" esta buscando el formulario frm y no lo encuentra, logicamente porque aun no estaba declarado.
Crei que no lo iba a conseguir nunca

Muchas gracias a todos por la ayuda de verdad!!!!!