DEFAULT_ZOOM = 14;

function show_map(address, title, noreload) {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("shop_map"));
	map.setCenter(new GLatLng(-37.0625, 95.677068), DEFAULT_ZOOM);
        map.addControl(new GSmallMapControl());
        //map.addControl(new GMapTypeControl());
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(address+", France", function(location) {
		if (!location) {
				alert("Adresse inconnue de Google Maps");
				return;
		}
		dojo.addClass("shop_map_container", "shown");
		map.setCenter(location, DEFAULT_ZOOM);
		if (title) {
		    var icon = new GIcon(G_DEFAULT_ICON);
		    var marker = new GMarker(location, {'title':title, 'icon':icon})
			map.addOverlay(marker);
		    var info = "<h1>"+title+"</h1>"+"<p>"+address+"</p>";
		    marker.openInfoWindowHtml(info);
		}
		if (!noreload) // on appelle deux fois pour éviter un bug non identifié
		    show_map(address, title, true);
	    });
	//
	map.enableScrollWheelZoom();
    }
}

DEFAULT_HOMEPAGE_ZOOM = 9;
DEFAULT_HOMEPAGE_CENTER_LAT = 2.483333;
DEFAULT_HOMEPAGE_CENTER_LONG = 49.383333;

function createMarker(mapHomepage, point, nbShop, nbTicket, cityName, site_url) {
    var popuphtml = "<div class=\"homepage_map_container\"><h2>" + cityName + "</h2>Il y a " + nbShop + " commerce";
    popuphtml += nbShop > 1 ? "s dans cette ville" : " dans cette ville";
	popuphtml += "<br>Il y a " + nbTicket + " bon";
	popuphtml += nbTicket > 1 ? "s de r&eacute;duction / soldes dans cette ville" : " de r&eacute;duction dans cette ville";
    popuphtml += "<br /><a href=" + site_url + ">Cliquez ici pour voir</a></div>";
    var icon = new GIcon(G_DEFAULT_ICON);
    var marker = new GMarker(point, popuphtml);
      	mapHomepage.addOverlay(marker);
    GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(popuphtml);
	});
    return marker;
}

function homepage_map_add_marker(mapHomepage, longi, lati, nbShop, nbTicket, cityName, site_url) {
    var point = new GLatLng(longi, lati);
    var marker = createMarker(mapHomepage, point, nbShop, nbTicket, cityName, site_url);
    mapHomepage.addOverlay(marker);
}

