Lo 1º ¿ Para que necesitas pasarle 2 parametros a la funcion Fechas , si no los usas para condicionar el valor de nada ...
Prueba con esto, por lo que veo f y p deben de ser de tipo date (fecha):
var f = new Date(document.form.datefield.value);
var p = new Date(document.miForm.periodo.value);
Lo que no entiendo es que si f y p son del tipo date lo comparas con un String en if (p=="Mensual") ¿ No será Mensual otra variable de tipo Date o de tipo string ?
Si es date contra string:if (p.getMonth()==Mensual) {...}
y si es date contra date: if (p.getMonth()==Mensual.getMonth()){...}
...
Oye eso de genial ayuda suena o a peloteo o a sarcasmo ...