/* 
MODULE D'INSCRIPTION
Vérification de chaque champs + validation


*/
$(document).ready(function(){
	
	var idPseudo	 	= '#reg_pseudo';
	var idErreurPseudo	= '#error-pseudo';
	var idErreurPseudoTr= '#error-pseudo-tr';
	var idMdp		 	= '#reg_password';
	var idMail		 	= '#email';
	var idErreurPwd		= '#error-pwd';
	var idErreurPwdTr	= '#error-pwd-tr';
	var idErreurMail	= '#error-mail';
	var idErreurMailTr	= '#error-mail-tr';
	var idErreurSexe	= '#error-sexe';
	var idErreurSexeTr	= '#error-sexe-tr';
	var idErreurDate	= '#error-date';
	var idErreurDateTr	= '#error-date-tr';
	var idSexe		 	= '#sex';
	var idDateDay	 	= '#dateDay';
	var idDateMonth	 	= '#dateMonth';
	var idDateYear	 	= '#dateYear';
	var idCaptcha	 	= '#reg_captcha';
	var idPrivacy	 	= '#reg_privacy';
	var validator 		= '#validateForm';
	var validatorC 		= '#validateCaptcha';	
	var idFeedback		= '#feedback';
	var idLoader		= '#loader';
	var Loading			= '<img src=images/ajax-loader-signup.gif>';
	var postFile 	 	= 'methods/signup.post.php';
	var postCaptcha	 	= 'methods/captcha.page.php';
	var mail 			= false;
	var pseudo 			= false;
/* Pour le pseudo */

	$(idPseudo).blur(function () {

					// On récupère le contenu du champs pseudo
					var _pseudo = $(idPseudo).val();
					// On teste d'abord que le pseudo est bien valide
					if(!_pseudo.match(/^[a-zA-Z0-9]+$/i)) {
						$(idErreurPseudo).html('Erreur : caracteres speciaux interdits');
						$(idErreurPseudoTr).fadeIn('fast');
						pseudo = false;
					}
					else {
					$(idErreurPseudoTr).fadeOut('fast');
					$.post(postFile , { pseudo : _pseudo , action : 'verif_pseudo' } , 
					
						function(data) 
						{
																				
							if(data.result==0) {
								$(idErreurPseudoTr).fadeOut('slow');
								pseudo = true;
							} 
							else if (data.result==2) {																																														
								$(idErreurPseudo).html('Ce pseudo est indisponible');
								$(idErreurPseudoTr).fadeIn('fast');
							pseudo = false;
							}
							else if (data.result==1) {																																														
								$(idErreurPseudo).html('Ce pseudo est invalide');
								$(idErreurPseudoTr).fadeIn('fast');
							pseudo = false;
							}
																								} , "json" ); 
					}
								});

/* Fin pseudo */

/* Pour le mail */

	$(idMail).blur(function () {
					// On récupère le contenu du champs mail
					var _email = $(idMail).val();
					if(!_email.match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/) || _email=='') {
					$(idErreurMail).html('Erreur : Adresse mail invalide');
					$(idErreurMailTr).fadeIn('fast');
					mail = false;
					}
					else {
				
						$(idErreurMailTr).fadeOut('fast');
						$.post(postFile , { email : _email , action : 'verif_email' } , 
					
						function(data) 
						{
																				
							if(data.result==0) {
								$(idErreurMailTr).fadeOut('slow');
								pseudo = true;
							} 
							else if (data.result==2) {																																														
								$(idErreurMail).html('Cette email est déjà utilisée');
								$(idErreurMailTr).fadeIn('fast');
							pseudo = false;
							}
							else if (data.result==1) {																																														
								$(idErreurMail).html('Cette email est invalide');
								$(idErreurMailTr).fadeIn('fast');
							pseudo = false;
							}
																								} , "json" ); 
					}

					});
					
					
/* Fin mail */

	$(idMdp).blur(function () {
		var _password = $(idMdp).val();
		if( _password !='') {
			$(idErreurPwd).fadeOut('fast');
		}
	});
	
	$(idSexe).change(function () {
		var _sexe = $(idSexe).val();
		if( _sexe == 1 || _sexe == 2) {
			$(idErreurSexe).fadeOut('fast');
		}
	});
	
	$(idDateDay).change(function () {
		var _day = $(idDateDay).val();
		var _month = $(idDateMonth).val();
		var _year = $(idDateYear).val();
		if( (_day != -1) && (_month != -1) && (_year != -1) ) 
		{
			$(idErreurDate).fadeOut('fast');
		}
	});
	
	$(idDateMonth).change(function () {
		var _day = $(idDateDay).val();
		var _month = $(idDateMonth).val();
		var _year = $(idDateYear).val();
		if( (_day != -1) && (_month != -1) && (_year != -1) ) 
		{
			$(idErreurDate).fadeOut('fast');
		}
	});
	
	$(idDateYear).change(function () {
		var _day = $(idDateDay).val();
		var _month = $(idDateMonth).val();
		var _year = $(idDateYear).val();
		if( (_day != -1) && (_month != -1) && (_year != -1) ) 
		{
			$(idErreurDate).fadeOut('fast');
		}
	});
					
/* Tests à la validation */

	$(validator).click(function () {

				// Récupération données formulaire
				var _pseudo = $(idPseudo).val();
				var _email = $(idMail).val();
				var _password = $(idMdp).val();
				var _sexe = $(idSexe).val();
				var _day = $(idDateDay).val();
				var _month = $(idDateMonth).val();
				var _year = $(idDateYear).val();
				
				var error = false;
				
				// Fin récupération données formulaire
				if( _pseudo == '' ) 
				{
					$(idErreurPseudo).html('Merci de choisir un pseudo');
					$(idErreurPseudoTr).fadeIn('fast');
					error = true;
				}
				
				if( _password == '' ) 
				{
					$(idErreurPwd).html('Merci de choisir un mot de passe');
					$(idErreurPwdTr).fadeIn('fast');
					error = true;
				}
				
				if( _email == '' ) 
				{
					$(idErreurMail).html('Merci de fournir votre E-Mail');
					$(idErreurMailTr).fadeIn('fast');
					error = true;
				}
				
				if( _sexe != 1 && _sexe != 2 ) 
				{
					$(idErreurSexe).html('Merci de renseigner votre sexe');
					$(idErreurSexeTr).fadeIn('fast');
					error = true;
				}
				
				if( (_day == -1) || (_month == -1) || (_year == -1) ) 
				{
					$(idErreurDate).html('Cette date de naissance est incorrecte');
					$(idErreurDateTr).fadeIn('fast');
					error = true;
				}
	
				if(!_pseudo.match(/^[a-zA-Z0-9]+$/i)) {
				
						$(idErreurPseudo).html('Erreur : caracteres speciaux interdits');
						$(idErreurPseudoTr).fadeIn('fast');
						error = true;
					}

				if(!_email.match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/) || _email=='') {
					$(idErreurMail).html('Erreur : Adresse mail invalide');
					$(idErreurMailTr).fadeIn('fast');
					error = true;
					}
				

				
				if( error ) {
				
					$(idLoader).fadeOut('slow');	
				}
				else {
	
				$.post(postFile , { pseudo : _pseudo , action : 'verif_pseudo' } , 
					
						function(data) 
						{
		
							if (data.result==2) {																																														
								$(idErreurPseudo).html('Ce pseudo est indisponible');
								$(idErreurPseudoTr).fadeIn('fast');
								error = true;
							}
							else if (data.result==1) {																																														
								$(idErreurPseudo).html('Ce pseudo est invalide');
								$(idErreurPseudoTr).fadeIn('fast');
								error = true;
							}
							else
							{
							
							
								$.post(postFile , { email : _email , action : 'verif_email' } , 
					
						function(data) 
						{
											
							if (data.result==2) {																																														
								$(idErreurMail).html('Cette email est déjà utilisée');
								$(idErreurMailTr).fadeIn('fast');
							pseudo = false;
							}
							else if (data.result==1) {																																														
								$(idErreurMail).html('Cette email est invalide');
								$(idErreurMailTr).fadeIn('fast');
							pseudo = false;
							}
							else
							{
							
								$(idFeedback).fadeOut('slow');
				
				$('#signup2').fadeOut(function() {
										
											var currentTime = new Date();	   
											  $('#signup2').html("<div class=signup id=captcha style='margin-top:20px;'><table cellpadding=0 cellspacing=0 border=0><tr><td class=captcha colspan=2>Pour des raisons de sécurité, veuillez entrer le code ci-dessous : </td></tr><tr><td><img src=\"methods/captcha.page.php?id="+currentTime.getTime()+"\" /></td><td class='signup-input'><input type=\"text\" class=\"inputtext\" id=\"reg_captcha\" name=\"captcha\" value=\"\" /></td></tr><tr><td colspan=2 class='captcha' style='color:#000000'><div style='float:left'><input type=checkbox id=\"reg_privacy\"></div><div style='margin:2px'><span class='normal'>Je certifie avoir au moins 18 ans, avoir lu et accepté les <a href='tos' target='_blank'><span class='boldutitle'>CGU</span></a> ainsi que la <a href='privacy' target='_blank'><span class='boldutitle'> politique sur la vie privée</span></a>.</span></div></td></tr><tr><td class='signup-input'> </td><td class='signup-input' style='text-align:right'><span class=\"UIButton UIButton_Gray\"><input value=\"Inscription\" type=\"submit\" class=\"UIButton_Text\" id=\"validateCaptcha\"/></span><div id=loader style='position:relative;float:right;text-align:left'></div><div id=feedback class='error'></div></td></tr></table></div>");
											  $('#signup2').fadeIn(function() {
																		
																		// Validation du captcha
																		$(validatorC).click(function() {
																	
																							var _captcha = $(idCaptcha).val();	
																							var _privacy = $(idPrivacy).val();
																							if(_privacy == 'on') {
$.post(postFile , { captcha: _captcha, pseudo: _pseudo, password: _password, email: _email, sexe: _sexe, day: _day, month: _month, year: _year, action: 'signup' } , function(data) {
							
				$(idLoader).fadeOut('slow');	
					 
// Test des différents codes retour :
			
				// Inscription réussie :
				if(data.result == 1) {	
				$('#signup2').fadeOut(function() {
				   		// Inscription réussie
						messageBox("Inscription réussie !<br /><p><span class='normal'>Veuillez activer votre compte via le lien communiqué dans le mail de confirmation que nous venons d'envoyer à l'adresse : <span class='boldtitle'>"+_email+"</span><br /><span class='boldcolortitle'>Attention : </span> si vous êtes chez HOTMAIL regardez votre boîte SPAM.</span></p>",'valid','#infoSignup');
						
				   });
				}
				// Pseudo déjà pris :
				if(data.result == 3) {	
					$(idFeedback).html('Ce pseudo n\'est pas disponible').fadeIn('fast');
				}
				// Erreur SQL :
				if(data.result == 2) {	
					$(idFeedback).html('Une erreur s\'est produite ! Contactez-nous.').fadeIn('fast');
				}
				if(data.result == 2222) {	
					$(idFeedback).html('Inscription impossible : le code Beta est expiré !').fadeIn('fast');
				}
				// Tentative de piratage :
				if(data.result == 8) {	
					$(idFeedback).html('Le code de sécurité saisi ne correspond pas à celui inscrit sur l\'image').fadeIn('fast');
					}
				
									}, "json");
												} else {
												$(idFeedback).html('Veuillez lire les conditions d\'utilisation').fadeIn('fast');
																								}
																									 });
																			});
											  
											   });
											   
							}
							
																								} , "json" ); 
																								
																								
								
							}
							
					} , "json" 
				); 
				
				
				
		
				
				}
				
		 
								 
								 });

/* Fin Validation */
});

