﻿var map;
var icon0;
var newpoints = new Array();
var gmarkers = [];
var htmls = [];
var to_htmls = [];
var from_htmls = [];
var i = 0;

/* Ícone sede Barracred */
var iconeBarracred = new GIcon(G_DEFAULT_ICON);
iconeBarracred.image = "../images/mapa_icone_barracred.gif";
opcoesIconeBarracred = { icon: iconeBarracred, zIndexProcess: orderOfCreation };
iconeBarracred.shadow = "../images/mapa_icone_barracred_shadow.png";
iconeBarracred.iconSize = new GSize(30, 30);
iconeBarracred.shadowSize = new GSize(35, 32);
iconeBarracred.infoWindowAnchor = new GPoint(15, 2);

/* Ícone fotos */
var iconeFotos = new GIcon(G_DEFAULT_ICON);
iconeFotos.image = "../images/mapa_icone_foto_.png";
opcoesIconeFotos = { icon: iconeFotos, zIndexProcess: orderOfCreation };
iconeFotos.shadow = "../images/mapa_icone_foto_shadow.png";
iconeFotos.iconSize = new GSize(30, 35);
iconeFotos.shadowSize = new GSize(35, 35);
iconeFotos.infoWindowAnchor = new GPoint(15, 20);

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

addLoadEvent(overall);

