
var func;		/*variavel global para controlar qual função deve se feita depois da função loadXMLDoc(url)*/

/*==================================
FUNÇÃO QUE INICIA O PROCESSO DO AJAX
------------------------------------
Parâmetros:
url : qual a url que o objeto ira
			abrir	deve conter todas os
			parâmetros que a página irá
			receber.
		
f		:	qual função ira executar após
			a abertura do objeto xml.
			[ver funcao executaFuncao()]
==================================*/
function startAjax(url,f)
{
	func = f;
	loadXMLDoc(url);
}
/*===============================
		FIM DA FUNÇÃO startAjax()
===============================*/


/*===========================================================
FUNÇÃO PARA CRIAR A ABRIR O OBJETO XMLHttpRequest
-------------------------------------------------------------
É chamada pela function startAjax();
-------------------------------------------------------------
Browsers testados:				firefox 1.5.0.3								Ok
													IE 6.0.2800.1106							Ok
===========================================================*/
function loadXMLDoc(url){
	// Código para Mozilla, etc.
	if (window.XMLHttpRequest){
		xmlhttp=new XMLHttpRequest();
		xmlhttp.onreadystatechange=executaFuncao;
		xmlhttp.open('GET',url,true);
		xmlhttp.send(null);
	}
	// Código para IE
	else if (window.ActiveXObject){
		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
		if (xmlhttp){
			xmlhttp.onreadystatechange=executaFuncao;
			xmlhttp.open('GET',url,true);
			xmlhttp.send();
		}
	}
}
/*================================
		FIM DA FUNÇÃO loadXMLDoc()
================================*/


/*================================================================
FUNÇÃO QUE CHAMA A FUNÇÃO DESEJADA PARA A AÇÃO
------------------------------------------------------------------
É chamada pela function loadXMLDoc();
------------------------------------------------------------------
Browsers testados:				firefox 1.5.0.3								Ok
													IE 6.0.2800.1106							Ok
------------------------------------------------------------------
Verifica qual o valor da variável func e chama a função específica
================================================================*/
function executaFuncao(){
	if (func==1){
		getCidades();
	}
}
/*===================================
		FIM DA FUNÇÃO executaFuncao()		
===================================*/


/*==================================================
FUNÇÃO PARA RECUPERAR AS CIDADES DO ESTADO ESCOLHIDO
==================================================*/
function getCidades(){
/*=============================================================================
Função que recupera todas as cidades do estado escolhido
-------------------------------------------------------------------------------
Browsers testados:				firefox 1.5.0.3
													IE 6.0.2800.1106
-------------------------------------------------------------------------------
Usada na página	:	cadastro.asp
									fecharPedido.asp
-------------------------------------------------------------------------------
cód function executaFuncao() = 4 (ação 1 - cadastro.asp / campo: cidade)
cód function executaFuncao() = 5 (ação 2 - fecharPedido.asp / campo: cidadeCobranca)
cód function executaFuncao() = 6 (ação 3 - fecharPedido.asp / campo: cidadeEntrega)
-------------------------------------------------------------------------------
Faz uma consulta no banco procurando as cidades pelo id do estado escolhido.
=============================================================================*/

	var wait;
	var cidade;
	var root;
	
	cidade = document.getElementById('cidade');

	cidade.options.length = 0;						//	Apaga todos os options da combo cidade
	cidade.options[0] = new Option('Aguarde...');
	document.body.style.cursor = 'wait';	//	Troca o cursor da página para wait (ampulheta)

	if (xmlhttp.readyState==4) {
		//Pega o texto do XML e cria uma array
		root = xmlhttp.responseText
		root = root.split(',');

		//Loop nos nós filhos
		var i = 0

		cidade.options.length = 0;						//	Apaga todos os options da combo cidade
		while (i < (root.length - 1)){
			//Adiciona mais um option na combo com o valor do array
			cidade.options[cidade.options.length] = new Option(root[i],root[++i]);
			i++;
		}
		document.body.style.cursor = 'default';
	}
}
/*=================================
		FIM DA FUNÇÃO getCidades()
=================================*/

