
var map = null;
var dt = new Date();
var geocoder = new GClientGeocoder();

function initialize() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
	}
}

function add_markers_siti() {
	map.clearOverlays();
	GDownloadUrl("data.xml.php?dt=" + dt.getTime(), function(data) {
		var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
			var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
									parseFloat(markers[i].getAttribute("lng")));

			var label   = GXml.value(markers[i].getElementsByTagName("label")[0]);
			var html    = GXml.value(markers[i].getElementsByTagName("html")[0]);
			var sito_id = markers[i].getAttribute("sito_id");
			var con_superamento = markers[i].getAttribute("con_superamento");
			marker   = createMarker(latlng, label, html, sito_id, con_superamento);
			map.addOverlay(marker);
		}
	});
}
function add_markers_comuni() {
	map.setCenter(new GLatLng(40.9, 16.8), 8);
	map.clearOverlays();
	GDownloadUrl("comuni.xml.php?dt=" + dt.getTime(), function(data) {
		var xml = GXml.parse(data);

		var markers = xml.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
			var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
									parseFloat(markers[i].getAttribute("lng")));

			var con_superamento = markers[i].getAttribute("con_superamento");
			var label     = GXml.value(markers[i].getElementsByTagName("label")[0]);
			var comune_id = markers[i].getAttribute("comune_id");

			coloredIcon = new GIcon();
			coloredIcon.iconSize = new GSize(32, 32);
			coloredIcon.iconAnchor = new GPoint(16, 32);
			coloredIcon.shadow = "images/msmarker_shadow.png";
			if(con_superamento == 1) {
				coloredIcon.image = "images/red.png";
			} else {
				coloredIcon.image = "images/blue.png";
			}

			markerOptions = { title:label, clickable:false, icon:coloredIcon };
			var marker    = new GMarker(latlng, markerOptions);
			map.addOverlay(marker);
		}
	});
}

function createMarker(point, label, html, sito_id, con_superamento) {
	coloredIcon = new GIcon();
	coloredIcon.iconSize = new GSize(32, 32);
	coloredIcon.iconAnchor = new GPoint(16, 32);
	coloredIcon.infoWindowAnchor = new GPoint(16,1);
	coloredIcon.shadow = "images/msmarker_shadow.png";
	if(con_superamento == 1) {
		coloredIcon.image = "images/red.png";
	} else {
		coloredIcon.image = "images/blue.png";
	}
	markerOptions = { title:label, icon:coloredIcon };

	var marker = new GMarker(point,markerOptions);
	GEvent.addListener(marker, "click", function() {
		var maxContentDiv = document.createElement('div');
		maxContentDiv.innerHTML = 'Loading...'
		marker.openInfoWindowHtml(html,
		{
				maxContent: maxContentDiv,
				maxWidth: 250,
				maxTitle: "Informazioni Sito"
		});
		var iw = map.getInfoWindow();
		GEvent.addListener(iw, "maximizeclick", function() {
				GDownloadUrl("site.php?dt=" + dt.getTime() +"&sito_id=" + sito_id, function(data) {
				maxContentDiv.innerHTML = data;
			});
		});
	});
	return marker;
}



function mSubmit() {
	x = document.getElementById('comune');
	var address = x.value;
	if(address) {
		var latlon = address.split('|');
		map.setCenter(new GLatLng(latlon[0], latlon[1]), 13);
		add_markers_siti();
		return false;
	}
	return false;
}

