//variaveis globais
var fila_ajax=[]; //poe as chamadas nesta array
var ifila=0; //conteudos de chamadas
var xmlhttp; //cria objeto do ajax
//Tenta criar o objeto xmlHTTP
try{
    xmlhttp = new XMLHttpRequest(); //firefox e etc...
}catch(ee){
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); //ie novo
    }catch(e){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//ie velho
        }catch(E){
            xmlhttp = false;
            alert("Imposs&iacute;vel navegar neste Browse usando AJAX");// nenhum
        }
    }
}

//Carrega via XMLHTTP  ---  usar sempre esta funcao
function ajaxHTML(id,site){ //nao sei o que e´ o href, mas funciona com e sem ele

    if(id.length>2){ //so faz se for dado um id com mais de duas letras
		if(document.getElementById(id)){  //so faz se o id dado existir
		    document.getElementById(id).innerHTML="<span class='carregando'>"+"Carregando "+id+"...</span>";

			//Adiciona Ă  fila
			fila_ajax[fila_ajax.length]=[id,site];
			//Se nĂŁo hĂˇ conexĂµes pendentes, executa
			if((ifila+1)==fila_ajax.length){
			  roda_ajax();
			}
		}
    }
    return false;
}

//Executa a prĂłxima conexĂŁo da fila
function roda_ajax(){
    var site=fila_ajax[ifila][1];
    var id=fila_ajax[ifila][0];
    var resposta;

    xmlhttp.open("GET",site,true);

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4){
            if ( xmlhttp.status == 200) { // resposta do servidor OK
                resposta=xmlhttp.responseText;//unescape(xmlhttp.responseText.replace(/\+/g," "));
                document.getElementById(id).innerHTML=resposta;
                if (resposta.match('<script type="text/javascript"')){
                    resposta = resposta.match(new RegExp('<script[^>]*>([\\S\\s]*?)<\/script>','img')).join('');
                    resposta = resposta.replace(/<\/?[^>]+>/gi, '');//limpa os scripts
                    eval(resposta);
                }
                ifila++;
                if(ifila<fila_ajax.length)setTimeout("roda_ajax()",50);

            }else {
                resposta="ERRO "+xmlhttp.status+":[" + xmlhttp.statusText +"]->["+fila_ajax[ifila][1]+"] em "+fila_ajax[ifila][0];
                document.getElementById(id).innerHTML=resposta;
                ifila++;
                if(ifila<fila_ajax.length){
                    setTimeout("roda_ajax()",50);
                }
            }
        }
    }
    //Executa
    xmlhttp.send(null);
}
