﻿var control=null,fMSearchOrig=null,fMSearchOrig=null;
var param = '';
var _fState, _fCity;
var _addLocOrigem, _addLocDestino, _addLocParada;
var _addLOrigem, _addLDestino;
var _add, _addLoc;
var control;

var _markers = new Array();
var _urlImages = 'http://webservices.maplink2.com.br/bancoreal/img/';
var _urlAjaxABN = 'http://webservices.maplink2.com.br/bancoreal/AjaxExtentABN.aspx';
var _resCurrExtent;
var _rMarkers = null;

function isNumberKey(evt){
    var e;
    if(evt)
        e = evt;
    else
        e = window.event;  
    var charCode = (e.which) ? e.which : e.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
       return false;
    return true;
}

function Redirect(estabelecimento)
{  
    document.getElementById('hiddenEstabelecimentoClicado').value = estabelecimento; 
    document.main.action = 'buscaEstabelecimento.aspx';
    document.main.submit();
}

/////////////////////////////////////////////////////////
//VALIDANDO CAMPOS E ARMAZENANDO DADOS///
///////////////////////////////////////////////////////
function lf_Procurar()
{
     if($('formTxRua').value == ''){
        alert('- Favor preencher o campo endereço de origem pra realizar a pesquisa.');return;
    }else if($('formTxRuaDestino').value == ''){
        alert('- Favor preencher o campo endereço de destino pra realizar a pesquisa.');return;
    }else if($('formTxRua').value.length < 3 || $('formTxRuaDestino').value.length < 3){
        alert('- Favor preencher no mínimo 3 caracteres pra realizar a pesquisa.');return;
    }
    document.getElementById('hiddenCidade').value = _fCity.field.value;
    document.getElementById('hiddenEstado').value = _fState.field.value;
    document.getElementById('hiddenRuaOrigem').value   = $('formTxRua').value;
    document.getElementById('hiddenRuaDestino').value   = $('formTxRuaDestino').value;
    document.getElementById('hiddenEstabelecimento').value = $('formSlEstabelecimento').value;
    document.getElementById('AC1_hdnSelectedValue').value = $('AutoComplete1_hdnSelectedValue').value;
    document.getElementById('AC2_hdnSelectedValue').value = $('AutoComplete2_hdnSelectedValue').value;

    $('Carregando').style.display = "block";
    document.main.action = 'buscaRota.aspx';
    document.main.submit();
}

function armazenaDadosLocal()
{
    Tipo = document.getElementById('hiddenTipo').value; 

     if(Tipo == "AGENCIAS")
        {
            ///Ponto de Parada 
            $('hiddenXDestino').value = parseFloat($('hiddenXClicado').value.replace(',','.'));
            $('hiddenYDestino').value = parseFloat($('hiddenYClicado').value.replace(',','.'));
            $('hiddenNomeClicado').value = $('lblNomeAgencia').value;
            $('hiddenTipo').value = $('hiddenTipo').value;
            $('hiddenRuaDestino').value = $('txtEnderecoAgencia').value;
            $('hiddenCidadeClicado').value = $('txtCidadeAgencia').value;
        }
        else if (Tipo == "INSTITUCIONAL")
        {
            ///Ponto de parada 
           $('hiddenXDestino').value = parseFloat($('hiddenXClicado').value.replace(',','.'));
           $('hiddenYDestino').value = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           $('hiddenNomeClicado').value = $('lblNomeCXEltronico').value;
           $('hiddenTipo').value = $('hiddenTipo').value;
           $('hiddenRuaDestino').value = $('txtEnderecoCXEletronico').value;
           $('hiddenCidadeClicado').value = $('txtCidadeCXEletronico').value;
        } 
        else if (Tipo == "INSTITUCIONAIS_ACESSIVEIS")
        {
            ///Ponto de parada 
           $('hiddenXDestino').value = parseFloat($('hiddenXClicado').value.replace(',','.'));
           $('hiddenYDestino').value = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           $('hiddenNomeClicado').value = $('lblInstAcessiveis').value;
           $('hiddenTipo').value = $('hiddenTipo').value;
           $('hiddenRuaDestino').value = $('txtEnderecoInstAcess').value;
           $('hiddenCidadeClicado').value = $('txtCidadeInstAcess').value;
        }  
        else if (Tipo == "CORBAN")
        {
            ///Ponto de parada 
           $('hiddenXDestino').value = parseFloat($('hiddenXClicado').value.replace(',','.'));
           $('hiddenYDestino').valuey = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           $('hiddenNomeClicado').value = $('lblCorban').value;
           $('hiddenTipo').value = $('hiddenTipo').value;
           $('hiddenRuaDestino').value = $('txtEnderecoCorban').value;
        }
        else if (Tipo == "TALONARES")
        {
            ///Ponto de parada 
           $('hiddenXDestino').value = parseFloat($('hiddenXClicado').value.replace(',','.'));
           $('hiddenYDestino').value = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           $('hiddenNomeClicado').value = $('lblTalonar').value;
           $('hiddenTipo').value = $('hiddenTipo').value;
           $('hiddenRuaDestino').value = $('txtEnderecoTalonar').value;
           $('hiddenCidadeClicado').value = $('txtCidadeTalonar').value;
        }  
        else if (Tipo == "24H")
        {   
            ///Ponto de Parada
           $('hiddenXDestino').value = parseFloat($('hiddenXClicado').value.replace(',','.'));
           $('hiddenYDestino').value = parseFloat($('hiddenYClicado').value.replace(',','.'));
           $('hiddenNomeClicado').value = $('lblQuiosque').value;
           $('hiddenTipo').value = $('hiddenTipo').value;
           $('hiddenRuaDestino').value = $('txtEnderecoQuiosque').value;
           $('hiddenCidadeClicado').value = $('txtCidadeQuiosque').value;   
        } 
       document.main.action = 'listaAgenciasMapa.aspx';
       document.main.submit();
}

