var map = null;
var mgr = null;
var icon = null;
var bounds = new GLatLngBounds();

function setupMap() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(44.785, 10.782), 5);

		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
//		map.setMapType(G_HYBRID_MAP);

		window.setTimeout(setupMarkers, 0);
	}
}

function getPoint(val) {
	return new GLatLng(circuiti[val][2], circuiti[val][3]);
}

function createMarker(point, text) {
	var marker = new GMarker(point);

	bounds.extend(point);

	GEvent.addListener(marker, "click", function() {
		map.panTo(marker.getPoint());
		marker.openInfoWindowHtml(text, {maxWidth: 150} );
	});
	GEvent.addListener(marker, "dblclick", function() {
		map.zoomIn();
	});

//	GEvent.addListener(marker, "click", function() {
//		marker.openInfoWindowHtml(text);
//	});
//	GEvent.addListener(marker, "dblclick", function() {
//		map.panTo(point);
//		map.setZoom(13);
//	});
	return marker;
}

function getMarkers() {
	var batch = [];
	var mark ;
	for (var i in circuiti) {
		if (circuiti[i][1].length > 1) {
			mark = new createMarker(getPoint(i),"<div style=\"font-size: 10px\"><a href=http://www.inpista.it/circuiti/detail.asp?nome=" + i + "><img border=0 height=50 src=" + circuiti[i][1] + "><br>" + unescape(i).replace(/\+/g," ") + "</a><br>" + circuiti[i][0] + "</div>" )
		} else {
			mark = new createMarker(getPoint(i),"<div style=\"font-size: 10px\"><a href=http://www.inpista.it/circuiti/detail.asp?nome=" + i + ">" + unescape(i).replace(/\+/g," ") + "</a><br>" + circuiti[i][0] + "</div>" )
		}
		batch.push(mark);
	}
	return batch;
}

function setupMarkers() {
	mgr = new GMarkerManager(map);
	mgr.addMarkers(getMarkers(), 3);

	var newZoom = map.getBoundsZoomLevel(bounds) ;
	if (newZoom > 10) {
		newZoom = 10 ;
	}

	map.setCenter(bounds.getCenter(),newZoom);

	mgr.refresh();
}

