$(document).ready(function(){
    	var tpl_mail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
        var tpl_login = /[^ абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯa-zA-Z0-9-_]/;
        var valid_login = false;
        var valid_email = false;
        function set_submit(enabled)
        {
            if (enabled)
                $("#submitreg").removeAttr('disabled');
            else
            	$("#submitreg").attr('disabled', 'disabled');
        }
    	$("#pass2").css('display', 'none');
        $("#showpass").click(function(){
        	if($(this).attr('checked'))
        	{
        	    $("#pass").css('display', 'none');
        	    $("#pass2").val($("#pass").val());
        	    $("#pass2").css('display', '');
        	}
        	else
        	{
        		$("#pass2").css('display', 'none');
        		$("#pass").val($("#pass2").val());
        		$("#pass").css('display', '');
        	}
            });
        $("#pass2").keyup(function(){
        	$("#pass").val($("#pass2").val());
            });

        function check_login(id)
        {
            if ($("#"+id).val().length < 3)
            {
                $("#"+id).addClass("reg_error");
                $("#loginerror").html('Длина логина должна быть больше 2х символов.');
                return false;
            }
            else
            {
            	if ($("#"+id).val().length > 100)
                {
                    $("#"+id).addClass("reg_error");
                    $("#loginerror").html('Длина логина должна быть меньше 100 символов.');
                    return false;
                }
            	else
            	{
		        	if (tpl_login.exec($("#"+id).val()) != null)
		        	{
		                $("#"+id).addClass("reg_error");
		                $("#loginerror").html('Логин содержит недопустимые символы. Разрешается использовать русский и латинский алфавит, цифры, пробел и символ подчёркивания.');
		                return false;
		        	}
		            else
		            {
		                $("#"+id).removeClass("reg_error");
		                $("#loginerror").html('');
		                return true;
		            }
            	}
            }
        }
        function check_mail(id)
        {
            if (tpl_mail.exec($("#"+id).val()) == null)
            {
                $("#"+id).addClass("reg_error");
                $("#mailerror").html('Электропочта должна удовлетворять шаблону name@host.ru.');
                return false;
            }
            else
            {
                $("#"+id).removeClass("reg_error");
                $("#mailerror").html('');
                return true;
            }
        } 
        $("#login").keyup(function(){
        	valid_login = check_login("login");
            set_submit(valid_login && valid_email);
        	});
        $("#email").keyup(function(){
            valid_email = check_mail("email");
            set_submit(valid_login && valid_email);
            });
        $("#email").blur(function(){
            valid_email = check_mail("email");
            set_submit(valid_login && valid_email);
            });
        });