///////////////////////////////////////////////////
/////Armazena dados terceiro ponto///////////
//////////////////////////////////////////////////
function armazenaDados(mapa)
{
    _addLocParada = new MAddressLocation(); 
    _addLOrigem = new MAddressLocation();
    _addLDestino = new MAddressLocation(); 
      
   estabelecimentoClicado = document.getElementById('hiddenEstabelecimentoClicado').value;
   Tipo = document.getElementById('hiddenTipo').value; 
   
   if (mapa == "1")
   {
        if(estabelecimentoClicado == "AGENCIAS" || Tipo == "AGENCIAS")
        {
          ///Parada  
           _addLocParada.point = new MPoint();
           _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
           _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.'));
           _addLocParada.name = $('lblNomeAgencia').value;
           $('hiddenEstabelecimento').value = $('hiddenEstabelecimentoClicado').value;
           _addLocParada.address = new MAddress();
           _addLocParada.address.street = $('txtEnderecoAgencia').value;
           _addLocParada.address.district = $('txtBairroAgencia').value;
           _addLocParada.address.city = new MCity(); 
           _addLocParada.address.city.name = $('txtCidadeAgencia').value;
        }
        else if (estabelecimentoClicado == "INSTITUCIONAL" || Tipo == "INSTITUCIONAL")
        {
            ///Pontos parada 
           _addLocParada.point = new MPoint();
           _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
           _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           _addLocParada.name = $('lblNomeCXEltronico').value;
            $('hiddenEstabelecimento').value = $('hiddenEstabelecimentoClicado').value;
           _addLocParada.address = new MAddress();
           _addLocParada.address.street = $('txtEnderecoCXEletronico').value;
           _addLocParada.address.district = $('txtBairroCXEletronico').value;
           _addLocParada.address.city = new MCity(); 
           _addLocParada.address.city.name = $('txtCidadeCXEletronico').value;
        } 
        else if (estabelecimentoClicado == "INSTITUCIONAIS_ACESSIVEIS" || Tipo == "INSTITUCIONAIS_ACESSIVEIS")
        {
            ///Pontos parada 
           _addLocParada.point = new MPoint();
           _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
           _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           _addLocParada.name = $('lblInstAcessiveis').value;
            $('hiddenEstabelecimento').value = $('hiddenEstabelecimentoClicado').value;
           _addLocParada.address = new MAddress();
           _addLocParada.address.street = $('txtEnderecoInstAcess').value;
           _addLocParada.address.district = $('txtBairroInsAcess').value;
           _addLocParada.address.city = new MCity(); 
           _addLocParada.address.city.name = $('txtCidadeInstAcess').value;
        }  
        else if (estabelecimentoClicado == "CORBAN" || Tipo == "CORBAN")
        {
            ///Pontos parada 
           _addLocParada.point = new MPoint();
           _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
           _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           _addLocParada.name = $('lblCorban').value;
            $('hiddenEstabelecimento').value = $('hiddenEstabelecimentoClicado').value;
           _addLocParada.address = new MAddress();
           _addLocParada.address.street = $('txtEnderecoCorban').value;
           _addLocParada.address.district = $('txtBairroCorban').value;
           _addLocParada.address.city = new MCity(); 
           _addLocParada.address.city.name = $('txtCidadeCorban').value;
        }
        else if (estabelecimentoClicado == "TALONARES" || Tipo == "TALONARES")
        {
            ///Pontos parada 
           _addLocParada.point = new MPoint();
           _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
           _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
           _addLocParada.name = $('lblTalonar').value;
           $('hiddenEstabelecimento').value = $('hiddenEstabelecimentoClicado').value;
           _addLocParada.address = new MAddress();
           _addLocParada.address.street = $('txtEnderecoTalonar').value;
           _addLocParada.address.district = $('txtBairroTalonar').value;
           _addLocParada.address.city = new MCity(); 
           _addLocParada.address.city.name = $('txtCidadeTalonar').value;
        }  
        else if (estabelecimentoClicado == "24H" || Tipo == "24H")
        {   
            ///Parada 
           _addLocParada.point = new MPoint();
           _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
           _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.'));
           _addLocParada.name = $('lblQuiosque').value;
            $('hiddenEstabelecimento').value = $('hiddenEstabelecimentoClicado').value;
           _addLocParada.address = new MAddress();
           _addLocParada.address.street = $('txtEnderecoQuiosque').value;
           _addLocParada.address.district = '';
           _addLocParada.address.city = new MCity(); 
           _addLocParada.address.city.name = $('txtCidadeQuiosque').value;   
        } 
       lf_MostraMapa(); 
   } else
   {     
        if(estabelecimentoClicado == "AGENCIAS" || Tipo == "AGENCIAS")
        {   
                //pontos Origem 
               _addLOrigem.point = new MPoint();
               _addLOrigem.point.x = parseFloat($('hiddenXOrigem').value.replace(',','.'));
               _addLOrigem.point.y = parseFloat($('hiddenYOrigem').value.replace(',','.')); 
              
               _addLOrigem.address = new MAddress();
               _addLOrigem.address.street = $('hiddenRuaOrigem').value;
               _addLOrigem.address.houseNumber = $('hiddenNrOrigem').value;
               _addLOrigem.city = new MCity();
               _addLOrigem.city.name = $('hiddenCidade').value;
               _addLOrigem.city.state = $('hiddenEstado').value; 
              
              ///Parada  
               _addLocParada.point = new MPoint();
               _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
               _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.'));
               _addLocParada.name = $('lblNomeAgencia').value;
               _addLocParada.address = new MAddress();
               _addLocParada.address.street = $('txtEnderecoAgencia').value;
               _addLocParada.address.district = $('txtBairroAgencia').value;
               _addLocParada.address.city = new MCity(); 
                _addLocParada.address.city.name = $('txtCidadeAgencia').value;
              
              ////Destino 
              _addLDestino.point = new MPoint();
               _addLDestino.point.x = parseFloat($('hiddenXDestino').value.replace(',','.'));
               _addLDestino.point.y = parseFloat($('hiddenYDestino').value.replace(',','.'));  
              
               _addLDestino.address = new MAddress();
               _addLDestino.address.street = $('hiddenRuaDestino').value;
               _addLDestino.address.houseNumber = $('hiddenNrDestino').value; 
               _addLDestino.city = new MCity();
               _addLDestino.city.name = $('hiddenCidade').value;
               _addLDestino.city.state = $('hiddenEstado').value; 
        }
        else if (estabelecimentoClicado == "INSTITUCIONAL" || Tipo == "INSTITUCIONAL")
        {
               ///pontos Origem 
               _addLOrigem.point = new MPoint();
               _addLOrigem.point.x = parseFloat($('hiddenXOrigem').value.replace(',','.'));
               _addLOrigem.point.y = parseFloat($('hiddenYOrigem').value.replace(',','.')); 
              
               _addLOrigem.address = new MAddress();
               _addLOrigem.address.street = $('hiddenRuaOrigem').value;
               _addLOrigem.address.houseNumber = $('hiddenNrOrigem').value;
               _addLOrigem.city = new MCity();
               _addLOrigem.city.name = $('hiddenCidade').value;
               _addLOrigem.city.state = $('hiddenEstado').value; 
               
               ///Pontos parada 
               _addLocParada.point = new MPoint();
               _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
               _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
               _addLocParada.name = $('lblNomeCXEltronico').value;
               
               _addLocParada.address = new MAddress();
               _addLocParada.address.street = $('txtEnderecoCXEletronico').value;
               _addLocParada.address.houseNumber = ''; 
               _addLocParada.address.district = $('txtBairroCXEletronico').value;
              _addLocParada.address.city = new MCity(); 
                _addLocParada.address.city.name = $('txtCidadeCXEletronico').value;  
              
              ////Pontos destino
               _addLDestino.point = new MPoint();
               _addLDestino.point.x = parseFloat($('hiddenXDestino').value.replace(',','.'));
               _addLDestino.point.y = parseFloat($('hiddenYDestino').value.replace(',','.'));  
              
               _addLDestino.address = new MAddress();
               _addLDestino.address.street = $('hiddenRuaDestino').value;
               _addLDestino.address.houseNumber = $('hiddenNrDestino').value; 
               _addLDestino.city = new MCity();
               _addLDestino.city.name = $('hiddenCidade').value;
               _addLDestino.city.state = $('hiddenEstado').value; 
        } 
        else if (estabelecimentoClicado == "INSTITUCIONAIS_ACESSIVEIS" || Tipo == "INSTITUCIONAIS_ACESSIVEIS")
        {
               ///pontos Origem 
               _addLOrigem.point = new MPoint();
               _addLOrigem.point.x = parseFloat($('hiddenXOrigem').value.replace(',','.'));
               _addLOrigem.point.y = parseFloat($('hiddenYOrigem').value.replace(',','.')); 
              
               _addLOrigem.address = new MAddress();
               _addLOrigem.address.street = $('hiddenRuaOrigem').value;
               _addLOrigem.address.houseNumber = $('hiddenNrOrigem').value;
               _addLOrigem.city = new MCity();
               _addLOrigem.city.name = $('hiddenCidade').value;
               _addLOrigem.city.state = $('hiddenEstado').value; 
               
               ///Pontos parada 
               _addLocParada.point = new MPoint();
               _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
               _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
               _addLocParada.name = $('lblInstAcessiveis').value;
               
               _addLocParada.address = new MAddress();
               _addLocParada.address.street = $('txtEnderecoInstAcess').value;
               _addLocParada.address.district = $('txtBairroInsAcess').value;
               _addLocParada.address.city = new MCity(); 
               _addLocParada.address.city.name = $('txtCidadeInstAcess').value;  
              
              ////Pontos destino
               _addLDestino.point = new MPoint();
               _addLDestino.point.x = parseFloat($('hiddenXDestino').value.replace(',','.'));
               _addLDestino.point.y = parseFloat($('hiddenYDestino').value.replace(',','.'));  
              
               _addLDestino.address = new MAddress();
               _addLDestino.address.street = $('hiddenRuaDestino').value;
               _addLDestino.address.houseNumber = $('hiddenNrDestino').value; 
               _addLDestino.city = new MCity();
               _addLDestino.city.name = $('hiddenCidade').value;
               _addLDestino.city.state = $('hiddenEstado').value; 
        }  
        else if (estabelecimentoClicado == "24H" || Tipo == "24H")
        { 
               ///pontos Origem 
               _addLOrigem.point = new MPoint();
               _addLOrigem.point.x = parseFloat($('hiddenXOrigem').value.replace(',','.'));
               _addLOrigem.point.y = parseFloat($('hiddenYOrigem').value.replace(',','.')); 
              
               _addLOrigem.address = new MAddress();
               _addLOrigem.address.street = $('hiddenRuaOrigem').value;
               _addLOrigem.address.houseNumber = $('hiddenNrOrigem').value;
               _addLOrigem.city = new MCity();
               _addLOrigem.city.name = $('hiddenCidade').value;
               _addLOrigem.city.state = $('hiddenEstado').value; 
       
                ///Parada 
               _addLocParada.point = new MPoint();
               _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
               _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.'));
               _addLocParada.name = $('lblQuiosque').value;
               
               _addLocParada.address = new MAddress();
               _addLocParada.address.street = $('txtEnderecoQuiosque').value;
               _addLocParada.address.houseNumber = ''; 
               _addLocParada.address.district = '';
               _addLocParada.address.city = new MCity(); 
                _addLocParada.address.city.name = $('hiddenCidade').value; 
               _addLocParada.address.city.state =   $('hiddenEstado').value; 
              
              ////destino
              _addLDestino.point = new MPoint();
               _addLDestino.point.x = parseFloat($('hiddenXDestino').value.replace(',','.'));
               _addLDestino.point.y = parseFloat($('hiddenYDestino').value.replace(',','.'));  
              
               _addLDestino.address = new MAddress();
               _addLDestino.address.street = $('hiddenRuaDestino').value;
               _addLDestino.address.houseNumber = $('hiddenNrDestino').value; 
               _addLDestino.city = new MCity();
               _addLDestino.city.name = $('hiddenCidade').value;
               _addLDestino.city.state = $('hiddenEstado').value;  
        } 
        else if (estabelecimentoClicado == "CORBAN" || Tipo == "CORBAN")
        { 
               ///pontos Origem 
               _addLOrigem.point = new MPoint();
               _addLOrigem.point.x = parseFloat($('hiddenXOrigem').value.replace(',','.'));
               _addLOrigem.point.y = parseFloat($('hiddenYOrigem').value.replace(',','.')); 
              
               _addLOrigem.address = new MAddress();
               _addLOrigem.address.street = $('hiddenRuaOrigem').value;
               _addLOrigem.address.houseNumber = $('hiddenNrOrigem').value;
               _addLOrigem.city = new MCity();
               _addLOrigem.city.name = $('hiddenCidade').value;
               _addLOrigem.city.state = $('hiddenEstado').value; 
       
                ///Parada 
               _addLocParada.point = new MPoint();
               _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
               _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
               _addLocParada.name = $('lblCorban').value;
               
               _addLocParada.address = new MAddress();
               _addLocParada.address.street = $('txtEnderecoCorban').value;
               _addLocParada.address.district = $('txtBairroCorban').value;
               _addLocParada.address.city = new MCity(); 
               _addLocParada.address.city.name = $('txtCidadeCorban').value;   
              
              ////destino
               _addLDestino.point = new MPoint();
               _addLDestino.point.x = parseFloat($('hiddenXDestino').value.replace(',','.'));
               _addLDestino.point.y = parseFloat($('hiddenYDestino').value.replace(',','.'));  
              
               _addLDestino.address = new MAddress();
               _addLDestino.address.street = $('hiddenRuaDestino').value;
               _addLDestino.address.houseNumber = $('hiddenNrDestino').value; 
               _addLDestino.city = new MCity();
               _addLDestino.city.name = $('hiddenCidade').value;
               _addLDestino.city.state = $('hiddenEstado').value;  
        }  
        else if (estabelecimentoClicado == "TALONARES" || Tipo == "TALONARES")
        { 
               ///pontos Origem 
               _addLOrigem.point = new MPoint();
               _addLOrigem.point.x = parseFloat($('hiddenXOrigem').value.replace(',','.'));
               _addLOrigem.point.y = parseFloat($('hiddenYOrigem').value.replace(',','.')); 
              
               _addLOrigem.address = new MAddress();
               _addLOrigem.address.street = $('hiddenRuaOrigem').value;
               _addLOrigem.address.houseNumber = $('hiddenNrOrigem').value;
               _addLOrigem.city = new MCity();
               _addLOrigem.city.name = $('hiddenCidade').value;
               _addLOrigem.city.state = $('hiddenEstado').value; 
       
                ///Parada 
               _addLocParada.point = new MPoint();
               _addLocParada.point.x = parseFloat($('hiddenXClicado').value.replace(',','.'));
               _addLocParada.point.y = parseFloat($('hiddenYClicado').value.replace(',','.')); 
               _addLocParada.name = $('lblTalonar').value;
               
               _addLocParada.address = new MAddress();
               _addLocParada.address.street = $('txtEnderecoTalonar').value;
               _addLocParada.address.district = $('txtBairroTalonar').value;
               _addLocParada.address.city = new MCity(); 
               _addLocParada.address.city.name = $('txtCidadeTalonar').value;   
              
              ////destino
               _addLDestino.point = new MPoint();
               _addLDestino.point.x = parseFloat($('hiddenXDestino').value.replace(',','.'));
               _addLDestino.point.y = parseFloat($('hiddenYDestino').value.replace(',','.'));  
              
               _addLDestino.address = new MAddress();
               _addLDestino.address.street = $('hiddenRuaDestino').value;
               _addLDestino.address.houseNumber = $('hiddenNrDestino').value; 
               _addLDestino.city = new MCity();
               _addLDestino.city.name = $('hiddenCidade').value;
               _addLDestino.city.state = $('hiddenEstado').value;  
        }  
        // Chama função que coloca o terceiro ponto na rota 
        lf_montaRota3Pontos(); 
    } 
}
///////////////////////////////////////////////////
////////////SelecionaEstadoCidade//////////////////
///////////////////////////////////////////////////
function SelecionaEstadoCidade()
{
    document.getElementById('hdnCidadeEstado').value = _fCity.field.value + ", " + _fState.field.value;
}
/*********************************/
/**********CRIA O GEOCODE**********/
/********************************/
function criaGeoCodeString(cidade, estado)
{
    var cidadeSemAcento = removeAcentos(cidade);
    var estadoSemAcento = removeAcentos(estado);
    var strGeoCode = estadoSemAcento.toUpperCase() + '_' + cidadeSemAcento.replace(/\s/g, '_').toUpperCase();
    return strGeoCode;
}
/*********************************/
/**********REMOVE ACENTO**********/
/********************************/
function removeAcentos(strTexto)
{
    //Conjunto de Caracteres com acentos
    var strComAcentos = "ÁÍÓÚÉÄÏÖÜËÀÌÒÙÈÃÕÂÎÔÛÊáíóúéäïöüëàìòùèãõâîôûêÇç";
    //Conjunto de Caracteres sem acentos
    var strSemAcentos = "AIOUEAIOUEAIOUEAOAIOUEaioueaioueaioueaoaioueCc";
    var letra='';
    var resultado=''; 
    for(var i=0; i< strTexto.length;i++)
    {
        letra= strTexto.charAt(i);
        pos=strComAcentos.indexOf(letra);

        if(pos != -1){
                   resultado+=strSemAcentos.charAt(pos);
        }else{
                   resultado+=letra;
        }
    }           
    return resultado;
}

