/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


   

    var httpRequest = XMLHTTPRequest();

    svgOn();

    var map;
    var geocoder = new GClientGeocoder();
    
   // var centerPoint = new GLatLng(-23.565017, -46.652002); //Av Paulista
   // var radiusPoint = new GLatLng(-23.565017, -40.652002);
    
    ///-16.337031,-48.918552
    var centerPoint = new GLatLng(-16.337031, -48.918552);
    var radiusPoint = new GLatLng(-16.337031, -45.918552);

 
 
 
 
 
//var centerPoint = new GLatLng(40.078071,-101.689453);
//var radiusPoint = new GLatLng(40.078071,-90.689453);
    var normalProj = G_NORMAL_MAP.getProjection();



var circleLine;
var radarLines = Array();
var color = '#1D4569';
var weight = 5;
var opacity = 0.2;
var separation = 1;
var timeInterval = 30;
var running = false;
var radius = 200;

var sCorpoMensagem="";

            var sListaEnd = "";
            var sNumEntidade="";
            var sEndereco="";



   





//*****************************************************
//*
//*****************************************************
function svgOn() {
  if(document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG","1.1"))
  {
     _mSvgEnabled = true;
     _mSvgForced  = true;
   }
   else 
   {
//     alert("This browser is not SVG enabled.");
   }
}

           //************************************
           //*
           //************************************
            function XMLHTTPRequest()
            {
                var tXHR=0;
                if (window.XMLHttpRequest)
                {
                    tXHR=new XMLHttpRequest(); //objeto nativo (FF / Safari / Konqueror / Opera / etc)
                }
                else
                {
                    try
                     {
                     tXHR=new ActiveXObject("MSXML2.XMLHTTP.3.0");
                        //tXHR=new ActiveXObject("Msxml2.XMLHTTP");
                     } //activeX (IE5.5+/MSXML2+)
                    catch(e)
                    {
                        try
                        {
                          tXHR=new ActiveXObject("MSXML2.XMLHTTP.3.0");
                            //tXHR=new ActiveXObject("Microsoft.XMLHTTP");
                        } //activeX (IE5+/MSXML1)
                        catch(e)
                        {
                            tXHR=false;
                        } //O navegador não tem suporte
                    }
                }


                return tXHR; //retornar resultado (objeto, ou "false", no caso de erro)
            }

//*****************************************************
//* Carrega Modulos no Corpo div_corpo
//*****************************************************
function fCorpoDIV(pURLDIV)
{
    
                var strData="";
                             
                sCorpoMensagem="carregando";
                
                httpRequest = XMLHTTPRequest();
                
                
                
                httpRequest.onreadystatechange = fEventoCorpoDIV;
                
                //httpRequest.open('POST', 'http://localhost:8084/wsbase/wsmapas?' + strData, true);
                httpRequest.open('GET', pURLDIV, true);

                httpRequest.setRequestHeader('Content-Type','text/xml');
                httpRequest.setRequestHeader('encoding','ISO-8859-1');
                httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                
                httpRequest.setRequestHeader('Content-length', strData.length );
                
                httpRequest.setRequestHeader("Connection", "close");
                
                httpRequest.send(strData);
    
}
 
//*****************************************************
//* Eventos Carrega Modulos no Corpo div_corpo
//*****************************************************
function fEventoCorpoDIV()
{
               if(httpRequest.readyState == 4)
                {
                    if (httpRequest.status == 200)
                    {
                     document.getElementById('div_corpo').innerHTML = httpRequest.responseText;  
                    }
                    else
                    {
                         
                    }
                }
                else
                {
                    sCorpoMensagem+=".";
                  document.getElementById('div_corpo').innerHTML = "<b>"+sCorpoMensagem+"</b>";      
                }
}




            //****************************************************
            //* Recebe o retorno do httpRequest
            //****************************************************
            function fResponseListaEndProximo()
            {
                if(httpRequest.readyState == 4)
                {
                    if (httpRequest.status == 200)
                    {
                        //alert(httpRequest.responseText);
                        //document.getElementById('monitor').innerHTML=document.getElementById('monitor').innerHTML + "Contador:"+nContador+"<br>";
                        //var sXML = httpRequest.responseXML.xml ? httpRequest.responseXML.xml : (new XMLSerializer()).serializeToString(httpRequest.responseText);
          ////              document.getElementById('monitor').innerHTML=document.getElementById('monitor').innerHTML + "XML recebido:'" + httpRequest.responseText + "'<br>";

                       sListaEnd = httpRequest.responseText;
                       fEntidadeCoordenadas();

                   ///////     fEntidadeEndereco();

                        //alert(httpRequest.responseText.indexOf( "\n" ));

                        //
                        //
                        //
                        //
                        ////////parseTabela(); //DOM
                        //document.getElementById('monitor').doScroll("scrollbarPageDown");




                        //Recurcividade!!!!!!!!!
                        //fCapturacoordenadas();
                        //fTimeout();
                    }
                    else
                    {
                        //alert('There was a problem with the request.');
         /////               document.getElementById('monitor').innerHTML=document.getElementById('monitor').innerHTML + 'There was a problem with the request.' + '<br>';
                        //document.getElementById('monitor').doScroll("scrollbarPageDown");

                    }
                }
                    else
                    {
        ///////                document.getElementById('monitor').innerHTML=document.getElementById('monitor').innerHTML + 'State:' + httpRequest.readyState + '<br>';
                        //document.getElementById('monitor').doScroll("scrollbarPageDown");

                    }


            }

            //***********************************************
            //*
            //***********************************************
            function fEntidadeCoordenadas()
            {
                        sNumEntidade="";
                        sEndereco="";


                      while(sListaEnd != ";")
                      {
                         sNumEntidade = sListaEnd.substring(0,sListaEnd.indexOf( "|" ));
                         sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "|")+1);
                         var sNome = sListaEnd.substring(0,sListaEnd.indexOf( "|" ));
                         sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "|")+1);
                         var sLatitude = sListaEnd.substring(0,sListaEnd.indexOf( "|" ));
                          sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "|")+1);
                        var sLongitude = sListaEnd.substring(0,sListaEnd.indexOf( "|" ));
                          sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "|")+1);
                        var sTelefone = "Tel.:" + sListaEnd.substring(0,sListaEnd.indexOf( "|" ));
                          sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "|")+1);
                        var sURL = sListaEnd.substring(0,sListaEnd.indexOf( "|" ));
                          sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "|")+1);
                        var sEndereco = sListaEnd.substring(0,sListaEnd.indexOf( "\n" ));

