﻿$(document).ready
(
    function()
    {
        var register_valid_login = false;
        var register_valid_nickname = false;
        var register_valid_password = false;
        var register_valid_password_repeat = false;

        function register_button_update_status()
        {
            if (register_valid_login && register_valid_nickname && register_valid_password && register_valid_password_repeat)
            {
                $("#register_submit").removeAttr('disabled');
            }
            else
            {
                $("#register_submit").attr('disabled', 'disabled');
            }
        }



        //Поле логина потеряло фокус - нужно проверить существует ли введенный логин
        $("#register_login").blur
        (
            function()
            {
                var lg = $(this).attr('value');
                //отправляем аякс запрос
                if (lg!= '')
                {
                    $("#register_login_not_entered").hide();
	                $.post
	                (
	                   "/ajax_response/user_exists.php",
	                   {
	                   	    login: lg
	                   },
	                   function(r)
	                   {
				           var answer = $("answer", r).text();
	                       if (answer == 1)
	                       {

	                           $("#register_login_free").hide();
	                           $("#register_login_taken").show();
	                           register_valid_login = false;
	                       }
	                       else
	                       {
	                           $("#register_login_free").show();
	                           $("#register_login_taken").hide();
	                           register_valid_login = true;
	                       }
				       }
				    );
                    
		        }
                else
                {
                    $("#register_login_not_entered").show();
                    $("#register_login_free").hide();
	                $("#register_login_taken").hide();
                    register_valid_login = false;
		        }
		        register_button_update_status();
            }
        )

        //Нажатие клавиши на поле логина
        $("#register_login").keypress
        (
	        function (e)
	        {
		      if
		      (
		              (e.which >= 48 && e.which <= 57) //Цифры
		              ||
		              (e.which >= 97 && e.which <= 122) //маленькие буквы
		              ||
		              (e.which >= 65 && e.which <= 90) //большие буквы
		              ||
		              e.which == 95   //_
		              ||
		              e.which == 8    //BackSpace
		              ||
		              e.which == 127  //Delete
		              ||
		              e.which == 9    //Tab
		      )
		      {
		          //Эти символы подходят, ничего не делаем
		      }
		      else
		      {
		          e.preventDefault();
		      }
		      register_button_update_status();
		    }
	    );


        //Поле псевдонима потеряло фокус - нужно проверить существует ли введенный псевдоним
        $("#register_nickname").blur
        (
            function()
            {
                var nn = $(this).attr('value');

                //отправляем аякс запрос
                if (nn != '')
                {
                    $("#register_nickname_not_entered").hide();
	                register_valid_nickname = true;
	                $.post
	                (
	                   "/ajax_response/nickname_exists.php",
	                   {
	                   	    nickname: nn
	                   },
	                   function(r)
	                   {
				           var answer = $("answer", r).text();
	                       if (answer == 1)
	                       {
	                           $("#register_nickname_taken").show();
	                           $("#register_nickname_free").hide();
	                       }
	                       else
	                       {
	                           $("#register_nickname_taken").hide();
	                           $("#register_nickname_free").show();

	                       }
				       }
				    );
		        }
		        else
		        {
                    $("#register_nickname_not_entered").show();
		            register_valid_nickname = false;
		        }
                register_button_update_status();
            }
        )

        //Поле ввода пароля потеряло фокус
        $("#register_password").blur
        (
            function()
            {
                var nn = $(this).attr('value');

                //проверяем длинну пароля
                if (nn.length < 5)
                {
                    $("#register_password_too_short").show();
                    $("#register_password_good").hide();
                    register_valid_password = false;
		        }
		        else
		        {
                    $("#register_password_too_short").hide();
                    $("#register_password_good").show();
                    register_valid_password = true;
		        }
		        register_button_update_status();
            }
        )

        //Поле повторного ввода пароля потеряло фокус
        $("#register_password_repeat").keyup
        (
            function()
            {
                var nn = $(this).attr('value');
                var mm = $("#register_password").attr('value');

                //проверяем совпаление паролей
                if(nn.length >= 5)
                {
	                if (nn != mm)
	                {
	                    $("#register_password_no_match").show();
	                    $("#register_password_match").hide();
	                    register_valid_password_repeat = false;
			        }
			        else
			        {
	                    $("#register_password_no_match").hide();
	                    $("#register_password_match").show();
	                    register_valid_password_repeat = true;
			        }
		        }
		        register_button_update_status();
            }
        )

        $("#register_password").keyup
        (
            function()
            {
                var nn = $(this).attr('value');
                var mm = $("#register_password_repeat").attr('value');

                //проверяем совпаление паролей
                if(nn.length >= 5)
                {
	                if (nn != mm)
	                {
	                    $("#register_password_no_match").show();
	                    $("#register_password_match").hide();
	                    register_valid_password_repeat = false;
			        }
			        else
			        {
	                    $("#register_password_no_match").hide();
	                    $("#register_password_match").show();
	                    register_valid_password_repeat = true;
			        }
		        }
		        register_button_update_status();
            }
        )



        //Верен ли введенный пароль
        $("#change_pass").blur
        (
            function()
            {
                var lg = $(this).attr('login');
                var ps = $(this).attr('value');

                //отправляем аякс запрос
                if (ps!= '')
                {
                    $("#register_login_not_entered").hide();
	                $.post
	                (
	                   "/ajax_response/pare_exists.php",
	                   {
	                   	    login: lg,
	                   	    pass: ps
	                   },
	                   function(r)
	                   {
				           var answer = $("answer", r).text();
	                       if (answer == 1)
	                       {

	                           $("#change_pass_bad").hide();
	                           $("#change_pass_good").show();
	                       }
	                       else
	                       {
	                           $("#change_pass_bad").show();
	                           $("#change_pass_good").hide();
	                       }
				       }
				    );
		        }
            }
        );

    }
);