//<![CDATA[

// --------------------------------------------------------------
// Icon for the red square displayed with the mouse wheel zoom
var baseIcon = new GIcon();
var mouseLatLng;
var zoomRect;
var map;
var container;
var opacity = 0.4;
baseIcon.iconSize=new GSize(100,100);
baseIcon.iconAnchor=new GPoint(50,50);
var rectIcon = new GIcon(baseIcon, "./images/rect.png", null);
var normalProj = G_NORMAL_MAP.getProjection();	
var zoom = 16;
var coordX = 43.8760;
var coordY = 7.991;
var centerPoint = new GLatLng(coordX,coordY);
var wheelZooming = false;

function load_mappa() {
	doLoad();
	container = document.getElementById("map");
}

function createMarker(point, description) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(document.getElementById('nuvoletta').innerHTML);
	});
	return marker;
}

function doLoad() {
	if (GBrowserIsCompatible()) {
		container = document.getElementById("map");
		
		map = new GMap2(container); //, {draggableCursor:"crosshair"});
		
		map.setCenter(centerPoint, zoom);
		map.setCenter(centerPoint, zoom);

		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());

		GEvent.addListener(map, 'mousemove', mouseMove);

		var ovcontrol = new GOverviewMapControl(); // new GOverviewMapControl(new GSize(165,165));
		map.addControl(ovcontrol);
		var ov_map = ovcontrol.getOverviewMap();
		GEvent.addListener(map, 'maptypechanged', function(){
			ov_map.setMapType(G_NORMAL_MAP);
		});

// Mouse wheel zoom - Attach event handlers -----
		map.enableDoubleClickZoom(); 
		map.enableContinuousZoom();
		GEvent.addDomListener(container, "DOMMouseScroll", wheelZoom);
		GEvent.addDomListener(container, "mousewheel", wheelZoom); 
// ----------------------------------------------
	
		var punto2 = new GLatLng(coordX,coordY);
		var punto3= createMarker(punto2,'');
		map.addOverlay(punto3);
		punto3.openInfoWindowHtml(document.getElementById('nuvoletta').innerHTML);
		map.setMapType(G_HYBRID_TYPE) ;
	
	}
}

// Mouse wheel zoom - Event handler -----
function wheelZoom(event) {
	if (wheelZooming) {
		return;
	}
	wheelZooming = true;

	// zoomRect and rectIcon are global variables!!!
	zoomRect = new GMarker(mouseLatLng,{icon:rectIcon});
	map.addOverlay(zoomRect);

	if (event.cancelable) {
		event.preventDefault();
	}
	map.closeInfoWindow(); 
	if((event.detail || -event.wheelDelta) < 0) {
		window.setTimeout(function(){
			map.removeOverlay(zoomRect);
			map.zoomIn(mouseLatLng,true,true);
			wheelZooming = false;
		},200);
	} 
	else {
		window.setTimeout(function(){
			map.removeOverlay(zoomRect);
			map.zoomOut(mouseLatLng,true);
			wheelZooming = false;
		},200);
	}
	return false; 
}
// End event handler -----

function mouseMove(mousePt) {
	mouseLatLng = mousePt;
	var zoom = map.getZoom();
}


//]]>