var isIE = false;
var req;
var URL = "http://viajeaqui.abril.com.br/g4r/xml_cidades/"

function Selecionar(evt) {
 
 evt = (evt) ? evt : ((window.event) ? window.event : null);
 if (evt) {
   var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
   if (elem) {
      try {
          if (elem.options[elem.selectedIndex].value == 0 || elem.options[elem.selectedIndex].value == "") {
             limparProdutos();
         }
          else{
          //if (elem.options[elem.selectedIndex].value == "SP") {
              UF = elem.options[elem.selectedIndex].value
			  
              CarregaDocumentoXML(URL + UF + '_cidades.xml');
//          }
//          if (elem.options[elem.selectedIndex].value == 2){
//              CarregaDocumentoXML('http://localhost/xml/cidades.xml');
          }  		                
      }
      catch(e) {
          var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Erro Desconhecido");
          alert("Erro ao acessar o documento XML:\n" + msg);
          return;
     }
  }
 }
}

function CarregaDocumentoXML(url) {    
 if (window.XMLHttpRequest) {		
    req = new XMLHttpRequest();		
    req.onreadystatechange = processar;		
    req.open("GET", url, true);		
    req.send(null);    
 } else if (window.ActiveXObject) {
    isIE = true;		
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {			
       req.onreadystatechange = processar;			
	   req.open("GET", url, true);			
       req.send();
    }
 }
}

function xmlMicoxLoader(url){
  //by Micox: micoxjcg@yahoo.com.br.
    if(window.XMLHttpRequest){
        var Loader = new XMLHttpRequest();
        Loader.open("GET", url ,false);
        Loader.send(null);
        return Loader.responseXML;
    }else if(window.ActiveXObject){
        var Loader = new ActiveXObject("Msxml2.DOMDocument.3.0");
        Loader.async = false;
        Loader.load(url);
        return Loader;
    }
}

function processar() {    
 if (req.readyState == 4) {        
    if (req.status == 200) {
       limparProdutos();
       carregarProdutos();
    }else {
       alert("Erro ao acessar o documento XML:\n" + req.statusText + req.status);
    }
 }
}

function getElementTextNS(prefix, local, parentElem, index) {
 var result = "";
 if (prefix && isIE) {        
     result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
 } else {        
     result = parentElem.getElementsByTagName(local)[index];
 }
 if (result) {
     if (result.childNodes.length > 1) {
         return result.childNodes[1].nodeValue;
     } else {
         return result.firstChild.nodeValue;    		
     }
 } else {
     return "n/a";
 }
}

function limparProdutos() {
 var select = document.getElementById("cidade");
 while (select.length > 1) {
        select.remove(1);
    }
}

function InserirProduto(select, value, content) {
 var opt;
 opt = document.createElement("option");
 opt.value = value;
 opt.appendChild(content);
 select.appendChild(opt);
}

function carregarProdutos() {
    var select = document.getElementById("cidade");
 var items = req.responseXML.getElementsByTagName("cidade");	
 for (var i = 0; i < items.length; i++) {
     id = getElementTextNS("", "nome_cidade", items[i], 0);
      descr = getElementTextNS("", "nome_cidade", items[i], 0);
      InserirProduto(select, id, document.createTextNode(descr));
 }
}

