var userId = "";
var userCredits = "";
var userActive = "0";

//Log/logout un user
function logUser() {
	loginUser("");
}
function logUserBox() {
	loginUser("Box");
	var lien= '<a href="contacts.php"  id="lienparr2"><img src="images/parrainageLink.png" style="position:absolute; bottom:20px; right:20px; border:none;"/></a>';
	$("#lienp1").html(lien);
	$("#lienp2"	).html(lien);
	
}
function loginUser(postfix) {
	var login = $("#login"+postfix).val();
	var password = $("#password"+postfix).val();
	var passwordMD5 = $.md5(password);
	var memoriser = $('#memoriser'+postfix).is(':checked');
	var userError = "";
	
	$("#login"+postfix+"Label").attr("style", "");
	$("#password"+postfix+"Label").attr("style", "");
	if(notIE6)
		$("#connexionBtn"+postfix).fadeTo(100, 0.33);
	else
		$("#connexionBtn"+postfix).hide();
		
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(login == "") {
		//Pas assez long
		//userError = "Pour vous identifier, vous devez saisir votre email d'inscription.";
		$("#login"+postfix+"Label").attr("style", "color:red");
		if(notIE6)
			$("#connexionBtn"+postfix).fadeTo(100, 1.0);
		else
			$("#connexionBtn"+postfix).show();
	}
	else if(!filter.test(login)) {
		//userError = "Pour vous identifier, vous devez saisir votre email d'inscription.";
		$("#login"+postfix+"Label").attr("style", "color:red");
		if(notIE6)
			$("#connexionBtn"+postfix).fadeTo(100, 1.0);
		else
			$("#connexionBtn"+postfix).show();
	}
	else if(password == "") {
		//userError = "Pour vous identifier, vous devez saisir votre mot de passe.";		
		$("#password"+postfix+"Label").attr("style", "color:red");
		if(notIE6)
			$("#connexionBtn"+postfix).fadeTo(100, 1.0);
		else
			$("#connexionBtn"+postfix).show();
	}
	else {
		if(memoriser)
			memoriser = "1";
		else
			memoriser = "0";

		$.post("engine/functions.php", { login: login, password: passwordMD5, memoriser: memoriser }, function(xml) {
			var erreur = "loginNok";
			
			//Si l'user est logué, il y a la balise user
			$(xml).find("user").each(function() {
				erreur = "";
				closeLoginLB();
				updateUser();
				// ICI il faut verifier le credit de l'utilisateur
				if(userCredits == "0") showPaiementLB();
				
				var loc = location.href;
				if(loc.indexOf("concours.php") > 0){
					window.location.reload();
					}
					
			});

			if(erreur != "") {
				$("#login"+postfix+"Label").attr("style", "color:red");
				$("#password"+postfix+"Label").attr("style", "color:red");
				$("#erreur_login").show('fast');
				if(notIE6)
					$("#connexionBtn"+postfix).fadeTo(100, 1.0);
				else
					$("#connexionBtn"+postfix).show();
					
			}
		});
	}
}
function logoutUser() {
	if(notIE6) {
		$("#connexionBtnBox").fadeTo(100, 1.0);
		$("#connexionBtn").fadeTo(100, 1.0);
	}
	else {
		$("#connexionBtnBox").show();
		$("#connexionBtn").show();
	}
	$.post("engine/functions.php", {logout: 1}, function(xml) {
		updateUser();
		window.location.href = "index.php";
	});
}

//Check si l'user est logué
function updateUser() {
	$.get("engine/functions.php", function(xml) {
		userId = "";
		userCredits = "";
		userActive = 0;
		var userFirstname = "";
		var userEmail = "";
		var userName = "";
		var userInfosOk = 1;
		
		//Si l'user est logué, il y a la balise user
		$(xml).find("user").each(function() {
			userId = $(this).attr("user");
			$(this).find("nom").each(function() 	{ userName = $(this).text(); 		});
			$(this).find("prenom").each(function() 	{ userFirstname = $(this).text(); });
			$(this).find("email").each(function() 	{ userEmail = $(this).text(); 	});
			$(this).find("credits").each(function() { userCredits = parseFloat($(this).text()); 	});
			$(this).find("active").each(function() 	{ userActive = $(this).text(); });
			$(this).find("infosOk").each(function() 	{ userInfosOk = $(this).text(); });
			$(this).find("lastArticle").each(function() {
				articleText = $(this).text();
				articleLink = "detailsVoyage.php?titre=" + $(this).attr("articleTitre") + "&article=" + $(this).attr("article");
				if(articleText == "") {
					articleText = "-";
					articleLink = "#";
				}
				$("#derniersvoyagesNom" + $(this).attr("num")).text(articleText);
				$("#derniersvoyagesLink" + $(this).attr("num")).attr("href", articleLink);
			});
			
			if((userFirstname == "") && (userName == ""))
				$("#userFirstname").text(userEmail);
			else
				$("#userFirstname").text(userFirstname + " " + userName);
				
			if(userInfosOk == 0) {
				$("#bandeauCredits").show();
				$("#infoRecharge").show();
			}
			else {
				$("#bandeauCredits").hide();
				$("#infoRecharge").hide();
			}
			
			$("#userCredits").text(userCredits);
			if(userActive == "0") {
				$("#userActivation").show();
				$("#notActiveSendMailLink").show();
				$("#moncompteLink").hide();
			}
			else {
				$("#userActivation").hide();
				$("#notActiveSendMailLink").hide();
				$("#moncompteLink").show();
			}
			
		});
		
		//Effets visuels
		if(userId == "") {
			$("#delogBox").show();
			$("#videoBox").show();
			$("#logBox").hide();
			$("#parrainageLink").hide();
		}
		else {
			$("#delogBox").hide();
			$("#videoBox").hide();
			$("#logBox").show();
			$("#parrainageLink").show();
		}

		if(userActive == "0") {
			$("#notActive").show();
		}
		else {
			$("#notActive").hide();
		}
	});
	//setTimeout(updateUser, 5000);
}

