var janelaAguardando = false;	// indica se há uma consulta em processamento
var idCidade;


onload = function criaAguarde(){

	var divAguarde = document.createElement('div');
	divAguarde.setAttribute('id','divAguarde');
	
	document.body.appendChild(divAguarde);
	divAguarde.style.position = 'absolute';
}

function listarCidades(valor, form, tipo){
	idCidade = form;		
	aguarde(1);
	if (tipo == 1){
		var url="ajax/cidades/cidades1.php?x=" + encodeURIComponent(valor) + "&acao=" + encodeURIComponent(form);
	} else {
		var url="ajax/cidades/cidades.php?x=" + encodeURIComponent(valor);
	}

	// Envia dados
	requisicaoHTTP("GET",url,true,1);
	
}

// trata a resposta do servidor
function trataDados(){
	var meuXML = ajax.responseXML;  // obtém a resposta como XML
	var raiz = meuXML.documentElement;

	limpa();
	criaOpcoes(raiz);
	aguarde(2);

}

function criaOpcoes(raiz){
	var saida = document.getElementById(idCidade);
	var op = null;

	op = document.createElement("option");
	op.appendChild(document.createTextNode(""));
	saida.appendChild(op);

	var nodos;
	if(raiz.hasChildNodes()) {
		nodos = raiz.childNodes;
		for(var i=0; i<nodos.length ; i++) {
			if(nodos[i].hasChildNodes()) {
				op = document.createElement("option");
				op.setAttribute("value",nodos[i].nodeName.replace("id",""));
				op.appendChild(document.createTextNode(nodos[i].firstChild.nodeValue));
				saida.appendChild(op);
			} else {
			}
		}
	}
}

function aguarde(acao) {
	var camadaAguarde =  document.getElementById('divAguarde');
	var camadaCidade  =  document.getElementById(idCidade);
	if (acao == 1){
		var esq = calcularDivAguarde(camadaCidade,'offsetLeft') + 4;
		var cima = calcularDivAguarde(camadaCidade,'offsetTop') + 3;
	
		camadaAguarde.style.left = esq + 'px';
		camadaAguarde.style.top = cima + 'px';
		
		camadaAguarde.innerHTML = "<font style='font-family: Tahoma, Arial, Arial, Helvetica, sans-serif; font-size: 11px;'>Carregando!!!!</font>";

		camadaCidade.disabled = "disabled";
	} else {
		var camadaAguarde =  document.getElementById('divAguarde');
		
		camadaAguarde.innerHTML = "";
		camadaCidade.disabled = "";
	}
}

function calcularDivAguarde(campo, atributo) {
	var posicao = 0;
	while(campo) {
		posicao += campo[atributo];
		campo = campo.offsetParent;
	}
	return posicao;
}
function limpa(){	
	var elemento = document.getElementById(idCidade);
	while (elemento.childNodes.length > 0){
		if(elemento != null && elemento.hasChildNodes()){
			for(var i=0; i<elemento.childNodes.length; i++){
				elemento.removeChild(elemento.firstChild);
			}
		}
		var elemento = document.getElementById(idCidade);
	}
}