/*
 Chamar esta função da seguinte forma:
 onchange="Dados(cadastro.cidade,this.value);"
 
 onde:
 -- onChange = evento da combo de estados
 -- cadastro = nome do form onde se encontram as combos
 -- cidade = nome da combo de cidades
 -- this.value = valor da combo de estados
*/ 
  function Dados(comboCidade, valor) 
	{
		if(valor != 0)
		{
			//verifica se o browser tem suporte a ajax
			try 
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(e) 
			{
				try
				{
					ajax = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(ex) 
				{
					try 
					{
						ajax = new XMLHttpRequest();
					}
					catch(exc) 
					{
						alert("Esse browser não tem recursos para uso do Ajax");
						ajax = null;
					}
				}
			}
			
			//se tiver suporte ajax
			if(ajax) 
			{
				//deixa apenas o elemento 1 no option, os outros são excluídos
				comboCidade.options.length = 1;
				 
				idOpcao = document.getElementById("cidade");
			 
				ajax.open("POST", "http://www.portalvr.com/includes/cidades.php", true);
	
				ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			 
				ajax.onreadystatechange = 
				function() 
				{
					//enquanto estiver processando...emite a msg de carregando
					if(ajax.readyState == 1) 
					{
						idOpcao.innerHTML = "Carregando...!";   
					}
					
					//após ser processado - chama função processXML que vai varrer os dados
					if(ajax.readyState == 4 ) 
					{
						if(ajax.responseXML) 
						{ 
							comboCidade.options[0] = new Option(" -- Aguarde ... -- "," -- Aguarde ... -- ")
							processXML(ajax.responseXML, comboCidade);
						}
						else 
						{
							//caso não seja um arquivo XML emite a mensagem abaixo
							idOpcao.innerHTML = "--Primeiro selecione o estado--";
						}
					}
				}
			 
				//passa o código do estado escolhido
				var params = "estado="+valor;
				ajax.send(params);			
			}
		}
		else
		{
		  //limpa options da list
		  while(comboCidade.options.length > 0)
			{
			  comboCidade.options[0] = null;
			}
			
			comboCidade.options[0] = new Option("--Primeiro selecione o estado--", "0")
		}			
  }
   
  function processXML(obj, comboCidade)
	{
    //pega a tag cidade
    var dataArray = obj.getElementsByTagName("cidade");
    
	  //total de elementos contidos na tag cidade
	  if(dataArray.length > 0) 
		{
		  //limpa options da list
		  while(comboCidade.options.length > 0)
			{
			  comboCidade.options[0] = null;
			}

      comboCidade.options[0] = new Option(" -- Selecione a cidade -- ", "0")
			
      for(var i = 0 ; i < dataArray.length ; i++) 
			{
        var itemx = dataArray[i];
			  //contéudo dos campos no arquivo XML
				var codigo = new Array();
				var descricao = new Array();
				
			  codigo[i]    =  itemx.getElementsByTagName("codigo")[0].firstChild.nodeValue;
			  descricao[i] =  itemx.getElementsByTagName("descricao")[0].firstChild.nodeValue;
				
				comboCidade.options[comboCidade.options.length] = new Option(descricao[i], codigo[i]);
			}

			comboCidade.options[0].selected = true;

	  }
	  else 
		{
	    //caso o XML volte vazio, printa a mensagem abaixo
		  idOpcao.innerHTML = "--Primeiro selecione o estado--";
	  }	  
  }