//Modifie les informations de l'user
function userChange() {
	var newNom = $("#userNameInput").val();
	var newPrenom = $("#userFirstnameInput").val();
	var newEmail = $("#userEmailInput").val();
	var newBirthday = $("#userBirthdayInput").val();
	var newPassword = $("#userPasswordInput").val();
	var newPassword2 = $("#userPassword2Input").val();
	var newPasswordMD5 = $.md5(newPassword);

	var newInfos0 = $("#userInfos0Input").val();
	var newInfos1 = $("#userInfos1Input").val();
	var newInfos2 = $("#userInfos2Input").val();
	var newInfos3 = $("#userInfos3Input").val();
	var newInfos4 = $("#userInfos4Input").val();
	
	$("#userNameInputLabel").attr("style", "");
	$("#userFirstnameInputLabel").attr("style", "");
	$("#userEmailInputLabel").attr("style", "");
	$("#userEmailInputLabel").text("Adresse email");
	$("#userPasswordInputLabel").attr("style", "");
	$("#userPassword2InputLabel").attr("style", "");
	$("#userBirthdayInputLabel").attr("style", "");
	

	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var filter2 = /^(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/][0-9]{4}$/;
	
	if(!filter.test(newEmail)) {
		$("#userEmailInputLabel").attr("style", "color:red");
		//alert("Votre email n'est pas correct.");
	}
	else if((newBirthday != "") && (!filter2.test(newBirthday))) {
		$("#userBirthdayInputLabel").attr("style", "color:red");
		//alert("Votre email n'est pas correct.");
	}
	else if(newPassword != newPassword2) {
		//Pas le même password
		//alert("Les mots de passe ne concordent pas.");
		$("#userPasswordInputLabel").attr("style", "color:red");
		$("#userPassword2InputLabel").attr("style", "color:red");
	}
	else {
		if(newPassword == "*****")
			newPassword = "";
		if(newPassword != "")
			newPassword = newPasswordMD5;
		$.post("engine/functions.php", { nom: newNom, prenom: newPrenom, birthday: newBirthday, email: newEmail, password:newPassword, infos0: newInfos0, infos1: newInfos1, infos2: newInfos2, infos3: newInfos3, infos4: newInfos4 }, function(xml) {
			erreur = "";
			$(xml).find("erreurDouble").each(function()  { erreur = "emailExists"; });
			$(xml).find("winCredit").each(function()  { erreur = "winCredit"; });
			if(erreur == "emailExists") {
				$("#userEmailInputLabel").attr("style", "color:red");
				$("#userEmailInputLabel").text("Adresse email déjà utilisée");
			}
			else if(erreur == "winCredit") {
				window.location.href = "information.php?info=winCredit"; 
			}
			else 
				window.location.reload();
		});
	}
}

//Oubli du mot de passe
function forgetPassword() {
	forgetPass("");
}
function forgetPasswordLB() {
	forgetPass("Box");
}

function forgetPass(postfix) {
	var email = $("#login" + postfix).val();
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	$("#login"+postfix+"Label").attr("style", "");
	
	if(email == "") {
		//Pas assez long
		//alert("Vous devez saisir un email valide.");
		$("#login"+postfix+"Label").attr("style", "color:red");
	}
	else if(!filter.test(email)) {
		//alert("Votre email n'est pas correct.");
		$("#login"+postfix+"Label").attr("style", "color:red");
	}
	else {
		$.post("engine/functions.php", { forgetPassword: email }, function(xml) {
			var erreur = "forgetPassword";
			$(xml).find("erreurMail").each(function()  { erreur = "emailNexists"; });
			
			//$("#subscribeErreur").text(erreur);
			if(erreur != "")
				window.location.href = "information.php?info=" + erreur;
		});
	}
}