////////////////////////////////////////////////////
/////////////////Chama AJAX/////////////////////
///////////////////////////////////////////////////
function marcasABNCurrentExtent()
{
    var mapa = getMaplinkAPI().currentMap;
    if(mapa.getZoom() < 13) return;  
    var XMin = mapa.getBounds().getSouthWest().lng();
    var YMin = mapa.getBounds().getSouthWest().lat();
    var XMax = mapa.getBounds().getNorthEast().lng();
    var YMax = mapa.getBounds().getNorthEast().lat();
    
   estabelecimento = $('hiddenEstabelecimento').value; 
   
   if(estabelecimento == "")
   { estabelecimento = $('hiddenTipo').value; }
   
   cidade =  $('hiddenCidade').value;
   estado = $('hiddenEstado').value;
   
    var strData = "&XMin=" + XMin + "&YMin=" + YMin + "&XMax=" + XMax + "&YMax=" + YMax + "&estabelecimento=" + estabelecimento;
    var ajaxUtil = new AJAXUtil(AJAX_UTIL_POST, _urlAjaxABN, recebeDadosABNCurrentExtent);
    ajaxUtil.setResponseType(AJAX_UTIL_PLAIN_TEXT);
    ajaxUtil.setParamsPost(strData);
    ajaxUtil.getData();    
}

