/* Funzioni ------------------------------------------------------------------------ */

	/* Layout e comportamento -------------------------------------------------- */

	function hideLoader() {

		document.getElementById('pageLoader').style.visibility="hidden";
		document.getElementById('pageLoaderContent').style.visibility="hidden";

	}

	function targetBlank() {

		var i = 0;
		var collegamenti = document.links;

		for (i=0; i<collegamenti.length; i++) {

			if (collegamenti[i].title == "Nuova finestra") {

				collegamenti[i].target = "_blank";

			}

		}

	}

	/* Controllo form ---------------------------------------------------------- */

	function isFilled(fieldList,isHtmlEditor) {

		var checkFields = fieldList.split("@");
		var check = true;

		if (isHtmlEditor) {

			tinyMCE.triggerSave();

		}

		for (i=0; i<checkFields.length; i++) {

			if (document.getElementById(checkFields[i]).value=="") {

				document.getElementById(checkFields[i]+'_alert').innerHTML = "<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' />";
				check = false;

			} else {

				document.getElementById(checkFields[i]+'_alert').innerHTML = "";
			}
		}

		return check;
	}

	function checkAll(fieldList) {

		var ck = fieldList.split("@");
		var check = true;

		for(var i=0; i<ck.length; i++) {

			if (document.getElementById(ck[i]).checked) {

				document.getElementById(ck[i]+'_alert').innerHTML = "";

			} else {

				document.getElementById(ck[i]+'_alert').innerHTML = "<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' />";
				check = false;
			}
		}

		return check;
	}

	function isTheSame(field1,field2,isMandatory) {

		if (isMandatory) {

			if ($("#"+field1).val()=="" || $("#"+field2).val()=="") {

				$("#"+field1+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>");
				$("#"+field2+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>");
				return false;

			} else {

				if ($("#"+field1).val()!=$("#"+field2).val()) {

					$("#"+field1+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>");
					$("#"+field2+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>");
					return false;

				} else {

					$("#"+field1+"_alert").html("");
					$("#"+field2+"_alert").html("");
					return true;
				}
			}

		} else {

			if ($("#"+field1).val()!=$("#"+field2).val()) {

				$("#"+field1+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>");
				$("#"+field2+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>");
				return false;

			} else {

				$("#"+field1+"_alert").html("");
				$("#"+field2+"_alert").html("");
				return true;
			}

		}
	}

	function isRadioChecked(fieldList) {

		var radioFields = fieldList.split("@");
		var check = true;

		for (i=0; i<radioFields.length; i++) {

			if($('[name="'+radioFields[i]+'"]:checked').length==1) {

				$("#"+radioFields[i]+"_alert").html("");

			} else {

				$("#"+radioFields[i]+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' />");
				check = false;
			}
		}

		return check;
	}

	function isCaptchaCode(field) {

		$.ajaxSetup({ async:false });

		var check = false;

		$.post("actions/captchaControl.action.php",{ 
       			captcha_code: $("#"+field).val()
     		}, function(data) { 

			if (data=="OK") {

				$("#"+field+"_alert").html("");
				check = true;

			} else {
				$("#"+field+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' />");
				check = false;
			}
 		});

		$.ajaxSetup({ async:true });

		return check;
	}

	function isEmailAddress(field) {

		$.ajaxSetup({ async:false });

		var check = false;

		$.post("actions/isEmailAddress.action.php",{ 
       			email: $("#"+field).val()
     		}, function(data) { 

			if (data=="OK") {

				$("#"+field+"_alert").html("");
				check = true;

			} else {
				$("#"+field+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">indirizzo e-mail non valido</span>");
				check = false;
			}
 		});

		$.ajaxSetup({ async:true });

		return check;
	}

/* --------------------------------------------------------------------------------- */

/* Load all'avvio ------------------------------------------------------------------ */

	window.addEventListener?window.addEventListener("load",hideLoader,false):window.attachEvent("onload",hideLoader);
	window.addEventListener?window.addEventListener("load",targetBlank,false):window.attachEvent("onload",targetBlank);
	window.addEventListener?window.addEventListener("load",startMap,false):window.attachEvent("onload",startMap);

/* --------------------------------------------------------------------------------- */

/* Load alla chiusura -------------------------------------------------------------- */

	window.addEventListener?window.addEventListener("unload",discardMap,false):window.attachEvent("onunload",discardMap);

/* --------------------------------------------------------------------------------- */

/* Google Map ---------------------------------------------------------------------- */

	function startMap() { 

		var mapArea = "geoMap";
		var lat = "45.072334";
		var long = "7.663649";
		var popupMessage = "";
		var zoom = 16;

		switch ($("#cQS").val()) {

			case "arrivare_in_aereo":

				initialize(mapArea,lat,long,popupMessage,zoom,'aereo');

				break;

			case "arrivare_in_treno":

				initialize(mapArea,lat,long,popupMessage,zoom,'treno');

				break;

			case "arrivare_in_auto":

				initialize(mapArea,lat,long,popupMessage,zoom,'auto');

				break;

			default:

				load(mapArea,lat,long,popupMessage,zoom);
		}
	}

	function discardMap() { 

		/* GUnload(); */
	}

	//<![CDATA[  

	var geocoder;
	var map;

	function load(nomeDiv,latitude,longitude,popContent,zoomLevel) {

		if (document.getElementById(nomeDiv)) {

			var latlng = new google.maps.LatLng(latitude,longitude);

			var opt = { 
				center:latlng,
				zoom:zoomLevel,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				disableAutoPan:false,
				navigationControl:true,
				navigationControlOptions: {style:google.maps.NavigationControlStyle.SMALL },
				mapTypeControl:true,
				mapTypeControlOptions: {style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}
			};

			map = new google.maps.Map(document.getElementById(nomeDiv),opt);

			var image = new google.maps.MarkerImage('img/layout/dotMap.png',
				new google.maps.Size(20,34) /* Dimensioni in pixel */,
				new google.maps.Point(0,0) /* Origine dell'immagine */,
				new google.maps.Point(10,34) /* Punto di ancoraggio */);

			var shadow = new google.maps.MarkerImage('img/layout/dotMapShadow.png',
				new google.maps.Size(37,34),
				new google.maps.Point(0,0),
				new google.maps.Point(10,34));

			var isClickable = false;

			if (popContent!="") {

				isClickable = true;
			}

			var marker = new google.maps.Marker({
				map: map,
				position: latlng,
				clickable: isClickable,
				icon: image,
				shadow: shadow
			});

			if (popContent!="") {

				var infowindow = new google.maps.InfoWindow({
					content: popContent
				});

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

	function initialize(nomeDiv,latitude,longitude,popContent,zoomLevel,from) {

		if (document.getElementById(nomeDiv)) {

			var latlng = new google.maps.LatLng(latitude,longitude);

			var mapZoom = parseInt($("#mapZoom").val());

			var opt = { 
				center:latlng,
				zoom:zoomLevel,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				disableAutoPan:false,
				navigationControl:true,
				navigationControlOptions: {style:google.maps.NavigationControlStyle.SMALL },
				mapTypeControl:true,
				mapTypeControlOptions: {style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}
			};

			map = new google.maps.Map(document.getElementById(nomeDiv),opt);

			var isClickable = false;

			if (popContent!="") {

				isClickable = true;
			}

			var marker = new google.maps.Marker({
				map: map,
				position: latlng,
				clickable: isClickable
			});

			if (popContent!="") {

				var infowindow = new google.maps.InfoWindow({
					content: popContent
				});

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

			/* Disegno del percorso */

				var directionsService = new google.maps.DirectionsService();
				var directionsDisplay = new google.maps.DirectionsRenderer();

				directionsDisplay.setMap(map);
				directionsDisplay.setPanel(document.getElementById("directions"));

				switch (from) {

					case "treno":

						var request = {
							origin: 'Stazione Porta Susa, 10077 Torino', 
							destination: 'Via Susa, 5, 10138 Torino, Italia',
							provideRouteAlternatives: false,
							travelMode: google.maps.DirectionsTravelMode.WALKING
						};

						break;

					case "auto":

						var request = {
							origin: 'Tangenziale nord, 10077 Torino', 
							destination: 'Via Susa, 5, 10138 Torino, Italia',
							provideRouteAlternatives: false,
							travelMode: google.maps.DirectionsTravelMode.DRIVING
						};

						break;

					case "aereo":

						var request = {
							origin: 'Aeroporto Caselle, 10077 Torino', 
							destination: 'Via Susa, 5, 10138 Torino, Italia',
							provideRouteAlternatives: false,
							travelMode: google.maps.DirectionsTravelMode.DRIVING
						};

						break;
				}

				directionsService.route(request, function(response, status) {

					if (status == google.maps.DirectionsStatus.OK) {

						directionsDisplay.setDirections(response);
					}
				});
		}
	}

	//]]>

/* --------------------------------------------------------------------------------- */

/* Altre funzioni ------------------------------------------------------------------ */

	function sendToGuestbook() {

		var sendForm = false;

		sendForm = isFilled("add-msg@captcha_code",false);
		if (sendForm) { sendForm = isCaptchaCode('captcha_code'); }

		if (sendForm) {

			$.post("actions/saveToGuestbook.action.php",{ 
       				testo: $("#add-msg").val()
     			}, function(data) { 

				if (data=="OK") {

					self.location.reload();

				} else {

					alert($("#guestbook-alert-msg").val());
				}
 			});
		}
	}

	function openSubMenu(linkId,idMenu) {

		$.ajaxSetup({ async:false });

		if ($("#slaveMenuContainer").html()=="" || ($("#slaveMenuContainer").html()!="" & $("#link-id").val()!=linkId & $("#actual-idmenu").val()!=idMenu)) {

			if ($("#slaveMenuContainer").html()!="") {

				var oldLinkId = $("#link-id").val();

				$("#"+oldLinkId).removeClass("submenu-open");
				closeSubMenu(oldLinkId,$("#actual-idmenu").val());
			}

			$("#link-id").val(linkId);
			$("#actual-idmenu").val(idMenu);

			if (document.getElementById('slaveMenuContainer')) {

				$("#"+linkId).addClass("submenu-open");

				$.post("call/getSubMenu.call.php",{ 
       					id_menu: idMenu
     				}, function(data) {

					var newPosition = parseInt(document.getElementById('mainMenu').offsetLeft) + 18 - 1;

					$("#slaveMenuContainer").css("left",newPosition+"px");

					$("#slaveMenuContainer").html(data);
					$("#menu-actualset").val('OPEN');
					$("#menu-set").val('');
 				});
			}
		}

		$.ajaxSetup({ async:true });

	}

	function setMenuBehaviour(linkId,idMenu) {

		if ($("#menu-set").val()=="") {

			$("#menu-set").val('OPEN');

		} else {

			$("#menu-set").val('');

			closeSubMenu(linkId,idMenu);

			$("#menu-actualset").val('');
		}
	}

	function closeSubMenu(linkId,idMenu) {

		if ($("#menu-actualset").val()=="OPEN") {

			if ($("#menu-set").val()=="") {

				$("#"+linkId).removeClass("submenu-open");
				$("#menu-actualset").val('');
				$("#link-id").val('');
				$("#actual-idmenu").val('');
				$("#slaveMenuContainer").html('');
			}
		}
	}

	function hideSubMenu() {

		for (i=0;i<20;i++) {

			if (document.getElementById('menu-link_'+i)) {

				$("#menu-link_"+i).removeClass("submenu-open");
			}
		}

		$("#slaveMenuContainer").html('');
	}

	function setValue(field) {

		$("#"+field).val('');
	}

	function testValue(field) {

		if ($("#"+field).val()=="") { $("#"+field).val($("#"+field+"-label").val()); }
	}

	function subscribeNewsletter() {

		var sendForm = false;

		sendForm = isEmailAddress('user-email');

		if (sendForm) {

			$.post("actions/regEmail.action.php",{
       				address: $("#user-email").val()
     			}, function(data) { 

				if (data=="OK") {

					alert($("#email-subscribe-ok").val());

				} else {

					alert($("#email-subscribe-no").val());
				}
 			});
 
		} else {

			alert($("#email-subscribe-alert").val());
		}
	}

	function bodyResize() {

		var newHeight = $("#threeColsBodyContainer").height() + 10;

		if (document.getElementById('payIconContainer')) {

			newHeight = newHeight + 50;
		}

		if (parseInt(newHeight)>360) {

			$("#mainContainer").height(newHeight);
		}
	}

	function sendSuggestions() {

		var sendForm = false;

		sendForm = isRadioChecked("questionario_domanda_1@questionario_domanda_2@questionario_domanda_3@questionario_domanda_4@questionario_domanda_5@questionario_domanda_6@questionario_domanda_7@questionario_domanda_8@questionario_domanda_9@questionario_domanda_10@questionario_domanda_11@questionario_domanda_12@questionario_domanda_14@questionario_domanda_16@questionario_domanda_17@questionario_domanda_18@questionario_domanda_20@questionario_domanda_21@questionario_domanda_22");
		if (sendForm) { sendForm = isCaptchaCode('captcha_code'); }

		if (sendForm) {

			$.post("actions/sendSuggestions.action.php",{ 
       				questionario_domanda_1: $('[name="questionario_domanda_1"]:checked').val(),
       				questionario_domanda_2: $('[name="questionario_domanda_2"]:checked').val(),
       				questionario_domanda_3: $('[name="questionario_domanda_3"]:checked').val(),
       				questionario_domanda_4: $('[name="questionario_domanda_4"]:checked').val(),
       				questionario_domanda_5: $('[name="questionario_domanda_5"]:checked').val(),
       				questionario_domanda_6: $('[name="questionario_domanda_6"]:checked').val(),
       				questionario_domanda_7: $('[name="questionario_domanda_7"]:checked').val(),
       				questionario_domanda_8: $('[name="questionario_domanda_8"]:checked').val(),
       				questionario_domanda_9: $('[name="questionario_domanda_9"]:checked').val(),
       				questionario_domanda_10: $('[name="questionario_domanda_10"]:checked').val(),
       				questionario_domanda_11: $('[name="questionario_domanda_11"]:checked').val(),
       				questionario_domanda_12: $('[name="questionario_domanda_12"]:checked').val(),
       				questionario_domanda_12_risplib: $("#questionario_domanda_12_risplib").val(),
       				questionario_domanda_13_risplib: $("#questionario_domanda_13_risplib").val(),
       				questionario_domanda_14: $('[name="questionario_domanda_14"]:checked').val(),
       				questionario_domanda_15_risplib: $("#questionario_domanda_15_risplib").val(),
       				questionario_domanda_16: $('[name="questionario_domanda_16"]:checked').val(),
       				questionario_domanda_17: $('[name="questionario_domanda_17"]:checked').val(),
       				questionario_domanda_18: $('[name="questionario_domanda_18"]:checked').val(),
       				questionario_domanda_19_risplib: $("#questionario_domanda_19_risplib").val(),
       				questionario_domanda_20: $('[name="questionario_domanda_20"]:checked').val(),
       				questionario_domanda_21: $('[name="questionario_domanda_21"]:checked').val(),
       				questionario_domanda_22: $('[name="questionario_domanda_22"]:checked').val(),
       				questionario_domanda_23_risplib: $("#questionario_domanda_23_risplib").val()
     			}, function(data) { 

				if (data=="OK") {

					alert($("#suggestions-ok-msg").val());
					self.location.reload();

				} else {

					alert($("#suggestions-alert-msg").val());
				}
 			});
		}
	}

/* --------------------------------------------------------------------------------- */
