//<![CDATA[
var map ;
var latcomuni;
var loncomuni;
var zoomcomuni;
function load(zoom, lat, lon) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map")) ;
		//map.addControl(new GLargeMapControl());
		map.addControl(new GLargeMapControl());
		
		map.setCenter(new GLatLng(lat, lon), zoom);

		DisegnaConfini();

		latcomuni = lat;
		loncomuni = lon;
		zoomcomuni = zoom;

		var baseIcon = new GIcon();
		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(32, 32);
		baseIcon.shadowSize = new GSize(37, 23);
		baseIcon.iconAnchor = new GPoint(9, 23);
		baseIcon.infoWindowAnchor = new GPoint(9, 15);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);
		
		

		GEvent.addListener(map, "zoomend", function() {
		if ((map.getZoom() > 12) || (map.getZoom() < 5)) {
				map.clearOverlays() ;
				map.closeInfoWindow();
			 }else {
				DisegnaConfini();
				map.closeInfoWindow();
			 }
		});

		var icon = new GIcon(baseIcon);
		icon.image = "http://www.bellemarche.it/italy/maps/image/icon.png";
		var opts = {maxWidth:300};

		var mgr = new GMarkerManager(map);
		var comuni = [];
		var url = "http://www.bellemarche.it/italy/maps/generaxml.asp?idprovincia=" + provincia;
	GDownloadUrl(url, function(data) {
			var xml = GXml.parse(data);
			var comunixml = xml.documentElement.getElementsByTagName("comune");
			var latcom;
			var loncom;
			var lat;
			var lon;
			for (var i = 0; i <comunixml.length; i++) {
			
				latcom = ConvertiLatitudine(comunixml[i].getAttribute("latsecondi"),comunixml[i].getAttribute("latminuti"),comunixml[i].getAttribute("latgradi"));
				loncom = ConvertiLongitudine(comunixml[i].getAttribute("lonsecondi"), comunixml[i].getAttribute("lonminuti"),comunixml[i].getAttribute("longradi"));
								comuni.push(MappaComuni(latcom, loncom,comunixml[i].getAttribute("nome"),comunixml[i].getAttribute("percorso")));
			}
			
			mgr.addMarkers(comuni,5,13);
			mgr.refresh();
		});

		function TextualZoomControl() {}
		TextualZoomControl.prototype = new GControl();
		// Creates a one DIV for each of the buttons and places them in a container
		// DIV which is returned as our control element. We add the control to
		// to the map container and return the element for the map class to
		// position properly.
		TextualZoomControl.prototype.initialize = function(map) {  
			var container = document.createElement("div");  
			var zoomOutDiv = document.createElement("div");
			var comuni = document.createElement("span");
			comuni.className = "testopulsantecomunigooglemap";
			comuni.appendChild(document.createTextNode("Comuni " + nomeprovincia));
			zoomOutDiv.className = "pulsantecomunigooglemap";
			container.appendChild(zoomOutDiv);  
			zoomOutDiv.appendChild(comuni);  
			GEvent.addDomListener(zoomOutDiv, "click", function() {    
			map.setCenter(new GLatLng(latcomuni, loncomuni), zoomcomuni);
			});  
			map.getContainer().appendChild(container);  
			return container;
		}// By default, the control will appear in the top left corner of the
		// map with 7 pixels of padding.
		TextualZoomControl.prototype.getDefaultPosition = function() {  
			return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 7));
		}// Sets the proper CSS for the given button element.

		map.addControl(new TextualZoomControl());
		//map.addControl(new GLargeMapControl());
		map.addControl(new GLargeMapControl());


		function MappaComuni(lat, lon, nomecomune, percorso) {
					var html
		        	var point = new GLatLng(lat, lon);
	        		var marker = new GMarker(point, { title: nomecomune, icon: icon });
	          		GEvent.addListener(marker, "click", function() {
	          		//html=testo + '<u>' + nomecomune + '</u><br><a href="javascript:carica(11,\'' + lat + '\',\'' + lon + '\')">' + ingrandisci + '</a></p>'
	          		
				html=testo + '<u>' + nomecomune + '</u><br><a href="/italy/' + percorso +'">' + ingrandisci + '</a></p>'
				marker.openInfoWindowHtml(html);

	        		});

	          		return marker;
		}
	        	

		function ConvertiLatitudine(latsecondi, latminuti, latgradi) {
			var covlat
			convlat = (((parseFloat(latsecondi) / 60) + parseInt(latminuti)) / 60) + parseInt(latgradi);
			return convlat;
		}

	
		function ConvertiLongitudine(lonsecondi, lonminuti, longradi) {
			var convlon;
			convlon = (((parseFloat(lonsecondi) / 60) + parseInt(lonminuti)) / 60) + parseInt(longradi);
			return convlon;
       		}
	}
}

function carica(zoom, lat, lon) {
     map.setCenter(new GLatLng(lat, lon), zoom);

}
function DisegnaConfini() {
	//map.clearOverlays() ;
	var confini = [] ;
	var n;
	for (n = 0; n < contorni.length; n++) {
		if ( contorni[n] ) {
			confini = analizzaconfini( contorni[n] ) ;
			map.addOverlay( new GPolyline(confini,"#008000", 8, .5) ) ;
		}
	}
}

function analizzaconfini( points ) {
	points = points.substr(0,points.length - 1) ;
	var linar = points.split(" ") ;
	var wrkar = [] ;
	var pntar = [] ;
	for (var i = 0; i < linar.length; i++) {
		wrkar = linar[i].split(",",2) ;
		pntar.push( new GLatLng(parseFloat(wrkar[0]), parseFloat(wrkar[1])) ) ; 
	}
	return pntar ;

}
  //]]>