/**********************************************/
/*function de retorno do AJAX (dado e parametro da funcao)*/
/*********************************************/
function recebeDadosABNCurrentExtent(dado)
{
    _resCurrExtent = eval("(" + dado + ")");  
    var mapa = getMaplinkAPI().currentMap;
    
    for(var i = 0; i < _markers.length; i++) {
        mapa.removeOverlay(_markers[i]);
    }

    _markers = new Array();
    
    for(var i = 0; i < _resCurrExtent.length; i++)
    {
            var baseIcon = new GIcon();
            baseIcon.shadow = "";
            baseIcon.shadowSize = null;
            baseIcon.iconAnchor = new GPoint(_resCurrExtent[i].iconeLargura/2, _resCurrExtent[i].iconeAltura/2);
            baseIcon.infoWindowAnchor = new GPoint(7, 14);
            baseIcon.infoShadowAnchor = null;    
            baseIcon.iconSize = new GSize(parseInt(_resCurrExtent[i].iconeLargura, 10), parseInt(_resCurrExtent[i].iconeAltura));
            baseIcon.image = _urlImages + _resCurrExtent[i].icone;
            
            var markPoint = new MPoint(parseFloat(_resCurrExtent[i].X.replace(',', '.')), parseFloat(_resCurrExtent[i].Y.replace(',', '.')));
            var mark = new GMarker(markPoint, baseIcon);
            adicionaToolTipListener(mark, _urlImages + _resCurrExtent[i].icone, _resCurrExtent[i].iconeTooltip, _resCurrExtent[i].iconeLink);
                
            _markers[_markers.length] = mark;  
             
             mapa.addOverlay(mark);   
             atualizaPointImg();        
    }
   function adicionaToolTipListener(marker, urlIcone, iconeTooltip, iconeLink)
   {
        GEvent.addListener(marker, "mouseover", 
        function() 
        {
           var htmlClicado = '<table class="txt_conteudo" style="width: 200px; text-align: left; background-color: White">' +
                             "<tr>" +
                                '<td width="40px" valign="middle">'  + 
                                    '<img src="' + urlIcone + '" />' +
                                 "</td>" +
                                 "<td>" + iconeTooltip + 
                                 "</td>" +
                            "</tr>" +
                            "</table>";
            marker.openInfoWindowHtml(htmlClicado);
        });
    } 
   function atualizaPointImg()
   {
        var mapa = getMaplinkAPI().currentMap;

       if(typeof _rMarkers != 'undefined' && _rMarkers) {
            for(var j = 0; j < _rMarkers.length; j++) { 
                mapa.removeOverlay(_rMarkers[j]);
                mapa.addOverlay(_rMarkers[j]);
        } 
   } 
   if(typeof _addLocParada != 'undefined' && _addLocParada) { 
        var mark = mapa.currentMarker;
        mapa.removeOverlay(mark); 
        mapa.addOverlay(mark);    
   }
   }
} 

