$(document).ready(function(){
	
	//message to translate
	var msg_invalid_email = "Email inválido";
	
	var msg_invalid_pass = "Contraseña Inválida";
	
	var msg_only_alphanumeric = "Sólo Alfanuméricos";
	
	var msg_min_char = "Mínimo 6 caracteres";
	
	var msg_confirm_rong = "No coincide con el código";
	
	//global vars
	var form = $("#formDiv");  

	var email = $("#email");  
	var emailInfo = $("#emailInfo");
	
	var new_pass = $("#new_pass");  
	var new_passInfo = $("#new_passInfo");
	
	var verify_pass = $("#verify_pass");  
	var verify_passInfo = $("#verify_passInfo");
	

	//On blur
	email.blur(validateEmail);
	new_pass.blur(validateNewPass);
	verify_pass.blur(validateVerify);
	
	//On Submitting
	form.submit(function(){
		if(validateEmail() & validateNewPass() & validateVerify())
			return true
		else
			return false;
	});
	
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(filter.test(a)){
			email.removeClass("error");
			emailInfo.text("");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text(msg_invalid_email);
			return false;
		}
	}
	
	function validateNewPass(){
		var a = $("#new_pass").val();
		var filter = /^[a-zA-Z0-9]{3,25}$/;
		//if it's valid email
		if(filter.test(a) && new_pass.val().length > 5){
			new_pass.removeClass("error");
			new_passInfo.text("");
			new_passInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			new_pass.addClass("error");
			if(!filter.test(a))
				new_passInfo.text(msg_only_alphanumeric);
			else if(new_pass.val().length <5)
				new_passInfo.text(msg_min_char);
			new_passInfo.addClass("error");
			return false;
		}
	}
	
	function validateVerify(){
		var a = $("#new_pass");
		var b = $("#verify_pass");
		//are NOT valid
		if( new_pass.val() != verify_pass.val() ){
			verify_pass.addClass("error");
			verify_passInfo.text(msg_confirm_rong);
			verify_passInfo.addClass("error");
			return false;
		}
		//are valid
		else{
			verify_pass.removeClass("error");
			verify_passInfo.text("");
			verify_passInfo.removeClass("error");
			return true;
		}
	}
		
});
