var map;
var icon;
var geocoder;
var i = 0;
var j = 0;
var zoomLevel;

function loadMap(lat, lng, zoom) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.setMapType(G_PHYSICAL_MAP);
		map.addControl(new GSmallMapControl());
		
		//document.getElementById("map").getElementsByTagName("span")[0].style.color = "#ffffff";
		
		icon = new GIcon();
		icon.image = "http://" + location.hostname + "/web/images/marker.png";
		icon.iconSize = new GSize(12, 23);
		icon.iconAnchor = new GPoint(6, 23);
		icon.infoWindowAnchor = new GPoint(6, 1);

		map.setCenter(new GLatLng(lat, lng), zoom);
		
		geocoder = new GClientGeocoder();
		
		geocoder.setBaseCountryCode("it");

		geoCode();
	}
}

function geoCode() {
	if (i < agenzie.length) {
		geocoder.getLocations(agenzie[i]["place"], loadMarker);
	} else {
		document.getElementById("loading").innerHTML = "&nbsp;";
		document.getElementById("loading").style.background = "none";
	}
}

function loadMarker(response) {
	if (response.Status.code == G_GEO_SUCCESS && j<10) {
		place = response.Placemark[0];
		marker = new GMarker(new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]), icon);
		marker.bindInfoWindowHtml(agenzie[i]["text"], {maxWidth:300});
		map.addOverlay(marker);
		j = 0;
		i++;
	} else {
		j++;
	}
	
	window.setTimeout(geoCode, 40);
	//geoCode();
}

function zoomRegione(regione) {
	if (regione != "null") {
		zoomLevel = 8;
		geocoder.getLatLng(regione, zoom);
	}
}

function zoomNazione(nazione) {
	if (nazione != "null") {
		zoomLevel = 5;
		geocoder.getLatLng(nazione, zoom);
	}
}

function zoom(point) {
	map.setCenter(point, zoomLevel);
}