////////////////////////////////////////////////////
//BUSCANDO ENDERECO PARA MONTAR ROTA//
///////////////////////////////////////////////////
function lf_buscarRota(){
    if(typeof MaplinkAPI == 'undefined')
        return;

    control = new MaplinkAPI();
    if(!control)
        return;

    control.setDivWait('divLoaderMap');
    control.setAutoShowErrors(false);

    if ($('RotaEndereco').value == "1")
    {       
        $('divLoaderMap').style.display = 'block';
        var addOPes = new MAddressLocation();
        addOPes.address = new MAddress();
        addOPes.address.street = $('hiddenRuaOrigem').value;
        addOPes.address.houseNumber = $('hiddenNrOrigem').value;
        addOPes.address.city = new MCity();
        addOPes.address.city.name = $('hiddenCidade').value;
        addOPes.address.city.state = $('hiddenEstado').value;

        var _x=$('hiddenXOrigem').value;
        var _y=$('hiddenYOrigem').value;

        if( !isNaN(_x) && !isNaN(_y) && _x != "" &&  _y != ""){
             addOPes.point = new MPoint();
             addOPes.point.x = parseFloat(_x);
             addOPes.point.y = parseFloat(_y);
        } 

        var addDPes = new MAddressLocation();
        addDPes.point = new MPoint();
        addDPes.point.x = $('hiddenXDestino').value;
        addDPes.point.y = $('hiddenYDestino').value;

        addDPes.name = $('hiddenEstab').value;
        addDPes.address = new MAddress();
        addDPes.address.street = $('hiddenRuaDestino').value;
        addDPes.address.district = '';
        addDPes.address.city = new MCity();
        addDPes.address.city.name = $('hiddenCidade').value;
        addDPes.address.city.state = $('hiddenEstado').value;

        var mPag = new MPaginationControl(['',''],'tit_tabela','',10);
        var mapCfg = new MMapConfig('divMapaRotaInterno',new MMapSize(600,480));
        mapCfg.startRouteIcon=new GIcon(MGetBaseIcon());
        mapCfg.startRouteIcon.image = _urlImages + "ic_origem.gif";
        mapCfg.startRouteIcon.shadow = "";
        mapCfg.startRouteIcon.shadowSize = null;
        mapCfg.startRouteIcon.infoShadowAnchor = null; 
        mapCfg.startRouteIcon.iconSize = new GSize(34, 13);
        mapCfg.startRouteIcon.iconAnchor = new GPoint(17, 7) ;

        mapCfg.endRouteIcon=new GIcon(MGetBaseIcon());
        mapCfg.endRouteIcon.image = _urlImages + "ic_destino.gif";
        mapCfg.endRouteIcon.shadow = "";
        mapCfg.endRouteIcon.shadowSize = null;
        mapCfg.endRouteIcon.infoShadowAnchor = null; 
        mapCfg.endRouteIcon.iconSize = new GSize(34, 13);
        mapCfg.endRouteIcon.iconAnchor = new GPoint(17, 7);

        var rMann = new MRouteMannager(mPag, mapCfg, montaMRouteOptions(), 'divDescRota');
        rMann.descrOptions = montaOpcoesDescrRota();
        
        $("divMapaRota").style.display="block";
        $('divMapaRotaInterno').style.display = 'block';
        
        $('GeralDestino').style.display = 'none';
        $('TabDescRota').style.display = 'block'; 
        $('Utilidades').style.display = 'block';
       
        if ($('hiddenEstabelecimento').value == "AGENCIAS")
       { $('tbImagens').style.display = "block"; $('LinkAgencias').style.display = "block"; $('ImgAgencias').style.display = "block"; } 
       else if ($('hiddenEstabelecimento').value == "24H")
       { $('tbImagens').style.display = "block"; $('Link24H').style.display = "block"; $('Img24H').style.display = "block"; }
       else if ( $('hiddenEstabelecimento').value == "INSTITUCIONAL" )
       { $('tbImagens').style.display = "block"; $('LinkCX').style.display = "block"; $('ImgCX').style.display = "block";  }
       else if ( $('hiddenEstabelecimento').value == "INSTITUCIONAIS_ACESSIVEIS" )
       { $('tbImagens').style.display = "block"; $('LinkCXAC').style.display = "block"; $('ImgCXAC').style.display = "block";  }
       else if ( $('hiddenEstabelecimento').value == "CORBAN" )
       { $('tbImagens').style.display = "block"; $('LinkCorban').style.display = "block"; $('ImgCorban').style.display = "block";  }
       else if ( $('hiddenEstabelecimento').value == "TALONARES" )
       { $('tbImagens').style.display = "block"; $('LinkTalonar').style.display = "block"; $('ImgTalonar').style.display = "block";  }
        
        rMann.createRoute([addOPes,addDPes],
        function(estagioRota){
		    if(estagioRota == M_STAT_ROUTE)
		    { 
		       //finalizou criacao da rota
		       var strInnerHTMLOrigem = addOPes.address.street + ' (' + addOPes.address.city.name + '/' + addOPes.address.city.state + ')';
               $('spanOrigemRota').innerHTML = strInnerHTMLOrigem.toUpperCase();
  
                var strInnerHTMLDestino = addDPes.address.street + ', ' + ' (' + addDPes.address.city.name + '/' + addDPes.address.city.state + ')';
                $('spanDestinoRota').innerHTML = strInnerHTMLDestino.toUpperCase(); 

                montaDivTotalRota(rMann);
  
                _addLocOrigem = addOPes;
               _addLocDestino = addDPes;  
                
                $('divLoaderMap').style.display = 'none';
                var map = getMaplinkAPI().currentMap;
		        map.addControl(new MMapControls());
		        map.addControl(new GLargeMapControl());
				
				/////Tooltip da Origem
                var start = control.currentMap.routeStartMarker;
	            GEvent.addListener(start, "mouseover", function() {
		            control.currentMap.routeStartMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Origem</b><br /><br /> " 
					            + addOPes.address.street.toUpperCase() + '<br />' 
					            + addOPes.address.city.name + ', ' + addOPes.address.city.state + "</center></div>");
	            });
			    
			    /////Tooltip do Destino 
	            var end = control.currentMap.routeEndMarker;
	            GEvent.addListener(end, "mouseover", function() {
		            control.currentMap.routeEndMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Destino</b><br /><br /> " 
					            + "<b>" + ( $('hiddenNomeEstab').value == null || $('hiddenNomeEstab').value == "" ? "" : $('hiddenNomeEstab').value + '</b><br />')
					            + addDPes.address.street.toUpperCase() + '<br />' 
					            + addDPes.address.city.name + ', ' + addDPes.address.city.state + "</center></div>");
	            });					
                
                GEvent.addListener(map, "moveend", function() {
                     marcasABNCurrentExtent();
                }); 
    	        marcasABNCurrentExtent();      
                }
               _rMarkers = rMann.getRouteMarkers();
            } 
        );
    }
   else
   {        
    _addLocOrigem = eval('(' + $('AutoComplete1_hdnSelectedValue').value + ');');;

    $('hiddenCidade').value =  _addLocOrigem.address.city.name;
    $('hiddenEstado').value = _addLocOrigem.address.city.state;
    $('hiddenRuaOrigem').value = _addLocOrigem.address.street;
    $('hiddenNrOrigem').value = _addLocOrigem.address.houseNumber;
    $('hiddenXOrigem').value = _addLocOrigem.point.x;
    $('hiddenYOrigem').value = _addLocOrigem.point.y;
    _addLocDestino = eval('(' + $('AutoComplete2_hdnSelectedValue').value + ');');;
    $('hiddenCidade').value =  _addLocDestino.address.city.name;
    $('hiddenEstado').value =  _addLocDestino.address.city.state;
    $('hiddenRuaDestino').value = _addLocDestino.address.street;
    $('hiddenNrDestino').value = _addLocDestino.address.houseNumber;
    $('hiddenXDestino').value = _addLocDestino.point.x;
    $('hiddenYDestino').value = _addLocDestino.point.y;

    $('GeralDestino').style.display = 'none';
    $('divMapaRota').style.display = 'block';
    $('TabDescRota').style.display = 'block';

    ////Mostra Rota no Mapa
    var mPag = new MPaginationControl(['',''],'tit_tabela','',10);
    var mapCfg = new MMapConfig('divMapaRotaInterno',new MMapSize(600,480));
    mapCfg.startRouteIcon=new GIcon(MGetBaseIcon());
    mapCfg.startRouteIcon.image = _urlImages + "ic_origem.gif";
    mapCfg.startRouteIcon.shadow = "";
    mapCfg.startRouteIcon.shadowSize = null;
    mapCfg.startRouteIcon.infoShadowAnchor = null; 
    mapCfg.startRouteIcon.iconSize = new GSize(34, 13);
    mapCfg.startRouteIcon.iconAnchor = new GPoint(17, 7) ;

    mapCfg.endRouteIcon=new GIcon(MGetBaseIcon());
    mapCfg.endRouteIcon.image = _urlImages + "ic_destino.gif";
    mapCfg.endRouteIcon.shadow = "";
    mapCfg.endRouteIcon.shadowSize = null;
    mapCfg.endRouteIcon.infoShadowAnchor = null; 
    mapCfg.endRouteIcon.iconSize = new GSize(34, 13);
    mapCfg.endRouteIcon.iconAnchor = new GPoint(17, 7);

    var rMann = new MRouteMannager(mPag, mapCfg, montaMRouteOptions(), 'divDescRota');
    rMann.descrOptions = montaOpcoesDescrRota();

    $('Utilidades').style.display = 'block';

   if ($('hiddenEstabelecimento').value == "AGENCIAS")
   { $('tbImagens').style.display = "block"; $('LinkAgencias').style.display = "block"; $('ImgAgencias').style.display = "block"; } 
   else if ($('hiddenEstabelecimento').value == "24H")
   { $('tbImagens').style.display = "block"; $('Link24H').style.display = "block"; $('Img24H').style.display = "block"; }
   else if ( $('hiddenEstabelecimento').value == "INSTITUCIONAL" )
   { $('tbImagens').style.display = "block"; $('LinkCX').style.display = "block"; $('ImgCX').style.display = "block";  }
   else if ( $('hiddenEstabelecimento').value == "INSTITUCIONAIS_ACESSIVEIS" )
   { $('tbImagens').style.display = "block"; $('LinkCXAC').style.display = "block"; $('ImgCXAC').style.display = "block";  }
   else if ( $('hiddenEstabelecimento').value == "CORBAN" )
   { $('tbImagens').style.display = "block"; $('LinkCorban').style.display = "block"; $('ImgCorban').style.display = "block";  }
   else if ( $('hiddenEstabelecimento').value == "TALONARES" )
   { $('tbImagens').style.display = "block"; $('LinkTalonar').style.display = "block"; $('ImgTalonar').style.display = "block";  }

    rMann.createRoute([_addLocOrigem, _addLocDestino],
        function(estagioRota)
        {
            $('divLoadOrigem').style.display = 'none';
            //$('divLoadDestino').style.display = 'none'; 

            $('divMapaRotaInterno').style.display = 'block'; 
            $('divLoaderMap').style.display = 'block'; 
            control.setDivWait('divLoaderMap');
            if(estagioRota == M_STAT_ROUTE) {

            var strInnerHTMLOrigem = _addLocOrigem.address.street + ', ' + _addLocOrigem.address.houseNumber + ' (' + _addLocOrigem.address.city.name + '/' + _addLocOrigem.address.city.state + ')';
            $('spanOrigemRota').innerHTML = strInnerHTMLOrigem.toUpperCase();

            var strInnerHTMLDestino = _addLocDestino.address.street + ', ' + _addLocDestino.address.houseNumber + ' (' + _addLocDestino.address.city.name + '/' + _addLocDestino.address.city.state + ')';
            $('spanDestinoRota').innerHTML = strInnerHTMLDestino.toUpperCase();

            montaDivTotalRota(rMann);

            /////Controles no Mapa
            var map = getMaplinkAPI().currentMap;
            map.addControl(new MMapControls());
            map.addControl(new GLargeMapControl());

            /////Tooltip da Origem
            var start = control.currentMap.routeStartMarker;
            GEvent.addListener(start, "mouseover", function() {
                control.currentMap.routeStartMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Origem</b><br /><br /> " 
                            + ( $('hiddenNomeEstab').value == null || $('hiddenNomeEstab').value == "" ? "" : $('hiddenNomeEstab').value + '<br />')
		                    + _addLocOrigem.address.street.toUpperCase() + ',' + _addLocOrigem.address.houseNumber + '<br />' 
		                    + _addLocOrigem.address.city.name + ', ' + _addLocOrigem.address.city.state + "</center></div>");
            });

	        /////Tooltip do Destino
            var end = control.currentMap.routeEndMarker;
            GEvent.addListener(end, "mouseover", function() {
                control.currentMap.routeEndMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Destino</b><br /><br /> " 
                            + ( $('hiddenNomeEstab').value == null || $('hiddenNomeEstab').value == "" ? "" : $('hiddenNomeEstab').value + '<br />') 
			                + _addLocDestino.address.street.toUpperCase() + ',' + _addLocDestino.address.houseNumber + '<br />' 
			                + _addLocDestino.address.city.name + ', ' + _addLocDestino.address.city.state + "</center></div>");
            });
            
            /**Coloca as MARCAS de outros estabelecimento no MAPA**/
            GEvent.addListener(map, "moveend", function() {
                marcasABNCurrentExtent();
            }); 
            marcasABNCurrentExtent();  
           
           _rMarkers = rMann.getRouteMarkers(); 
        }
    });} 
 }
