function loadLocations()
{
	if (GBrowserIsCompatible())
	{
		function addMarker(point, location)
		{
            var marker = new GMarker(point, { icon:kolektorIcon, title:'' } );
            GEvent.addListener(marker, "click", function()
				{
					marker.openInfoWindowHtml(createInfoWindow(location));
				});

            return marker;
		}

        function createInfoWindow(location)
		{
			var template = document.getElementById('infoWindowTemplate').innerHTML;
            template = template.replace('##location##', location.location)
            template = template.replace('##link##', location.link)
            return template;
		}
		
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(0,0),0);
		var bounds = new GLatLngBounds();
		
		var kolektorIcon = new GIcon(G_DEFAULT_ICON);
		kolektorIcon.image = "resources/images/icons/gmaps_pointer.png";
		//kolektorIcon.shadow = "";
		//kolektorIcon.iconSize = new GSize(15, 27);
		//kolektorIcon.shadowSize = new GSize(47, 24);
		//kolektorIcon.iconAnchor = new GPoint(17, 12);
				
		for (var i=0;i<locations.length;i++)
		{			
            if (locations[i].longitude && locations[i].latitude)
            {
                longitude = locations[i].longitude;
                latitude = locations[i].latitude;
                if (longitude.length > 0 && latitude.length > 0)
                {
                    var point = new GLatLng(latitude,longitude);
                    map.addOverlay(addMarker(point, locations[i]));
                    bounds.extend(point);
                }
            }
		}

        var zoomLevel = map.getBoundsZoomLevel(bounds);

        if (locations.length == 1) {
            map.setZoom(zoomLevel-4);
        } else {
            map.setZoom(zoomLevel);
        }

		var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2;
		var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2;
		map.setCenter(new GLatLng(clat,clng));
	}
}

function unloadLocations()
{
	GUnload();
}

window.onload = loadLocations;
window.onunload = unloadLocations;