function overall() {
    if (GBrowserIsCompatible()) {
        // A function to create the marker and set up the event window - 
        // Uma função para criar o marcador e definir o evento janela
        function createMarker(point, name, html, opcoesMarcador, posicao) {
            var marker = new GMarker(point, opcoesMarcador);

            // A info janela com a versão "Até aqui" ativa
            to_htmls[i] = '<div id="mapa">' + html +
           '<br />Direção: <span class="link_ativo">Até aqui</span> - <a href="javascript:fromhere(' + i + ')">A partir daqui</a>' +
           '<br />Procurar endereço: <form action="http://maps.google.com/maps" method="get" target="_blank">' +
           '<input class="campotexto" type="text" size=37 maxlength="100" name="saddr" id="saddr" value="" /> ' +
           '<input value="Procurar" type="submit" />' +
           '<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() + '" />' +
           '<br /><span class="exemplo">Ex.: r. Primeiro de Março, 661, Barra Bonita-SP</span></form>' +
           '</div>';

            // A info janela com a versão "A partir daqui" ativa
            from_htmls[i] = '<div id="mapa">' + html +
           '<br />Direção: <a href="javascript:tohere(' + i + ')">Até aqui</a> - <span class="link_ativo">A partir daqui</span>' +
           '<br />Procurar endereço: <form action="http://maps.google.com/maps" method="get" target="_blank">' +
           '<input class="campotexto" type="text" size=37 maxlength="100" name="daddr" id="daddr" value="" /> ' +
           '<input value="Procurar" type="submit" />' +
           '<input type="hidden" name="saddr" value="' + point.lat() + ',' + point.lng() + '" />' +
           '<br /><span class="exemplo">Ex.: r. Primeiro de Março, 661, Barra Bonita-SP</span></form>' +
           '</div>';

            // A versão inativa da direção info
            html = '<div id="mapa">' + html +
            '<br />Direção: <a href="javascript:tohere(' + i + ')">Até aqui</a> - <a href="javascript:fromhere(' + i + ')">A partir daqui</a>' +
            '</div>';

            GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml(html);
            });
            gmarkers[i] = marker;
            htmls[i] = html;
            i++;
            return marker;
        }

        // Mostrar o mapa, com alguns controles e defina a localização inicial
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.enableDoubleClickZoom();
        map.enableContinuousZoom();
        map.enableScrollWheelZoom();

        //controles / mapa / satélite / híbrido
        //map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(-22.490354, -48.548069), 14);

        // Inserindo janelas e suas coordenadas 
        var point = new GLatLng(-22.500138, -48.562006);
        var marker = createMarker(point, 'Ponte Campos Salles', '<table><tr><td><span class="titulo">Ponte Campos Salles</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Ponte Campos Salles" alt="Ponte Campos Salles" src="../images/mapa_ponte_campos_salles.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49873, -48.560611);
        var marker = createMarker(point, 'Museu Histórico de Barra Bonita', '<table><tr><td><span class="titulo">Museu  de Barra Bonita</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Museu Histórico de Barra Bonita" alt="Museu Histórico de Barra Bonita" src="../images/mapa_museu.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49955567420103, -48.55975139543632);
        var marker = createMarker(point, 'Navegação de Barra Bonita', '<table><tr><td><span class="titulo">Navegação de Barra Bonita</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Navegação de Barra Bonita" alt="Navegação de Barra Bonita" src="../images/mapa_navegacao.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49961372350361, -48.55854181186589);
        var marker = createMarker(point, 'Shopping de Barra Bonita', '<table><tr><td><span class="titulo">Shopping de Barra Bonita</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Shopping de Barra Bonita" alt="Shopping de Barra Bonita" src="../images/mapa_shopping.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49925071392413, -48.56004706762896);
        var marker = createMarker(point, 'Passeios de Bondinho', '<table><tr><td><span class="titulo">Passeios de Bondinho</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Passeios de Bondinho" alt="Passeios de Bondinho" src="../images/mapa_bondinho.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49894473318247, -48.55935714412735);
        var marker = createMarker(point, 'Praça do Artesanato', '<table><tr><td><span class="titulo">Praça do Artesanato</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Praça do Artesanato" alt="Praça do Artesanato" src="../images/mapa_praca_artesanato.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.496886, -48.55898);
        var marker = createMarker(point, 'Igreja Matriz - São José', '<table><tr><td><span class="titulo">Igreja Matriz - S&atilde;o Jos&eacute;</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Igreja Matriz - São José" alt="Igreja Matriz - São José" src="../images/mapa_igreja_matriz.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        //var point = new GLatLng(-22.47823438253162,-48.5325407563362);
        //var marker = createMarker(point,'COSAN - Usina da Barra', '<table><tr><td><span class="titulo">COSAN - Usina da Barra</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="COSAN - Usina da Barra" alt="COSAN - Usina da Barra" src="../images/mapa_usina_barra.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        //map.addOverlay(marker);

        var point = new GLatLng(-22.519257, -48.534787);
        var marker = createMarker(point, 'Eclusa de Barra Bonita ', '<table><tr><td><span class="titulo">Eclusa de Barra Bonita</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Eclusa de Barra Bonita" alt="Eclusa de Barra Bonita" src="../images/mapa_eclusa.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.4863166693714, -48.54740144092278)
        var marker = createMarker(point, 'Praça da Rotatória', '<table><tr><td><span class="titulo">Praça da Rotatória</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Praça da Rotatória" alt="Praça da Rotatória" src="../images/mapa_praca_rotatoria.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49820617793703, -48.56485804895042);
        var marker = createMarker(point, 'Praça do Teleférico', '<table><tr><td><span class="titulo">Praça do Teleférico</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Praça do Teleférico" alt="Praça do Teleférico" src="../images/mapa_praca_teleferico.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49713009867308, -48.56499514205097);
        var marker = createMarker(point, 'Pavilhão de Exposições', '<table><tr><td><span class="titulo">Pavilhão de Exposições</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Pavilhão de Exposições" alt="Pavilhão de Exposições" src="../images/mapa_pavilhao.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49470019087918, -48.55315889401333);
        var marker = createMarker(point, 'Teatro Municipal', '<table><tr><td><span class="titulo">Teatro Municipal</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Teatro Municipal" alt="Teatro Municipal" src="../images/mapa_teatro_municipal.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.50204369752915, -48.55980636377327);
        var marker = createMarker(point, 'Rio Tietê', '<table><tr><td><span class="titulo">Rio Tietê</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Rio Tietê" alt="Rio Tietê" src="../images/mapa_rio_tiete.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.49822485004322, -48.56413466744331);
        var marker = createMarker(point, 'Mini Cidade', '<table><tr><td><span class="titulo">Mini Cidade</span></td></tr><tr><td height="1" bgcolor="#005E32"></td></tr><tr><td><img class="imgLocal" title="Mini Cidade" alt="Mini Cidade" src="../images/mapa_mini_cidade.jpg" /></td></tr></table>', opcoesIconeFotos, 1)
        map.addOverlay(marker);

        var point = new GLatLng(-22.4931, -48.554635);
        var marker = createMarker(point, 'BARRACRED', '<table border="0" cellpadding="0" cellspacing="0"><tr><td width="230px" style="border-bottom: 1px solid #005E32;"><a href="http://www.barracred.com.br" target="_blank"><img src="../images/logo_sicoob.jpg" border="0" alt="Clique para ir para o site da Barracred." /></a></td><td rowspan="2"><img class="imgSedeBarracred" title="Sede Barracred" alt="Sede da Barracred Cosan" src="../images/mapa_sede_barracred.jpg" /></td></tr><tr><td><br /><b>Endereço:</b><br />Rua:Antonio Franco Pompeu, 261<br />Vila Operária<br />Barra Bonita-SP<br /><br /></td></tr><tr><td colspan="2"><b>Telefones:</b><br />Cooperados: (14) 3604-8011 <br />Empresas Conveniadas: (14) 3604-8017<br /></td></tr></table>', opcoesIconeBarracred, 10)
        map.addOverlay(marker);
    }
    // display a warning if the browser was not compatible / exibir um aviso quando o navegador não for compatível
    else {
        alert("A API do Google Maps não é compatível com este brownser!");
    }
}

/* ===== request the directions =====
function getDirections() {
var saddr = document.getElementById("saddr").value
var daddr = document.getElementById("daddr").value
var gdir=new GDirections(map, document.getElementById("directions"));
gdir.load("from: "+saddr+" to: "+daddr, {getPolyline:true});		
}*/
// This function picks up the click and opens the corresponding info window
function myclick(i) {
    gmarkers[i].openInfoWindowHtml(htmls[i]);
}

// functions that open the directions forms
function tohere(i) {
    gmarkers[i].openInfoWindowHtml(to_htmls[i]);
}

function fromhere(i) {
    gmarkers[i].openInfoWindowHtml(from_htmls[i]);
}

// === Array for decoding the failure codes / Array para a descodificação do fracasso códigos ===
var reasons = [];
reasons[G_GEO_SUCCESS] = "Sucesso";
reasons[G_GEO_MISSING_ADDRESS] = "Não foi possível se conectar ao Google Maps";
reasons[G_GEO_UNKNOWN_ADDRESS] = "Endereço desconhecido: Não foi possível encontrar a localização geográfica correspondente para o endereço especificado.";
reasons[G_GEO_UNAVAILABLE_ADDRESS] = "Endereço indisponível: O endereço solicitado não podem ser exposto por motivos legais ou contratuais.";
reasons[G_GEO_BAD_KEY] = "Erro de chave: A chave da API é inválida ou não coincide com o domínio para o qual foi dado.";
reasons[G_GEO_TOO_MANY_QUERIES] = "A cota diária de geocodificação para este site foi ultrapassado.";
reasons[G_GEO_SERVER_ERROR] = "O pedido geocoding não pode ser processado com sucesso.";
reasons[G_GEO_BAD_REQUEST] = "O pedido de direções não pode ser analisado com êxito.";
reasons[G_GEO_MISSING_QUERY] = "Nenhuma consulta foi especificado na entrada.";
reasons[G_GEO_UNKNOWN_DIRECTIONS] = "O objeto GDirections não pode ser calculado com as direções entre os pontos.";

// === catch Directions errors ===
/*GEvent.addListener(gdir, "error", function() {
var code = gdir.getStatus().code;
var reason="Code "+code;
if (reasons[code]) {
reason = reasons[code]
} 
 
alert("Failed to obtain directions, "+reason);
});*/

function orderOfCreation(marker, b) {
    return 1;
}
