/*
**	@desc:	PHP ajax login form using jQuery
**	@author:	programmer@chazzuka.com
**	@url:		http://www.chazzuka.com/blog
**	@date:	15 August 2008
**	@license:	Free!, but i'll be glad if i my name listed in the credits'
*/

$(document).ready(function(){ 

	var wrapperId 	=	'#connect';		// main container
	var profileId 	=	'#profile';		// main container
	var formId		=	'#loginButton';	// submit button identifier
	var userId		=	"#user";			// user input identifier
	var passId		=	"#password";			// password input identifier
	var RealformId	=   "#form_auth";
	
	var waitNote	=	'<div style=\'top:8px;position:relative\'><img src=images/ajax-loader-white.gif> Loading...</div>';											
	// loading message
	var waitCon		=	'<div style=\'top:8px;position:relative\'><img src=images/ajax-loader-white.gif> Connexion...</div>';											
	// Connecting message
	var jsErrMsg	=	'<div style=\'top:8px;position:relative;\'>Informations incorrectes...</div>';						
	// clientside error message
	
	var postFile	=	'methods/login.post.php';	// post handler
	var profile	=	'methods/profile.php';	// post handler
	
	var autoRedir	=	false;			// auto redirect on success
	
	function userReconfirm() {
		
	var text = "<input type='text' id='mailconfirm' value='Votre adresse mail' /> <span class='UIButton2 UIButton_Gray' id='revalidMail'  style='width:45px'><input value='Valider' type='submit' class='UIButton_Text'/></span>";
	// Affichage du message
	messageBox("<span id=confirm>Veuillez entrer votre adresse mail :<br /><span class=normal>"+text+"</span></span>",'info','#infoLogin',true);
	
	$('#mailconfirm').focus(function() {
					$('#mailconfirm').val('');				 
									 });
	
	$('#revalidMail').click(function() {
	// Récupérer le mail
	var _mail	= $('#mailconfirm').val();
	
	$.post(postFile, {action:'resendconfirm',mail:_mail} , function(data) {
																	
						if(data.status==200) {
						messageBox("Le mail de confirmation vient de vous être renvoyé",'valid','#infoLogin');	
						} else {
						messageBox("L'adresse mail indiquée n'existe pas ...",'warning','#infoLogin');		
						}
																	
																	},"json");
									 });
		
	}
	
	// hide first
	function lancement() {
	$(wrapperId).hide(); 
	
	// FirstLoad

	$(wrapperId).html(waitNote).fadeIn('slow',function(){
		// get request to load form
		
		$.getJSON(postFile, function(data){
			//$.get(profile,  function(data) { $(profileId).html(data);   });
			
			if(data.status==true) {
					// Si on est effectivement connecté		
					$(wrapperId).html(data.menu).fadeIn('slow'); 
					// GESTION DU MENU PRINCIPAL
					// Si l'on est déjà connecté :
					$('#logout').click( function() { $.post(postFile,  { action: 'disconnect' } ,  function(data) {  location.reload(); }); });	
	
			} else {
				// show form				
				$(wrapperId).html(data.message).show('slow',function(){

// GESTION DU CONTENU DE L'INPUT PSEUDO
	$(userId).focus( function() {
							   var _u = $(userId).val();
								if(_u=='Identifiant') {
								$(userId).val('');	
								}
							   });
		
	$(userId).blur( function() {
							   var _u = $(userId).val();
								if(_u=='' || _u==' ') {
								$(userId).val('Identifiant');	
								}
								});
// FIN DE GESTION DE L'INPUT PSEUDO


// GESTION DU CONTENU DE L'INPUT PASSWORD
	$(passId).focus( function() {
							   var _p = $(passId).val();
								if(_p=='password') {
								$(passId).val('');	
								}
								
							   });
// FIN GESTION DU CONTENU DE L'INPUT PASSWORD
					$(RealformId).submit(function validation() {
								
								var _u = $(userId).val();
								var _p = $(passId).val();
								var _action = 'ident';
								
								$(wrapperId).html(waitCon).fadeIn('slow');
								
								$.post(postFile,  { u: _u, p: _p, action: _action } , function(data) {
															  
													
													if(data.status==403) {
																		wrongPassword();
																		  
																		   }
													else if(data.status==501) {
																		messageBox("<span id=confirm>Vous n'avez toujours pas confirmé votre adresse mail<br /><span class=normal>Pour le recevoir à nouveau, cliquez ici</span></span>",'info','#infoLogin');
																		lancement(); 
																		// Affichage formulaire de confirmation
																		$('#confirm').click(function() {
																		
																				userReconfirm();						 					 
																										 });
																		   }
																		   else {
																		   
																		   location.reload(); 
																		   }
											
																	
																							   } , "json");
								
								return false;
								});
						

					
				});
				
			}
					
		 });

	});
	}	
	lancement();
	
function	wrongPassword() {
		messageBox('Erreur mauvais mot de passe','error','#infoLogin');
		lancement();
	}
});


