Código:
  
Funciona en Firefox pero en IE me da error. He comprobado que lo que ocurre es que no reconoce el parámetro this.id, pero porque y cuál puede ser la solución para que funcione en IE? function añadirEvento(objeto, tipo_evento, funcion, capturar)
{
	if (objeto)
	{
		if (objeto.attachEvent)
		{
			var r= objeto.attachEvent("on"+tipo_evento, funcion);
			return r;
		}
		else if (objeto.addEventListener)
		{
			objeto.addEventListener(tipo_evento, funcion, capturar);
			return true;
		}
		else {return false;}
	}
}
function seleccionar(id)
{
	extension= document.getElementById(id).src.indexOf('png');
	archivo= document.getElementById(id).src.substring(0,extension-1); //Error en IE: Se requiere un objeto
	document.getElementById(id).src= archivo+'2.png';
}
function deseleccionar(id)
{
	extension= document.getElementById(id).src.indexOf('png');
	archivo= document.getElementById(id).src.substring(0,extension-2); //Error en IE: Se requiere un objeto
	document.getElementById(id).src= archivo+'.png';
}
var imgid= new Array('negrita', 'cursiva', 'subrayado', 'tachado', 'izquierda', 'justificado', 'olist', 'ulist', 'color', 'emoticonos');
	for (i=0; i<imgid.length; i++)
	{
		añadirEvento(document.getElementById(imgid[i]), 'mouseover', function(){seleccionar(this.id);});
		añadirEvento(document.getElementById(imgid[i]), 'mouseout', function(){deseleccionar(this.id);});
	}
 
