Prueba con esto:
Código:
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
function cambioEstado(orig) {
fields= document.formulario.getElementsByTagName('fieldset');
for (i=0; i<fields.length; i++) {
cont= fields[i].childNodes;
for(j=0; j<cont.length; j++) {
if(cont[j].nodeName=='IMG') {
cont[j].src= (orig.id==fields[i].id)?'../img/cal.gif':'../img/cal2.gif';
} else if (cont[j].nodeName=='INPUT') {
if(cont[j].type=='text') {
cont[j].value='';
cont[j].disabled= (orig.id==fields[i].id)?'':'disabled';
} else if (cont[j].type=='radio') {
cont[j].checked= (orig.id==fields[i].id)?'checked':'';
}
}
}
}
}
/* Agrega la llamada a al inicio de la función NewCal */
function NewCal(nam, formt, pepe) {
cambioEstado(pepe); // esto
// Demás contenido...
}
//-->
</script>
</head>
<body>
<form name="formulario">
<fieldset id="field1">
<input name="tipofecha" id="rbuno" value="1" type="radio" checked="checked"
onClick="cambioEstado(this.parentNode)" />
<label for="rbuno">Día concreto...</label> <br />
<input name="fecha1" type="text" />
<img src="../img/cal.gif" onclick="NewCal('fecha1', 'ddmmyyyy', this.parentNode)" />
</fieldset>
<fieldset id="field2">
<input name="tipofecha" id="rbdos" value="2" type="radio"
onClick="cambioEstado(this.parentNode)" />
<label for="rbdos">Posterior a...</label> <br />
<input name="fecha2" type="text" disabled="disabled" />
<img src="../img/cal2.gif" onclick="NewCal('fecha2', 'ddmmyyyy', this.parentNode)" />
</fieldset>
<fieldset id="field3">
<input name="tipofecha" id="rbtres" value="3" type="radio"
onClick="cambioEstado(this.parentNode)" />
<label for="rbtres">Anterior a...</label> <br />
<input name="fecha3" type="text" disabled="disabled" />
<img src="../img/cal2.gif" onclick="NewCal('fecha3', 'ddmmyyyy', this.parentNode)" />
</fieldset>
<fieldset id="field4">
<input name="tipofecha" id="rbcuatro" value="4" type="radio"
onClick="cambioEstado(this.parentNode)" />
<label for="rbcuatro">Entre...</label> <br />
<input name="fecha4" type="text" disabled="disabled" />
<img src="../img/cal2.gif" onclick="NewCal('fecha4', 'ddmmyyyy', this.parentNode)" />
y...
<input name="fecha5" type="text" disabled="disabled" />
<img src="../img/cal2.gif" onclick="NewCal('fecha5', 'ddmmyyyy', this.parentNode)" />
</fieldset>
</form>
</body>
</html>
... era muy lioso tu código, opté por crear una nueva función JS junto con algunas modificaciones en el HTML, de las importantes:
- una "limpieza"

- agregué un <fieldset> para agrupar los elementos que incumben en opción, gracias a eso se simplifica el JS
- eliminé el enlace en la imágen... agregué un nuevo parámetro a la función NewCal() (ojo con eso, ve los comentarios)
Aun se puede simplificar más... peguntaré cómo evitar escribir el ''onClick" a cada rato

, es algo que desde hace tiempo me pregunto...
Espero te sirva. Suerte!
PD:
Pregunta: a tu función NewCal(), ¿qué parámetros le estás pasando?, ¿el "fechaX" es el id ó el name del textbox?