var req;
var objetoHtml;
var fila = [];
var indice = 0;

function loadXMLDoc(url,campo) {
    req = null;
	objetoHtml = campo;
    // Procura por um objeto nativo (Mozilla/Safari)
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // Procura por uma versao ActiveX (IE)
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() {
    // apenas quando a busca for finalizada
    if (req.readyState == 4) {
        // apenas se o servidor retornar "OK"
        if (req.status == 200) {
            // procura pela div id="atualiza" e insere o conteudo
            // retornado nela, como texto HTML
			document.getElementById(objetoHtml).innerHTML = req.responseText;
			indice++;
			eval(fila[indice]);
        } else {
            alert("Houve um problema ao obter os dados:\n" + req.statusText);
        }
    }
}

function atualiza(url,campo) {
    //Adiciona a fila
    fila[fila.length]="loadXMLDoc('"+url+"','"+campo+"');";
	//Se nao ha conexoes pendentes, executa
    if((indice+1)==fila.length) {
		eval(fila[indice]);
	}		
}
