// Created with a Google AJAX Search Wizard
// http://code.google.com/apis/ajaxsearch/wizards.html

// The Following div element will end up holding the map search control.
// You can place this anywhere on your page
  
/*
<div id="mapsearch">
	<span style="color: #676767; font-size:11px; margin:0; padding:0;">Caricamento...</span>
</div>

"Via Roma, Salerno SA, Italia"
*/

// Maps Api, Ajax Search Api and Stylesheet
// Note: If you are already using the Maps API then do not include it again
//       If you are already using the AJAX Search API, then do not include it
//       or its stylesheet again
//
// The Key Embedded in the following script tags is designed to work with
// the following site:
// http://franco/

var debug = false;

function loadGM(latitudine, longitudine, messaggio) {
	var zoom = 16;
	
	if (debug)
		document.getElementById("debug").style.display="block";
	
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("googlemaps"));
		map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
		
		if (debug) {
			GEvent.addListener(map, "moveend", function() {
				var center = map.getCenter();
				document.getElementById("debug").innerHTML = center.toString();
			});
			
			GEvent.addListener(map, "click", function(marker, point) {
				if (point)
					document.getElementById("debug").innerHTML = point.toString();
			});
		}
		
		var iconGM = new GIcon(G_DEFAULT_ICON); 
		iconGM.image = '../img/gm_marker_big.png';
		iconGM.iconSize = new GSize(50, 30);
		iconGM.iconAnchor = new GPoint(5, 30);
		iconGM.infoWindowAnchor = new GPoint(8, 30);
		var markerData = {};
		markerData.icon = iconGM;
		
		map.setCenter(new GLatLng(latitudine, longitudine), zoom);
		var point = new GLatLng(latitudine,longitudine);
		var marker = new GMarker(point, markerData);
		
		/*GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(messaggio);
		})
		*/
		
		map.addOverlay(marker);
	}
}

function loadGMlst(latitudine, longitudine, messaggio) {
	if (debug)
		document.getElementById("debug").style.display="block";
	
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("googlemaps"));
		map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
		
		if (debug) {
			GEvent.addListener(map, "moveend", function() {
				var center = map.getCenter();
				document.getElementById("debug").innerHTML = center.toString();
			});
			
			GEvent.addListener(map, "click", function(marker, point) {
				if (point)
					document.getElementById("debug").innerHTML = point.toString();
			});
		}
		
		map.setCenter(new GLatLng(latitudine, longitudine), zoom);
		var point = new GLatLng(latitudine,longitudine);
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(messaggio);
		})
		
		map.addOverlay(marker);
		
		var point = new GLatLng(40.67974, 14.75872);
		var marker2 = new GMarker(point);
		GEvent.addListener(marker2, "click", function() {
			marker2.openInfoWindowHtml(messaggio);
		})
		
		map.addOverlay(marker2);
	}
}

function loadGMadm(latitudine, longitudine, zoom, messaggio) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("googlemaps"));
		map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
		var center = new GLatLng(latitudine, longitudine);
		map.setCenter(center, zoom);
		geocoder = new GClientGeocoder();
		var marker = new GMarker(center, {draggable: true});  
		map.addOverlay(marker);
		document.getElementById("lat").value = center.lat().toFixed(5);
		document.getElementById("lng").value = center.lng().toFixed(5);

		GEvent.addListener(marker, "dragend", function() {
			var point = marker.getPoint();
			map.panTo(point);
			document.getElementById("lat").value = point.lat().toFixed(5);
			document.getElementById("lng").value = point.lng().toFixed(5);
		});

		GEvent.addListener(map, "moveend", function() {
			map.clearOverlays();
			var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById("lat").value = center.lat().toFixed(5);
			document.getElementById("lng").value = center.lng().toFixed(5);

			GEvent.addListener(marker, "dragend", function() {
				var point = marker.getPoint();
				map.panTo(point);
				document.getElementById("lat").value = point.lat().toFixed(5);
				document.getElementById("lng").value = point.lng().toFixed(5);
			});
		});
	}
}

function showAddress(address) {
	var map = new GMap2(document.getElementById("googlemaps"));
	map.addControl(new GLargeMapControl());
  //map.addControl(new GMapTypeControl());
	if (geocoder) {
		geocoder.getLatLng(address,
			function(point) {
				if (!point) {
					alert(address + " non trovato!");
				} else {
					document.getElementById("lat").value = point.lat().toFixed(5);
					document.getElementById("lng").value = point.lng().toFixed(5);
					map.clearOverlays()
					map.setCenter(point, 14);
					var marker = new GMarker(point, {draggable: true});  
					map.addOverlay(marker);
					
					GEvent.addListener(marker, "dragend", function() {
						var pt = marker.getPoint();
						map.panTo(pt);
						document.getElementById("lat").value = pt.lat().toFixed(5);
						document.getElementById("lng").value = pt.lng().toFixed(5);
					});
					
					GEvent.addListener(map, "moveend", function() {
						map.clearOverlays();
						var center = map.getCenter();
						var marker = new GMarker(center, {draggable: true});
						map.addOverlay(marker);
						document.getElementById("lat").value = center.lat().toFixed(5);
						document.getElementById("lng").value = center.lng().toFixed(5);
						
						GEvent.addListener(marker, "dragend", function() {
							var pt = marker.getPoint();
							map.panTo(pt);
							document.getElementById("lat").value = pt.lat().toFixed(5);
							document.getElementById("lng").value = pt.lng().toFixed(5);
						});
					});
				}
			}
		);
	}
}