/* 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";

			}

		}

	}

	function openCol(colNumber) {

		$("#cols-1-content").hide();
		$("#cols-2-content").hide();
		$("#cols-3-content").hide();
		$("#cols-"+colNumber+"-content").slideDown("normal");
	}

	function closeCol(colNumber) {

		$("#cols-"+colNumber+"-content").slideUp("fast");
	}

	/* 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 isUsername(field,idUser) {

		$.ajaxSetup({ async:false });

		var check = false;

		$.post("actions/isUsername.action.php",{ 
       			email: $("#"+field).val(),
       			id_cliente: idUser
     		}, 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\">user id gi&agrave; in uso</span>");
				check = false;
			}
 		});

		$.ajaxSetup({ async:true });

		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 = "43.938255";
		var long = "7.93067";
		var popupMessage = "";
		var zoom = 13;

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

	function discardMap() { 

		/* GUnload(); */
	}

	//<![CDATA[ 

	/*var zoom=17; */
	var debug=false; 

	function v2__load(nomeDiv,lat,long,SMS,zoom) {

		if (document.getElementById(nomeDiv)) {

		var latitudine = lat; 
		var longitudine = long; 
		var messaggio=SMS; 

		zoom = parseInt(zoom);

		document.getElementById(nomeDiv).style.display = "";
 
		if (debug) document.getElementById("debug").style.display="block"; 
		if (GBrowserIsCompatible()) { 
			var map = new GMap2(document.getElementById(nomeDiv)); 
			map.addControl(new GSmallMapControl()); 
			map.addControl(new GMapTypeControl()); 

			if (debug) { 
				GEvent.addListener(map, "moveend", function() { 
					var center = map.getCenter(); 
					document.getElementById("debug").innerHTML = center.toString();}); 

					GEvent.addListener(map, "click", function(marker, point) { 
					if (point) 
					document.getElementById("debug").innerHTML = point.toString();
				}); 
			} 

			map.setCenter(new GLatLng(latitudine, longitudine), zoom); 

			var point = new GLatLng(latitudine,longitudine); 

			/* PERSONALIZZAZIONE MARKER */
			var customIcon = new GIcon(G_DEFAULT_ICON, "img/layout/dotMap.png", null , "img/layout/dotMapShadow.png"); 
			customIcon.iconSize=new GSize(20,34); 
			customIcon.shadowSize=new GSize(37,34);
			var marker = new GMarker(point,customIcon);

			/* MARKER DI DEFAULT: var marker = new GMarker(point); */ 

			if (messaggio!="") {

				GEvent.addListener(marker, "click", function() { 
					marker.openInfoWindowHtml(messaggio);
				})
			} 

			map.addOverlay(marker); 

			/* Aggiunta secondo punto */

				lat = "43.943267";
				long = "7.933444";

				point = new GLatLng(lat,long);
				marker = new GMarker(point,customIcon);
				map.addOverlay(marker);

			/* ---------------------- */
		} 

		}
	} 

	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);
				});
			}

			/* Aggiunta secondo punto */

				lat = "43.943267";
				long = "7.933444";

				point = new google.maps.LatLng(lat,long);

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

			/* ---------------------- */
		}
	}

	//]]>

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

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

	function loginUser() {

		$.post("actions/loginUser.action.php",{ 
       			email: $("#login_email").val(), 
      			pwd: $("#login_pwd").val()
     		}, function(data) { 

			if (data=="OK") {

				self.location.reload();

			} else {

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

	function loginFromPopup() {

		$.post("actions/loginUser.action.php",{ 
       			email: $("#login_email-popup").val(), 
      			pwd: $("#login_pwd-popup").val()
     		}, function(data) { 

			if (data=="OK") {

				$("#next-action-container").html("<div id='next-action'><input type='button' id='res-step2-btt' name='res-step2-btt' value='"+$("#res-step2-btt-label").val()+"' onclick='confirmReservation()' /></div>");

				closePopup();
				updateLoginBox();

			} else {

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

	function addRecord(item) {

		switch (item) {

			case "B2C":

				var sendForm = false;

				sendForm = isFilled("nome@cognome@telefono@indirizzo@email@pwd@confpwd",false);
				if (sendForm) { sendForm = checkAll("flag_condizioni@flag_privacy"); }
				if (sendForm) { sendForm = isUsername("email",""); }
				if (sendForm) { sendForm = isEmailAddress("email"); }
				if (sendForm) { sendForm = isTheSame("pwd","confpwd",true); }
				if (sendForm) { sendForm = isCaptchaCode('captcha_code'); }

				if (sendForm) {

					$("#procedureResult").html('');

					$.post("actions/insertUser.action.php",{ 
       						tipo: $("#tipo").val(), 
       						nome: $("#nome").val(), 
      						cognome: $("#cognome").val(),
      						partita_iva: $("#partita_iva").val(),  
      						codice_fiscale: $("#codice_fiscale").val(), 
      						telefono: $("#telefono").val(), 
      						mobile: $("#mobile").val(), 
      						indirizzo: $("#indirizzo").val(),
      						id_stato: $("#id_stato").val(), 
      						indirizzo_spedizione: $("#indirizzo_spedizione").val(), 
      						email: $("#email").val(), 
      						pwd: $("#pwd").val()
     					}, function(data) { 

						if (data=="OK") {

							self.location.reload();

						} else {

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

				break; 

			case "resUser":

				var sendForm = false;

				sendForm = isFilled("nome@cognome@telefono@indirizzo@email@pwd@confpwd",false);
				if (sendForm) { sendForm = checkAll("flag_condizioni@flag_privacy"); }
				if (sendForm) { sendForm = isUsername("email",""); }
				if (sendForm) { sendForm = isEmailAddress("email"); }
				if (sendForm) { sendForm = isTheSame("pwd","confpwd",true); }
				if (sendForm) { sendForm = isCaptchaCode('captcha_code'); }

				if (sendForm) {

					$("#procedureResult").html('');

					$.post("actions/insertUser.action.php",{ 
       						tipo: $("#tipo").val(), 
       						nome: $("#nome").val(), 
      						cognome: $("#cognome").val(),
      						partita_iva: $("#partita_iva").val(),  
      						codice_fiscale: $("#codice_fiscale").val(), 
      						telefono: $("#telefono").val(), 
      						mobile: $("#mobile").val(), 
      						indirizzo: $("#indirizzo").val(),
      						id_stato: $("#id_stato").val(), 
      						indirizzo_spedizione: $("#indirizzo_spedizione").val(), 
      						email: $("#email").val(), 
      						pwd: $("#pwd").val()
     					}, function(data) { 

						if (data=="OK") {

							$("#next-action-container").html("<div id='next-action'><input type='button' id='res-step2-btt' name='res-step2-btt' value='"+$("#res-step2-btt-label").val()+"' onclick='confirmReservation()' /></div>");

							closePopup();
							updateLoginBox();

						} else {

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

				break; 

			case "B2B":

				var sendForm = false;

				sendForm = isFilled("ragione_sociale@partita_iva@codice_fiscale@telefono@indirizzo@email@pwd@confpwd",false);
				if (sendForm) { sendForm = checkAll("flag_condizioni@flag_privacy"); }
				if (sendForm) { sendForm = isUsername("email",""); }
				if (sendForm) { sendForm = isEmailAddress("email"); }
				if (sendForm) { sendForm = isTheSame("pwd","confpwd",true); }
				if (sendForm) { sendForm = isCaptchaCode('captcha_code'); }

				if (sendForm) {

					$("#procedureResult").html('');

					$.post("actions/insertUser.action.php",{ 
       						tipo: $("#tipo").val(), 
       						ragione_sociale: $("#ragione_sociale").val(), 
      						partita_iva: $("#partita_iva").val(), 
      						codice_fiscale: $("#codice_fiscale").val(), 
      						telefono: $("#telefono").val(), 
      						mobile: $("#mobile").val(), 
      						indirizzo: $("#indirizzo").val(),
      						id_stato: $("#id_stato").val(),  
      						indirizzo_spedizione: $("#indirizzo_spedizione").val(), 
      						email: $("#email").val(), 
      						pwd: $("#pwd").val()
     					}, function(data) { 

						if (data=="OK") {

							self.location.reload();

						} else {

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

				break; 
		}
	}

	function updateRecord(item) {

		switch (item) {

			case "B2C":

				var sendForm = false;

				sendForm = isFilled("nome@cognome@codice_fiscale@telefono@indirizzo@email",false);
				if (sendForm) { sendForm = isUsername("email",$("#id_cliente").val()); }
				if (sendForm) { sendForm = isEmailAddress("email"); }

				if (sendForm) {

					$("#procedureResult").html('');

					$.post("actions/updateUser.action.php",{ 
       						nome: $("#nome").val(), 
      						cognome: $("#cognome").val(),
      						partita_iva: $("#partita_iva").val(),  
      						codice_fiscale: $("#codice_fiscale").val(), 
      						telefono: $("#telefono").val(), 
      						mobile: $("#mobile").val(), 
      						indirizzo: $("#indirizzo").val(), 
      						id_stato: $("#id_stato").val(), 
      						indirizzo_spedizione: $("#indirizzo_spedizione").val(), 
      						email: $("#email").val()
     					}, function(data) { 

						if (data=="OK") {

							self.location.reload();

						} else {

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

				break;

			case "B2B":

				var sendForm = false;

				sendForm = isFilled("ragione_sociale@partita_iva@codice_fiscale@telefono@indirizzo@email",false);
				if (sendForm) { sendForm = isUsername("email",$("#id_cliente").val()); }
				if (sendForm) { sendForm = isEmailAddress("email"); }

				if (sendForm) {

					$("#procedureResult").html('');

					$.post("actions/updateUser.action.php",{ 
       						ragione_sociale: $("#ragione_sociale").val(), 
      						partita_iva: $("#partita_iva").val(), 
      						codice_fiscale: $("#codice_fiscale").val(), 
      						telefono: $("#telefono").val(), 
      						mobile: $("#mobile").val(), 
      						indirizzo: $("#indirizzo").val(), 
      						id_stato: $("#id_stato").val(), 
      						indirizzo_spedizione: $("#indirizzo_spedizione").val(), 
      						email: $("#email").val()
     					}, function(data) { 

						if (data=="OK") {

							self.location.reload();

						} else {

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

				break;

			case "password":

				var sendForm = false;

				sendForm = isTheSame("pwd","confpwd",true);

				if (sendForm) {

					$("#procedureResult").html('');

					$.post("actions/updatePassword.action.php",{
						pwd: $("#pwd").val()
     					}, function(data) { 

						if (data=="OK") {

							closePopup();

						} else {

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

				break; 
		}
	}

	function recoverPassword() {

		var sendForm = false;

		sendForm = isEmailAddress("email");

		if (sendForm) {

			$("#procedureResult").html('');

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

				if (data=="OK") {

					closePopup();

				} else {

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

	function switchHouse(id) {

		$.post("actions/switchHouse.action.php",{ 
       			id: id
     		}, function(data) { 

			if (data.result=="OK") {

				$("#selectedHomeId").val(data.id);
				$("#home-name").html(data.name);
				$("#home-descr").html(data.descr);
				$("#selectedHomeImage").attr("src",data.imgsrc);
				$('#homeMenu').slideToggle('fast');

			} else {

				$('#homeMenu').slideToggle('fast')
			}
 		},'json');
	}

	function sendToGuestbook() {

		var sendForm = false;

		sendForm = isFilled("add-msg",false);

		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 updateLoginBox() {

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

			$.post("call/getLoginBox.call.php",{}, function(data) { 

				$("#loginForm").html(data);
 			});
		}
	}

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