/* JAVASCRIPT DOCUMENT: */
/* Copyright &copy; 2006 Stefano Fiori - STEO82
 * AUTHOR: Stefano Fiori - STEO82   (steo82.matrix@tiscali.it)
 * Use this code for FREE, but leave this message!
 */


/** Google Maps: */

//<![CDATA[

var testoDescrizione = "" +
								 "<head><style type='text/css'>a:hover { color: green; }</style></head>" +
								 "<div style='padding: 5px;'>" +
								 "<h4 style='text-align: center; margin: 0px; padding: 0px;'>. . : : Hotel Beethoven : : . .</h4>" +
								 "<div style='background-color: #F4F6FB; font-size: 10px; padding: 5px;'>" +
								 "<p style='color: black; text-align: left;'> - <b>Indirizzo/Address</b>:</p>" +
								 "<p style='text-align: left; color: black;'>Via Del Forte Braschi, 2<br />" +
								 "00167 Roma (RM)<br />" +
								 "Italy<br />" +
								 "Tel +39 0661662913, Fax +39 066270610<br />" +
								 "<a href='hotelbeethoven.it' title='hotelbeethoven.it'>hotelbeethoven.it</a>" +
								 "</p></div></div>";

var tempo_bassa_velocità = 12000;
var tempo_media_velocità = 5800;
var tempo_alta_velocità = 2500;
var timeZooming = tempo_media_velocità;

var zooming = true;
var zoom_init = 16;
var zoom_max = 16; // max is 17
var zoom_crescente = true;
var zoom_min = 11;
var zoom = zoom_max;
var zoom_before = 0;

var googleMap = null;
var marker = null;

var icona_marker = new GIcon();
icona_marker.image = "./images/freccie/arrow.png";
icona_marker.shadow = "./images/freccie/arrowshadow.png";
//icona_marker.iconSize = new GSize(20, 36);
//icona_marker.shadowSize = new GSize(44, 34);
icona_marker.iconAnchor = new GPoint(10, 32);
icona_marker.infoWindowAnchor = new GPoint(10, 1);

var centra_mappa = new GLatLng(41.918054,12.423069);

function showMap() {
	if (GBrowserIsCompatible()) {
		// Ottiene l'elemento della pagina chiamato "map" (il DIV) 
		// e crea la mappa utilizzandolo come contenitore.
		var map = new GMap2( document.getElementById("map") );
		googleMap = map;

		// Aggiunge dei controlli per lo zoom e lo spostamento 
		map.addControl( new GSmallMapControl() );	            

		// Centra la mappa su "Via Forte Dei Braschi n.2, Roma", con uno zoom di 16
		map.setCenter(centra_mappa, zoom);

		// Crea un nuovo MARKER nel punto specificato 
		// con una descrizione HTML associata
		function createMarker(point, description) {
			var mrk = new GMarker(point, icona_marker);
			GEvent.addListener(mrk, "click", function() {
																	mrk.openInfoWindowHtml(description);
																	zooming = false;
																});
			  return mrk;
		}
		// crea marker e visualizzalo:
		marker = createMarker(new GLatLng(41.916260,12.423080), testoDescrizione);
		map.addOverlay(marker);
		marker.openInfoWindowHtml(testoDescrizione);

		// Aggiungi un Listener che quando si muove la mappa ferma lo ZOOM dinamico.
		if (googleMap != null) {
			GEvent.addListener(googleMap, "click", function () {
																		if ( zooming )
																			googleMap.setCenter(centra_mappa, zoom_init);
																		zooming = false;
																	});
			GEvent.addListener(googleMap, "dblclick", function () {
																		googleMap.setCenter(centra_mappa, zoom_init);
																		zooming = false;
																	});
		}

		setDynamicZoom();
		setControlloScrittaZoomAutomatico();

	} else {
			alert("Il tuo Browser WEB non e' compatibile per la visualizzazione della mappa!");
		}
}

function setDynamicZoom() {
	zoom_before = googleMap.getZoom();
	if ( googleMap != null && zooming ) {
		window.setTimeout(function() {
										if (zoom_before != googleMap.getZoom())  zooming = false;
										if (zooming == true) {
											if (zoom_crescente == true)
												if (zoom < zoom_max)  zoom = zoom + 1;
												else {
													zoom_crescente = false;
													zoom = zoom - 1;
												}
											else if (zoom > zoom_min) {  zoom = zoom - 1;}
											else if (zoom <= zoom_min && zoom_crescente == false)  {
												zoom_crescente = true;
												zoom = zoom + 1;
											}

											googleMap.closeInfoWindow();
											googleMap.setCenter(centra_mappa, zoom);
										}
										/* else {
											zoom = zoom_init;
											googleMap.setCenter(centra_mappa, zoom);
										} */
										setDynamicZoom();
									 } , timeZooming);
	}
}

function setControlloScrittaZoomAutomatico() {
	if ( document.getElementById ) {
		window.setTimeout( function() {
										var zw = document.getElementById("zoom_automatico");
										if (zw) {
											if (zoom_before != googleMap.getZoom()) {
												zooming = false;
												zw.setAttribute("style", "font-variant: normal;");
											} else if (zooming)
												zw.setAttribute("style", "font-variant: small-caps;");
											else
												zw.setAttribute("style", "font-variant: normal;");

											setControlloScrittaZoomAutomatico();
										}
									}
									, 800 );
	}
}

//]]>