function saveCustomer(){
	var firstname = $("#firstname").val();
	var lastname = $("#lastname").val();
	var pseudo = $("#pseudo").val();
	var email = $("#email").val();
	var emailConfirm = $("#emailConfirm").val();
	var password = $("#password").val();
	var passwordConfirm = $("#passwordConfirm").val();
	var birthdate = $("#year").val() + "-" + $("#month").val() + "-" + $("#day").val();
	
	if( firstname != "" && lastname != "" && pseudo != "" && email != "" && emailConfirm != "" && birthdate != "--" && password != "" && passwordConfirm != "" ){
		if( checkEmail(email) == true ){
			if( email == emailConfirm ){
				if( checkPassword(password) != "too_short" ){
					if( password == passwordConfirm ){
						$.post("plugins/customers/ajax/saveCustomer.php", {firstname:firstname, lastname:lastname, pseudo:pseudo, email:email, password:password, birthdate:birthdate}, function(data){
							switch( data ){
								case "email_already_in_use":
									alertWithTranslation("email_already_in_use");
									break;
								case "pseudo_already_in_use":
									alertWithTranslation("pseudo_already_in_use");
									break;
								default:
									alertWithTranslation("inscription_ok");
									
									$("#firstname").val("");
									$("#lastname").val("");
									$("#pseudo").val("");
									$("#email").val("");
									$("#emailConfirm").val("");
									$("#password").val("");
									$("#passwordConfirm").val("");
									$("#year").val("");
									$("#month").val("");
									$("#day").val("");
							}
						});
					} else alertWithTranslation("passwords_dont_match");
				} else alertWithTranslation("password_too_short");
			} else alertWithTranslation("emails_dont_match");
		} else alertWithTranslation("invalid_email_address");
	} else alertWithTranslation("fill_in_all_required_fields");
}


function checkEmail(email) {
	var mailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	return mailFilter.test(email);
}


function checkPassword(password){
	var enoughRegex = new RegExp("(?=.{8,}).*", "g");
	var mediumRegex = new RegExp("^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var strongRegex = new RegExp("^(?=.{12,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\W).*$", "g");
	
	if( enoughRegex.test(password) == false ) return "too_short";
	else if( strongRegex.test(password) ) return "strong";
	else if( mediumRegex.test(password) ) return "medium";
	else return "weak";
}


function submitLogin(){
	var email = $("#loginField").val();
	var password = $("#passwordField").val();
	var remember = $("#rememberLogin").attr("checked") ? "1" : "0";
	
	$.post("plugins/customers/ajax/secureLogin.php", {email:email, password:password, remember:remember}, function(data){
		if( data == "1" ){
			$.post("plugins/customers/ajax/getPageURL.php", {action:"login"}, function(data){
				window.location.href = data;
			});
		} else alertWithTranslation("wrong_login_information");
	});
}


function disconnect(){
	$.post("plugins/customers/ajax/secureDisconnect.php", {}, function(data){
		$.post("plugins/customers/ajax/getPageURL.php", {action:"logout"}, function(data){
			window.location.href = data;
		});
	});
}


function focusOnLoginField(){
	$("#loginField").keypress(function(evt){
		if( evt.which == 13 ) submitLogin();
	});
	
	$("#passwordField").keypress(function(evt){
		if( evt.which == 13 ) submitLogin();
	});
	
	$.post("ajax/getTranslation.php", {trans:"customer_login_email"}, function(data){
		if( $("#loginField").val() == data ) {
			$("#loginField").val("");
			$("#passwordField").val("");
		}
	});
}


function focusOutOnLoginField(){
	if( $("#loginField").val() == "" ) {
		$.post("ajax/getTranslation.php", {trans:"customer_login_email"}, function(data){
			$("#loginField").val(data);
			$("#passwordField").val("password");
		});
	}
}
