/*************************************
	Ritorna lo script per l'utilizzo di google maps
	Richiamare nell' HEAD 
	<script type="text/javascript">
		var key = keymapdigoogle;
		document.write(mapScript(key));
	</script>
*************************************/
function mapScript (key)
{ 
  var src= '<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=';
  src = src + key
  src = src + '"></script>' 
  return src;
}

/************************************** 	
	Visualizza la mappa 
	Deve essere richiamata nel BODY dopo l'elemento contenitore della mappa
	- address è l'indirizzo (es formato:  Via Roma 8, 60033 Chiaravalle Ancona, Marche, Italia) se vuoto passare coordinate
	- latitudine e longitudine
	- map è l'id del tag contenitore
	- zoom numero di zoom 
	- addmarker (true || false)  per visualizzare il marcatore del punto
	- infowindow (true || false) per visualizzare la vignetta con l'indirizzo
	- info : cosa scrivere nella vignetta 
	- addctrl  (true || false)  aggiunge i controlli per lo zoom e move
	- addctrltype (true || false) aggiunge i controlli per il tipo di mappa (mappa, satellite, ibrida)
	- vispercorso (true || false) per visulaizzare un percorso
	- codpercorso, livpercorso  sono uil codice e il livello calcolati costruendo il percorso su  http://www.google.com/apis/maps/documentation/polylineutility.html 
	** <BODY onunload="GUnload()"> per deallocare 
**************************************/
function visualizzaMappa( address , latitudine, longitudine, map , zoom , addmarker , infowindow , info, addctrl, addctrltype, vispercorso , codpercorso, livpercorso){
	if (GBrowserIsCompatible()) {
	    var map = new GMap2(document.getElementById(map));
		if (addctrl){
			map.addControl(new GSmallMapControl());
	 	}
		if (addctrltype){
		map.addControl(new GMapTypeControl());
		}
		
		var geocoder = new GClientGeocoder();
		if (geocoder) {
	      geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
			  /* Se l'Address è vuoto centro la mappa attraverso le coordinate */
			  if (address == '' )
			  {
			  try {
			  var center = new GLatLng(latitudine, longitudine);
			  map.setCenter(center, 13);
			  //map.openInfoWindow(map.getCenter(),document.createTextNode("Hello, world"));			
			  //********* MARKER
			  var marker = new GMarker(center);
			  if (addmarker==true){				
				map.addOverlay(marker);
				if (infowindow==true){
					marker.openInfoWindowHtml(info);
				}
			  }
			   //********* ZOOM *****************
			  for (i=0; i<zoom ; i++)
			  {map.zoomIn();}
			  
			   //************* PERCORSO 
			  if (vispercorso){
				var encodedPolyline = new GPolyline.fromEncoded({
					color: "#FF0000",
					weight: 10,
					points: codpercorso,
					levels: livpercorso,
					zoomFactor: 32,
					numLevels: 4
					});
				map.addOverlay(encodedPolyline);
			   }
			  }
			  catch(e){ 
				alert (address + 'not found');
			   }
			 }else{
			   alert (address + 'not found');
			 }
			  
            } else {
              map.setCenter(point, 13);
			  //alert (point);
			  //map.openInfoWindow(map.getCenter(),document.createTextNode("Hello, world"));			
			  //********* MARKER
			  var marker = new GMarker(point);
			  if (addmarker==true){				
				map.addOverlay(marker);
				if (infowindow==true){
					marker.openInfoWindowHtml(info);
			
				}
			  }
			  
			  //********* ZOOM *****************
			  for (i=0; i<zoom ; i++)
			  {map.zoomIn();}
			  
			  //************* PERCORSO utilizza http://www.google.com/apis/maps/documentation/polylineutility.html per generare i codici 
			  if (vispercorso){
				var encodedPolyline = new GPolyline.fromEncoded({
					color: "#FF0000",
					weight: 10,
					points: codpercorso,
					levels: livpercorso,
					zoomFactor: 32,
					numLevels: 4
					});
				map.addOverlay(encodedPolyline);
			   }
			  
            
		    }
          }
        );
		
		
		
		
		
		
      }
}
}


function visualizzaPercorso(codpercorso ,livpercorso){
	

}

