﻿var map;
var global_markers = new Array();
var places_with_img = new Array();
var urlDadosXML;
var urlAvatar;
var urlPinPoint;
var urlDadosXML2;

function createMarker(point, content, zoom, opt) {
    var marker = new GMarker(point, opt);
    GEvent.addListener(marker, "click", function() {
        map.setCenter(point, zoom);
        var opt2 = new Object();
        marker.openInfoWindowHtml(content, opt2);
    });
    return marker;
}

function GMload(tipoAtividade) {
    if (GBrowserIsCompatible()) {

        var load = document.getElementById("bx-mapa-loader");
        load.style.visibility = 'visible';

                
        map = new GMap2(document.getElementById("map-screen"));

        map.addControl(new GLargeMapControl());

        //mostra opçoes mapa, satélite, hibrido.
        //map.addControl(new GMapTypeControl());

        urlDadosXML2 = urlDadosXML + '?t=' + tipoAtividade;

        GDownloadUrl(urlDadosXML2, function(data, responseCode) {
            var xml = GXml.parse(data);
            var s;
            var places = xml.documentElement.getElementsByTagName("place");

            for (var i = 0; i < places.length; i++) {

                var point = new GLatLng(parseFloat(places[i].getAttribute("lat")), parseFloat(places[i].getAttribute("lng")));
                var endereco = places[i].getAttribute("address");
                //var numero = places[i].getAttribute("number");
                var foto = places[i].getAttribute("picture");
                var nome = places[i].getAttribute("title");
                var cidade = places[i].getAttribute("city");
                var estado = places[i].getAttribute("state");
                var bairro = places[i].getAttribute("neighborhood");
                //var cep = places[i].getAttribute("zip");
                var tipo = places[i].getAttribute("type");
                var idtipo = places[i].getAttribute("idtype");
                var titulo;

                titulo = tipo;

                //var desc = places[i].getAttribute("desc");
                //var dias = places[i].getAttribute("days");
                //var hora_ini = places[i].getAttribute("ini_hour");
                //var hora_fim = places[i].getAttribute("end_hour");


                s = "<div style='overflow:hidden;'>";
                s = s + "<div class='window'>";
                s = s + "<img src='" + foto + "' alt='" + titulo + "' />";
                s = s + "<div class='box' style='color:#555'>";
                s = s + "<b style='color:#555'>" + titulo + "</b><br>";
                s = s + "<b style='color:#555'>" + nome + "</b><br>";
                s = s + "<em style='color:#555'>" + endereco + "</em><br>";
                s = s + "<em style='color:#555'>" + bairro + "</em><br>";
                s = s + "</div><div class='box2' style='color:#555'>"
                s = s + "<hr>Filtrar por <a href='javascript:GMload(" + idtipo + ");' style='color:#2C8DC9'>" + tipo + "</a>, &nbsp;";
                s = s + "<a href='javascript:GMload(0);' style='color:#2C8DC9'>Mostrar todos</a><br>";
                s = s + "</div></div>";
                s = s + "</div>";


                var portoIcon = new GIcon(G_DEFAULT_ICON);
                //portoIcon.image = urlPinPoint;
                portoIcon.image = foto;
                portoIcon.shadow = "";
                portoIcon.iconSize = new GSize(25, 25);

                var opt = new Object();
                opt.title = titulo + " (" + nome + ")";
                opt.icon = portoIcon;

                var marker = createMarker(point, s, 17, opt);

                var img = foto;
                if (img != '') places_with_img[img] = marker;

                map.addOverlay(marker);

                map.setCenter(point, 12);
            }

            load.style.visibility = 'hidden';
            
        });

        //adiciona posição inicial no brasil
        //  var point = new GLatLng(-14.2000040, -51.9002800);
        // map.setCenter(point, 5);


    }
}


