﻿var placename;
var ptype;
var map;
var mgr;
var marker;
var language;
var center = new GLatLng(35.310069, 24.918764);

function initialize() {
var _map = document.getElementById("googlemap");        
    if(_map)
        if (GBrowserIsCompatible()) {
            map = new GMap2(_map);
            map.addControl(new GLargeMapControl());
            
            map.enableDoubleClickZoom();
            map.setCenter(center, 8, G_HYBRID_MAP);
            mgr = new GMarkerManager(map, {trackMarkers:true});
            GetMarkers(placename);
        }
}

function GetMarkers(name, type) {
    
    var sel = new GIcon();
    sel.image = "graphics/icons/ylw-pushpin.png";
    sel.iconSize = new GSize(32, 32);
    sel.iconAnchor = new GPoint(9, 30);
    
    
    var selmrk;
    
    if(name == null) {
        
        var icn = new GIcon();
        icn.image = "graphics/icons/yellowblob.png";
        icn.iconSize = new GSize(16, 16);
        icn.iconAnchor = new GPoint(8, 8);
        
        var icnb = new GIcon();
        icnb.image = "graphics/icons/yellowdot.png";       
        icnb.iconSize = new GSize(16, 16);
        icnb.iconAnchor = new GPoint(8, 8);
        
   
        $.post("map.asmx/GetAllPlaces", {type: ptype},
        function(xml) {
            var fmarkers = [];
            var cmarkers = [];
            var markerOptions;
            
            $(xml).find("Place").each(function() { 
                var data = $(this);
                var name = $("Name", data).text();
                var loc = $("Location", data).text();
                var pos = new GLatLng($("Lat", data).text(), $("Lon", data).text());
                var url =  $("Url", data).text();
                
                var mrk = new GMarker(pos, icn);
                GEvent.addListener(mrk, "click", function() {
                    selmrk = new GMarker(pos, sel);
                    map.setCenter(pos, 11);
                    mgr.addMarker(selmrk, 7, 16);
                    mgr.refresh();
                });
                
                fmarkers.push(mrk);
                
                
                markerOptions = {title: name + ", " + loc, icon: icnb};
                var mrk = new GMarker(pos, markerOptions);
                GEvent.addListener(mrk, "click", function() {
                    window.open(language + url + ".aspx", "_self");                    
                });
               
                cmarkers.push(mrk);
                
            });
            
            mgr.addMarkers(fmarkers, 3, 10);
            mgr.refresh(); 
            
            mgr.addMarkers(cmarkers, 11, 16);
            
            
        
        });
    
    } else {
        
        map.addControl(new GOverviewMapControl());
        
        var icn = new GIcon();        
        icn.image = "graphics/icons/yellowdot.png";
        icn.iconSize = new GSize(16, 16);
        icn.iconAnchor = new GPoint(8, 8);
    
        $.post("map.asmx/GetPlacesByName", { name: placename },
        function(xml) {
            if($("Lat", xml).text() != "") {
                var pos = new GLatLng($("Lat", xml).text(), $("Lon", xml).text());
                map.setCenter(pos, 10);
                markerOptions = {title: placename + ", " + $("Location", xml).text(), icon: icn};
                marker = new GMarker(pos, markerOptions);    
                map.addOverlay(marker);
            }
        });
    }
}

$(document).ready(function(){    
    initialize();
});