var map = null;
var mgr = null;

document.onload = load();

function load() {
		if (GBrowserIsCompatible()) {
			//Create and setup map
			map = new GMap2(document.getElementById("gmap"));
			var center = new GLatLng(61.498056, 23.760833);
			map.setCenter(center, 13);
			map.addControl(new GLargeMapControl());
			
			//Setup Markers
			window.setTimeout(setupMarkers, 0);
		}
};

/**
* Setup markers
*/
function setupMarkers() {
	//Create marker manager
	mgr = new MarkerManager(map);
	
	var url = '/hotspots/allPoints';
	
	
	GDownloadUrl(url, function(data, responseCode) {
			var markers = [];
			//var marker = null;
			var xml = GXml.parse(data);
			var hotspots = xml.documentElement.getElementsByTagName("hotspot");
			for (var i = 0; i < hotspots.length; i++) {
				//Create marker point
				var point = new GLatLng(parseFloat(hotspots[i].getAttribute("lat")),
					parseFloat(hotspots[i].getAttribute("lng")));
				
				//Authentication type
				var authenticationIcon = null;
				if(hotspots[i].getAttribute("authenticationType") == "both")
				{
					authenticationIcon = '<img src="/img/icons/lock.png"/> LANGATON-WPA<br /><img src="/img/icons/lock_open.png"/> WirelessTampere ';
				} else if (hotspots[i].getAttribute("authenticationType") == "wpa")
				{
					authenticationIcon = '<img src="/img/icons/lock.png"/> LANGATON-WPA';
				} else 
				{
					authenticationIcon = '<img src="/img/icons/lock_open.png"/> WirelessTampere';
				}
				
				
				//Create marker html content
				html = '<b>' + hotspots[i].getAttribute("name") + '</b><br /><br />'
				+ hotspots[i].getAttribute("address") + '<br />' + hotspots[i].getAttribute("postalCode") + ' ' + hotspots[i].getAttribute("postalArea") + '<br /><br />'
				+ authenticationIcon + '<br /><br />'
				+ hotspots[i].getAttribute("content");
				
				//Create marker and push
				markers.push(createMarker(point, hotspots[i].getAttribute("type") ,html));
			}
			mgr.addMarkers(markers, 3);
			mgr.refresh();
	});
}

/*
* Create new marker objects
*/
function createMarker(point, type, html) {
	var markerIcon = new GIcon();
	markerIcon.image = "/img/neulat/neula_" + type + ".png";
	markerIcon.shadow = "/img/neulat/neula_varjo.png";
	markerIcon.iconSize = new GSize(23, 40);
	markerIcon.shadowSize = new GSize(37, 39);
	markerIcon.iconAnchor = new GPoint(12, 43);
	markerIcon.infoWindowAnchor = new GPoint(7, 5);
	
	var markerOptions;
	markerOptions = {};
	markerOptions.icon = markerIcon;
	markerOptions.draggable = false;
	
	var marker = new GMarker(point, markerOptions);

	GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
	});
	return marker;
}



