﻿var geocoder = new GClientGeocoder();
function showAddresses(addresses) {
	if (GBrowserIsCompatible()) {
		var geocoder = new GClientGeocoder();
		var map = new GMap2($('Gmap'));

		if (addresses.length > 0) {
			addresses.each( function (addr) {
				geocoder.getLatLng(
					addr.indirizzo,
					function (point) {
						if (!point) {
							//alert(addr.indirizzo, + " non trovato");
						} else {
							var marker = new GMarker(point);
							GEvent.addListener(marker, "click", function() {
								var myHtml = '<b><a href="' + addr.url + '">' + addr.nome + '</a></b><br/><br/>' + addr.indirizzo;
								map.openInfoWindowHtml(point, myHtml);
							});
							map.addOverlay(marker);
						}
					}
				);
			} );
		}
    map.addControl(new GSmallMapControl());
		map.setCenter(new GLatLng(45.055046, 7.68028), 15);
	}
}

function getAddressesEventiAjax() {
	var data = $H({
		'tipo': 'evento',
		'action': 'getIndirizzi'
	}).toQueryString();
	new Ajax.Request('ajaxIndirizzi.php', {
		method: 'get',
		parameters: data,
		onSuccess: function(transport) {
			showAddresses(eval(transport.responseText));
		}
	});
}

function registerEvents() {
	var mappa = $('Gmap') || '';
	if (mappa) {
		getAddressesEventiAjax();
	}
}

Event.observe(window, 'load', registerEvents);