/*
Copyright (c) 2008 Mediasparx (http://www.mediasparx.com)
Notes: Google Maps
*/

var map;
var mgr;
var icons = {};
var allmarkers = [];

function load() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(58.870585, 9.41391), 11);
		map.enableDoubleClickZoom();
		mgr = new MarkerManager(map, {trackMarkers:true});

		// Create marker icon
		icon = new GIcon();
		icon.image = "http://www.visitkragero.no/templates/visitkragero/Images/mm_20_red.png";
		icon.shadow = "http://www.visitkragero.no/templates/visitkragero/Images/mm_20_shadow.png";
		icon.iconSize = new GSize(12, 20);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);

		$("div .content:visible").each(function(i){
			setupMarkers(eval($(this).attr("value")));
		});
	}
}

function setupMarkers(category) {
	var markers = [];
	for (var i in category) {
		var layer = category[i];
		for (var j in layer["places"]) {
			var place = layer["places"][j];
			var posn = new GLatLng(place["posn"][0], place["posn"][1]);
			var title = place["name"];
			while(title.indexOf("&amp;") > -1){
				title = title.replace("&amp;","&");
			}
			var url = place["url"];
			var marker = createMarker(posn,title,icon,url);
			markers.push(marker);
		}
	}
	mgr.addMarkers(markers, 0, 17);
	mgr.refresh();
}

function createMarker(point, productname, icon, url) {
	var marker = new GMarker(point, {title:productname, icon:icon});
	GEvent.addListener(marker, "click", function() {
		document.location.href=url;
	});
	return marker;
}

function reloadMarkers() {
	mgr.clearMarkers();
	mgr.refresh();
	$("div .content:visible").each(function(i){
		setupMarkers(eval($(this).attr("value")));
	});
}

$(document).ready(function() {
    load();
});