$(document).ready(function () {

	
	$('.facebox').facebox(
  {
	onOpen : function(){
		$("#mail").focus();
		$('#facebox .register').click( function(e) {
			e.preventDefault();
			$("#error_cgu").css("display" , "none");
			$("#mail").focus();
			var error = false;
			var email = $('#facebox #mail').val();
			if (!email) {
				showRegisterError($('#mail'));
				error = true;
			}
			else {
				if (!validateEmail(email)) {
					showRegisterError($('#email'));
					error = true;
				}
			}

			if (!$('#fname').val()) {
				showRegisterError($('#fname'));
				error = true;
			}

			if (!$('#lname').val()) {
				showRegisterError($('#lname'));
				error = true;
			}

			if (!$('#password').val() || $('#password').val().length < 4) {
				showRegisterError($('#password'));
				showRegisterError($('#password2'));
				error = true;
			}
			else
			{
				if ($('#password').val() != $('#password2').val()) {
					showRegisterError($('#password2'))
					error = true;
				}
			}

			if(!$("#cgu").attr("checked"))
			{
				$("#error_cgu").fadeIn();
				error = true;
			}

			if(!error)
			{
				$('#facebox .body').children().hide().end().
				append('<div class="loading"><img src="'+$.facebox.settings.loading_image+'"/></div>')
				$.post(
					"/home/ajax_control_register",
					{mail : $('#facebox #mail').val(), password : $('#facebox #password').val(),password2 : $('#facebox #password2').val(),
					fname : $('#facebox #fname').val(),lname : $('#facebox #lname').val()},
					function(datas) {
						if(datas=="1")
						{
						$('#facebox .loading').remove();
						$('#facebox .content').empty();
						$("#facebox .content").append("<h2>Félicitations</h2><p class=\"justify\">Votre inscription sur <strong>Wana<span style=\"color:#aac800\">Sport</span></strong> a bien été enregistrée, un email vous a été envoyé pour finaliser votre inscription <strong><br />/!\\Attention si vous êtes sur yahoo, le mail de confirmation peut se trouver dans vos \"courriers indésirables\"/!\\</strong></p>");

						}
						else
						{
							$('#facebox .loading').remove();
							$('#facebox .error').empty().append(datas).fadeIn();
						}
						$('#facebox .loading').remove();
						$('#facebox .body').children().fadeIn('normal');
					}
				);	
			}
		});
			

			
	    $('#facebox .login').click( function(e) {
			e.preventDefault();
			var error = false;
			if (!$('#facebox #mail').val()) {
				showLoginError($('#mail'))
				error = true;
			}
			if (!$('#facebox #password').val()) {
				showLoginError($('#password'))
				error = true;
			}
			if(!error)
			{
				$('#facebox .body').children().hide().end().append('<div class="loading"><img src="'+$.facebox.settings.loading_image+'"/></div>')
				$.post(
					"/home/ajax_control_login",
					{mail : $('#facebox #mail').val(), password : $('#facebox #password').val(),remember : $('#facebox #remember').attr("checked")},
					function(datas) {
					  //alert(datas);
						if(datas == "1")
						{
							window.location.href = "/account.html";
						}
						else if(datas == "2")
						{
							$('#facebox #errorValidation').fadeIn();
							$('#facebox .loading').remove();
							$('#facebox .body').children().fadeIn('normal');
						}
						else if(datas == "3")
						{
							$('#facebox #errorHost').fadeIn();
							$('#facebox .loading').remove();
							$('#facebox .body').children().fadeIn('normal');
						}
						else 
						{
							$('#facebox #error').fadeIn();
							$('#facebox .loading').remove();
							$('#facebox .body').children().fadeIn('normal');
						}
						
					}
				);
			}
		});
		
		$('#facebox .sendNewConf').click( function(e) {
			e.preventDefault();
			$.post(
					"/home/ajax_control_sendNewConfMail",
					{mail:$('#facebox #mail').val()},
					function(datas){
						$("#errorValidation").fadeOut();
						$("#okEnvoiNewMail").fadeIn();
					}
				);
		});
		
		$('#facebox .forgetPassword').click( function(e) {
			e.preventDefault();
			var error = false;
			if (!$('#facebox #mail').val()) {
				showLoginError($('#mail'));
				error = true;
			}
			if(!error)
			{
				$('#facebox .body').children().hide().end().
				append('<div class="loading"><img src="'+$.facebox.settings.loading_image+'"/></div>');
				$.post(
					"/home/ajax_send_new_password",
					{mail : $('#facebox #mail').val()},
					function(datas) {
						if(datas=="1")
						{
							$('#facebox .loading').remove();
							$('#facebox .content').empty();
							$("#facebox .content").append("<h2>Changement de Mot de Passe</h2><p class=\"justify\">Un lien pour changer votre mot de passe  <strong>Wana<span style=\"color:#aac800\">Sport</span></strong> vous a été envoyé.</p>");
						}
						else
						{
							$('#facebox #mailError').fadeIn();
						}
						$('#facebox .loading').remove();
						$('#facebox .body').children().fadeIn('normal');
					}
				);
			}			
		 });
	}

  });

  
});

function showRegisterError(elt) {
	elt.css({"border-color": "#ff4a4a", "background-color": "#f6dfdf"});
	elt.next().css({"color": "#ff4a4a", "font-weight": "bold"});
}
function showLoginError(elt) {
	elt.css({"border-color": "#ff4a4a", "background-color": "#f6dfdf"});
	elt.next().css({"color": "#ff4a4a", "font-weight": "bold"});
	elt.next().fadeIn();
}

function validateEmail(email) {
		var at = email.lastIndexOf("@");

		// Make sure the at (@) sybmol exists and  
		// it is not the first or last character
		if (at < 1 || (at + 1) === email.length)
			return false;

		// Make sure there aren't multiple periods together
		if (/(\.{2,})/.test(email))
			return false;

		// Break up the local and domain portions
		var local = email.substring(0, at);
		var domain = email.substring(at + 1);

		// Check lengths
		if (local.length < 1 || local.length > 64 || domain.length < 4 || domain.length > 255)
			return false;

		// Make sure local and domain don't start with or end with a period
		if (/(^\.|\.$)/.test(local) || /(^\.|\.$)/.test(domain))
			return false;

		// Check for quoted-string addresses
		// Since almost anything is allowed in a quoted-string address,
		// we're just going to let them go through
		if (!/^"(.+)"$/.test(local)) {
			// It's a dot-string address...check for valid characters
			if (!/^[-a-zA-Z0-9!#$%*\/?|^{}`~&'+=_\.]*$/.test(local))
				return false;
		}

		// Make sure domain contains only valid characters and at least one period
		if (!/^[-a-zA-Z0-9\.]*$/.test(domain) || domain.indexOf(".") === -1)
			return false;	

		return true;
	}
