IE Não formata campo moeda...[resolvido]

Galera mais um vez esse problema de browsers ,agora o problema é que no ie ele não quer formatar,usei a mesma formala passado por um amigo do guj,mesmo assim não funfou alguma sugestão ou algo que fiz errado.

function maskIt(component, event, mascara) {
	// Cancela se o evento for Backspace
	var e = window.event;
	if (e.which){
		code = e.which;
	}else{ 
		code = e.keyCode;
	}
	// Variaveis da função
	var txt = component.value.replace(/[^\d]+/gi, '').reverse();
	var mask = mascara.reverse();
	var ret = "";
	txt = removeLastZeros(txt);
	// Loop na mascara para aplicar os caracteres
	for ( var x = 0, y = 0, z = mask.length; x < z && y < txt.length;) {
		if (mask.charAt(x) != '#' && mask.charAt(x) != '9') {
			ret += mask.charAt(x);
			x++;
		} else {
			ret += txt.charAt(y);
			y++;
			x++;
		}
	}
	component.value = ret.reverse();
	addZero(component);
}

function validaTeclado(component, evt, mascara,e) {
	var charCode = null;

	if (e.which) {  
		charCode = e.which;  
	} else {  
		charCode = e.keyCode;  
	}

	//se for backspace sempre permite a ação do botão
	if(charCode == 8) {
		return true;
	}
	//Verifica se o valor do caractere nao corresponde a um numero
	//Caso nao corresponda retorna false
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	//verifica o tamanho do campo com a mascara
	//primeiro remove os caracteres especiais da mascara (fica apenas
	//o 9 e o #
	var maskClear = mascara.replace(/[^#9]+/gi, '');
	var txt = component.value.replace(/[^\d]+/gi, '');
	if(txt.length >= maskClear.length) {
		return false;
	}
	//caso não haja problema, aceita
	return true;
}

<td><input type="text" id="rendaMensal" name="rendaMensal" class="tamanhoMedioTexto" onkeypress="return validaTeclado(this, event, '99.999.999,99')" onchange="maskIt(this, event, '99999.999,99')" onfocus="setFieldPosition(this)" maxlength="13" value="${rendaMensal}"></td>