﻿
function RegisterClient() {
    this.init = function() {

        this.email = j("#txtEmailr");
        this.nickname = j("#txtNickNamer");
        this.password = j("#txtPasswordr");
        this.emailFlag = false;
        this.nicknameFlag = false;
        this.passwordFlag = false;
        this.email.blur(function() {
            this.chkMail(this.email.val());
        } .bind(this));
        this.nickname.blur(function() {
            this.chkNickName(this.nickname.val());
        } .bind(this));
        this.password.blur(function() {
            this.chkPassword(this.password.val());
        } .bind(this));
        j("#formRegister").submit(function() {
            if (!this.emailFlag) {
                this.chkMail(this.email.val());
                return false;
            }
            if (!this.nicknameFlag) {
                this.chkNickName(this.nickname.val());
                return false;
            }
            if (!this.passwordFlag) {
                this.chkPassword(this.password.val());
                return false;
            }
        } .bind(this));
    }

    this.shake = function(obj) {
        obj.css("position", "relative");
        obj.animate({ "left": "+=8px" }, 100).animate({ "left": "-=16px" }, 100).animate({ "left": "+=14px" }, 100).animate({ "left": "-=14px" }, 100).animate({ "left": "+=14px" }, 100).animate({ "left": "-=6px" }, 100);
        obj.css("position", "relative");
    }

    this.chkMail = function(email) {
        if (email.length == 0) {
            j("#msg__txtEmailr").html("邮箱不能为空");
            j("#li_email").slideDown("fast");
            this.shake(this.email);
            this.emailFlag = false;
        }
        var pattern = /^(\S)+[@]{1}(\S)+[.]{1}(\w)+/;
        chkFlag = pattern.test(email);
        if (!chkFlag) {
            j("#msg__txtEmailr").html("请输入有效的邮箱地址");
            j("#li_email").slideDown("fast");
            this.shake(this.email);
            this.emailFlag = false;
        }
        else {
            j("#li_email").slideUp("fast");
            Default.CheckEmail(email, function(res) {
                if (res.Success) {
                    j("#msg__txtEmailr").html("");
                    j("#li_email").slideUp("fast");
                    this.emailFlag = true;
                }
                else {
                    j("#msg__txtEmailr").html("这个邮箱已经被使用");
                    j("#li_email").slideDown("fast");
                    this.shake(this.email);
                    this.emailFlag = false;
                }
            } .bind(this));
        }
    }

    this.chkNickName = function(nickname) {
        if (nickname.length == 0 || nickname.length > 15) {
            j("#msg__txtNickNamer").html("昵称不能为空");
            j("#li_nickname").slideDown("fast");
            this.shake(j("#txtNickNamer"));
            this.nicknameFlag = false;
        }
        var pattern = /^[A-Za-z0-9\u4e00-\u9fa5]+$/;
        chkFlag = pattern.test(nickname);
        if (!chkFlag) {
            j("#msg__txtNickNamer").html("你的昵称中带有特殊符号");
            j("#li_nickname").slideDown("fast");
            this.shake(j("#txtNickNamer"));
            this.nicknameFlag = false;
        }
        else {
            j("#li_nickname").slideUp("fast");
            Default.CheckNickName(j("#txtNickNamer").val(), function(res) {
                if (res.Success) {
                    j("#msg__txtNickNamer").html("");
                    j("#li_nickname").slideUp("fast");
                    this.nicknameFlag = true;
                }
                else {
                    j("#msg__txtNickNamer").html("这个昵称已经被使用");
                    j("#li_nickname").slideDown("fast");
                    this.shake(j("#txtNickNamer"));
                    this.nicknameFlag = false;
                }
            } .bind(this));
        }
    }

    this.chkPassword = function(password) {
        if (password.length == 0) {
            j("#msg__txtPasswordr").html("请输入你的密码");
            j("#li_password").slideDown("fast");
            this.shake(j("#txtPasswordr"));
            this.passwordFlag = false;
        }
        if (password.length > 20) {
            j("#msg__txtPasswordr").html("密码请小于20位");
            j("#li_password").slideDown("fast");
            this.shake(j("#txtPasswordr"));
            this.passwordFlag = false;
        }
        j("#msg__txtPasswordr").html("");
        j("#li_password").slideUp("fast");
        this.passwordFlag = true;
    }

};

// 初始化
var register = new RegisterClient();
j(function() { register.init(); });

/***Function***/
Function.prototype.bind = function(obj) {
    return j.proxy(this, obj);
}
/***Function End***/