function enviarFormulario(frm){
	if (frm.cidade_origem.value.length < 3) {
		alert('Informe a cidade de origem.');
		return false;
	}
	if (frm.cidade_destino.value.length < 3) {
		alert('Informe a cidade de destino.');
		return false;
	}	

	frm.cidade_origem.value = limpaAcentuacao(frm.cidade_origem.value);
	frm.cidade_destino.value = limpaAcentuacao(frm.cidade_destino.value);

	
	frm.cidade.value = limpaAcentuacao(frm.cidade.value);
	frm.ruaEnd.value = limpaAcentuacao(frm.ruaEnd.value);
	


}
function limpaAcentuacao(palavra) {
	ac = 'áäâàãéëêèíïîìóöôòõúüûùçñýÿÁÄÂÀÃÉËÊÈÍÏÎÌÓÖÔÒÕÚÜÛÙÇÑÝ,';
	dc = 'aaaaaeeeeiiiiooooouuuucnyyAAAAAEEEEIIIIOOOOOUUUUCNY ';
	for (i = 0; i < ac.length; i++)	
		palavra = palavra.replace(ac.charAt(i), dc.charAt(i)).toLowerCase();
		return palavra;
}
function replace(string,text,by) {
    var i = string.indexOf(text), newstr = '';
    if ((!i) || (i == -1))
        return string;
    newstr += string.substring(0,i) + by;
    if (i+text.length < string.length)
        newstr += replace(string.substring(i+text.length,string.length),text,by);
    return newstr;
}
function isNumeric(str){
  var len= str.length;
  if (len==0)
  return false;
  var p=0;
  var ok= true;
  var ch= "";
  while (ok && p<len)
  {
    ch= str.charAt(p);
    if ('0'<=ch && ch<='9' || ch==".")
      p++;
    else
      ok= false;
  }
  return ok;
}

function campoOrigem(){
	if(typeof nome_loc == "undefined") {
	document.write("<input type='text' value='' name='cidade_origem' class='inputaGuia'/>")
	}else{
	document.write("<input type='text' value='" + nome_loc + "' name='cidade_origem' class='inputaGuia'/>")
	}
}

function gotoUrl(url){document.location=url;}
function clearform(which){
if (which.value=="Digite o seu destino" || which.value=="Digite aqui a origem" || which.value=="Digite aqui o destino")
which.value=''
}

function MapLink(targ,selObj,restore){ //v3.0
  LinksPopUpMapLink(selObj.options[selObj.selectedIndex].value);
  if (restore) selObj.selectedIndex=0;
}

function $(id) {return document.getElementById(id);}
function buscarEndereco() {
	if ($('ruaEnd').value.length < 3) {
		alert('- O endere?o deve ter no m?nimo 3 caracteres.');
		return false;
	}
	//$('op').value = 'address';
	document.formPesquisa.action = 'http://mapas.viajeaqui.abril.com.br/viajeaqui/mapa.aspx';
	document.formPesquisa.submit();
}

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{
              UF = elem.options[elem.selectedIndex].value
              CarregaDocumentoXML(URL + UF + '_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));
 }
}

