﻿var map, geoXml, mgr;
var markers = [];
var paises = [];
$(document).ready(function() {
    var raizserver = jsServerRoot;
    
    var createIcon = function(imgPth){
        var icn = new GIcon(G_DEFAULT_ICON);
        icn.iconSize = new GSize(26, 26);
        icn.shadowSize = new GSize(38, 24);
        icn.iconAnchor = new GPoint(16, 30);
        icn.image = imgPth;
        return icn;
    }
    
    //Google maps - memory lickage
    $("body").unload(function() { GUnload(); });

    if (GBrowserIsCompatible()) {
        var geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById("googlemap"));
        map.setCenter(new GLatLng(22.105999, -37.96875), 1);
        map.setUIToDefault();

        mgr = new MarkerManager(map, { trackMarkers: true });

        $.getJSON(urlSedes, function(data) {
            var styles = {};
            paises = data.Paises;
            for (var st in data.StyleNodes) {
                styles[data.StyleNodes[st].Id] = data.StyleNodes[st].IconHref;
            }
            for (var pm in data.VistaDetalle) {
                var st = data.VistaDetalle[pm].StyleId;
                var coords = data.VistaDetalle[pm].Coordinates.split(',');
                var name = data.VistaDetalle[pm].Name;
                var desc = data.VistaDetalle[pm].Description;
                var dir = data.VistaDetalle[pm].Direccion;
                var pais = data.VistaDetalle[pm].Pais;
                var icon = createIcon(styles[st]);
                var markerOptions = { icon: icon };
                var mrkr = new GMarker(new GLatLng(coords[1], coords[0]), markerOptions);
                mrkr.bindInfoWindowHtml(desc);
                markers.push(mrkr);
            }

            for (var pm in data.VistaGeneral) {
                var st = data.VistaGeneral[pm].StyleId;
                var coords = data.VistaGeneral[pm].Coordinates.split(',');
                var name = data.VistaGeneral[pm].Name;
                var desc = data.VistaGeneral[pm].Description;
                var dir = data.VistaGeneral[pm].Direccion;
                var pais = data.VistaGeneral[pm].Pais;
                var icon = createIcon(styles[st]);
                var markerOptions = { icon: icon };
                var marker = new GMarker(new GLatLng(coords[1], coords[0]), markerOptions);
                marker.bindInfoWindowHtml(desc);
                mgr.addMarker(marker, 0, 17)
            }
/*
            var createZoomMarker = function(pais) {
                var ll = pais.Point.split(",");
                var coords = new GLatLng(ll[1], ll[0]);
                var icon = createIcon(styles[st]);
                markerOptions = { icon: icon };
                var marker = new GMarker(coords, markerOptions);
                marker.bindInfoWindow('<h2 style="font-weight:bold;font-size:14px;">' + markerinfotxt.replace(/\{0}/g, pais.Label) + "</h2>");
                mgr.addMarker(marker, 0, 4)
            }*/
            /*
            for (var i = 0; i < paises.length; i++) {
                var pais = paises[i];
                createZoomMarker(pais);
            }*/

            mgr.addMarkers(markers, 5, 17);
            mgr.refresh();
        })
    }
});

