Buenas, esta es la primera vez que posteo en el foro aunke soy ha sidua para solucionar mis dudas

Weno aki esta mi problema.

Estoy haciendo una página donde muestro una serie de <td> dinámicamente, el número de elementos a mostrar depende de lo que me devuelve un método java (devuelve un vector).
Cada td de la tabla tiene una imagen y varios textos, mi problema viene al querer cambiar la imagen al ser pulsada mediente el evento onclick, este llama a una función javascript para que haga el cambio. Este método me funciona perfectamente en firefox pero no en ie

En un principio había incluido el evento onclick sobre la imagen, funcionando en firefox pero no en ie, leí por ahí q esto no lo entendia ie y cambié de lugar onclick incluyendo un <a hre="#">
Está es el codigó de donde obtengo el elemento y la structura del td
ConsultaBean consulta = iterador.next();
out.println("<td class='btn' align='center'><a href='#' id="+consulta.getIdInforme()+" onclick='cambiar(this.id>);'><img id='img"+consulta.getIdInforme()+"' name='img"+consulta.getIdInforme()+"' src='./images/checkboxes.png' border='0' alt='Descargar informe'></a></td>");
He probado también a pasarle al evento

cambiar(<%=consulta.getIdInforme() %>)
cambiar(<%=consulta.getIdInforme(); %>)
cambiar(+consulta.getIdInforme()+)
Y la función javascript, le he puesto una traza para ver q me devuelve
function cambiar(ide)
{
var informe="informar" + ide;
var imgcambiar="img" + ide;
window.alert(document.getElementById(imgcambiar).s rc); Esto no devuelve nada
window.alert(document.getElementById(imgcambiar)); Esto devuelve [object]
if(document.getElementById(informe).value == 'true')
{
if ((marcado==0)){
window.alert("marcadoAntes "+ document.getElementById(imgcambiar).src); Esto devuelve marcadoantes undefined
document.getElementById(imgcambiar).src = imagen2.src;
//document.getElementById(ide).src="./images/checkbox_marcado.png";
window.alert(imgcambiar);
window.alert("marcadoDespues "+ document.getElementById(imgcambiar).src); Esto devuelve marcadodespues con la ruta correcta
marcado=1;
//identifica el estudio a sacar
document.getElementById('seleccion').value=documen t.getElementById(ide).name;
numsel=document.getElementById(ide).name;
}else if ((marcado==1)){
if (numsel!=ide){
window.alert("Ya hay un elemento seleccionado");
} else {
document.getElementById(ide).src=imagen1.src;
marcado=0;
numsel=-1;
}
}
}else{
window.alert("El estudio no está disponible");
}
}
También lei que se debe de hacer una precarga de las imagenes a mostrar estas las tengo inmediatamente despues de :
<script language="javascript">
imagen1 = new Image()
imagen1.src = "./images/checkboxes.png"
imagen2 = new Image()
imagen2.src = "./images/checkbox_marcado.png"

Agradezco de antemano cualquier ayuda q me ofrezcais.