var req;
var nomeObj;

// url: endereco para processar, com ou sem variaveis
// nome: nome do div q vai receber o retorno
// divId: nome do objeto que será criado com o retorno. ex: select name=divId.value >

function loadXMLDoc(url, divId, nome) {
	req = null;
	nomeObj = divId;
	
	if (nomeObj != 'null'){
		document.getElementById(nomeObj).innerHTML = "<img src='img/estrutura/loading2.gif' border='0' />";
	}
// Procura por um objeto nativo (Mozilla/Safari)
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
	    req.onreadystatechange =  processReqChange;
		if (nome != 'null'){
			req.open("GET", url+'&nome='+nome, true);
			
		}
		else{
			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+'&nome='+nome, true);
			req.send();
        }
    }
}

function processReqChange() {
// apenas quando o estado for "completado"
    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
			if (nomeObj != 'null')
	            document.getElementById(nomeObj).innerHTML = unescape(req.responseText.replace(/\+/g," "));
        } else {
			alert(req.status);
            alert("Houve um problema ao obter os dados:\n" + req.statusText);
        }
    }
}