/*--------------------------------------*\
|| REGISTER
\*--------------------------------------*/
function verifyRegister(){
	messageShow("");
	
	if(verifyRegistration()){
		var dataString = 'name=' + $('#nusername').val() + '&pass=' + $('#npassword').val() + '&mail=' + $('#email').val();

		$.get("/projet/action/check_register.php?" + dataString, function(data){
			switch(data){
				case "OK":
					$('#boxSectionContent').slideUp("slow", function(){ 
					$('#boxSectionContent').empty().append("<strong><font size='3' color='green'> Congrats! Your account have been created. <br /> You may now login. </font></strong> <br /><br />");
					$('#boxSectionContent').slideDown("slow");
					});
					break;	
				case "ERR;1": 
					messageShow("This username have already been taken.");
					break;	
				case "ERR;2":
					messageShow("This email adress have already been taken.");
					break;
				default: 
					messageShow("Something bad happened!");
					break;
			}
		});
	}else{
		messageShow("Please fill and/or correct all the red fields.");
	}
}

function verifyRegistration(){
	var okExpReg;
	var okToSubmit = true;
	
	// TOS
	if(!$("#tos").attr('checked')){
		okToSubmit = false;
	}
	
	// Username
	okExpReg = valideChamp('nusername', '^[a-zA-Z0-9]{3,12}$');
	if(($('#nusername').val() != "") && (!okExpReg)){
		$("#nusername").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#nusername').val())){
			$("#nusername").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#nusername").css("background-color","#FFFFFF");
		}
	}

	// Password
	okExpReg = valideChamp('npassword', '^[a-zA-Z0-9]{6,24}$');
	if(($('#npassword').val() != "") && (!okExpReg)){
		$("#npassword").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#npassword').val())){
			$("#npassword").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#npassword").css("background-color","#FFFFFF");
		}
	}
	
	// Verify password
	if(($('#vpassword').val() != "") && ($('#vpassword').val() != $('#npassword').val())){
		$("#vpassword").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#vpassword').val())){
			$("#vpassword").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#vpassword").css("background-color","#FFFFFF");
		}
	}
	
	// Email
	okExpReg = valideChamp('email', '^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$');
	if(($('#email').val() != "") && (!okExpReg)){
		$("#email").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#email').val())){
			$("#email").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#email").css("background-color","#FFFFFF");
		}
	}
	
	// Verify email
	if(($('#vemail').val() != "") && ($('#vemail').val() != $('#email').val())){
		$("#vemail").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#vemail').val())){
			$("#vemail").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#vemail").css("background-color","#FFFFFF");
		}
	}
	
	return okToSubmit;
}

/*--------------------------------------*\
|| PROFILE EDIT
\*--------------------------------------*/
function editProfile(){
	messageShow("");

	if(verifyEditProfile()){
		if($('#description').val().length <= 1000){
			var dataString = 'email=' + $('#newEmail').val() + '&pass=' + $('#newPassword').val() + '&description=' + $('#description').val();
	
			$.ajax({
				type: 'POST',
				url: "/projet/action/updateProfile.php",
			   	data: dataString,
			   	success: function(data){
			   	 switch(data){
					case "OK":
						messageShow("<span style='color:green;'>Your profile has been updated successfully.</span>");
						
						if(!isVide($('#newEmail').val())){
							$('#email').val($('#newEmail').val());
						}
						break;	
					case "ERR;1": 
						messageShow("You are currently not logged into this account. Please relog.");
						break;
					case "ERR;2": 
						messageShow("Something bad happened!");
						break;
					case "ERR;3": 
						messageShow("Email and/or password is invalid.");
						break;
					case "ERR;4": 
						messageShow("That email adress is already in use.");
						break;
					default: 
						messageShow("Something bad happened!");
						break;
					}

			   	}
			});
		}else{
			messageShow("Make a shorter description please.");
		}
	}else{
		messageShow("Correct the red fields.");
	}
}

function verifyEditProfile(){
	var okExpReg;
	var okToSubmit = true;
		
	// Email
	if(!isVide($("#newEmail").val())){
		okExpReg = valideChamp('newEmail', '^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$');
		if(!okExpReg){
			$("#newEmail").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#newEmail").css("background-color","#FFFFFF");
		}
	}
	
	// Password
	if(!isVide($("#newPassword").val())){
		okExpReg = valideChamp('newPassword', '^[a-zA-Z0-9]{6,24}$');
		if(!okExpReg){
			$("#newPassword").css("background-color","#B79797");
			okToSubmit = false;
		}else{
			$("#newPassword").css("background-color","#FFFFFF");
		}
	}
				
	return okToSubmit;
}