//alert("Longitude" + sLatitude + " Longitude" + sLongitude);

                         sListaEnd = sListaEnd.substring(sListaEnd.indexOf( "\n")+1);

                         /////////////alert("entidade:" + sNumEntidade + " Endereco:" + sEndereco);

                         ///alert(sListaEnd);
                         
                         
                        var html ="<div class='infowindow'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ sNome + "<br>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font><\/div>";
   
                         
                         
                         if(sNome.toUpperCase().indexOf("BRADESCO")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/bradesco.png";
                            icon.shadow = "imagens/shadow-bradesco.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                                                        
                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";
  
                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("ITAU")!=-1 ||sNome.toUpperCase().indexOf("BANCO ITA")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/itau.png";
                            icon.shadow = "imagens/shadow-itau.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);
                            
                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";
                            
                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("REAL")!=-1 || sNome.toUpperCase().indexOf("AMRO")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/real.png";
                            icon.shadow = "imagens/shadow-real.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);
                            
                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";
                            
                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("BANCO DO BRASIL")!=-1 || sNome.toUpperCase().indexOf("BRAZIL")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/brasil.png";
                            icon.shadow = "imagens/shadow-brasil.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";

                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("UNIBANCO")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/unibanco.png";
                            icon.shadow = "imagens/shadow-unibanco.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";

                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("HSBC")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/hsbc.png";
                            icon.shadow = "imagens/shadow-hsbc.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";

                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("CITIBANK")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/citibank.png";
                            icon.shadow = "imagens/shadow-citibank.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";

                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("SANTANDER")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/santander.png";
                            icon.shadow = "imagens/shadow-santander.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";

                            fLista(icon.image,sNome,sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("CAIXA")!=-1 && sNome.toUpperCase().indexOf("FEDERAL")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/caixa.png";
                            icon.shadow = "imagens/shadow-caixa.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);

                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";

                            fLista(icon.image,sNome, sConteudo);
                         }
                         else if(sNome.toUpperCase().indexOf("CAIXA")!=-1 && sNome.toUpperCase().indexOf("NOSSA")!=-1)
                         {
                            var icon = new GIcon();
                            icon.image = "imagens/nossacaixa.png";
                            icon.shadow = "imagens/shadow-nossacaixa.png";
                            //icon.iconSize = new GSize(30.0, 40.0);
                            //icon.shadowSize = new GSize(51.0, 40.0);
                            icon.iconAnchor = new GPoint(15.0, 30.0);
                            icon.infoWindowAnchor = new GPoint(15.0, 30.0);
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude),icon);
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);


                            var sConteudo = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ sEndereco+ "<br>" + sTelefone + "<br>" + sURL + "<\/font>";
                            fLista(icon.image,sNome, sConteudo);
                         }
                          
                         else
                         {
                            oGMarker = new GMarker(new GLatLng(sLatitude, sLongitude));
                            oGMarker.content = html;
                            addClickevent(oGMarker);
                            map.addOverlay(oGMarker);
                         }
                         
                        }

                        //fConsultaEndereco(); //consulta latidude-longitude

            }

    //***********************************************
    //*
    //***********************************************
    function fLista(pImagem,pNome, pConteudo)
    {
      var sHTML="";
             
              sHTML+="<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
              sHTML+="     <tr>";
              sHTML+="       <td align=left width=1><img src='"+pImagem+"'/></td><td><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"+pNome+"</font></td>";
              sHTML+="     </tr>";
              sHTML+="     <tr>";
              sHTML+="       <td width=1>&nbsp;</td><td>" + pConteudo + "</td>";
              sHTML+="     </tr>";
              sHTML+="   </table>";
              sHTML+="<br>";
              document.getElementById('div_lista').innerHTML+=sHTML;
    }


    //****************************************************
    //* Pesquisa enderecos proximo
    //****************************************************
    function fPesquisaEnderecosProximo(pLatitude, pLongitude)
    {
              
        
                var strData = "method=mendproximo&platitude=" + pLatitude + "&plongitude=" + pLongitude;
               
               httpRequest = XMLHTTPRequest();
               
                //document.getElementById('monitor').innerHTML=document.getElementById('monitor').innerHTML + 'Processamento:' + nContador + '<br>';
                //document.getElementById('monitor').doScroll("scrollbarPageDown");

                //httpRequest.onreadystatechange = function(){fResponse(httpRequest);};

                httpRequest.onreadystatechange = fResponseListaEndProximo;
                
                //////httpRequest.open('POST', 'http://localhost:8084/wsbase/wsmapas?' + strData, true);
                httpRequest.open('POST', 'http://www.proximodevoce.com.br/wsbase/wsmapas?' + strData, true);

                httpRequest.setRequestHeader('Content-Type','text/xml');
                httpRequest.setRequestHeader('encoding','ISO-8859-1');
                httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                
                httpRequest.setRequestHeader('Content-length', strData.length );
                
                httpRequest.setRequestHeader("Connection", "close");
                
                httpRequest.send(strData);
         
    }

