img_ok = '/css/img/icons/ok.png';
img_error = '/css/img/icons/cancel.png';

error_nick = false;
error_email = false;
error_password = false;
error_password2 = false;

$(document).ready(function() {
	$("#nick").blur( function(){validate_nick()} );

	$("#password").blur( function(){validate_password()} );

	$("#password2").blur( function(){validate_password2()} );

	$("#email").blur( function(){validate_email()} );
});




function validate_nick()
{
    nick_val = $("#nick").val();

    if (nick_val != "")
    {

        $.post("/ajax/check-nick",
            { nick: nick_val },

            function(data)
            {
                if( data == "OK" )
                {
                    error_nick = false;
                    $("#check_nick").remove();
                    $("#check_nick_response").remove();
                    $("#nick").removeClass("input_error");
                    $("#nick").after('<span id="check_nick">&nbsp; <img src="'+img_ok+'" /> </span>');
                }
                else
                {
                    error_nick = true;
                    $("#check_nick").remove();
                    $("#check_nick_response").remove();
                    $("#nick").addClass("input_error");
                    $("#nick").after('<span id="check_nick">&nbsp; <img src="'+img_error+'" /> </span>');
                    $("#nick").parent().after(data);
                }
            }
        );
    }
}




function validate_password()
{// TODO mirar password2 cuando se cambie password1 para ver si son iguales (solo si password2 no es string vacio ;)
    password_val = $("#password").val();

    if (password_val != "")
    {
        $.post("/ajax/check-password",
            { password: password_val },

            function(data)
            {
                if( data == "OK" )
                {
                    error_password = false;
                    $("#check_password").remove();
                    $("#check_password_response").remove();
                    $("#password").removeClass("input_error");
                    $("#password").after('<span id="check_password">&nbsp; <img src="'+img_ok+'" /> </span>');
                }
                else
                {
                    error_password = true;
                    $("#check_password").remove();
                    $("#check_password_response").remove();
                    $("#password").after('<span id="check_password">&nbsp; <img src="'+img_error+'" /> </span>');
                    $("#password").parent().after(data);
                }


                if( data == "OK" )
                {
                    validate_password2();
                }
            }
        );
    }
}




function validate_password2()
{
	password2_val = $("#password2").val();
	password_val = $("#password").val();

    if (password2_val != "")
    {
        if( password2_val == password_val && password_val != "" )
        {
            error_password2 = false;
            $("#check_password2").remove();
            $("#check_password2_response").remove();
            $("#password2").after('<span id="check_password2">&nbsp; <img src="'+img_ok+'" /> </span>');
        }
        else
        {
            error_password2 = true;
            // Catch the error descriptive label   reg_error_2 = the passwords dont coincide
            $.post("/ajax/get-error",
                { label: "reg_error_2", id: "check_password2_response" },

                function(data)
                {
                    $("#check_password2").remove();
                    $("#check_password2_response").remove();
                    $("#password2").after('<span id="check_password2">&nbsp; <img src="'+img_error+'" /> </span>');
                    $("#password2").parent().after(data);
                }
            );
        }
    }
}




function validate_email()
{
	// dice true o false según la sintaxis del email
	
	email_val = $("#email").val();

    if (email_val != "")
    {
	
        $.post("/ajax/check-mail",
            { email: email_val },

            function(data)
            {
                if( data == "OK" )
                {
                    error_email = false;
                    $("#check_email").remove();
                    $("#check_email_response").remove();
                    $("#email").removeClass("input_error");
                    $("#email").after('<span id="check_email">&nbsp; <img src="'+img_ok+'" /> </span>');
                }
                else
                {
                    error_email = true;
                    $("#check_email").remove();
                    $("#check_email_response").remove();
                    $("#email").addClass("input_error");
                    $("#email").after('<span id="check_email">&nbsp; <img src="'+img_error+'" /> </span>');
                    $("#email").parent().after(data);
                }
            }
        );
    }
}




function validate_register()
{
	if( !error_nick && !error_email && !error_password && !error_password2
		 && $("#nick").val() != "" && $("#email").val() != "" && $("#password").val() != "" && $("#password2").val() != "" )
	{
		answer = true;
	}
	else
	{
		answer = false;
		alert("Ooops! Error");
	}

	return answer;
}