//////////////////////////////////////////////////
/////////// //Monta rota 3 pontos/////////////
/////////////////////////////////////////////////
function lf_montaRota3Pontos()
{
    if(typeof MaplinkAPI == 'undefined')
        return;

    control = new MaplinkAPI();
    if(!control)
        return;

    control.setDivWait('divLoader');
    control.setAutoShowErrors(false);  
   
    $('Links').style.display = 'none'; 
    $('divMapaRotaInterno').style.display = "none"; 
    $('HR').style.display = 'none';  
    $('spanAgencia').style.display = 'none';
    $('spanCXEletronico').style.display = 'none'; 
    $('span24H').style.display = 'none'; 
    $('spanCXAC').style.display = 'none';
    $('spanCorban').style.display = 'none';
    $('spanTalonar').style.display = 'none';
    $('ListaEstabelecimentosAgencias').style.display = 'none';
    $('ListaEstabelecimentosCaixasEletronicos').style.display = 'none';
    $('ListaEstabelecimentosQuiosques').style.display = 'none';
    $('ListaEstabelecimentosInstAcessiveis').style.display = 'none';
    $('ListaEstabelecimentosCorban').style.display = 'none';
    $('ListaEstabelecimentosTalonares').style.display = 'none';
    $('DivGeral').style.display = "none";
    $('divMapaRota').style.display = 'block';
    $('divMapaRotaInterno').style.display = "block";
    $('TabDescRota').style.display = 'block';

    ////Mostra Rota no Mapa
    var mPag = new MPaginationControl(['',''],'tit_tabela','',10);
    var mapCfg = new MMapConfig('divMapaRotaInterno',new MMapSize(600,480));
    mapCfg.startRouteIcon=new GIcon(MGetBaseIcon());
    mapCfg.startRouteIcon.image = _urlImages + "ic_origem.gif";
    mapCfg.startRouteIcon.shadow = "";
    mapCfg.startRouteIcon.shadowSize = null;
    mapCfg.startRouteIcon.infoShadowAnchor = null; 
    mapCfg.startRouteIcon.iconSize = new GSize(34, 13);
    mapCfg.startRouteIcon.iconAnchor = new GPoint(17, 7) ;

    mapCfg.endRouteIcon=new GIcon(MGetBaseIcon());
    mapCfg.endRouteIcon.image = _urlImages + "ic_destino.gif";
    mapCfg.endRouteIcon.shadow = "";
    mapCfg.endRouteIcon.shadowSize = null;
    mapCfg.endRouteIcon.infoShadowAnchor = null; 
    mapCfg.endRouteIcon.iconSize = new GSize(34, 13);
    mapCfg.endRouteIcon.iconAnchor = new GPoint(17, 7); 
    
    var rMann = new MRouteMannager(mPag, mapCfg, montaMRouteOptions(), 'divDescRota');
    rMann.descrOptions = montaOpcoesDescrRota();
     rMann.createRoute([_addLOrigem, _addLocParada, _addLDestino],
        function(estagioRota)
        {
            if(estagioRota == M_STAT_ROUTE) {

                var strInnerHTMLOrigem = _addLOrigem.address.street + ', ' + _addLOrigem.address.houseNumber + ' (' + _addLOrigem.city.name + '/' + _addLOrigem.city.state + ')';
                $('spanOrigemRota').innerHTML = strInnerHTMLOrigem.toUpperCase();

                var strInnerHTMLDestino = _addLDestino.address.street + ' (' + _addLDestino.city.name + '/' + _addLDestino.city.state + ')';
                $('spanDestinoRota').innerHTML = strInnerHTMLDestino.toUpperCase();
                
                montaDivTotalRota(rMann);

                /////Controles no Mapa
                var map = getMaplinkAPI().currentMap;
                map.addControl(new MMapControls());
                map.addControl(new GLargeMapControl());
                
                /////Tooltip da Origem
                var start = control.currentMap.routeStartMarker;
	            GEvent.addListener(start, "mouseover", function() {
		            control.currentMap.routeStartMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Origem</b><br /><br /> " 
					            + _addLOrigem.address.street.toUpperCase() + ',' + _addLOrigem.address.houseNumber + '<br />' 
					            + (_addLOrigem.address.district == null || _addLOrigem.address.district == "undefined" ? "" : _addLOrigem.address.district.toUpperCase() + ', ') + _addLOrigem.city.name + ', ' + _addLOrigem.city.state + "</center></div>");
	            });
	           
	            /////Tooltip da Parada
                var stop = rMann.getRouteMarkers()[1];
	            GEvent.addListener(stop, "mouseover", function() {
		            stop.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Parada</b><br /><br /> " 
					            + '<b>' + _addLocParada.name + '</b>&nbsp; - ' + _addLocParada.address.street.toUpperCase() + '<br />' 
					            + _addLocParada.address.city.name + ', ' + _addLocParada.address.city.state + "</center></div>");
	            });  
			    
			    /////Tooltip do Destino 
	            var end = control.currentMap.routeEndMarker;
	            GEvent.addListener(end, "mouseover", function() {
		            control.currentMap.routeEndMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Destino</b><br /><br /> " 
					            + _addLDestino.address.street.toUpperCase() + ',' + _addLDestino.address.houseNumber + '<br />' 
					            + (_addLDestino.address.district == null || _addLocDestino.address.district == "undefined" ? "" : _addLDestino.address.district.toUpperCase() + ', ') + _addLDestino.city.name + ', ' + _addLDestino.city.state + "</center></div>");
	            });
	        }
        });
 } 

