    var map = null;
    var geocoder = null;

function showMap(address,  zoom, message )
 {
    if (GBrowserIsCompatible()) {
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GSmallMapControl());	            
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(0, 0), zoom);
  	  geocoder = new GClientGeocoder();
			 
      if (geocoder) {
        geocoder.getLatLng( address,
        function(point) {
            map.setCenter(new GLatLng(0,0), zoom);
            var marker = new GMarker(point);
            map.addOverlay(marker);
            marker.openInfoWindowHtml(message);
        }
      );}
	}
  }
  
    function load(name, via, cap_comune, mapProv, zoomLevel, tryTown) {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
        geocoder = new GClientGeocoder();
        showAddress (name, via, cap_comune, mapProv, zoomLevel, tryTown);
      }
    }

    function showAddress(name, via, cap_comune, prov, sZoom, tTown) {
      if (geocoder) {
        geocoder.getLatLng(
          via + ", " + cap_comune + " " + prov + ", Italia", 
          function(point) {
            if (!point)
            {
              if (tTown == 1)
              {
                alert ("\nL\'indirizzo non e\' stato trovato.\nLa mappa sara\a");
                load (cap_comune, prov + ', Italia', 12, 0);
              }
              else
              {
                alert ("La mappa non e\' disponibile, mi dispiace");
                window.close();
              }
            }
            else
            {
              map.setCenter(point, sZoom);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml('<P><font face=Arial size=2><B><U>' + name + '</B></U><BR>' + via + '<BR><B>' + cap_comune + '</B></FONT></p>');
            }
          }
        );
      }
    }	