function addClickevent(marker) { // Add a click listener to the markers

 GEvent.addListener(marker, "click", function() {
  marker.openInfoWindowHtml(marker.content);
 });
 return marker;
}

    function fMostraMapa()
    {

 //     if (GBrowserIsCompatible()) {
 //       map = new GMap2(document.getElementById("div_display"));
 //
 //       map.setCenter(centerPoint, 15);

        //map.setCenter(new GLatLng(-23.565017, -46.652002), 15);



//      }


            if(GBrowserIsCompatible())
             {
                var icon = new GIcon();
                icon.image = "imagens/ondeestou.png";
                icon.shadow = "imagens/shadow-ondeestou.png";
                icon.iconSize = new GSize(30.0, 40.0);
                icon.shadowSize = new GSize(51.0, 40.0);
                icon.iconAnchor = new GPoint(15.0, 40.0);
                icon.infoWindowAnchor = new GPoint(15.0, 40.0);

                 
		map = new GMap2(document.getElementById("div_display"), {draggableCursor:"crosshair"});
		map.setCenter(centerPoint, 15);
                map.addOverlay(new GMarker(centerPoint,icon));

                map.addControl(new GSmallZoomControl()); 
		//map.addControl(new GScaleControl());
		//map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
             }
    }
    

    //****************************************************
    //Pesquisa endereco no GoogleMaps
    //****************************************************
    function fPesquisaEndereco(pEndereco)
    {
        running = false;
        
        document.getElementById('div_lista').innerHTML="";
        document.getElementById('div_display').innerHTML='Pesquisando endere&ccedil;o no googlemaps...';

        // Recebe o endereço digitado no campo 'consulta' do form
        // Realiza a consulta. resolverEnderecos é a função callback
        // Javascript que será chamada quando o método getLocations do
        // objeto geocoder retornar uma resposta.
        geocoder.getLocations(pEndereco, fEventoEndereco);
    }

            //***************************************************************************
            // Callback para tratar o retorno de uma chamada ao método
            // getLocations() do objeto geocoder. O parâmetro resposta será
            // usado para acessar os dados retornados. resolverEnderecos também faz
            // uso da função listarLocais que será explicada adiante.
            //***************************************************************************
            function fEventoEndereco(pRespostaGoogleMaps)
            {



                // Retira todos os marcadores existentes no mapa.
                /////mapaobj.clearOverlays();

                // Verifica o status da resposta
                if (!pRespostaGoogleMaps || pRespostaGoogleMaps.Status.code != G_GEO_SUCCESS)
                {
                    // Caso a resposta seja inválida, exibe o motivo.
                    /////////////alert("Nao foi possivel localizar o endereco solicitado");
                    // Os códigos de erro são úteis para procurer o motivo
                    // exato da falha na consulta de endereços na documentação
                    // do GoogleMaps API
                    //alert("Código de erro: " +  resposta.Status.code);
                    //fEntidadeEndereco(); //Passa para o proximo endereco
                   document.getElementById('div_display').innerHTML="Erro:" + pRespostaGoogleMaps.Status.code +"<br>";
        ///////            fEntidadeEndereco();
                    ///fAtualisaEntidade(-1, -1);
                  ////   if(pRespostaGoogleMaps.Status.code == 601)
                  ///       {
                  ///         fListaEndereco();
                  //       }
                }
                else
                {
                    // Caso o status da resposta seja G_GEO_SUCCESS,
                    // iremos navegar em todos os resultados retornados,
                    // que podem ser vários em caso de uma consulta ambígüa

                    // Extrai o número de resultados retornados. O atributo
                    // Placemark matém toda a informação de que precisamos
                    // acerca das localidades encontradas.
                    var num_resultados = pRespostaGoogleMaps.Placemark.length;
                    // Obtemos a referência DOM à div na qual os locais encontrados
                    // serão listados através do Javascript
                    var alvo = document.getElementById("locais");

                    // Invoca a função listarLocais, explicada posteriormente
          ////          listarLocais(alvo, resposta.Placemark);

                    // Caso haja múltiplos resultados, informa o fato ao usuário
                    if (num_resultados > 1)
                    {
                    /////////////    alert('A sua consulta retornou resultados ambígüos.' +
                   /////////////           '\nEscolha a localidade mais adequada à consulta.');
                          //fEntidadeEndereco(); //Passa para o proximo endereco
                     ///////document.getElementById('monitor').innerHTML="Endereco:" + sEndereco + " lat:-1 long:-1<br>";

                         ////// fAtualisaEntidade(-1, -1);
                     ///////    fEntidadeEndereco();
                    }
                    else
                    {
                        
                        // Caso haja um único resultado,

                        // Obtém uma referência ao endereço retornado
                        var local = pRespostaGoogleMaps.Placemark[0];

                        // Extrai o um objeto GLatLng representando as coordenadas
                        // do endereço solicitado
                        ponto = local.Point.coordinates;

                        // Extrai a precisão do endereço. Accuracy é um número que
                        // indica se o endereço retornado corresponde a um país,
                        // provincial, estado, cidade, bairro, rua, etc. Depende da
                        // consulta que foi realizada. Com essa informação em mãos,
                        // podemos decidir qual o nível de zoom mais adequado
                        var acc = pRespostaGoogleMaps.Placemark[0].AddressDetails.Accuracy;

                        // Chama a função centralizaMapa passando como argumento
                        // as coordenadas do ponto (posição 1 para latitude, 0 para
                        // longitude); O endereço completo do ponto encontrado; a
                        // precisão do endereço para controlar o nível de zoom
               ////         centralizaMapa(ponto[1],ponto[0],resposta.Placemark[0].address, acc);
                     /////////////   alert("latitude:" + ponto[1] + " longitude:" + ponto[0]);
              //
              /////document.getElementById('div_display').innerHTML = "Endereço encontrado...";
              ///////       document.getElementById('monitor').innerHTML="Endereco:" + sEndereco + " lat:" + ponto[1] + " long:" + ponto[0] + "<br>";
              ///////          fAtualisaEntidade(ponto[1], ponto[0]);
              
                        centerPoint = new GLatLng(ponto[1], ponto[0]); 
                        fMostraMapa();
                        
                        startRadar(true);
                        
                        fPesquisaEnderecosProximo(ponto[1], ponto[0]);
                    }
                }
            }