////////////////////////////////////////////////////////////
//////////////////CAMINHO INVERSO/////////////////////
///////////////////////////////////////////////////////////
function caminhoReverso()
{
    getMaplinkAPI().currentMap = null; 
    ////Faz a Troca Entre os Extremos da Rota (Endereco)
   
    $('divDescRota').style.display = 'none';
    $('divDistTot').innerHTML = '';
    
    if(_addLocOrigem && _addLocDestino)
    {
        var temp = _addLocOrigem;
        _addLocOrigem = _addLocDestino;
        _addLocDestino = temp;
    }
    
    limpaRotaAnterior();

    ////Mostra Rota no Mapa 
    var mPag    = new MPaginationControl(['',''],'tit_tabela','',10);
    var mapCfg = new MMapConfig('divMapaRotaInterno',new MMapSize(600,480));
   
    mapCfg.startRouteIcon=new GIcon(MGetBaseIcon());
    mapCfg.startRouteIcon.image = _urlImages + "ic_origem.gif"; 
    mapCfg.startRouteIcon.shadow = "";
    mapCfg.startRouteIcon.shadowSize = null;
    mapCfg.startRouteIcon.infoShadowAnchor = null; 
    mapCfg.startRouteIcon.iconSize = new GSize(34, 13);
    mapCfg.startRouteIcon.iconAnchor = new GPoint(17, 7) ;
   
    mapCfg.endRouteIcon=new GIcon(MGetBaseIcon());
    mapCfg.endRouteIcon.image = _urlImages + "ic_destino.gif"; 
    mapCfg.endRouteIcon.shadow = "";
    mapCfg.endRouteIcon.shadowSize = null;
    mapCfg.endRouteIcon.infoShadowAnchor = null; 
    mapCfg.endRouteIcon.iconSize = new GSize(34, 13);
    mapCfg.endRouteIcon.iconAnchor = new GPoint(17, 7); 

    var rMann   = new MRouteMannager(mPag, mapCfg, montaMRouteOptions(), 'divDescRota');
    rMann.descrOptions = montaOpcoesDescrRota();
    rMann.createRoute([_addLocOrigem, _addLocDestino],
        function(estagioRota)
        {
            if(estagioRota == M_STAT_ROUTE) {

                var map = getMaplinkAPI().currentMap;
                map.addControl(new MMapControls());	
                map.addControl(new GLargeMapControl());  

                if(_addLocOrigem) {
                    var strInnerHTMLOrigem = _addLocOrigem.address.street + ', ' + _addLocOrigem.address.houseNumber + ' (' + _addLocOrigem.address.city.name + '/' + _addLocOrigem.address.city.state + ')';
                    $('spanOrigemRota').innerHTML = strInnerHTMLOrigem.toUpperCase(); 
                    
                    var start = control.currentMap.routeStartMarker;
		            GEvent.addListener(start, "mouseover", function() {
			            control.currentMap.routeStartMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Origem</b><br /><br /> " 
						        + _addLocOrigem.address.street.toUpperCase() + ',' + _addLocOrigem.address.houseNumber + '<br />' 
						        + (_addLocOrigem.address.district == null || _addLocOrigem.address.district == "undefined" ? "" : _addLocOrigem.address.district.toUpperCase() + ', ') + _addLocOrigem.address.city.name + ', ' + _addLocOrigem.address.city.state + "</center></div>");
		            });
                }

                if(_addLocDestino) {
                     var strInnerHTMLDestino = _addLocDestino.address.street + ', ' + _addLocDestino.address.houseNumber + ' (' + _addLocDestino.address.city.name + '/' + _addLocDestino.address.city.state + ')';
                     $('spanDestinoRota').innerHTML = strInnerHTMLDestino.toUpperCase();
                      
                     var end = control.currentMap.routeEndMarker;
		             GEvent.addListener(end, "mouseover", function() {
			             control.currentMap.routeEndMarker.openInfoWindowHtml("<div style='width:200px;height:15px'><center><b>Ponto de Destino</b><br /><br /> " 
					              + _addLocDestino.address.street.toUpperCase() + ',' + _addLocDestino.address.houseNumber + '<br />' 
					              + (_addLocDestino.address.district == null || _addLocDestino.address.district == "undefined" ? "" : _addLocDestino.address.district.toUpperCase() + ', ') + _addLocDestino.address.city.name + ', ' + _addLocDestino.address.city.state + "</center></div>");
		             });      
                }

                montaDivTotalRota(rMann);               
               
               GEvent.addListener(map, "moveend", function() {
                         marcasABNCurrentExtent();
                    }); 
		        marcasABNCurrentExtent();    
		    }
        });
} 
////////////////////////////////////////////////////
//////////Listagem de Pontos proximos//////////
////////////////////////////////////////////////////
function listaPontosProximos()
{
    if(document.getElementById("hiddenLocal").value != '')
    {
        armazenaDados(1);
    }
    else
    {
        var estabelecimento = document.getElementById("hiddenEstabelecimento").value;
        var estabelecimentoClicado = document.getElementById("hiddenEstabelecimentoClicado").value; 
        var xOrigem = document.getElementById("hiddenXOrigem").value;
        var yOrigem = document.getElementById("hiddenYOrigem").value;
        
        if ( estabelecimentoClicado == "AGENCIAS" )
       {
            $('spanAgencia').style.display = "block";
       }
       else if ( estabelecimentoClicado == "INSTITUCIONAL" ){
            $('spanCXEletronico').style.display = "block";
       }
       else if ( estabelecimentoClicado == "24H" ){
            $('span24H').style.display = "block";
       } 
       else if ( estabelecimentoClicado == "INSTITUCIONAIS_ACESSIVEIS" ){
            $('spanCXAC').style.display = "block";
       } 
       else if ( estabelecimentoClicado == "CORBAN" ){
            $('spanCorban').style.display = "block";
       } 
       else if ( estabelecimentoClicado == "Talonares" ){
            $('spanTalonar').style.display = "block";
       }
   } 
}
////////////////////////////////////////////////////////////
//////////// /////MONTA PAGINAÇÃO////////////////////
///////////////////////////////////////////////////////////
function montaMPagAdd(nomeDiv, nomeDivExt, titulo)
{
    $(nomeDivExt).style.display = 'none';
    
    var mPag = new MPaginationControl(nomeDiv, null,'',10);
    var t = new MTable(670,'cellspacing="0" cellpadding="0" align="center" border-collapse: separate; width:670px"');
    t.add(new MColumn('<b>Logradouro</b>','30%','left',M_TP_STREET,M_LABEL)); 
    t.add(new MColumn('<b>Cidade</b>','17%','left',M_TP_CITY,M_LABEL));
    t.add(new MColumn('<b>N&ordm;</b>','8%','left',M_TP_NUMBER,M_LABEL));
    t.add(new MColumn('<b>Bairro</b>','20%','left',M_TP_DISTRICT,M_LABEL));
    t.add(new MColumn('<b>CEP</b>','13%','left',M_TP_ZIP,M_LABEL));
    t.add(new MColumn('<center>' + titulo + '</center>','33%','right',M_TP_LINK));              
	t.setLineStyle('height:13px; border: 1px solid #FFF5CD; padding:3px 2px 3px 2px;'); 
	t.setLineAlterStyle('height=13px; border: 1px solid #FFF5CD; padding:3px 2px 3px 2px;');
    t.setLineClass('textoEndereco');
    t.setLineAlterClass('textoEndereco');
    t.setTitleClass('textoTitulo');
    mPag.table = t;
    mPag.onShow = function(pn) {
        $(nomeDivExt).style.display = 'block';
    }
    return mPag;
}

////////////////////////////////////////////////////////////
////////////////////INICIALIZAÇÃO///////////////////////
///////////////////////////////////////////////////////////
function initialize()
{
    var myComboClass='StCombo';
    if(typeof MaplinkAPI == "undefined")return;
    control= new MaplinkAPI();
    if(!control)return;  
    //control.setDivWait("divAguarde");    
    getMaplinkAPI().setAutoShowErrors(false);
	
	//Estado e Cidade de Origem
    _fState= new MField('formSlEstado',M_TP_STATE,'cboEstado');
    _fState.field.className=myComboClass;
    _fState.show();    

    _fCity= new MField('formSlCidade',M_TP_CITY,'cboCidade');
    _fCity.field.className=myComboClass;
    _fCity.show();   
                   
    control.findStates(_fState, _fCity, function() {});
    
    $('cboEstado').style.display = 'block';
    $('cboCidade').style.display = 'block';
}

////////////////////////////////////////
///////DISTÂNCIA TOTAL////////////
///////////////////////////////////////
function montaDivTotalRota(rMann)
{
    var innerHTML = '<b>Distância total percorrida: </b><span>';
     
    var dTotal=rMann.routeInfo.routeTotals.totalDistance;
    var sDistancia='';
    if(dTotal < 1)
        sDistancia=String(parseInt(dTotal * 1000)) + " metros";
    else
        sDistancia=String(dTotal).replace(/\./g,",") + " Km";
        
    innerHTML += sDistancia;    
    innerHTML += '</span>';
    $('divDistTot').innerHTML = innerHTML;
} 

////////////////////////////////////////
////MONTA DESCRICAO DA ROTA///
///////////////////////////////////////
function montaTDescrRota()
{
    var tDescRota = new MTable(670);
    
    tDescRota.setLineSeparator(
	'<tr><td height="1" bgcolor="#D69610" colspan="5" ><\/td><\/tr>\n'
    );  
    
    tDescRota.setLineStyle('height: 13px; background-color: #FFFCF0'); 
    tDescRota.setLineAlterStyle('height: 13px; ; background-color: #FFFCF0');
    tDescRota.noHeader = true;
    tDescRota.insertLine('<tr><td colspan="5">' 
                + '<table border="0" cellspacing="0" cellpadding="1">' 
                + '<table style="width:550px;" bgcolor="#FFFCF0">'
                + '</TD></TR></table>');
                
    return tDescRota;
}

/////////////////////////////////////////////
///ICONES DESCRICAO DA ROTA/////////
/////////////////////////////////////////////   
function montaOpcoesDescrRota()
{
    var opcoesDescrRota = {
        "imgDir":M_IMG_API+"/route",
        "imgInitRoute":"ico_mapa_origem.gif",
        "imgEndRoute":"ico_mapa_destino.gif",
        "imgContinue":"ico_mapa_up.gif",
        "imgLeft":"ico_mapa_left.gif",
        "imgRight":"ico_mapa_right.gif",
        "imgFind":"img_map_lupa.gif",
        "tableDescr": montaTDescrRota()
    };
    
    return opcoesDescrRota;
}