//Modifie les informations de l'user
function userCreate(subscribeSource, source) {
	var subscribeEmail = $("#subscribeEmailInput"+source).val();
	var subscribeEmail2 = $("#subscribeEmail2Input"+source).val();
	var subscribePassword = $("#subscribePasswordInput"+source).val();
	var subscribePassword2 = $("#subscribePassword2Input"+source).val();
	var subscribePasswordMD5 = $.md5(subscribePassword);
	var subscribeCGU = $('#subscribeCGU'+source).is(':checked');
	var subscribePart = $('#subscribePart'+source).is(':checked');
	//var subscribeCode = $('#subscribeCode'+source).val().toUpperCase();
	//var subscribeCodeMD5 = $.md5(subscribeCode)
	//var subscribeCodeServer = "";

	$("#subscribeEmailInputLabel"+source).attr("style", "");
	$("#subscribeEmail2InputLabel"+source).attr("style", "");
	$("#subscribePasswordInputLabel"+source).attr("style", "");
	$("#subscribePassword2InputLabel"+source).attr("style", "");
	//$("#subscribeCodeLabel"+source).attr("style", "");
	$("#subscribeCGULabel"+source).attr("style", "");
	$("#subscribePartLabel"+source).attr("style", "");
	
	$.post("engine/functions.php", { code: 1 }, function(xml) {
		//$(xml).find("code").each(function()  { subscribeCodeServer = $(this).text(); });
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		//TODO
		if(subscribeEmail == "") {
			//Pas assez long
			$("#subscribeEmailInputLabel"+source).attr("style", "color: red");
			//alert("Il faut saisir un email valide pour créer un compte !");
		}
		else if(!filter.test(subscribeEmail)) {
			$("#subscribeEmailInputLabel"+source).attr("style", "color: red");
			//alert("Votre email n'est pas correct.");
		}
		else if(subscribeEmail != subscribeEmail2) {
			//Pas le même mail
			$("#subscribeEmailInputLabel"+source).attr("style", "color: red");
			$("#subscribeEmail2InputLabel"+source).attr("style", "color: red");
			//alert("Les mots de passe ne concordent pas.");
		}
		else if(subscribePassword == "") {
			//Pas assez long
			$("#subscribePasswordInputLabel"+source).attr("style", "color: red");
			//alert("Il faut saisir un mot de passe pour créer un compte !");
		}
		else if(subscribePassword != subscribePassword2) {
			//Pas le même password
			$("#subscribePasswordInputLabel"+source).attr("style", "color: red");
			$("#subscribePassword2InputLabel"+source).attr("style", "color: red");
			//alert("Les mots de passe ne concordent pas.");
		}
		/*
else if(subscribeCodeServer != subscribeCodeMD5) {
			//Pas coché
			$("#subscribeCodeLabel"+source).attr("style", "color: red");
			//alert("Le code de sécurité est erroné. Si vous n'arrivez pas à le lire, cliquez sur le code pour en visualiser un autre.");
		}
*/
		else if(!subscribeCGU) {
			//Pas coché
			$("#subscribeCGULabel"+source).attr("style", "color: red");
			//alert("Il faut accepter les conditions générales d'utilisation pour créer un compte.");
		}
		/*
		else if(!subscribePart) {
			//Pas coché
			$("#subscribePartLabel").attr("style", "color: red");
			//alert("Il faut accepter les partenaires.");
		}*/
		else {
			$.post("engine/functions.php", { email: subscribeEmail, password: subscribePasswordMD5, newsletterPart: subscribePart, source: subscribeSource }, function(xml) {
				var erreur = "";
				$(xml).find("erreurDouble").each(function()  { erreur = "Vous êtes déjà inscrit à RestoPourUnEuro.com. Si vous avez oublié votre mot de passe, cliquez sur Mot de passe oublié dans le menu de gauche."; });
				$(xml).find("erreurMail").each(function() 	 { erreur = "Le mail d'activation a échoué. Merci de refaire une demande d'email d'activation dans le menu de gauche d'ici quelques minutes."; });
				$(xml).find("erreurMulticompte").each(function()  { erreur = "Le jeu est limité à un seul compte par foyer!"; });

				if(erreur == "") {
					closeLoginLB();
					window.location.href = "information.php?info=subscribeOk";
				}					
				else {
					//alert(erreur);
					window.location.href = "information.php?info=" + erreur;
				}
				updateUser();
			});
		}
	});
}

//Affiche la recharge de crédits
function showUserCreditsMethods() {
	if($("#userCreditsMethods").is(":hidden"))
		$("#userCreditsMethods").show(500);
	else
		$("#userCreditsMethods").hide(500);
}


//Envoie un mail d'activation
function sendMail() {
	$.post("engine/functions.php", { sendMail: 1 }, function(xml) {
		erreur = "mail";
		$(xml).find("erreurMail").each(function()  { erreur = "mailN"; });
		window.location.href = "information.php?info=" + erreur;
	});
}
