var map = null;
var geocoder = null;
var SatMode=false;
var TypeCtr;
var SmallCtr;
var xMarker=null;
function e(id){
		return document.getElementById(id);
}
function updateUrl(){
	var url = getUrl();
	var ob;
	ob=e("link");
	if (ob) ob.href = url;
}
   function createMarker(point, description) {
    var marker = new GMarker(point);
          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(description);
          });
          return marker;

        }

function load(home, zoom) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"), {logoPassive:true}); 
    map.setCenter(home, zoom);
    map.savePosition();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
	map.addControl(new google.maps.LocalSearch());
	var mgrOptions = { borderPadding: 50, maxZoom: 15, trackMarkers: true };
	var mgr = new GMarkerManager(map, mgrOptions);
    geocoder = new GClientGeocoder();
	GEvent.addListener(map, "moveend", updateUrl);
	updateUrl();

  }
  
}
var geocoder = new GClientGeocoder();

function showAddress(address) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
        map.setCenter(point, 13);
        var marker = new GMarker(point);
        map.addOverlay(marker);
      }
    }
  );
}
function cmdSat(){
	if (SatMode){
		map.setMapType(G_NORMAL_MAP);
		map.removeControl(TypeCtr);
	}else{
		map.setMapType(G_SATELLITE_MAP);
		map.addControl(TypeCtr);
	}
	SatMode=!SatMode;
}
function round6(x){
    	return Math.round(x*1000000)/1000000;
}
function getUrlP(){
	var opt;
	var mt=map.getCurrentMapType();
	var pmt;
	if (mt==G_SATELLITE_MAP){
		pmt="&t=k";
	}else if (mt==G_HYBRID_MAP){
		pmt="&t=h";
	}else{
		pmt="";
	}
	if (xMarker){
		opt="&xm=" + point2st(xMarker.getPoint());
	}else{
		opt="";
	}
	return "ll=" + point2st(map.getCenter()) + "&z=" + map.getZoom() + pmt + opt;
}
function getUrl(){
	var ubase="http://www.italyworldclub.com/maps/?";
	return ubase + getUrlP();
}

function point2st(point){
	return round6(point.lat()) + "," + round6(point.lng());
}
function goBig(){
	window.open(getUrl(), "_top");
}
function goC(lat, lng, zoom){
	map.setZoom(zoom);
	map.panTo(new GLatLng(lat, lng));
	return false;
}
