var objHttp = null;

var mozilla;
if (window.XMLHttpRequest){
	mozilla = true;
}else{
	mozilla = false;
}

function getXML(){
	var xmlhttp = null;
	try{
		xmlhttp = new XMLHttpRequest();
	}catch(ee){
		try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(E){
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}

/**************************************************************************************************************/
/**************************************************************************************************************/
/**************************************************************************************************************/


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();
*/
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();
* Verifica qual o valor da variável func e chama a função específica
*/
function executaFuncao(){
	if (func == -1) {
	  // não tem tratamento
	} else if	(func == 0){
		getCidades();
	}	
}
/* FIM DA FUNÇÃO executaFuncao() */


/****************************************************************************************
* FUNÇÃO PARA RECUPERAR AS CIDADES DO ESTADO ESCOLHIDO
* -------------------------------------------------------------------------------
* Função que recupera todas as cidades do estado escolhido
* -------------------------------------------------------------------------------
* Faz uma consulta no banco procurando as cidades pelo id do estado escolhido.
*/

function getCidades() {
  var xmlCidade;
  var spnidCidade = document.getElementById('spnidCidade');
  spnidCidade.innerHTML = 'Aguarde...';
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
      xmlCidade = xmlhttp.responseXML.documentElement;
			var idCidade 		= xmlCidade.getElementsByTagName('idCidade');
			var idCidadeSelecionada = xmlCidade.getElementsByTagName('idCidadeSelecionada');
			var nomeCidade 	= xmlCidade.getElementsByTagName('nomeCidade');
			
			var sinnerHTML 	= "<select id=\"idCidade\" class=\"selectFirefox\" style=\"width: 156px;\" onChange=\"document.frmRepresentante.idCidadeAux.value = this.value;\">";
			sinnerHTML += "<option class=\"verdana10VerdeEscuro\" value=\"0\">SELECIONE</option>";
			for (var i=0; i<idCidade.length; i++) {
				if (idCidadeSelecionada.item(0).attributes.getNamedItem('value').value==idCidade.item(i).attributes.getNamedItem('value').value) {
 				  sinnerHTML += "<option value=\"" + idCidade.item(i).attributes.getNamedItem('value').value +"\" selected>"+
				    nomeCidade.item(i).attributes.getNamedItem('value').value +"</option>";
				}
				else {
 				  sinnerHTML += "<option value=\"" + idCidade.item(i).attributes.getNamedItem('value').value +"\">"+
				    nomeCidade.item(i).attributes.getNamedItem('value').value +"</option>";
				}
		  }
		  sinnerHTML += "</select>";
		  spnidCidade.innerHTML = sinnerHTML;
    }
  }
}
