Retorno AJAX/JSON --> Tabela Dinâmica (CONSEGUI RESOLVER)

Amigos, com ajuda de um colega aqui do Forum (edson) se não me engano consegui resolver este grande problema aqui :

Precisava mostrar uma tabela com registros e image button, tá certinho.

Notei que no IE demora 10 vezes + que no FF mas fazer o quê né ?!?!?

Segue na Integra o código :

var req;
var navegador;
var fonte;
	 
function buscaFuncoes(acao,table){
    var tab = document.getElementById(table);
    fonte = acao;
    navegador="ff";
	if (tab.rows.length==0){
 		try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			navegador="ms";
		}catch(e){
			try{
				req = new ActiveXObject("Msxm12.XMLHTTP");
			}catch(ex){
				try{
					req = new XMLHttpRequest();
				}catch(exc){
					alert("Esse Browser não tem recursos para uso de AJAX");
					req = null;
				}
			}
		}
	 	escondeDivs();  
		document.getElementById('botoes').style.display="none";
		document.getElementById('aguarde').style.display="inline";
		var url = ("SocioSLAjax?acao="+acao);
		req.open("GET",url,true);
		req.onreadystatechange = mostraFuncoes;
		req.send(null);
	}else {
	 	escondeDivs();  
		document.getElementById('botoes').style.display="none";
		document.getElementById('aguarde').style.display="none";
		document.getElementById('divFuncoes').style.display="inline";
	}	
}	 

// ****************************

function mostraFuncoes(){
	if (req.readyState == 4){
		if (req.status == 200){
			preencheFuncoes(req);
			if (req.responseText=="Erro"){
				alert(req.responseText);
			}
		}
	}
}

// **********************

function preencheFuncoes(req){
	jsonData = req.responseText;
   	var tabela = document.getElementById("tbFuncoes");
    var tbody = document.createElement("TBODY");
   	
	var descricao;
	var codigo;
			
	var myJSONObject = eval('(' + jsonData + ')');

	var qtde = myJSONObject.funcoes.length;

	for (i=0;i<qtde;i++){
    	var row = document.createElement("tr");
    	if (i % 2 == 0){
		    row.style.backgroundColor="#F0F0F0";
	    }else{
		    row.style.backgroundColor="#dddddd";
		}
		row.style.textAlign="left";
		
		var td1 = document.createElement("td");
		var td2 = document.createElement("td");
		td2.align="center";

		if (i!=0){
			descricao = myJSONObject.funcoes[i].descricao;
			codigo = myJSONObject.funcoes[i].codigo;
			
			td1.appendChild(document.createTextNode(descricao));		
					
			var link1 = document.createElement("a"); //Crio Link 
			var img = document.createElement("img"); //Crio Imagem
			img.setAttribute("src","/Sindieletro/images/view16.gif");
			img.setAttribute("border",0);
			link1.href = 'javascript:getFun('+ codigo + ',"'+ descricao + '")';
			link1.appendChild(img); //coloco imagem dentro do Link
			td2.appendChild(link1);			
		}else{
			td1.appendChild(document.createTextNode('Descrição'));
			td2.appendChild(document.createTextNode('Escolher'));
		}		
		row.appendChild(td1);
		row.appendChild(td2);
		if (navegador == 'ff'){
			tabela.appendChild(row);
		}else{
			tbody.appendChild(row);		
			tabela.appendChild(tbody);
		}		
	}
	document.getElementById('divFuncoes').appendChild(tabela);
	document.getElementById('aguarde').style.display="none";
	document.getElementById('divFuncoes').style.display="inline";
}

// *******************

function getFun(cod,desc){
	document.getElementById('divFuncoes').style.display="none";
	document.getElementById('dadosPrincipais').style.display="inline";
	document.getElementsByName('funcaoSoc').value=cod;
	document.getElementById('descFuncao').value=desc;
}
//***************************

Se por acaso precisarem no futuro tá ae

Vimieiro