addLoadEvent(Mappa);
//addResizeEvent(Mappa);
//addUnLoadEvent(GUnload);
window.onunload= GUnload;

var icon;
var gmarkers;
var info;

function Mappa(){

	
if (GBrowserIsCompatible()) {		
		var map = new GMap2(document.getElementById("mappaGoogle"));
		map.addControl(new GLargeMapControl()); 
		map.addControl(new GOverviewMapControl());
		//map.addControl(new GMapTypeControl());
		
		// ==== It is necessary to make a setCenter call of some description before adding markers ====
		// ==== At this point we dont know the real values ====
		map.setCenter(new GLatLng(41.869561,12.568359),5);

		
		map.enableDoubleClickZoom();
		//map.enableScrollWheelZoom();

		//LIMITA LO ZOOM 
/*
		var mt = map.getMapTypes();
		for (var i=0; i<mt.length; i++) {
			mt[i].getMinimumResolution = function() {return 1;}
			mt[i].getMaximumResolution = function() {return 8;}
		}
*/

 		// ==== icone PERSONALIZZATE BASTA DECOMMENTARE E DARE UN PATH CORRETTO ====	
/*
		icon = new GIcon();
		icon.image = "img/marker.png";
		icon.shadow = "img/shadow.png";
		icon.iconSize = new GSize(20, 34);
		icon.shadowSize = new GSize(37, 34);
		icon.iconAnchor = new GPoint(9, 34);
		icon.infoWindowAnchor = new GPoint(9, 2);
		icon.infoShadowAnchor = new GPoint(18, 25);		
*/

		gmarkers = [];
		bounds = [];
		info= [];
		var i = 0;

		
		function createMarker(point,nome,html,tele) {
			var marker = new GMarker(point, icon);
				GEvent.addListener(marker, "click", function() {
					marker.openInfoWindowHtml('<div class="padMappa"><strong>'+nome+'</strong><br />'+html+'<br />'+tele+'</div>');
				});
			gmarkers[i] = marker;
			info[i] = '<div class="padMappa"><strong>'+nome+'</strong><br />'+html+'<br />'+tele+'</div>';
			i++;
			return marker;
		}


		// ===== Start with an empty GLatLngBounds object =====     
		var bounds = new GLatLngBounds();
		var newpoints = arraypunti();
	
			for (var k = 0; k < newpoints.length; k++) {
						// obtain the attribues of each marker
								var lat = newpoints[k][0];
								var lng = newpoints[k][1];
								var point = new GLatLng(lat,lng);
								var nome = newpoints[k][2];
								var html = newpoints[k][3];
								var tele = newpoints[k][4];
						// create the marker
								var marker = createMarker(point,nome,html,tele);
								map.addOverlay(marker);
						// ==== Each time a point is found, extent the bounds ato include it =====
								bounds.extend(point);
		}
						// ===== determine the zoom level from the bounds =====
						//map.setZoom(map.getBoundsZoomLevel(bounds));
						// ===== determine the centre from the bounds ======
						//map.setCenter(bounds.getCenter());
						//combino le due in una
						map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds)); 
	}
    // display a warning if the browser was not compatible
    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
}

}

function myclick(i) {
		gmarkers[i].openInfoWindowHtml(info[i]);
		window.location.href="#top";
}