function updateAvatar(field, newAvatar){
	var dataString = 'avatarPath=' + newAvatar;
	
	messageShow("");

	$.get("/projet/action/updateAvatar.php?" + dataString, function(data){
		switch(data){
			case "OK;":
				messageShow("<span style='color:green;'>Your avatar have been updated!</span>");
				$(field).attr("src", newAvatar);
				break;
			case "ERR;1": 
				messageShow("You are not logged in!");
				break;
			case "ERR;2": 
				messageShow("Something bad happened!");
				break;	
			case "ERR;3": 
				messageShow("Something bad happened!");
				break;
			case "ERR;4": 
				messageShow("Something bad happened!");
				break;	
			default:
				messageShow("Something bad happened!");
				break;	
		}
	});
}


/*--------------------------------------*\
|| LOGIN
\*--------------------------------------*/
function verifyLogin(){
	var dataString;
	var rememberMe = false;
	
	messageShow("");
	
	if(($("#username").val() != "") && ($("#password").val() != "")){
		if($('#remember').attr('checked')){
			rememberMe = true;
		}

		dataString = 'username='+ $("#username").val() + '&password=' + $("#password").val() + '&remember=' + rememberMe;

		$.get("/projet/action/check_login.php?" + dataString, function(data){
			switch(data){
				case "ERR;1": 
					alert("The login is wrong. Please check your username and password.");
					break;	
				case "ERR;2":
					alert("The login is wrong. Please check your username and password.");
					break;
				default: 
					window.location = "/";
					break;
			}
		});
	}else{
		alert("You must fill the username and password section.");
	}
}

/*--------------------------------------*\
|| FORGOT
\*--------------------------------------*/
function verifyForgot(){
	var dataString;
	
	messageShow("");
	
	if($("#mail").val() != ""){
		dataString = 'mail='+ $("#mail").val();

		$.get("/projet/action/sendForgot.php?" + dataString, function(data){
			switch(data){
				case "OK": 
					window.location = "/";
					break;	
				case "ERR;1":
					messageShow("The mail have failed to be sent, make sure you are still loged in.");
					break;
				case "ERR;2":
					messageShow("The mail you entered wasn't in the database.");
					break;
				case "ERR;3":
					messageShow("A variable wasn't set. Please try again.");
					break;
				default: 
					messageShow("Something bad happened!");
					break;
			}
		});
	}else{
		messageShow("You must enter the email you used to create your account.");
	}
}

function makeNewPass(){
	messageShow("");
	
	if(verifyPass()){
		var dataString = 'id=' + $('#userId').val() + '&pass=' + $('#npassword').val();
		
		$.get("/projet/action/changePass.php?" + dataString, function(data){
			switch(data){
				case "OK":
					$('#boxSectionContent').empty().append("<font size='3'><i> Your password have been changed. <br /> You may now login. </i></font> <br /><br />");
					break;	
				case "ERR;1": 
					messageShow("The variable arn't set. Please check if the fields are not blank.");
					break;	
				default: 
					messageShow("Something bad happened!");
					break;
			}
		});
	}else{
		messageShow("Please verify both password fields.");
	}
}


function verifyPass(){
	var okExpReg;
	var okToSubmit = true;

	// Password
	okExpReg = valideChamp('npassword', '^[a-zA-Z0-9]{6,24}$');
	if(($('#npassword').val() != "") && (!okExpReg)){
		$("#npassword").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#npassword').val())){
			okToSubmit = false;
		}
		
		$("#npassword").css("background-color","#FFFFFF");
	}
	
	// Verify password
	if(($('#vpassword').val() != "") && ($('#vpassword').val() != $('#npassword').val())){
		$("#vpassword").css("background-color","#B79797");
		okToSubmit = false;
	}else{
		if(isVide($('#vpassword').val())){
			okToSubmit = false;
		}
		
		$("#vpassword").css("background-color","#FFFFFF");
	}
	
	return okToSubmit;
}

