var map = new GMap2(document.getElementById("map"));
var geo = new GClientGeocoder();

function load()
{
    if (GBrowserIsCompatible())
    {
        //Mapa konfiguracja i ustawienie na widok kraju
        map = new GMap2(document.getElementById("map"));

        var markers = eval("("+data+")");
        var mapProp = eval("("+data2+")");

        for(i2 in mapProp)
        {
            setMap(mapProp[i2].location,mapProp[i2].zoom);
        }

        for(i in markers)
        {
            addMarker(markers[i].location,markers[i].text);
        }

        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GScaleControl());
    }
}

 function addMarker(location,text)
 {
        var ico = new GIcon();
        ico.iconSize = new GSize(32, 32);
        ico.infoWindowAnchor = new GPoint(16,16);
        ico.iconAnchor = new GPoint(16,16);
        ico.shadowSize = new GSize(59, 32);
        ico.image = "http://maps.google.com/mapfiles/kml/pal4/icon23.png";
        ico.shadow = "http://maps.google.com/mapfiles/kml/pal4/icon23s.png";

        geo = new GClientGeocoder();

        geo.getLatLng(location,function(point)
        {
            var marker = new GMarker(point,{icon: ico});
            marker.txt = text;
            GEvent.addListener(marker,"click",function()
            {
                marker.openInfoWindowHtml(marker.txt);
            });
            map.addOverlay(marker);
        });
}

function setMap(location,zoom)
{
    geo = new GClientGeocoder();
    
    geo.getLatLng(location,function(point)
    {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(point, zoom);
        reloadMarkers();
    });
}

function reloadMarkers()
{
        var markers = eval("("+data+")");

        for(i in markers)
        {
            addMarker(markers[i].location,markers[i].text); 
        }

        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GScaleControl());
}

