var req;

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

// Processa requisicao
function processReqPadrao(passoUm, passoDois) {
	//controle dos divs
	document.getElementById(passoUm).style.display = "none";
	document.getElementById(passoDois).style.display = "block";

	//carregando
	if (req.readyState == 1) {
		document.getElementById(passoDois).innerHTML = "<div style=\"margin-top:10px;\"><img src=\"tela/ajax_loading.gif\" border=\"0\" alt=\"Aguarde...\" style=\"vertical-align:middle;\" /> Carregando informações... Aguarde um instante!</div>";
	}

    //apenas quando o estado for "completado"
    if (req.readyState == 4) {
        //apenas se o servidor retornar "OK"
        if (req.status == 200) {
            document.getElementById(passoDois).innerHTML = req.responseText;
        } else {
            alert("Houve um problema ao obter os dados:\n" + req.statusText);
			document.getElementById(passoUm).style.display = "block";
			document.getElementById(passoDois).style.display = "none";
        }
    }
}

// Cesta
function processReqCesta() {
	processReqPadrao("cestaComprasTipoFrete", "cestaComprasFrete");
}

// Frete
function processReqFrete() {
	processReqPadrao("cestaComprasFrete", "cestaComprasTipoFrete");
}

// Forma de pagamento
function processReqPgto() {
	processReqPadrao("cestaFormasPgto", "cestaFinaliza");
}
