/*const PASSWORD_SECURITY = 0 /* Vincolo sulla sicurezza delle password */
							/* 0 = disabilitato - 100 = massima sicurezza */

var PASSWORD_SECURITY
PASSWORD_SECURITY = 0

$(function(){
	//---------------------------------------------------------------------------------------
	//----- ASSEGNAZIONE DELLE FUNZIONI A TUTTI GLI ELEMENTI --------------------------------
	//---------------------------------------------------------------------------------------
	$("#ImgIphone").bind('mouseover', function(){
		SpostaBannerIphone("over")
	});
	$("#ImgIphone").bind('mouseout', function(){
		SpostaBannerIphone("out")
	});
	$("#ImgIphone, #ImgDescrizioneIphone").bind('click', function(){
		VisualizzaContenuto("IPhone")
	});
	$("#LinkHome").bind('click', function(){
		VisualizzaContenuto("Home")
	});
	$("#LogoHome").bind('click', function(){
		VisualizzaContenuto("Home")
	});
	$("#LinkMyGamelife").bind('click', function(){
		VisualizzaContenuto("MyGamelife")
	});
	$("#LinkDoveTrovarci").bind('click', function(){
		VisualizzaContenuto("DoveTrovarci")
	});
	$("#LinkCatalogo").bind('click', function(){
		VisualizzaContenuto("Catalogo")
	});
	$("#LinkSpendimeno").bind('click', function(){
		VisualizzaContenuto("Spendimeno")
	});
	$("#LinkPrenotazioni").bind('click', function(){
		VisualizzaContenuto("Prenotazioni")
	});
	$("#LinkUsato").bind('click', function(){
		VisualizzaContenuto("Usato")
	});
	$("#LinkProdotti").bind('click', function(){
		VisualizzaContenuto("Prodotti")
	});
	$("#LinkAccedi").bind('click', function(){
		VisualizzaAccesso()
	});
	$("#ImgChkRem").bind('click', function(){
		SelDeselRimaniCollegato()
	});
	//if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();
        $('#mask, .window').hide();
    });    
    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });
	//VisualizzaContenuto("Home")
});
//***************************************************************************************
//***************************************************************************************
//***************************************************************************************
ContaClick = new Number(0)
//---------------------------------------------------------------------------------------
//----- MI SERVE PER POTER CHIAMARE IN AJAX LE PAGINE ESTERNE ---------------------------
//---------------------------------------------------------------------------------------
function getXMLHttp() {
	var xmlhttp = null;
	if (window.ActiveXObject) {
		if (navigator.userAgent.toLowerCase().indexOf("msie 5") != -1) {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} else {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
	if (!xmlhttp && typeof(XMLHttpRequest) != 'undefined') {
		xmlhttp = new XMLHttpRequest()
	}
	return xmlhttp
}
//---------------------------------------------------------------------------------------
//----- FUNZIONE PER SPOSTARE L'IMMAGINE IN ALTO O BASSO --------------------------------
//---------------------------------------------------------------------------------------
function SpostaBannerIphone(Azione){
	if (Azione == "over"){
		$('#ImgIphone').animate({
			marginTop: '25'
		}, 10)
	}else if (Azione == "out"){
		$('#ImgIphone').animate({
			marginTop: '35'
		}, 10)
	}
}
//---------------------------------------------------------------------------------------
//----- FACCIO VEDERE/NASCONDO IL PANNELLO DI ACCESSO -----------------------------------
//---------------------------------------------------------------------------------------
function VisualizzaAccesso(e){
	$(function() {
		$("#dialog").dialog({
			height: 250,
			width: 400,
			modal: true,
			closeOnEscape: true,
			title: "Accedi",
			resizable: false
		})
	});
}
//---------------------------------------------------------------------------------------
//----- FUNZIONI PER L'ANIMAZIONE DEI PACK ----------------------------------------------
//---------------------------------------------------------------------------------------
function prezziToggle(prezzi){
	if (prezzi.data("state") == "down" || prezzi.data("state") == null){
		prezziShow(prezzi);
	} else if (prezzi.data("state") == "up"){
		prezziHide(prezzi);
	}
}
function infoToggle(prezzi){
	if (prezzi.data("state") == "down" || prezzi.data("state") == null){
		infoShow(prezzi);
	} else if (prezzi.data("state") == "up"){
		infoHide(prezzi);
	}
}
function prezziShow(prezzi){
	prezzi.data("state", "up");
	$(prezzi).find(".prezziSingleLine").hide();
	righe = $(prezzi).find(".rigaPrezzo").length;
	if (righe == 1){
		altezza = '18';
	} else if (righe == 2){
		altezza = '36';
	} else if (righe == 3){
		altezza = '52';
	} else if (righe == 4){
		altezza = '70';
	}
	$(prezzi).animate({
		height: altezza,
		opacity: '1'
	}, 300,
	function(){$(prezzi).find(".prezziMultiLine").fadeIn();}
	)
	/* Metto la reccia in giù */
	$(prezzi).removeClass("prezziDown");
	$(prezzi).addClass("prezziUp");
}
function prezziHide(prezzi){
	prezzi.data("state", "down");
	$(prezzi).find(".prezziMultiLine").hide();
	$(prezzi).animate({
		height: '18',
		opacity: '0.9'
	}, 300,
	function(){$(prezzi).find(".prezziSingleLine").fadeIn();}
	)
	/* Metto la reccia in su */
	$(prezzi).removeClass("prezziUp");
	$(prezzi).addClass("prezziDown");
}
function infoShow(info){
	//$(info).find(".infoSingleLine").hide();
	info.data("state", "up");
	$(info).animate({
		height: '242',
		opacity: '1'
	}, 300,
	function(){$(info).find(".infoMultiLine").fadeIn();}
	)
	/* Metto la reccia in giù */
	$(info).removeClass("infoDown");
	$(info).addClass("infoUp");
}
function infoHide(info){
	info.data("state", "down");
	$(info).find(".infoMultiLine").hide();
	$(info).animate({
		height: '18',
		opacity: '0.9'
	}, 300,
	function(){/*$(info).find(".infoSingleLine").fadeIn();*/}
	)
	/* Metto la reccia in su */
	$(info).removeClass("infoUp");
	$(info).addClass("infoDown");	
}
function mycarousel_initCallback(carousel) {
	$(document).bind('keydown', function(e) {
		e.stopPropagation();
		var key = e.which||e.keyCode;     
		if (key == 37) {
			carousel.prev();
			return false;
		} else if (key == 39) {
			carousel.next();
			return false;
		}
	});
};
//---------------------------------------------------------------------------------------
//----- CHIAMO LA PAGINA ESTERNA PER FAR VEDERE IL CONTENUTO ----------------------------
//---------------------------------------------------------------------------------------
function VisualizzaContenuto(Azione){
	//tolgo la classe a tutti i link per deselezionare la voce di menu e la metto solo su quello selezionato
	$("#menu a").removeClass("MenuAttivo");
	$("#LoggedPanel #LoggedMenu a").removeClass("active");
	$("#Link" + Azione).addClass("MenuAttivo");
	if (localStorage.getItem("logged") == "true"){
		$("#LoggedPanel").load("ajax/ajax_loggedpanel.asp");
		$("#LoggedPanel").slideDown();
	}
	
	if (Azione == "Home"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_home.asp']);
		$.post("ajax/ajax_home.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
				/* Promozioni */
				 $('#slider').nivoSlider({
					effect: 'random',
					controlNav: false,
					pauseTime: 5000,
					animSpeed: 500,
					slices:7,
					boxCols:5,
					boxRows:4,
					directionNavHide: false,
					pauseOnHover: true,
					prevText: '<',
					nextText: '>',
					captionOpacity: 1
				 });
				/* Menu prossime uscite */
				SetupSearchField();
				$(".PUNavLink").each(function(){
					$(this).bind('click', function(){
						ProssimeUscite($(this).attr("id"), '');
					});
				});
				/* Funzione che carica le prossime uscite dell'anno prossimo */
				var d = new Date();
				//----------------------------------------------------------------
				//TOLTO IL +1 PERCHè ESSENDO AD INIZIO ANNO NON CARICAVA NIENTE...
				//----------------------------------------------------------------
				//ProssimeUscite(d.getFullYear()+1, '');
				//----------------------------------------------------------------
				ProssimeUscite(d.getFullYear(), '');
				$("#ButtonRicarica").bind('click', function(){
					Ricarica();
				});
			}
		);		
	}
	else if (Azione == "HomeRicarica"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_home_ricarica.asp']);
		$.post("ajax/ajax_home_ricarica.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
				/* Promozioni */
				 $('#slider').nivoSlider({
					effect: 'random',
					controlNav: false,
					pauseTime: 5000,
					animSpeed: 500,
					slices:7,
					boxCols:5,
					boxRows:4,
					directionNavHide: false,
					pauseOnHover: true,
					prevText: '<',
					nextText: '>',
					captionOpacity: 1
				 });
				/* Menu prossime uscite */
				SetupSearchField();
				$(".PUNavLink").each(function(){
					$(this).bind('click', function(){
						ProssimeUscite($(this).attr("id"), '');
					});
				});
				/* Funzione che carica le prossime uscite di quest'anno */
				var d = new Date();
				ProssimeUscite(d.getFullYear(), '');
				$("#ButtonRicarica").bind('click', function(){
					Ricarica();
				});
			}
		);		
	}
	else if (Azione == "MyGamelife"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_sessionchecker.asp']);
		$.post("ajax/ajax_sessionchecker.asp",
			function(data) {
				if (data.logged == "true") {
					VisualizzaContenuto("MyGamelifeSaldo")
				} else {
					$("#LoggedPanel").hide()
					VisualizzaContenuto("AccediRegistrati")
				}
			}, "json"
		);
	}
	else if (Azione == "AccediRegistrati"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_accediregistrati.asp']);
		$("#LinkMyGamelife").addClass("MenuAttivo");
		$.post("ajax/ajax_accediregistrati.asp",
			{"loginMode": 1},
			function(data) {
				$("#DivContenitoreGlobale").html(data);
				$("input").bind('keydown', function(e) {
					e.stopPropagation();
					var key = e.which||e.keyCode;     
					if (key == 13) {
						if (($("#email:focus").length != 0) || ($("#password:focus").length != 0)){
							Accedi(1);
						} else if (($("#card:focus").length != 0) || ($("#cfiscale:focus").length != 0)){
							Registrati();
						}
					}
				});
				/* Controllo se è stato salvato qualcosa nel localstorage */
				if (localStorage.getItem("rememberme") == "true"){
					$("#email").val(localStorage.getItem("email"));
					$("#password").val(localStorage.getItem("password"));
					$("#rememberme").prop("checked", "checked");
				}
			}
		)
	}
	else if (Azione == "AccediRegistratiMod2"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_accediregistrati.asp']);
		$("#LinkMyGamelife").addClass("MenuAttivo");
		$.post("ajax/ajax_accediregistrati.asp",
			{"loginMode": 2},
			function(data) {
				$("#DivContenitoreGlobale").html(data);
				$("input").bind('keydown', function(e) {
					e.stopPropagation();
					var key = e.which||e.keyCode;     
					if (key == 13) {
						if (($("#email:focus").length != 0) || ($("#password:focus").length != 0)){
							Accedi(1);
						} else if (($("#card:focus").length != 0) || ($("#cfiscale:focus").length != 0)){
							Registrati();
						}
					}
				});
			}
		)
	}
	else if (Azione == "DoveTrovarci"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_dovetrovarci.asp']);
		$.post("ajax/ajax_dovetrovarci.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
				$("#RigaListaNegozi").bind('click', function(){VisualizzaNascondiListaNegozi();});
				VisualizzaNegozio("RM02", "SI")
			}
		);
	}
	else if (Azione == "Catalogo"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_catalogo.asp']);
		$.post("ajax/ajax_catalogo.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
				$('#mybook').booklet();
			}
		);
	}
	else if (Azione == "Spendimeno"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_spendimeno.asp']);
		$.post("ajax/ajax_spendimeno.asp",
			function(data) {
				
				$("#DivContenitoreGlobale").html(data)
				$('#mybook').booklet();
			}
		);
	}
	else if (Azione == "Prenotazioni"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_prenotazioni.asp']);
		$.post("ajax/ajax_prenotazioni.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
			}
		);
	}
	else if (Azione == "IPhone"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_iphone.asp']);
		$.post("ajax/ajax_iphone.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
				$("#carousel").jcarousel({
					visible: 1,
					scroll: 1,
					animation: 350,
					itemFallbackDimension: 156
				});
			}
		);
	}
	else if (Azione == "Attivato"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_attivato.asp']);
		$.post("ajax/ajax_attivato.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
			}
		);
	}
	else if (Azione == "AttivatoTutore"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_attivato_tutore.asp']);
		$.post("ajax/ajax_attivato_tutore.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
			}
		);
	}
	else if (Azione == "ResettaPassword"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_passwordreset.asp']);
		$.post("ajax/ajax_passwordreset.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
				$("#email").data("sent", "false");
				
				$(function(){
					$("input").bind('keydown', function(e) {
						e.stopPropagation();
						var key = e.which||e.keyCode;     
						if (key == 13) {
							InviaReset()
						}
					});
				})
			}
		);
	}
	/*--- AZIONI PER MYGAMELIFE -------------------------------------------------------*/
	else if (Azione == "MyGamelifeSaldo"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_mygamelife_saldo.asp']);
		$("#LinkMyGamelife").addClass("MenuAttivo");
		$("#Link" + Azione).addClass("active");
		$("#DivContenitoreGlobale").html("<p id=\"LoadingMessage\">Caricamento in corso... <img src=\"Immagini/ajax-loader2.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\"></p>")
		$.post("ajax/ajax_mygamelife_saldo.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
			}
		);
	}
	else if (Azione == "MyGamelifeAcquisti"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_mygamelife_acquisti.asp']);
		$("#LinkMyGamelife").addClass("MenuAttivo");
		$("#Link" + Azione).addClass("active");
		$("#DivContenitoreGlobale").html("<p id=\"LoadingMessage\">Caricamento in corso... <img src=\"Immagini/ajax-loader2.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\"></p>")
		$.post("ajax/ajax_mygamelife_acquisti.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
			}
		);
	}
	else if (Azione == "MyGamelifePrenotazioni"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_mygamelife_Prenotazioni.asp']);
		$("#LinkMyGamelife").addClass("MenuAttivo");
		$("#Link" + Azione).addClass("active");
		$("#DivContenitoreGlobale").html("<p id=\"LoadingMessage\">Caricamento in corso... <img src=\"Immagini/ajax-loader2.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\"></p>")
		$.post("ajax/ajax_mygamelife_Prenotazioni.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data)
			}
		);
	}
	else if (Azione == "MyGamelifeModifica"){
		/* For Google Analytics */
		_gaq.push(['_trackPageview', 'ajax/ajax_mygamelife_modifica.asp']);
		$("#LinkMyGamelife").addClass("MenuAttivo");
		$("#Link" + Azione).addClass("active");
		$("#DivContenitoreGlobale").html("<p id=\"LoadingMessage\">Caricamento in corso... <img src=\"Immagini/ajax-loader2.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\"></p>")
		$.post("ajax/ajax_mygamelife_modifica.asp",
			function(data) {
				$("#DivContenitoreGlobale").html(data);
				$(document).unbind('keydown');
				SetupAutocomplete();
				/* Controllo se il valore contiene delle X */
				regExp = /^\d{3}\D{2}$/;
				if (regExp.test($("#cap").val())){
					$("#cap").removeProp("readonly");
					$("#cap").removeClass("readonly");
				} else {
					$("#cap").prop("readonly", "readonly");
					$("#cap").addClass("readonly");
				}
			}
		);
	}
	/*--- QUESTE AZIONI SONO TEMPORANEE -----------------------------------------------*/
	
	//come ultima cosa, dopo aver caricato tutti i contenuti, cambio il titolo della pagina
	CambiaTitolo(Azione)
}
//---------------------------------------------------------------------------------------
//----- FUNZIONE CHE RECUPERA LE PROSSIME USCITE ----------------------------------------
//---------------------------------------------------------------------------------------
function ProssimeUscite(s, r){
	if (s != "S"){
		$("#PUSearchField").val("");
		$("#menuProssimeUscite span").removeClass("MenuAttivo");
	}
	$("#CarouselContainer").html("");
	$("#" + s).addClass("MenuAttivo");
	
	$.ajax({
		url: "ajax/ajax_prossimeuscite.asp",
		async: false,
		type: "POST",
		data: {"sel": s, "ric": r},
		dataType: "html",
		success: function(html){
			$("#CarouselContainer").html(html);
			/* Prossime uscite */
			$("#carousel").jcarousel({
				initCallback: mycarousel_initCallback,
				visible: 6,
				scroll: 6,
				animation: 450,
				wrap: "circular",
				itemFallbackDimension: 145					
			});
			$("#carousel .prezzi").each(function(){
				if ($(this).hasClass("prezziDown")){
					$(this).bind('click', function(){
						prezziToggle($(this));
					});
				}
			});
			$("#carousel .prezzi").each(function(){
				if ($(this).hasClass("prezziDown")){
					$(this).bind('mouseleave', function(){
						prezziHide($(this));
					});
				}
			});
			$("#carousel .info").bind('click', function(){
				infoToggle($(this));
			});
			$("#carousel .info").bind('mouseleave', function(){
				infoHide($(this));
			});
		}
	});
}
//---------------------------------------------------------------------------------------
//----- ESEGUE IL SETUP DELL'AUTOCOMPLETE -----------------------------------------------
//---------------------------------------------------------------------------------------
function SetupAutocomplete(){
	$("#comune, #comune_n").autocomplete({
		source: function(request, response) {
			$.ajax({
				type: "POST",
				url: "funzioni.asp",
				dataType: "json",
				data: {
					azione: "FillComuni",
					comune: request.term
				},
				success: function(data) {
					response($.map(data.recordset, function(item) {
						return {
							label: item.Comune + " (" + item.ProvinciaAbbr + ")",
							value: item.Comune,
							ProvinciaAbbr: item.ProvinciaAbbr,
							cap: item.CAP
						}
					}));
				}
			});
		},
		search: function(event, ui){
			$(this).data("selected", false);
		},
		select: function(event, ui){
			$(this).data("selected", true);
			var selectedObj = ui.item;
			if($(this).attr("id") == "comune"){
				$("#provincia").val(selectedObj.ProvinciaAbbr);
				$("#cap").val(selectedObj.cap);
				/* Controllo se il valore contiene delle X */
				regExp = /^\d{3}\D{2}$/;
				if (regExp.test($("#cap").val())){
					$("#cap").removeProp("readonly");
					$("#cap").removeClass("readonly");
				} else {
					$("#cap").prop("readonly", "readonly");
					$("#cap").addClass("readonly");
				}
			}
			if($(this).attr("id") == "comune_n"){
				$("#provincia_n").val(selectedObj.ProvinciaAbbr);
			}
		},
		minLength: 3,
		change: function (event, ui) {
			if (!ui.item) {
				$(this).val('');
			}
		}
	});
}
//---------------------------------------------------------------------------------------
//----- SETUP DEL CAMPO DI RICERCA PROSSIME USCITE --------------------------------------
//---------------------------------------------------------------------------------------
function SetupSearchField(){
	$("#PUSearchField").bind('focus', function(){
		//$(this).removeClass("blur").addClass("focus");
		$(this).animate(
			{width: 150}, 450,
			function(){ProssimeUscite("S", ricerca)}
		);
		$("#CarouselContainer").html("");
		$("#menuProssimeUscite span").removeClass("MenuAttivo");
		$("#PUSearch").addClass("MenuAttivo");
		ricerca = $("#PUSearchField").val();
	});
	$("#PUSearchField").bind('blur', function(){
		//if ($("#PUSearchField").val() == ""){
		//	$(this).removeClass("focus").addClass("blur");
		//}
		$(this).animate({
			width: 50
		}, 450);
	});
	$("#PUSearchField").bind('keyup', function(){
		ricerca = $("#PUSearchField").val();
		ProssimeUscite("S", ricerca);
	});
}
//---------------------------------------------------------------------------------------
//----- CHIAMO LA PAGINA ESTERNA PER FAR VEDERE IL NEGOZIO SELEZIONATO ------------------
//---------------------------------------------------------------------------------------
function VisualizzaNegozio(Negozio, Inizio){
	$.post("Funzioni.asp", {Azione : "DettNegozio", Condizione : Negozio},
		function(data, Inizio) {
			if (Inizio != "SI"){
				$("#DettagliNegozio").html(data)
				VisualizzaNascondiListaNegozi();
			}
		}
	);
}
//---------------------------------------------------------------------------------------
//----- FACCIO VEDERE O NASCONDO IL PANNELLO CON LE SELEZIONI DEL NEGOZIO ---------------
//---------------------------------------------------------------------------------------
function VisualizzaNascondiListaNegozi(){
	$("#ContenitoreListaNegozi").fadeToggle("slow");
	
	if ($("#RigaListaNegozi").hasClass("RigaListaNegoziAperta") == false){	//vuol dire che è chiuso
		$("#RigaListaNegozi").addClass("RigaListaNegoziAperta");
		$('.scroll-pane').jScrollPane();
	}else{
		$("#RigaListaNegozi").removeClass("RigaListaNegoziAperta");
	}
}
//---------------------------------------------------------------------------------------
//----- SELEZIONO MASCHIO O FEMMINA -----------------------------------------------------
//---------------------------------------------------------------------------------------
function SelezionaSesso(sesso){
	/* Seleziono maschio */
	if (sesso == "M"){
		$("#M").prop("checked", "checked");
		$("#MButton").addClass("maschioSelezionato");
		$("#MButton").removeClass("maschio");
		
		$("#F").removeProp("checked");
		$("#FButton").addClass("femmina");
		$("#FButton").removeClass("femminaSelezionato");
	}
	/* Seleziono femmina */
	else if (sesso == "F"){
		$("#F").prop("checked", "checked");
		$("#FButton").addClass("femminaSelezionato");
		$("#FButton").removeClass("femmina");
		
		$("#M").removeProp("checked");
		$("#MButton").addClass("maschio");
		$("#MButton").removeClass("maschioSelezionato");
	}
}
//---------------------------------------------------------------------------------------
//----- CAMBIO IL NOME DELLA PAGINA -----------------------------------------------------
//---------------------------------------------------------------------------------------
function CambiaTitolo(PaginaAperta){
	TitoloNuovo = "Gamelife.it"
	if (PaginaAperta == "Home"){
		TitoloNuovo = "Gamelife.it - Home"
	}else if (PaginaAperta == "Catalogo"){
		TitoloNuovo = "Gamelife.it - Catalogo"
	}else if (PaginaAperta == "IPhone"){
		TitoloNuovo = "Gamelife.it - App IPhone/IPad"
	}else if (PaginaAperta == "Spendimeno"){
		TitoloNuovo = "Gamelife.it - Spendimeno"
	}else if ((PaginaAperta == "DoveTrovarci") || (PaginaAperta == "DettNegozio")){
		TitoloNuovo = "Gamelife.it - Dove trovarci"
	}else if (PaginaAperta == "Prenotazioni"){
		TitoloNuovo = "Gamelife.it - Prenotazioni"
	}else if (PaginaAperta == "MyGamelifeSaldo"){
		TitoloNuovo = "Gamelife.it - Saldo Punti"
	}else if (PaginaAperta == "MyGamelifeAcquisti"){
		TitoloNuovo = "Gamelife.it - Ultimi Acquisti"
	}else if (PaginaAperta == "MyGamelifePrenotazioni"){
		TitoloNuovo = "Gamelife.it - Le Tue Prenotazioni"
	}else if (PaginaAperta == "MyGamelifeModifica"){
		TitoloNuovo = "Gamelife.it - Modifica I Tuoi Dati"
	}
	document.title = TitoloNuovo;
}
//---------------------------------------------------------------------------------------
//----- CONTROLLO IL FORMATO DEL CODICE -------------------------------------------------
//---------------------------------------------------------------------------------------
function CheckFormatoCodice(codice) {
	regExp = /^[A-Z]{4}\d{9}$/;
	if (regExp.test(codice)){
		return true;
	} else {
		return false;
	}
}
//---------------------------------------------------------------------------------------
//----- ELABORA IL CODICE CARD INSERITO -------------------------------------------------
//---------------------------------------------------------------------------------------
function ElaboraCodici(codice, cfiscale){
	/* Messaggio di attesa */
	$("#RegDisplay").removeClass("error").addClass("no-error").html("Attendere il caricamento dell'anagrafica... <img src=\"Immagini/ajax-loader.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\">");
	$.post("ajax/ajax_codecheck.asp", {"card": codice, "cfiscale": cfiscale},
		function(data){
			if (data.error_bee == "true" || data.error_it == "true"){
				if (data.error_bee == "true"){
					/* Errore durante la ricerca del codice in BEESTORE */
					/* Invio una notifica all'amministratore */
					obj = jQuery.parseJSON("{}");
					obj["azione"] = "error";
					obj["type"] = "BEE";
					obj["desc"] = data.desc_bee;
					obj["num"] = data.num_bee;
					obj["pag"] = data.pag_bee;
					$.post("include/mailer.asp", obj, "json");
					$("#RegDisplay").removeClass("no-error").addClass("error").html("La registrazione non &egrave; momentaneamente disponibile. L'amministratore &egrave; stato notificato del problema.");
				}
				if (data.error_it == "true"){
					/* Errore durante la ricerca del codice in GML.IT */
					/* Invio una notifica all'amministratore */
					obj = jQuery.parseJSON("{}");
					obj["azione"] = "error";
					obj["type"] = "IT";
					obj["desc"] = data.desc_it;
					obj["num"] = data.num_it;
					obj["pag"] = data.pag_it;
					$.post("include/mailer.asp", obj, "json");
					$("#RegDisplay").removeClass("no-error").addClass("error").html("La registrazione non &egrave; momentaneamente disponibile. L'amministratore &egrave; stato notificato del problema.");
				}
			} else {
				if (data.checkit == "found"){
					/* Anagrafica trovata GML.IT */
					$("#RegDisplay").removeClass("no-error").addClass("error").html("Siamo spiacenti, esiste gi&agrave; un utente registrato associato al codice inserito.");
				} else if (data.checkbee == "found") {
					/* Anagrafica trovata in BEESTORE */
					SetupRegPage(data);
				} else {
					/* Anagrafica NON trovata in BEESTORE */
					$("#RegDisplay").removeClass("no-error").addClass("error").html("I dati inseriti non sono associati a nessun cliente.<br />Ricontrolla i dati o recati nel punto vendita pi&ugrave; vicino per chiedere assistenza.");
				}
			}
		},
	"json");
}
//---------------------------------------------------------------------------------------
//----- PASSO L'ANAGRAFICA ALLA PAGINA CHE GENERA IL FORM -------------------------------
//---------------------------------------------------------------------------------------
function SetupRegPage(data){
	var provincia = data.provincia
	var provinciaNascita = data.provinciaNascita
	$.post("ajax/ajax_registrazione.asp", data,
		function(data){
			$("#DivContenitoreGlobale").html(data)
			$("#provincia").val(provincia)
			$("#provincia_n").val(provinciaNascita)
			/* Imposto i due checkbox per regolamento ed informativa a validate true*/
			$("#check1").data("validate", true);
			$("#check5").data("validate", true);
			/*$("#nome").tooltip({
				position: {offset: "-10 0"},
			});*/
			$("input").bind('keydown', function(e) {
				e.stopPropagation();
				var key = e.which||e.keyCode;     
				if (key == 13) {
					ElaboraFormRegistrazione()
				}
			});
			$("#giorno, #mese, #anno").bind("change", function(e){
				ShowHideCheckboxes();
			})
			$(document).unbind('keydown');
			ShowHideCheckboxes();
			SetupAutocomplete();
		}
	);
}
//---------------------------------------------------------------------------------------
//----- MOSTRO O NASCONDO LE CHECKBOXES -------------------------------------------------
//---------------------------------------------------------------------------------------
function ShowHideCheckboxes(){
	if (CheckMaggiorenne()){
		$("#Checkboxes").fadeIn();
		$("#check1").data("validate", true);
		$("#check5").data("validate", true);
	} else {
		$("#Checkboxes").fadeOut();
		$("#check1").data("validate", false);
		$("#check5").data("validate", false);
		/* Mostro il dialog di conferma avvenuto reset */
		htmlMessaggio = "<p>Se sei minorenne puoi concludere la registrazione, ma un adulto da te indicato dovr&agrave; attivare il tuo account decidendo se dare il consenso per il trattamento dei tuoi dati personali.</p>"
		
		$("#dialog").html(htmlMessaggio);
		$( "#dialog" ).dialog({
			title: "ATTENZIONE!",
			height: 150,
			width: 430,
			modal: true,
			resizable: false,
			draggable: false,
			position: ["center", "center"],
			buttons: {
				"Ok": function() {
					/* Chiudo il dialog */
					$(this).dialog("close");
				}
			}
		});
	}
}
//---------------------------------------------------------------------------------------
//----- CONTROLLO IL CODICE INSERITO E SE VALIDO PROCEDO --------------------------------
//---------------------------------------------------------------------------------------
function Registrati(){
	
	/* TO UPPERCASE */
	$("input").each(function(){
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* ------------ */
	$(".display").html("")
	/* Recupero il codice della card */
	codice = $.trim($("#card").val())
	cfiscale = $.trim($("#cfiscale").val())
	
	/* Controllo se il codice inserito è nel formato corretto */
	if (CheckFormatoCodice(codice) && ControllaCF(cfiscale)){
		/* Se il codice inserito è nel formato corretto lo elaboro */
		ElaboraCodici(codice, cfiscale)		
	} else {
		/* Il codice inserito non è nel formato corretto */
		$("#RegDisplay").removeClass("no-error").addClass("error").html("I dati inseriti sono incompleti o non sono nel formato corretto.");
	}
}
//---------------------------------------------------------------------------------------
//----- VALIDO I DATI INSERITI NEL FORM DI REGISTRAZIONE --------------------------------
//---------------------------------------------------------------------------------------
function ValidaForm(mod){
	var err = false;
	$("*").removeClass("failed").removeClass("checkLabelRequired");
	
	/* Verifica validità dei campi */
	var card = $("#card");
	var nome = $("#nome");
	var cognome = $("#cognome");
	var maschio = $("#M");
	var femmina = $("#F");
	var giorno = $("#giorno");
	var mese = $("#mese");
	var anno = $("#anno");
	var comune_n = $("#comune_n");
	var provincia_n = $("#provincia_n");
	var cfiscale = $("#cfiscale");
	var indirizzo = $("#indirizzo");
	//var n_civico = $("#n_civico");
	var comune = $("#comune");
	var provincia = $("#provincia");
	var cap = $("#cap");
	var intPrefixT = $("#intPrefixT");
	var intPrefixC = $("#intPrefixC");
	var telefono = $("#telefono");
	var cellulare = $("#cellulare");
	var fax = $("#fax");
	var email = $("#email");
	var email_found = $("#email_found");
	var email_check = $("#email_check");
	var password = $("#password");
	var password_check = $("#password_check");
	var score = $("#score");
	var check1 = $("#check1");
	var check2 = $("#check2");
	var check3 = $("#check3");
	var check4 = $("#check4");
	var check5 = $("#check5");
	var checkLabel1 = $("#checkLabel1");
	var checkLabel2 = $("#checkLabel2");
	var checkLabel3 = $("#checkLabel3");
	var checkLabel4 = $("#checkLabel4");
	var checkLabel5 = $("#checkLabel5");
	
	var TitoloInformazioniDiBase = $("#TitoloInformazioniDiBase");
	var TitoloDatiDiNascita = $("#TitoloDatiDiNascita");
	var TitoloDatiDiResidenza = $("#TitoloDatiDiResidenza");
	var TitoloPassword = $("#TitoloPassword");
	var TitoloEmail = $("#TitoloEmail");
	
	/* --- Check Campi --- */
	/* - Check solo registrazione - */
	if (mod == "r"){
		/* Check NOME */
		if ($.trim(nome.val()) == ""){
			nome.addClass("failed");
			TitoloInformazioniDiBase.addClass("failed");
			err = true;
		}
		/* Check COGNOME */
		if ($.trim(cognome.val()) == ""){
			cognome.addClass("failed");
			TitoloInformazioniDiBase.addClass("failed");
			err = true;
		}
		/* Check SESSO */
		if (!maschio.is(':checked') && !femmina.is(':checked')){
			maschio.addClass("failed");
			femmina.addClass("failed");
			TitoloInformazioniDiBase.addClass("failed");
			err = true;
		}
		/* Check DATA DI NASCITA */
			/* NOVEMBRE */
			if ((Number(mese.val()) == 11) && (Number(giorno.val()) == 31)){
				mese.addClass("failed");
				giorno.addClass("failed");
				TitoloDatiDiNascita.addClass("failed");
				err = true;
			}
			/* APRILE */
			if ((Number(mese.val()) == 4) && (Number(giorno.val()) == 31)){
				mese.addClass("failed");
				giorno.addClass("failed");
				TitoloDatiDiNascita.addClass("failed");
				err = true;
			}
			/* GIUGNO */
			if ((Number(mese.val()) == 6) && (Number(giorno.val()) == 31)){
				mese.addClass("failed");
				giorno.addClass("failed");
				TitoloDatiDiNascita.addClass("failed");
				err = true;
			}
			/* SETTEMBRE */
			if ((Number(mese.val()) == 9) && (Number(giorno.val()) == 31)){
				mese.addClass("failed");
				giorno.addClass("failed");
				TitoloDatiDiNascita.addClass("failed");
				err = true;
			}
			/* FEBBRAIO */
			if ((Number(mese.val()) == 2) && (Number(giorno.val()) > 28)){
				mese.addClass("failed");
				giorno.addClass("failed");
				TitoloDatiDiNascita.addClass("failed");
				err = true;
			}
		/* Check COMUNE DI NASCITA */
		if ($.trim(comune_n.val()) == "" || comune_n.data("selected") == false){
			comune_n.addClass("failed");
			TitoloDatiDiNascita.addClass("failed");
			err = true;
		}
		/* Check PROVINCIA DI NASCITA */
		if (provincia_n.val()  == ""){
			provincia_n.addClass("failed");
			TitoloDatiDiNascita.addClass("failed");
			err = true;
		}
		/* Check CODICE FISCALE */
		if (!ControllaCF(cfiscale.val())){
			cfiscale.addClass("failed");
			TitoloInformazioniDiBase.addClass("failed");
			erro = true;
		}
		/* FAX */
		var faxClean = fax.val().replace(/[^0-9]/g, ""); //
		fax.val(faxClean);
		/* EMAIL */
		email_found.val("false");
		/* Controllo formato */
		regExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!regExp.test($.trim(email.val()))){
			/* Se l'indirizzo non è nel formato corretto restituisco l'errore */
			email.addClass("failed");
			TitoloInformazioniDiBase.addClass("failed");
			err = true;
		} else {
			/* Altrimenti controllo se esiste già un utente registrato con questo indirizzo email */
			/* Controllo esistenza */
			$.ajax({
				type: "POST",
				url: "funzioni.asp",
				data: "azione=EmailCheck&email="+$.trim(email.val())+"&card="+card.val(),
				async: false,
				success: function(data){
					obj = jQuery.parseJSON(data);
					if (obj.mailcheck == "true"){
						email.addClass("failed");
						email_found.val("true");
					}
				}
			});
		}
		/* Se il campo email ha la classe "failed" forzo l'errore a true.
		/* (Serve per bypassare il problema dello scope nelle funzioni di callback di jquery) */
		if ($("#email_found").val() == "true"){
			err = true;
			alert("Indirizzo email utilizzato da un altro utente.");
		}
		/* Check CHECKBOX */
		if (check1.data("validate") && check5.data("validate")){
			if (!check1.is(':checked')){checkLabel1.addClass("checkLabelRequired"); err = true;}
			if (!check5.is(':checked')){checkLabel5.addClass("checkLabelRequired"); err = true;}
		}
		/* Check PASSWORD */
		if (Number(score.val()) < PASSWORD_SECURITY || $.trim(password.val()) == ""){
			password.addClass("failed");
			TitoloPassword.addClass("failed");
			err = true;
		}
		/* Check PASSWORD RETYPE */
		if (password.val() != password_check.val() || $.trim(password_check.val()) == ""){
			password_check.addClass("failed");
			TitoloPassword.addClass("failed");
			err = true;
		}
	}
	/* - Check modifica - */
	if (mod == "m") {
		/* EMAIL */
		email_found.val("false");
		/* Se il campo email non è vuoto... */
		if ($.trim(email.val()).length > 0){
			/* Controllo formato */
			regExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (!regExp.test($.trim(email.val()))){
				/* Se l'indirizzo non è nel formato corretto restituisco l'errore */
				email.addClass("failed");
				TitoloEmail.addClass("failed");
				err = true;
			} else {
				/* Altrimenti controllo se esiste già un utente registrato con questo indirizzo email */
				/* Controllo esistenza */
				$.ajax({
					type: "POST",
					url: "funzioni.asp",
					data: "azione=EmailCheck&email="+$.trim(email.val())+"&card="+card.val(),
					async: false,
					success: function(data){
						obj = jQuery.parseJSON(data);
						if (obj.mailcheck == "true"){
							email.addClass("failed");
							email_found.val("true");
						}
					}
				});
			}
			/* Se il campo email ha la classe "failed" forzo l'errore a true.
			/* (Serve per bypassare il problema dello scope nelle funzioni di callback di jquery) */
			if ($("#email_found").val() == "true"){
				err = true;
				alert("Indirizzo email utilizzato da un altro utente.");
			}
			/* Controllo che il campo di conferma coincida con il campo email */
			if ($.trim(email.val()) != $.trim(email_check.val())){
				/* Se l'indirizzo non è nel formato corretto restituisco l'errore */
				email_check.addClass("failed");
				TitoloEmail.addClass("failed");
				err = true;
			}
		}
		if ($.trim(password.val()) != "" || $.trim(password_check.val()) != ""){
			/* Check PASSWORD */
			if (Number(score.val()) < PASSWORD_SECURITY || $.trim(password.val()) == ""){
				password.addClass("failed");
				TitoloPassword.addClass("failed");
				err = true;
			}
			/* Check PASSWORD RETYPE */
			if (password.val() != password_check.val() || $.trim(password_check.val()) == ""){
				password_check.addClass("failed");
				TitoloPassword.addClass("failed");
				err = true;
			}
		}
	}
	/* - Check registrazione e modifica - */
	if (mod == "r" || mod == "m") {
		/* Check INDIRIZZO */
		if ($.trim(indirizzo.val()) == ""){
			indirizzo.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}
		/* Check N° CIVICO */
		/*
		if ($.trim(n_civico.val()) == ""){
			n_civico.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}
		*/
		/* Check COMUNE */
		if ($.trim(comune.val())  == "" || comune.data("selected") == false){
			comune.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}
		/* Check PROVINCIA */
		if (provincia.val()  == ""){
			provincia.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}
		/* CAP */
		regExp = /^\d{5}$/;
		if (!regExp.test(cap.val())){
			cap.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}	
		/* TELEFONO */
		var intPrefixTClean = intPrefixT.val().replace(/[^0-9]/g, "");
		var telefonoClean = telefono.val().replace(/[^0-9]/g, "");
		intPrefixT.val(intPrefixTClean);
		telefono.val(telefonoClean);
		/* CELLULARE */
		var intPrefixCClean = intPrefixC.val().replace(/[^0-9]/g, "");
		var cellulareClean = cellulare.val().replace(/[^0-9]/g, "");
		intPrefixC.val(intPrefixCClean);
		cellulare.val(cellulareClean);
		if (intPrefixCClean == ""){
			intPrefixC.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}
		if (cellulareClean.length < 8){
			cellulare.addClass("failed");
			TitoloDatiDiResidenza.addClass("failed");
			err = true;
		}	
	}
	
	if (!err){
		return true;
	} else {
		return false;
	}
}
//---------------------------------------------------------------------------------------
//----- CONTROLLO LIGHT DEL CODICE FISCALE ----------------------------------------------
//---------------------------------------------------------------------------------------
function ControllaCF(cf)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if( cf == '' ){return false;}
    cf = cf.toUpperCase();
    if( cf.length != 16 ){
		/* Controllo di lunghezza fallito */
        return false;
	}
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for( i = 0; i < 16; i++ ){
        if( validi.indexOf( cf.charAt(i) ) == -1 ){
			/* Controllo caratteri speciali fallito */
			return false;
		}
    }
    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    s = 0;
    for( i = 1; i <= 13; i += 2 )
        s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    for( i = 0; i <= 14; i += 2 )
        s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ){
		/* Controllo di parità fallito */
		return false;
	}
    return true;
}
//---------------------------------------------------------------------------------------
//----- FUNZIONE CHE INSERISCE I DATI DEI 2 DATABASE ------------------------------------
//---------------------------------------------------------------------------------------
function InserisciDati(mode, emailMag){
	/* Creo l'hash della password */
	$("#password, #password_check").val(Crypto.SHA1($("#password").val()));
	/* Serializzo i dati */
	var queryString = $("#FormRegistrazione").serialize();
	/* Strippo tutti gli apici e al loro posto metto degli spazi */
	queryString = queryString.replace(/'/g, " ");
	/* Calcolo la fingerprint con la querystring */
	fingerprint = Crypto.SHA1(queryString);
	/* Nel caso in cui si stia registrando un minorenne passo anche l'email del tutore */
	if (mode == "MIN"){
		emailMag = emailMag.toUpperCase()
		queryString = queryString + "&fingerprint=" + fingerprint + "&emailtutore=" + emailMag + "&azione=INS";
	} else if (mode == "MAG"){
		queryString = queryString + "&fingerprint=" + fingerprint + "&azione=INS";
	}	
	$.post("ajax/ajax_dati_db.asp", queryString,
		function(data){
			obj = jQuery.parseJSON(data);
			if (obj.error_regit == "true" || obj.error_regbee == "true"){
				if (obj.error_regit == "true"){
					/* Errore durante l'inserimento nel database di GML.IT */
					/* Invio una notifica all'amministratore */
					obj2 = jQuery.parseJSON("{}");
					obj2["azione"] = "error";
					obj2["type"] = "REG-IT";
					obj2["desc"] = obj.desc_regit;
					obj2["num"] = obj.num_regit;
					obj2["pag"] = obj.pag_regit;
					$.post("include/mailer.asp", obj2, "json");
				}
				if (obj.error_regbee == "true"){
					/* Errore durante l'aggiornamento del database di BEESTORE */
					/* Invio una notifica all'amministratore */
					obj2 = jQuery.parseJSON("{}");
					obj2["azione"] = "error";
					obj2["type"] = "REG-BEE";
					obj2["desc"] = obj.desc_regbee;
					obj2["num"] = obj.num_regbee;
					obj2["pag"] = obj.pag_regbee;
					$.post("include/mailer.asp", obj2, "json");
				}
			} else {
				/* Se concludo la registrazione di un maggiorenne invio l'email standard */
				var email = $("#email")
				if (mode == "MAG"){
					/* SE NON CI SONO ERRORI INVIO L'EMAIL CON L'URL */
					/* DI CONFERMA PER L'ATTIVAZIONE */
					$.post("include/mailer.asp", {"azione": "reg_maggiorenne", "email": email.val(), "fingerprint": fingerprint});
				} else if (mode == "MIN"){
					/* Invio l'email di notifica all'indirizzo specificato con l'URL al MAGGIORENNE */
					$.post("include/mailer.asp", {"azione": "reg_minorenne", "email": emailMag, "fingerprint": fingerprint});
					/* Invio un'email di notifica al MINORENNE. */
					$.post("include/mailer.asp", {"azione": "not_minorenne", "email": email.val()});
				}
				
				/* Riporto la visualizzazione alla Homepage */
				VisualizzaContenuto("Home");
				
				/* Mostro il dialog di conferma avvenuta registrazione */
				htmlMessaggio = "<p>Complimenti! Ti sei registrato con successo al sito <a style=\"color: #EE9D21;\" href=\"http://www.gamelife.it\">gamelife.it</a>!</p><p>Per poter usufruire dei servizi a te riservati &egrave; necessario attivare il tuo profilo seguendo le istruzioni che ti abbiamo appena inviato all'indirizzo email che ci hai segnalato.</p><p>Successivamente potrai autenticarti ogni volta che vorrai utilizzando come credenziali il tuo indirizzo email e la password che hai scelto.</p>"
				
				$("#dialog").html(htmlMessaggio);
				$( "#dialog" ).dialog({
					title: "REGISTRAZIONE COMPLETATA!",
					height: 220,
					width: 430,
					modal: true,
					resizable: false,
					draggable: false,
					position: ["center", "center"],
					buttons: {
						"Ok": function() {
							/* Chiudo il dialog */
							$(this).dialog("close");
						}
					}
				});
			}
		}
	);
}
//---------------------------------------------------------------------------------------
//----- FUNZIONE CHE INSERISCE I DATI DEI 2 DATABASE ------------------------------------
//---------------------------------------------------------------------------------------
function ModificaDati(){
	/* Se l'utente ha modificato la password creo l'hash della password */
	if ($.trim($("#password").val()) != ""){
		$("#password, #password_check").val(Crypto.SHA1($("#password").val()));
	}
	/* Serializzo i dati */
	var queryString = $("#FormModifica").serialize();
	/* Strippo tutti gli apici e al loro posto metto degli spazi */
	queryString = queryString.replace(/'/g, " ");
	/* Calcolo la nuova fingerprint con la querystring */
	newFingerprint = Crypto.SHA1($("#fingerprint").val()+queryString);
	queryString = queryString + "&newFingerprint=" + newFingerprint + "&azione=MOD";
	$.post("ajax/ajax_dati_db.asp", queryString,
		function(data){
			obj = jQuery.parseJSON(data);
			if (obj.error_modit == "true" || obj.error_modbee == "true"){
				if (obj.error_modit == "true"){
					/* Errore durante l'inserimento nel database di GML.IT */
					/* Invio una notifica all'amministratore */
					obj2 = jQuery.parseJSON("{}");
					obj2["azione"] = "error";
					obj2["type"] = "MOD-IT";
					obj2["desc"] = obj.desc_modit;
					obj2["num"] = obj.num_modit;
					obj2["pag"] = obj.pag_modit;
					$.post("include/mailer.asp", obj2, "json");
				}
				if (obj.error_modbee == "true"){
					/* Errore durante l'aggiornamento del database di BEESTORE */
					/* Invio una notifica all'amministratore */
					obj2 = jQuery.parseJSON("{}");
					obj2["azione"] = "error";
					obj2["type"] = "MOD-BEE";
					obj2["desc"] = obj.desc_modbee;
					obj2["num"] = obj.num_modbee;
					obj2["pag"] = obj.pag_modbee;
					$.post("include/mailer.asp", obj2, "json");
				}				
			} else {
				var email = $("#email")
				/* SE NON CI SONO ERRORI INVIO L'EMAIL CON L'URL */
				/* DI CONFERMA PER L'ATTIVAZIONE */
				$.post("include/mailer.asp", {"azione": "modifica", "email": email.val(), "fingerprint": newFingerprint});
			
				/* Riporto la visualizzazione alla Homepage */
				VisualizzaContenuto("Home");
				
				/* Mostro il dialog di conferma avvenuta registrazione */
				htmlMessaggio = "<p>I tuoi dati sono stati modificati con successo.</p>"
				
				$("#dialog").html(htmlMessaggio);
				$( "#dialog" ).dialog({
					title: "DATI MODIFICATI",
					height: 150,
					width: 430,
					modal: true,
					resizable: false,
					draggable: false,
					position: ["center", "center"],
					buttons: {
						"Ok": function() {
							/* Chiudo il dialog */
							$(this).dialog("close");
						}
					}
				});
				
			}
		}
	);
}
//---------------------------------------------------------------------------------------
//----- FUNZIONE CHE VERIFICA SE UN UTENTE E' MAGGIORENNE A PARTIRE DALLA DATA ----------
//---------------------------------------------------------------------------------------
function CheckMaggiorenne(){
	/* Se il form passa la validazione controllo se l'utente è minorenne */
	giorno_n = $("#giorno");
	mese_n = $("#mese");
	anno_n = $("#anno");
	dataNascitaString = mese_n.val() + "/" + giorno_n.val() + "/" + anno_n.val()
	oggi = new Date();		
	var anni =  Math.floor((oggi - Date.parse(dataNascitaString) ) / (86400000*365));
	/* Se l'utente è minorenne mostro il dialog chiedendo se è presente un  */
	if (anni < 18){
		return false;
	} else {
		return true;
	}
}
//---------------------------------------------------------------------------------------
//----- ELABORO I DATI INSERITI NEL FORM DI REGISTRAZIONE -------------------------------
//---------------------------------------------------------------------------------------
function ElaboraFormRegistrazione(){
	/* TO UPPERCASE & CLEAN */
	$("input").each(function(){
		if (!$(this).hasClass("noClean")){
			var input_val = $(this).val();
			var re_a = new RegExp(String.fromCharCode(224),'gi');
			var re_e = new RegExp(String.fromCharCode(232),'gi');
			var re_i = new RegExp(String.fromCharCode(236),'gi');
			var re_o = new RegExp(String.fromCharCode(242),'gi');
			var re_u = new RegExp(String.fromCharCode(249),'gi');
			$(this).val($(this).val().replace(re_a, "a"));
			$(this).val($(this).val().replace(re_e, "e"));
			$(this).val($(this).val().replace(re_i, "i"));
			$(this).val($(this).val().replace(re_o, "o"));
			$(this).val($(this).val().replace(re_u, "u"));
		}
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* ------------ */
	if (ValidaForm("r")){
		/* Se l'utente è minorenne mostro il dialog chiedendo se è presente un  */
		if (!CheckMaggiorenne()){
		
			htmlMessaggio = "<form><p style=\"background-color: #F2F2F2; padding: 5px; margin: 0;\">Ti stai iscrivendo al programma Gamelife Card. Attenzione, sei minorenne. Gamelife Srl garantisce il rispetto della privacy in particolare dei minori. Per questa ragione il genitore o tutore del minore si impegna ad assisterlo nella creazione del suo account e a controllare l'accesso ai servizi del sito Gamelife.it. Sar&agrave; il genitore o tutore in qualit&agrave; di esercente la patria potest&agrave; sul minore a decidere se e quali contenuti siano appropriati per il minore.</p>";
			htmlMessaggio = htmlMessaggio + "<ul><li><input checked=\"checked\" type=\"radio\" id=\"MagSi\" name=\"mag\" value=\"S\"/><label for=\"MagSi\">Dichiaro che sono assistito da un genitore in questa iscrizione e che questo &egrave; il suo indirizzo email:</label><br /><input placeholder=\"MARIO.ROSSI@EXAMPLE.IT\" style=\"margin: 10px 0; width: 395px;\" type=\"email\" id=\"EmailMag\" name=\"EmailMag\" onfocus=\"$('#MagSi').prop('checked', 'checked');\"/><br/>(La persona che hai indicato ricever&agrave; un messaggio di notifica della tua richiesta di registrazione con la quale potr&agrave; attivare il tuo profilo)</li>";
			htmlMessaggio = htmlMessaggio + "<li><input type=\"radio\" id=\"MagNo\" name=\"mag\" value=\"N\"/><label for=\"MagNo\">Dichiaro che NON sono assistito da un genitore.<br />(la registrazione verr&agrave; interrotta)</label></li></ul></form>";
		
			$("#dialog").html(htmlMessaggio);
			$( "#dialog" ).dialog({
				title: "ATTENZIONE!",
				height: 350,
				width: 430,
				modal: true,
				resizable: false,
				draggable: false,
				position: ["center", "center"],
				buttons: {
					"Conferma": function() {
						if ($("#MagSi:checked").val()){
							/* Se si seleziona la prima opzione controllo il formato dell'email */		
							emailMag = $("#EmailMag");
							regExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
							if (!regExp.test(emailMag.val()) || $.trim(emailMag.val()) == ""){
								emailMag.addClass("failed");
								err = true;
							} else {
								/* Eseguo l'inserimento su GML.IT e update in BEESTORE */
								InserisciDati("MIN", emailMag.val());
								/* Chiudo il dialog */
								$(this).dialog("close");
							}
						} else {
							/* Se si seleziona la seconda opzione resetto la pagina */
							VisualizzaContenuto("AccediRegistrati");
							/* Chiudo il dialog */
							$(this).dialog("close");
						}
					},
					"Annulla": function() {
						/* Chiudo il dialog */
						$(this).dialog("close");
					}
				}
			});
		}
		/* Altrimenti eseguo l'inserimento su GML.IT e update in BEESTORE */
		else {
			InserisciDati("MAG", "");
		}
	} else {
		/* Display errori */
	}
}
//---------------------------------------------------------------------------------------
//----- ELABORO I DATI INSERITI NEL FORM DI REGISTRAZIONE -------------------------------
//---------------------------------------------------------------------------------------
function ElaboraFormConsenso(){
	var err = false;
	$("*").removeClass("failed").removeClass("checkLabelRequired");
	
	/* TO UPPERCASE */
	$("input").each(function(){
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* Valido i campi  */
	var nome = $("#nomeTutore");
	var cognome = $("#cognomeTutore");
	var giorno = $("#giorno");
	var mese = $("#mese");
	var anno = $("#anno");
	var comune_n = $("#comune_n");
	var provincia_n = $("#provincia_n");
	var check1 = $("#check1");
	var check2 = $("#check2");
	var check3 = $("#check3");
	var check4 = $("#check4");
	var check5 = $("#check5");
	var checkLabel1 = $("#checkLabel1");
	var checkLabel5 = $("#checkLabel5");
	var TitoloDatiTutoreLegale = $("#TitoloDatiTutoreLegale");
	
	/* Check NOME */
	if ($.trim(nome.val()) == ""){
		nome.addClass("failed");
		TitoloDatiTutoreLegale.addClass("failed");
		err = true;
	}
	/* Check COGNOME */
	if ($.trim(cognome.val()) == ""){
		cognome.addClass("failed");
		TitoloDatiTutoreLegale.addClass("failed");
		err = true;
	}
	/* Check DATA DI NASCITA */
		/* NOVEMBRE */
		if ((Number(mese.val()) == 11) && (Number(giorno.val()) == 31)){
			mese.addClass("failed");
			giorno.addClass("failed");
			TitoloDatiTutoreLegale.addClass("failed");
			err = true;
		}
		/* APRILE */
		if ((Number(mese.val()) == 4) && (Number(giorno.val()) == 31)){
			mese.addClass("failed");
			giorno.addClass("failed");
			TitoloDatiTutoreLegale.addClass("failed");
			err = true;
		}
		/* GIUGNO */
		if ((Number(mese.val()) == 6) && (Number(giorno.val()) == 31)){
			mese.addClass("failed");
			giorno.addClass("failed");
			TitoloDatiTutoreLegale.addClass("failed");
			err = true;
		}
		/* SETTEMBRE */
		if ((Number(mese.val()) == 9) && (Number(giorno.val()) == 31)){
			mese.addClass("failed");
			giorno.addClass("failed");
			TitoloDatiTutoreLegale.addClass("failed");
			err = true;
		}
		/* FEBBRAIO */
		if ((Number(mese.val()) == 2) && (Number(giorno.val()) > 28)){
			mese.addClass("failed");
			giorno.addClass("failed");
			TitoloDatiTutoreLegale.addClass("failed");
			err = true;
		}
	/* Check Maggiorenne */
		if (!CheckMaggiorenne()){
		giorno.addClass("failed");
		mese.addClass("failed");
		anno.addClass("failed");
		TitoloDatiTutoreLegale.addClass("failed");
		err = true;
	}
	/* Check COMUNE DI NASCITA */
	if ($.trim(comune_n.val()) == "" || comune_n.data("selected") == false){
		comune_n.addClass("failed");
		TitoloDatiTutoreLegale.addClass("failed");
		err = true;
	}
	/* Check PROVINCIA DI NASCITA */
	if (provincia_n.val()  == ""){
		provincia_n.addClass("failed");
		TitoloDatiTutoreLegale.addClass("failed");
		err = true;
	}
	/* Check CHECKBOX */
	if (!check1.is(':checked')){checkLabel1.addClass("checkLabelRequired"); err = true;}
	if (!check5.is(':checked')){checkLabel5.addClass("checkLabelRequired"); err = true;}
	
	if (!err){
		queryString = $("#FormConsenso").serialize();
		queryString = queryString + "&azione=TUT";
		$.post("ajax/ajax_dati_db.asp", queryString,
		function(data){
			/* Notifico il minorenne */
			$.post("include/mailer.asp", {"azione": "not_minorenne2", "email": data.email});
		
			/* Riporto la visualizzazione alla Homepage */
			VisualizzaContenuto("Home");
			
			/* Mostro il dialog di conferma avvenuta registrazione */
			htmlMessaggio = "<p>Grazie per aver ultimato la registrazione iniziata da suo figlio (o dal suo tutelato). Da questo momento pu&ograve; accedere al sito regolarmente utilizzando l'indirizzo email e la password che ha inserito durante la prima parte della procedura di registrazione.</p>"
			
			$("#dialog").html(htmlMessaggio);
			$( "#dialog" ).dialog({
				title: "ACCOUNT ATTIVATO!",
				height: 170,
				width: 430,
				modal: true,
				resizable: false,
				draggable: false,
				position: ["center", "center"],
				buttons: {
					"Ok": function() {
						/* Chiudo il dialog */
						$(this).dialog("close");
					}
				}
			});
		},
		"json"
		)
	} else {
		
	}
}
//---------------------------------------------------------------------------------------
//----- ELABORO I DATI INSERITI NEL FORM DI REGISTRAZIONE -------------------------------
//---------------------------------------------------------------------------------------
function ElaboraFormModifica(){
	/* TO UPPERCASE */
	$("input").each(function(){
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* ------------ */
	if (ValidaForm("m")){
		/* Eseguo l'update */
		ModificaDati();		
	} else {
		/* Display errori */
	}
}
//---------------------------------------------------------------------------------------
//----- VERIFICA LA ROBUSTEZZA DELLA PASSWORD -------------------------------------------
//---------------------------------------------------------------------------------------
function checkPassword(){
	// get the input field
	var passwordField = $("#password");

	// get the value, basically the password
	var password = passwordField.val();

	var oldStatus = passwordField.data("prePassword");
	if (oldStatus == password)
	{
		// no change, leave and do nothing
		return;
	}
	passwordField.data("prePassword", password);

	var pm = new PasswordMeter();
	pm.checkPassword(password);

	$("#score").val(pm.int2str(pm.Score.adjusted));
	// $("#originalscore").html(pm.float2str(pm.Score.count));
	// $("#beforeRedundancyScore").html(pm.float2str(pm.Score.beforeRedundancy));
	// $("#splitPasswordScore").html(pm.float2str(pm.SplitPassword.part1Score));
	// $("#redundancy").html(pm.float2str(pm.Redundancy.value));

	// set complexity
	var complexity = pm.Complexity.value;
	var indicator = $("#complexity");

	// remove class
	indicator.removeClass("veryweak weak good strong verystrong");

	if (complexity == pm.COMPLEXITY.VERYWEAK)
	{
		indicator.html("Molto debole");
		indicator.addClass("veryweak");
	}
	else if (complexity == pm.COMPLEXITY.WEAK)
	{
		indicator.html("Debole");
		indicator.addClass("weak");
	}
	else if (complexity == pm.COMPLEXITY.GOOD)
	{
		indicator.html("Buona");
		indicator.addClass("good");
	}
	else if (complexity == pm.COMPLEXITY.STRONG)
	{
		indicator.html("Forte");
		indicator.addClass("strong");
	}
	else if (complexity == pm.COMPLEXITY.VERYSTRONG)
	{
		indicator.html("Molto forte");
		indicator.addClass("verystrong");
	}
}
//---------------------------------------------------------------------------------------
//----- ATTIVA L'ACCOUNT RELATIVO AL FINGERPRINT SPECIFICATO ----------------------------
//---------------------------------------------------------------------------------------
function Attiva(f){
	$.post("funzioni.asp",
		{"azione": "Attiva", "fingerprint": f},
		function(data){
			if (data.error_act == "false"){
				$.post("include/mailer.asp", {"azione": "not_attivazione", "email": data.email});
				/* Mostro la schermata di attivazione per i maggiorenni */
				VisualizzaContenuto("Attivato");
			} else {
				/* Gestione dell'errore durante l'attivazione */
				VisualizzaContenuto("Home");
			}
		},
		"json"
	);
}
//---------------------------------------------------------------------------------------
//----- ATTIVA L'ACCOUNT RELATIVO AL FINGERPRINT SPECIFICATO ----------------------------
//---------------------------------------------------------------------------------------
function Consenso(f){
	/* For Google Analytics */
	$("#DivContenitoreGlobale").html("<p id=\"LoadingMessage\">Caricamento in corso... <img src=\"Immagini/ajax-loader2.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\"></p>")
	_gaq.push(['_trackPageview', 'ajax/ajax_consenso.asp']);
	$.post("ajax/ajax_consenso.asp", {"fingerprint": f},
		function(data) {
			$("#DivContenitoreGlobale").html(data);
			SetupAutocomplete();
		}
	);
}
//---------------------------------------------------------------------------------------
//----- AUTENTICA UN UTENTE -------------------------------------------------------------
//---------------------------------------------------------------------------------------
function Accedi(mode){
	/* TO UPPERCASE */
	$("input").each(function(){
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* ------------ */
	$(".display").html("")
	email = $("#email");
	password = $("#password");
	rememberme = $("#rememberme");
	password_clean = $.trim(password.val())
	password_sha1 = Crypto.SHA1(password_clean)
	
	/* Imposto la password da inviare a seconda della modalità */
	if (mode == 1){password_send = password_sha1}
	else if (mode == 2){password_send = password_clean}
	
	$.post("funzioni.asp",
		{"azione": "Accedi", "email": $.trim(email.val()), "password": password_send},
		function(data){
			if (data.usercheck == "false"){
				$("#AccDisplay").removeClass("no-error").addClass("error").html("I dati di accesso non sono corretti.")
			}
			else {
				if (data.useratt == "true"){
					/* Stampo "Accesso in corso..." */
					$("#AccDisplay").removeClass("error").addClass("no-error").html("Accesso in corso... <img src=\"Immagini/ajax-loader.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\">")
					/* Torno alla Homepage */
					VisualizzaContenuto("Home");
					/* Carico il menu myGamelife e lo mostro */
					$("#LoggedPanel").load("ajax/ajax_loggedpanel.asp");
					$("#LoggedPanel").slideDown();
					/* Mostro il dialog di conferma login */
					htmlMessaggio = "<p>Ciao "+data.name+"! Bentornato in MYgamelife!</p>"
					$("#dialog").html(htmlMessaggio);
					$( "#dialog" ).dialog({
						title: "BENTORNATO!",
						height: 150,
						width: 430,
						modal: true,
						resizable: false,
						draggable: false,
						position: ["center", "center"],
						buttons: {
							"Ok": function() {
								/* Chiudo il dialog */
								$(this).dialog("close");
							}
						}
					});
					if (rememberme.is(':checked')){
						localStorage.setItem("logged", "true");
						localStorage.setItem("email", email.val());
						localStorage.setItem("password", password_clean);
						localStorage.setItem("rememberme", "true");
					} else {
						localStorage.setItem("logged", "true");
						localStorage.setItem("email", "");
						localStorage.setItem("password", "");
						localStorage.setItem("rememberme", "false");
					}
				} else {
					$("#AccDisplay").removeClass("error").addClass("error").html("L'account non &egrave; stato attivato, seguire le istruzioni riportate sull'email di conferma per attivare l'account.")
				}
			}
		},
		"json"
	);	
}
//---------------------------------------------------------------------------------------
//----- EFFETTUA IL LOGOUT DI UN UTENTE -------------------------------------------------
//---------------------------------------------------------------------------------------
function Logout(){
	$.post("funzioni.asp",
		{"azione": "Logout"},
		function(data){
			localStorage.setItem("logged", "false");
			$("#LoggedPanel").slideUp();
			VisualizzaContenuto("Home");
		},
		"json"
	);
}
//---------------------------------------------------------------------------------------
//----- INVIA L'EMAIL PER RESETTARE LA PASSWORD -----------------------------------------
//---------------------------------------------------------------------------------------
function InviaReset(){
	/* TO UPPERCASE */
	$("input").each(function(){
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* ------------ */
	var email = $("#email")
	$("#ResetDisplay").removeClass("error").addClass("no-error").html("Elaborazione della richiesta in corso... <img src=\"Immagini/ajax-loader.gif\" class=\"ajaxLoader\" alt=\"\" title=\"Loading...\">");
	if (email.data("sent") == "false"){
		/* Controllo se esiste già un utente registrato con questo indirizzo email */
		$.post("funzioni.asp",
			{"azione": "EmailCheck", "email": $.trim(email.val())},
			function(data){
				obj = jQuery.parseJSON(data);
				if (obj.mailcheck == "true"){
					/* Se esiste invio l'email */
					obj2 = jQuery.parseJSON("{}");
					obj2["azione"] = "reset";
					obj2["email"] = email.val();
					obj2["fingerprint"] = obj.fingerprint;
					$.post("include/mailer.asp", obj2, "json");
					//$("#ResetDisplay").removeClass("error").addClass("no-error").html("Email inviata all'indirizzo specificato. Attendere la ricezione del messaggio.")
					email.data("sent", "true");
					
					/* Carico la home */
					VisualizzaContenuto("Home");
					
					/* Mostro il dialog di conferma invio email di reset */
					htmlMessaggio = "<p>Email inviata all'indirizzo specificato. Attendere la ricezione del messaggio.</p>"
					
					$("#dialog").html(htmlMessaggio);
					$( "#dialog" ).dialog({
						title: "EMAIL INVIATA!",
						height: 150,
						width: 430,
						modal: true,
						resizable: false,
						draggable: false,
						position: ["center", "center"],
						buttons: {
							"Ok": function() {
								/* Chiudo il dialog */
								$(this).dialog("close");
							}
						}
					});
				} else {
					/* Altrimenti avviso che l'utente non esiste */
					$("#ResetDisplay").removeClass("no-error").addClass("error").html("L'indirizzo email non &egrave; stato trovato nel database.")
				}
			}
		);
	} else {
		/* Se è già stata inviata un'email non ne invio un'altra */
		$("#ResetDisplay").removeClass("no-error").addClass("error").html("L'email &egrave; gi&agrave; stata inviata. Attendere la ricezione del messaggio.")
	}
}
//---------------------------------------------------------------------------------------
//----- MOSTRA LA PAGINA PER RESETTARE LA PASSWORD --------------------------------------
//---------------------------------------------------------------------------------------
function Reset(f){
	$.post("ajax/ajax_reset.asp", {"fingerprint": f},
		function(data) {
			$("#DivContenitoreGlobale").html(data)
		}
	);
}
//---------------------------------------------------------------------------------------
//----- VERIFICO LA VALIDITA' DELLA NUOVA PASSWORD E LA SOSTITUISCO ---------------------
//---------------------------------------------------------------------------------------
function PasswordReset(){
	/* TO UPPERCASE */
	$("input").each(function(){
		if (!$(this).hasClass("noUpperCase")){
			$(this).val($(this).val().toUpperCase())
		}
	})
	/* ------------ */
	$("*").removeClass("failed")
	var score = $("#score");
	var password = $("#password");
	var password_check = $("#password_check");
	var fingerprint = $("#fingerprint");
	err = false;
	
	/* Check PASSWORD */
	if (Number(score.val()) < PASSWORD_SECURITY){
		password.addClass("failed");
		err = true;
	}
	/* Check PASSWORD RETYPE */
	if (password.val() != password_check.val() || $.trim(password_check.val()) == ""){
		password_check.addClass("failed");
		err = true;
	}
	
	/* Se non ci sono errori cambio la password e aggiorno il fingerprint */
	if (!err){
		passwordSHA1 = Crypto.SHA1($.trim(password.val()))
		newFingerprint = Crypto.SHA1(fingerprint.val() + $.trim(password.val()))
		$.post("funzioni.asp",
			{"azione": "PasswordReset", "password": passwordSHA1, "fingerprint": fingerprint.val(), "newFingerprint": newFingerprint},
			function(data){
				/* Riporto la visualizzazione alla Homepage */
				VisualizzaContenuto("AccediRegistrati");
				
				/* Mostro il dialog di conferma avvenuto reset */
				htmlMessaggio = "<p>La tua password &egrave; stata reimpostata. Ora puoi accedere con i tuoi dati aggiornati.</p>"
				
				$("#dialog").html(htmlMessaggio);
				$( "#dialog" ).dialog({
					title: "PASSWORD REIMPOSTATA!",
					height: 150,
					width: 430,
					modal: true,
					resizable: false,
					draggable: false,
					position: ["center", "center"],
					buttons: {
						"Ok": function() {
							/* Chiudo il dialog */
							$(this).dialog("close");
						}
					}
				});
			},
			"json"
		);	
	}	
}
//---------------------------------------------------------------------------------------
//----- RICARICA LA CARD ONLINE ---------------------------------------------------------
//---------------------------------------------------------------------------------------
function Ricarica(){
	codice = $.trim($("#card").val().toUpperCase())
	if (CheckFormatoCodice(codice)){
		/* Mostro il dialog di conferma avvenuto reset */
		htmlMessaggio = "<p>Procedere con la ricarica della Gamelife Card <strong>"+codice+"</strong>? Gamelife non si assume nessuna responsabilit&agrave; nel caso in cui si proceda con la ricarica di una card inesistente.</p>"
		$("#dialog").html(htmlMessaggio);
		$( "#dialog" ).dialog({
			title: "ATTENZIONE!",
			height: 170,
			width: 260,
			modal: true,
			resizable: false,
			draggable: false,
			position: ["center", "center"],
			buttons: {
				"Annulla": function(){
					/* Chiudo il dialog */
					$(this).dialog("close");
				},
				"Conferma": function() {
					/* Genero un trackid */
					$.post('Include/timestamp.php', function(data) {
						$("#trackID").val(data);
						document.FormRicarica.submit();
					});
					/* Chiudo il dialog */
					$(this).dialog("close");
				}
			}
		});
	} else {
		/* Avviso che il codice inserito non &egrave; corretto. */
		htmlMessaggio = "<p>Il codice inserito non &egrave; corretto.</p>"
		$("#dialog").html(htmlMessaggio);
		$( "#dialog" ).dialog({
			title: "ATTENZIONE!",
			height: 150,
			width: 230,
			modal: true,
			resizable: false,
			draggable: false,
			position: ["center", "center"],
			buttons: {
				"Ok": function() {
					/* Chiudo il dialog */
					$(this).dialog("close");
				}
			}
		});
	}
}
//---------------------------------------------------------------------------------------
//----- MOSTRA LA RICEVUTA DELLA RICARICA -----------------------------------------------
//---------------------------------------------------------------------------------------
function Ricevuta(e, c, t, p, id){
	$("#DivContenitoreGlobale").load(
		"ajax/ajax_ricevuta.asp",
		{"err": e, "card": c, "amt": t, "punti": p, "pid": id},
		function(){
			$("#MessageButton").bind('click', function(){
				InviaMessaggio();
			});
		}
	);
}
function InviaMessaggio(){
	$("#MessageButton").fadeOut();
	$("#Messaggio").fadeOut(function(){
		/* --- Invio del messaggio via email --- */
		$.post("include/mailer.asp", {"azione": "messaggio_regalo", "card": $("#card").val(), "importo": $("#importo").val(), "text": $("#Messaggio").val(), "pid": $("#paymentid").val()}, function(data){
			//obj = jQuery.parseJSON(data);
			//if (obj["error"] == true){
			//	$("#BoxRegalo").html("<p>Il messaggio non &egrave; stato inviato a causa di un problema tecnico.</p>");
			//} else {
				$("#BoxRegalo").html("<p>Messaggio regalo inviato!</p>");
			//}
		});
	});
}
//---------------------------------------------------------------------------------------
//----- MOSTRA LA PAGINA DI ERRORE ------------------------------------------------------
//---------------------------------------------------------------------------------------
function Errore(e){
	$("#DivContenitoreGlobale").load("ajax/ajax_errore.asp", {"errormsg": e});
}
