/* --- Google Maps ---------------------- */
function load() {
	// sll=45.089687,11.785366 | ll=45.097458,11.789532
	var latlng = new google.maps.LatLng(45.089687, 11.785366)
	var myOptions = {
		zoom: 14,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("map"), myOptions);

	var marker = new google.maps.Marker({
		position: latlng,
		map: map,
		title: "La Fiera delle Parole"
	});

	var infowindow = new google.maps.InfoWindow({
		content: "<strong>La Fiera delle Parole</strong><br />Viale Porta Adige, 45<br />Rovigo (RO)."
	});

	google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map, marker);
	});
}

var map;
var hotels = [
	['Hotel Capital', 45.0896870, 11.7853658, 1],
	['Best Western Cristallo', 45.076615, 11.785181, 2],
	['Villa Regina Margherita', 45.073377, 11.785568, 3],
	['Hotel Petrarca', 45.119514, 11.770148, 4],
	['Hotel Europa', 45.052506, 11.788287, 5],
	['Hotel Giardino', 45.134799, 11.756245, 6],
	['Ostello Canalbianco', 45.035193, 11.818785, 7],
	['Hotel Ceffri', 45.237598, 11.761402, 8],
	['Terme di Galzignano', 45.2955926, 11.7636100, 9]
];

function loadHotel() {
	var myOptions = {
		zoom: 11,
		center: new google.maps.LatLng(45.139687, 11.785366),
		mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	map = new google.maps.Map(document.getElementById("map"), myOptions);

	for (var i = 0; i < hotels.length; i++) {
		var hotel = hotels[i];
		var myLatLng = new google.maps.LatLng(hotel[1], hotel[2]);
		var marker = new google.maps.Marker({
			position: myLatLng,
			map: map,
			icon: new google.maps.MarkerImage("http://www.lafieradelleparole.it/img/iconr" + (i + 1) + ".png", new google.maps.Size(39, 34), new google.maps.Point(0, 0), new google.maps.Point(17, 39)),
			title: hotel[0],
			zIndex: hotel[3]
		});
		showHotel(marker, i);
	}
}

function showHotel(marker, i) {
	var infowindow = new google.maps.InfoWindow({ content: hotels[i][0] });
	google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map, marker);
	});
}

var directionDisplay;
var directionsService;

function loadPercorso() {
	directionsService = new google.maps.DirectionsService();

	directionsDisplay = new google.maps.DirectionsRenderer();
	var fiera = new google.maps.LatLng(45.089687, 11.785366);
	var myOptions = {
		zoom: 10,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		center: fiera
	}
	map = new google.maps.Map(document.getElementById("map"), myOptions);
	directionsDisplay.setMap(map);
	directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}

function calcolaPercorso() {
	var start = document.getElementById("partenza").value;
	var end = new google.maps.LatLng(45.089687, 11.785366);
	var request = {
		origin: start,
		destination: end,
		travelMode: google.maps.DirectionsTravelMode.DRIVING
	};
	directionsService.route(request, function(result, status) {
		if (status == google.maps.DirectionsStatus.OK) {
			directionsDisplay.setDirections(result);
		}
	});
}
/* ---------------------- Google Maps --- */

/* --- YouTube -------------------------- */
function mostraVideo(video) {
	if ($('modale')) {
		$('modale').show();
		$('sfondomodale').show();
		$('sfondomodale').setStyle({ height: $$('body')[0].getHeight() + 'px' });

		var url = "multimedia/mostra-video-id.php";
		var par = "video=" + video;
		var myAjax = new Ajax.Updater(
			{ success: 'modale' },
			url,
			{
				method: 'post',
				parameters: par,
				onComplete: function() {
					var eltDims = $("contenutomodale").getDimensions();
					var browserDims = document.viewport.getDimensions();
					var scroll = document.viewport.getScrollOffsets();
					var y = ((browserDims.height - eltDims.height) / 2) + scroll[1] - 20;
					var x = (browserDims.width - eltDims.width) / 2;
					$("videoPlayer").setStyle({ top : y + 'px', left : x + 'px' });

					Event.observe('sfondomodale', 'click', nascondiModale);
					Event.observe('close', 'click', nascondiModale);
				}

			}
		);
	}
}

function nascondiModale() {
	if ($('modale')) {
		$('modale').hide();
		$('sfondomodale').hide();
		if ($('videoPlayer'))
			$('videoPlayer').remove();
	}
}
/* -------------------------- YouTube --- */

function mostraEventi() {
	if ($('result')) {

		// chiamata ad ajax per visualizzare il link della lingua
		var pars = "autore="+$F('autore')
			+ "&giorno="+$F('giorno')
			+ "&orario="+$F('orario')
			+ "&titolo="+$F('titolo')
			+ "&categoria="+$F('categoria');

		var url = "esegui_ricerca.php";
		var MyAjax = new Ajax.Updater(
			{
				loading: showLoading('result'),
				success: 'result'
			},
			url,
			{
				method: 'POST',
				parameters: pars,
				onFailure: 'result',
				evalScripts: true
			}
		);
	}
}

function showLoading(div) {
	if ($('datiloading')) {
		$('datiloading').remove();
	}
	$(div).innerHTML = '<div id="datiloading" style="padding: 5px 0 10px;"><img src="immagini/loading.gif" alt="loading" title="" style="vertical-align: middle;" /> Caricamento dati..</div>';
}

// elimino il link mostra tutto e visualizzo l'articolo completo
function toggleArticolo(id){
	var btn = 'btn' + id;
	if ($(id)) {
		$(id).show();

		if ($(btn))
			$(btn).up("p").remove();
	}
}

/* --- Forms ---------------------------- */
function checkFormAutori() {
	var elementi = new Array("nome", "cognome", "telefono", "email", "libro", "captcha");
	var r = 0;

	elementi.each(function(n) {
		if (!$(n).present()) {
			$("msg").update("Alcuni <strong class='rosso'>campi obbligatori</strong> non sono stati compilati.");
			$(n).up("dd").previous("dt").down("strong").addClassName('rosso');
			r = 1;
		} else {
			if ($(n).up("dd").previous("dt").down("strong").hasClassName("rosso"))
				$(n).up("dd").previous("dt").down("strong").removeClassName('rosso');
		}
	});

	return (r == 0) ? true : false;
}

function checkFormEditori() {
	var elementi = new Array("nome", "cognome", "telefono", "email", "libro", "captcha");
	var r = 0;

	elementi.each(function(n) {
		if (!$(n).present()) {
			$("msg").update("Alcuni <strong class='rosso'>campi obbligatori</strong> non sono stati compilati.");
			$(n).up("dd").previous("dt").down("strong").addClassName('rosso');
			r = 1;
		} else {
			if ($(n).up("dd").previous("dt").down("strong").hasClassName("rosso"))
				$(n).up("dd").previous("dt").down("strong").removeClassName('rosso');
		}
	});

	return (r == 0) ? true : false;
}

function checkFormContatti() {
	var elementi = new Array("nome", "email", "messaggio", "captcha");
	var r = 0;

	elementi.each(function(n) {
		if (!$(n).present()) { // controllo i campi compilati
			$("msg").update("Alcuni <strong class='rosso'>campi obbligatori</strong> non sono stati compilati.");
			$(n).up("dd").previous("dt").down("strong").addClassName('rosso');
			r = 1;
		} else {
			if ($(n).up("dd").previous("dt").down("strong").hasClassName("rosso"))
				$(n).up("dd").previous("dt").down("strong").removeClassName("rosso");
		}
	});

	return (r == 0) ? true : false;
}
/* ---------------------------- Forms --- */