//Tenta criar o objeto xmlHTTP

try{

    xmlhttp = new XMLHttpRequest();

}catch(ee){

    try{

        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

    }catch(e){

        try{

            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

        }catch(E){

            xmlhttp = false;

        }

    }

}



//Fila de conexões

fila=[]

ifila=0



//Carrega via XMLHTTP a url recebida e coloca seu valor

//no objeto com o id recebido
    // url_encode version 1.0  
    function url_encode(str) {  
        var hex_chars = "0123456789ABCDEF";  
        var noEncode = /^([a-zA-Z0-9\_\-\.])$/;  
        var n, strCode, hex1, hex2, strEncode = "";  

        for(n = 0; n < str.length; n++) {  
            if (noEncode.test(str.charAt(n))) {  
                strEncode += str.charAt(n);  
            } else {  
                strCode = str.charCodeAt(n);  
                hex1 = hex_chars.charAt(Math.floor(strCode / 16));  
                hex2 = hex_chars.charAt(strCode % 16);  
                strEncode += "%" + (hex1 + hex2);  
            }  
        }  
        return strEncode;  
    }  

    // url_decode version 1.0  
    function url_decode(str) {  
        var n, strCode, strDecode = "";  

        for (n = 0; n < str.length; n++) {  
            if (str.charAt(n) == "%") {  
                strCode = str.charAt(n + 1) + str.charAt(n + 2);  
                strDecode += String.fromCharCode(parseInt(strCode, 16));  
                n += 2;  
            } else {  
                strDecode += str.charAt(n);  
            }  
        }  

        return strDecode;  
    }


function ajaxHTML(id,url){

    //Carregando...



    document.getElementById(id).innerHTML="<span class='campotexto'>"+

                                          "Carregando...</span>"

    //Adiciona à fila

    fila[fila.length]=[id,url]

    //Se não há conexões pendentes, executa

    if((ifila+1)==fila.length)ajaxRun()

}



//Executa a próxima conexão da fila

function ajaxRun(){

    //Abre a conexão

    xmlhttp.open("GET",fila[ifila][1],true);

    //Função para tratamento do retorno
   	//xmlhttp.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
    xmlhttp.onreadystatechange=function() {

        if (xmlhttp.readyState==4){

            //Mostra o HTML recebido

            retorno=unescape(xmlhttp.responseText.replace(/\+/g," "));
			//retorno = url_encode(retorno);
			//retorno = url_decode(retorno);
            document.getElementById(fila[ifila][0]).innerHTML= retorno

            //Roda o próximo

            ifila++

            if(ifila<fila.length)setTimeout("ajaxRun()",20)

        }

    }

    //Executa

    xmlhttp.send(null)

}