////////////////////////////////////////////////
///////////OPCOES DA ROTA///////////////// 
////////////////////////////////////////////////  
function montaMRouteOptions()
{
    var ro = new MRouteOptions();
    var rd = new MRouteDetails();
    rd.routeType = 0;
    rd.optimizeRoute = false;
    var ve= new MVehicle();
    ve.tankCapacity = 60;
    ve.averageConsumption = 12;
    ve.fuelPrice = 2.5;
    ve.averageSpeed = 80;
    ve.tollFeeCat = 0;
    ro.language = "portugues";
    ro.vehicle = ve;
    ro.routeDetails = rd;
    
    return ro;
}  
 
function limpaRotaAnterior()
{
    $('spanOrigemRota').innerHTML = '';
    $('spanDestinoRota').innerHTML = '';
    $('divDistTot').innerHTML = '';
    $('divDescRota').innerHTML = '';
} 
var Map = null;
function load_PrintPage()
{
	document.getElementById('spanOrigem').innerHTML = window.opener.document.getElementById('spanOrigem').innerHTML;
	document.getElementById('spanDestino').innerHTML = window.opener.document.getElementById('spanDestino').innerHTML;
	var printMap=new MPrintMap('cmdDescrRota','cmdDescrRota');
	printMap.show();
}
function abrirDescricaoImpressao()
{    
    window.open('printMapa.aspx', 'PrintMapa' ,'top=yes,toolbar=no,scrollbars=yes,width=700,height=510');
}
function abrirDescricaoImpressaoEndereco()
{    
    window.open('MapaEnd.aspx', 'MapaEnd' ,'top=yes,toolbar=no,scrollbars=yes,width=700,height=510');
}
function abrirDescricaoRota()
{    
    window.open('printRota.aspx', 'PrintRota' ,'top=yes,toolbar=no,scrollbars=yes,width=700,height=510');
}
function GIconToMIcon(icon)
{
	var s=icon.iconSize;
	var mIcon= new MIcon(icon.image,s.width,s.height);
	return mIcon;
}
///////////////////////////////////////////////////
/////////////////Mostra Mapa///////////////////
//////////////////////////////////////////////////
function lf_MostraMapa()
{
    if(!_addLocParada)
        return;
    control= new MaplinkAPI();
    if(!control)return;  
    control.setDivWait('divLoaderEndereco');

      $('Links').style.display = 'none'; 
      $('HR').style.display = 'none';  
      $('spanAgencia').style.display = 'none';
      $('spanCXEletronico').style.display = 'none'; 
      $('span24H').style.display = 'none'; 
      $('spanCXAC').style.display = 'none';
      $('spanCorban').style.display = 'none';
      $('spanTalonar').style.display = 'none';
      $('ListaEstabelecimentosAgencias').style.display = 'none';
      $('ListaEstabelecimentosCaixasEletronicos').style.display = 'none';
      $('ListaEstabelecimentosQuiosques').style.display = 'none';
      $('ListaEstabelecimentosInstAcessiveis').style.display = 'none';
      $('ListaEstabelecimentosCorban').style.display = 'none';
      $('ListaEstabelecimentosTalonares').style.display = 'none';
      $('DivGeral').style.display = 'block'; 

      if($('hiddenEstabelecimentoClicado').value != '')
      { $('LinksUteis').style.display = 'block'; }
      else if($('hiddenTipo').value != '')
      { $('LinksLocal').style.display = 'block'; $('Links').style.display = 'none'; $('DivLinksLocal').style.display = 'none';}
       
       var strInnerHTML = _addLocParada.address.street + ' (' + _addLocParada.address.city.name + ')';
       $('spanEnd').innerHTML = strInnerHTML.toUpperCase();
       
       var mapa = new MMap2($('divMapaEndInterno'));
       if ($('hiddenEstabelecimentoClicado').value == "AGENCIAS" || $('hiddenTipo').value == "AGENCIAS")
       {
           var mcIcon = new GIcon(MGetBaseIcon());
	             mcIcon.image = _urlImages + "ic_real.jpg";
	             mcIcon.iconSize = new GSize(14, 14);
	             mcIcon.shadow = "";
	             mcIcon.shadowSize = null;
	             mcIcon.infoShadowAnchor = null;
	             mcIcon.iconAnchor = new GPoint(7, 7);
	             mapa.setCentralIcon(mcIcon); 
        }else if ($('hiddenEstabelecimentoClicado').value == "INSTITUCIONAL" || $('hiddenTipo').value == "INSTITUCIONAL")
       {
            var mcIcon = new GIcon(MGetBaseIcon());
	             mcIcon.image = _urlImages + "ic_real_institucional.gif";
	             mcIcon.iconSize = new GSize(14, 14);
	             mcIcon.shadow = "";
	             mcIcon.shadowSize = null;
	             mcIcon.infoShadowAnchor = null;
	             mcIcon.iconAnchor = new GPoint(7, 7);
	             mapa.setCentralIcon(mcIcon); 
       } else if ($('hiddenEstabelecimentoClicado').value == "INSTITUCIONAIS_ACESSIVEIS" || $('hiddenTipo').value == "INSTITUCIONAIS_ACESSIVEIS")
       {
             var mcIcon = new GIcon(MGetBaseIcon());
	             mcIcon.image = _urlImages + "ic_real_institucional.gif";
	             mcIcon.iconSize = new GSize(14, 14);
	             mcIcon.shadow = "";
	             mcIcon.shadowSize = null;
	             mcIcon.infoShadowAnchor = null;
	             mcIcon.iconAnchor = new GPoint(7, 7);
	             mapa.setCentralIcon(mcIcon); 
       }else if ($('hiddenEstabelecimentoClicado').value == "CORBAN" || $('hiddenTipo').value == "CORBAN")
       {
            var mcIcon = new GIcon(MGetBaseIcon());
	             mcIcon.image = _urlImages + "ic_laranja.gif";
	             mcIcon.iconSize = new GSize(14, 14);
	             mcIcon.shadow = "";
	             mcIcon.shadowSize = null;
	             mcIcon.infoShadowAnchor = null;
	             mcIcon.iconAnchor = new GPoint(7, 7);
	             mapa.setCentralIcon(mcIcon); 
       }else if($('hiddenEstabelecimentoClicado').value == "TALONARES" || $('hiddenTipo').value == "TALONARES")
       {
             var mcIcon = new GIcon(MGetBaseIcon());
	             mcIcon.image = _urlImages + "ic_verde.gif";
	             mcIcon.iconSize = new GSize(14, 14);
	             mcIcon.shadow = "";
	             mcIcon.shadowSize = null;
	             mcIcon.infoShadowAnchor = null;
	             mcIcon.iconAnchor = new GPoint(7, 7);
	             mapa.setCentralIcon(mcIcon); 
       }else if($('hiddenEstabelecimentoClicado').value == "24H" || $('hiddenTipo').value == "24H")
       {
             var mcIcon = new GIcon(MGetBaseIcon());
	             mcIcon.image = _urlImages + "ic_real_24h.gif";
	             mcIcon.iconSize = new GSize(14, 14);
	             mcIcon.shadow = "";
	             mcIcon.shadowSize = null;
	             mcIcon.infoShadowAnchor = null;
	             mcIcon.iconAnchor = new GPoint(7, 7);
	             mapa.setCentralIcon(mcIcon); 
       }
        mapa.showAddressLocation(_addLocParada, 15);

       mapa.addControl(new MMapControls());	   
       mapa.addControl(new GLargeMapControl());
       	       
       GEvent.addListener(mapa.currentMarker, "mouseover", function() {
           mapa.currentMarker.openInfoWindowHtml("<div style='width:200px; height:15px'><center><b>Endereço Pesquisado</b><br /><br /> " 
	                    + "<b>" + _addLocParada.name + "</b> - " + _addLocParada.address.street.toUpperCase() +'<br />' 
	                    + (_addLocParada.address.district == null || _addLocParada.address.district == "undefined" ? "" : _addLocParada.address.district + ', ') + _addLocParada.address.city.name + "</center></div>");
       });
       
        GEvent.addListener(mapa, "moveend", function() {
            marcasABNCurrentExtent();
        }); 
		marcasABNCurrentExtent();  
}