//***********************************************
//* Inicia/Para Radar
//***********************************************
function toggleRadar()
{
	running = running ? false : true;


	if (running)
        {
		drawCircle();
		startRadar();
	}
}

function startRadar(pRunning)
{
        drawCircle();
        running = pRunning;
        radarLines = Array();
        
	var zoom = map.getZoom();
	var centerPt = normalProj.fromLatLngToPixel(centerPoint, zoom);
	var radiusPt = normalProj.fromLatLngToPixel(radiusPoint, zoom);


	var circlePoints = Array();

	with (Math) {
		radius = floor(sqrt(pow((centerPt.x-radiusPt.x),2) + pow((centerPt.y-radiusPt.y),2))) / 800;

		for (var a = 0 ; a < 2 ; a++ ) {
			var aRad = a * separation * (PI/180);
			var y = centerPt.y + radius * sin(aRad);
			var x = centerPt.x + radius * cos(aRad);
			var p = new GPoint(x,y);

			var latLon = normalProj.fromPixelToLatLng(p, zoom);
			var pLine = new GPolyline([centerPoint,latLon],color,weight,opacity);
			radarLines.push(pLine);
		}

		for (var n = 0 ; n < radarLines.length ;n++ ) 
                {
			map.addOverlay(radarLines[n]);
		}
		window.setTimeout(function(){rotate(5)},10);

	}
}


