﻿function TwlAuth()
{
	this.NoMember = false;
	this.MemberId = "0";
	this.SecurityKey = "";
	this.CallBack = null;
	
	this.mail = "";
	this.pseudo = "";
	this.password = "";
	this.sexe = "M";
	
	var AxExistsMember = {
		delay: 200,
		prepare: function() { 
			InputVar = new Array(myTwlAuth.mail);
		},
		call: proxies.AjaxFunc.ExistsMember,
		finish: function (p) 
		{ 
			if (p == "YES")
				alert("Un compte existe déjà avec cette adresse mail.");
			else
			{
				SoapMethod = "POST";
				ajax.Start(AxCreateMember);
			}
				
		},
		onException: ajax.alertException
	}
	
	var AxCreateMember = {
		delay: 200,
		prepare: function() {
			InputVar = new Array(myTwlAuth.mail,myTwlAuth.pseudo,myTwlAuth.sexe,myTwlAuth.password);
		},
		call: proxies.AjaxFunc.CreateMember,
		finish: function (p) 
		{ 
			var tableau = p.split("|");
			myTwlAuth.MemberId = tableau[0];
			myTwlAuth.SecurityKey = tableau[2];
			myTwlAuth.NoMember = false;
			SetCookie("TWLADAUTH","NUMUSAGER=" + tableau[0] + "&PSEUDO=" +  tableau[1] + "&KEY=" +  tableau[2],30);

			document.getElementById("TwlLoginFixed").style.display = "none";
			
			if (myTwlAuth.CallBack != null)
				setTimeout(myTwlAuth.CallBack,0);
		
		},
		onException: ajax.alertException
	}
	
	var AxIsMember = {
		delay: 200,
		prepare: function() { 
			InputVar = new Array(myTwlAuth.mail,myTwlAuth.password);
		},
		call: proxies.AjaxFunc.IsMember,
		finish: function (p) 
		{ 
			if (p == "KO")
				alert("Il n'existe aucun compte avec ces informations.");
			else
			{
				var tableau = p.split("|");
				myTwlAuth.MemberId = tableau[0];
				myTwlAuth.SecurityKey = tableau[2];
				myTwlAuth.NoMember = false;
				SetCookie("TWLADAUTH","NUMUSAGER=" + tableau[0] + "&PSEUDO=" +  tableau[1] + "&KEY=" +  tableau[2],30);
				
				document.getElementById("TwlLoginFixed").style.display = "none";

				if (myTwlAuth.CallBack != null)
					setTimeout(myTwlAuth.CallBack,0);
			}
				
		},
		onException: ajax.alertException
	}
	
	
	this.Init = function ()
	{
		if (readCookie("TWLADAUTH") == null)
			myTwlAuth.NoMember = true;
		else {
			var AuthCookie = readCookie("TWLADAUTH");
			myTwlAuth.MemberId = AuthCookie.match(/NUMUSAGER=([\d]*)/)[1];
			myTwlAuth.SecurityKey = AuthCookie.match(/KEY=([\da-zA-Z]*)/)[1];
			
		}
	}
	
			
	this.CloseLoginFixed = function ()
	{
		document.getElementById("TwlLoginFixed").style.display = "none";
	}
	
	
	this.ShowHide = function (aDiv1,aDiv2)
	{
		document.getElementById("twl_fregister_no_member").checked = true; 
		document.getElementById("twl_fregister_already_member").checked = false; 
		document.getElementById("twl_flogon_no_member").checked = false; 
		document.getElementById("twl_flogon_already_member").checked = true; 
		document.getElementById(aDiv2).style.display = "none";
		document.getElementById(aDiv1).style.display = "";
	}
	
	this.ExecFixedRegister = function ()
	{
		
		var isValidForm = true;;
		document.getElementById("twl_fregister_mail_error").style.visibility = "hidden";
		document.getElementById("twl_fregister_pseudo_error").style.visibility = "hidden";
		document.getElementById("twl_fregister_password_error").style.visibility = "hidden";
		document.getElementById("twl_fregister_password_bis_error").style.visibility = "hidden";
		document.getElementById("twl_fregister_cgv_error").style.visibility = "hidden";
		
		
		if (document.getElementById("twl_fregister_mail").value == "")
		{
			document.getElementById("twl_fregister_mail_error").style.visibility = "visible";
			isValidForm = false;
		}
		
		if (document.getElementById("twl_fregister_pseudo").value == "")
		{
			document.getElementById("twl_fregister_pseudo_error").style.visibility = "visible";
			isValidForm = false;
		}
		
		if (document.getElementById("twl_fregister_password").value == "")
		{
			document.getElementById("twl_fregister_password_error").style.visibility = "visible";
			isValidForm = false;
		}
		else
		{
			if (document.getElementById("twl_fregister_password").value != document.getElementById("twl_fregister_password_bis").value)
			{
				document.getElementById("twl_fregister_password_bis_error").style.visibility = "visible";
				isValidForm = false;
			}
		}
		
		if (!document.getElementById("twl_fregister_cgv").checked)
		{
			document.getElementById("twl_fregister_cgv_error").style.visibility = "visible";
			isValidForm = false;
		}
		
		if (isValidForm)
		{
			myTwlAuth.mail = document.getElementById("twl_fregister_mail").value;
			myTwlAuth.pseudo = document.getElementById("twl_fregister_pseudo").value;
			myTwlAuth.password = document.getElementById("twl_fregister_password").value;
			if (document.getElementById("twl_fregister_sexe_f").checked)
				myTwlAuth.sexe = "F";
				
			SoapMethod = "POST";
			ajax.Start(AxExistsMember);
		}
		
		
		return isValidForm;
	}
	
	
	this.ExecFixedLogon = function()
	{
		var isValidForm = true;;
		document.getElementById("twl_flogon_mail_error").style.visibility = "hidden";
		document.getElementById("twl_flogon_password_error").style.visibility = "hidden";
		
		if (document.getElementById("twl_flogon_mail").value == "")
		{
			document.getElementById("twl_flogon_mail_error").style.visibility = "visible";
			isValidForm = false;
		}
		
		if (document.getElementById("twl_flogon_password").value == "")
		{
			document.getElementById("twl_flogon_password_error").style.visibility = "visible";
			isValidForm = false;
		}
		
		if (isValidForm)
		{
			myTwlAuth.mail = document.getElementById("twl_flogon_mail").value;
			myTwlAuth.password = document.getElementById("twl_flogon_password").value;
			SoapMethod = "POST";
			ajax.Start(AxIsMember);
		}
		
	}
	
	
	
}

var myTwlAuth = new TwlAuth();
myTwlAuth.Init();


