O IE não possui o método hasAttribute, mas fornece getAttribute, que exige que você faça isso sozinho, para que hasAttribute seja assumido na
função FF/IE hasAttribute(elm, attribute){
return elm.getAttribute(atributo) != null;
}
O método padrão de Array em Javascript não fornece o método indexOf, então você mesmo pode adicioná-lo.
Aliás: é muito legal usar protótipo para hackear Javascript
if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
eu || (eu = 0);
var comprimento = este.comprimento;
se (i < 0) i = comprimento + i;
para (; i < comprimento; i++)
if (este[i] === item) return i;
retornar -1;
};