function rotate(a) {

	var zoom = map.getZoom();
	var centerPt = normalProj.fromLatLngToPixel(centerPoint, zoom);
	var radiusPt = normalProj.fromLatLngToPixel(radiusPoint, zoom);
	with (Math) {
		radius = floor(sqrt(pow((centerPt.x-radiusPt.x),2) + pow((centerPt.y-radiusPt.y),2))) / 800;

		var aRad = a* separation *(PI/180);
		var y = centerPt.y + radius * sin(aRad);
		var x = centerPt.x + radius * cos(aRad);

		var p = new GPoint(x,y);
		var latLon = normalProj.fromPixelToLatLng(p, zoom);
		var pLine = new GPolyline([centerPoint,latLon],color,weight,opacity);
		var oldLine = radarLines.shift();
		map.removeOverlay(oldLine);
		radarLines.push(pLine)
		map.addOverlay(pLine);
		if (running) {
			window.setTimeout(function(){rotate(a+1)},timeInterval);
		}
	}
}

function drawCircle(){
	var zoom = map.getZoom();
	var centerPt = normalProj.fromLatLngToPixel(centerPoint, zoom);
	var radiusPt = normalProj.fromLatLngToPixel(radiusPoint, zoom);


	var circlePoints = Array();

	with (Math) {
		radius = floor(sqrt(pow((centerPt.x-radiusPt.x),2) + pow((centerPt.y-radiusPt.y),2))) / 800;

		for (var a = 0 ; a < 361 ; a+=10 ) {
			var aRad = a*(PI/180);

			var y = centerPt.y + radius * sin(aRad)
			var x = centerPt.x + radius * cos(aRad)
			var p = new GPoint(x,y);
			circlePoints.push(normalProj.fromPixelToLatLng(p, zoom));
		}

		//map.removeOverlay(circleLine);

		circleLine = new GPolyline(circlePoints,'#1D4569',5,0.5);
		map.addOverlay(circleLine);
	}
}





