;(function(_window , $){
    var _this = {};
    
    // ajax 请求 状态
    _this.onajax = false;

    // 验证码刷新
    _this.refverify = function(id){
        $('#' + id).attr('src' , $('#' + id).attr('src').replace(/\/\d+/,'/') +  (new Date().getTime()) );
    }

    // 输出错误提示消息
    _this.showerror = function(msg , eleid){
        if(typeof(eleid) != undefined){
            $('#' + eleid).focus();
        }
        $('#error_msg').html(msg).fadeIn();
        setTimeout(function(){
            $('#error_msg').fadeOut(1500);
        } , 1000);
    }

    // ajax post
    _this.ajaxpost = function(url , data){
        var ret = {};
        if(!_this.onajax){
            _this.onajax = true;
            $.ajax({
               url      : url,
               data     : data,
               type     : "POST",
               async    : false,
               dataType : 'json',
               success  : function(res){
                    ret =  res;
               }
            });
           _this.onajax = false;
        }else{
            alert('系统繁忙 , 请稍候再试 !');
        }
        return ret;
    }

    _window.RGX = _this;
})(window , $);

// document.ready
$(function(){

    $('#replybtn').bind('click' , function(){
        if($('#replydesc').val() == ''){
            RGX.showerror('请输入评论内容' , 'replydesc');
        }
        else{
            var res = RGX.ajaxpost($(this).attr('ajaxurl') , { 
                'desc'          : $('#replydesc').val()    ,
                'RGXTOKEN'      : $('#RGXTOKEN').val() 
            });
            if(res.code == '0'){
               top.location.reload();
            }else{
                RGX.showerror(res.msg);
            }
        }
    });
    
    $('#loginbtn').bind('click' , function(){
        var loginurl = $(this).attr('loginurl');
        // email
        if(!/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i.exec($('#uname').val())){
            RGX.showerror('请输入邮箱帐号' , 'uname');
        }
        else if($('#passwd').val() == ''){
            RGX.showerror('请输入密码' , 'passwd');
        }
        else{
            var res = RGX.ajaxpost($(this).attr('ajaxurl') , { 
                'user[uname]'   : $('#uname').val()    ,
                'user[passwd]'  : $('#passwd').val()   ,
                'RGXTOKEN'      : $('#RGXTOKEN').val() ,
                'ref'           : $('#login-ref').val() 
            });
            if(res.code == '0'){
               top.location.reload();
            }else{
                RGX.showerror(res.msg);
            }
        }
    });

    // 注册按钮点击
    $('#regbtn').bind('click' , function(){
        var loginurl = $(this).attr('loginurl');
        // email
        if(!/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i.exec($('#uname').val())){
            RGX.showerror('邮箱格式错误了' , 'uname');
        }
        else if($('#passwd').val() == ''){
            RGX.showerror('请输入密码' , 'passwd');
        }
        else if($('#passwd').val() != $('#passwd1').val()){
            RGX.showerror('两次密码不一致' , 'passwd1');
        }
        else if($('#nick').val() == ''){
            RGX.showerror('请输入昵称' , 'nick');
        }
        else if($('#verify').val() == ''){
            RGX.showerror('请输入验证码' , 'verify');
        }
        else{
            var res = RGX.ajaxpost($(this).attr('ajaxurl') , { 
                'user[uname]'   : $('#uname').val()     ,
                'user[passwd]'  : $('#passwd').val()    ,
                'user[passwd1]' : $('#passwd1').val()   ,
                'user[nick]'    : $('#nick').val()      ,
                'verify'        : $('#verify').val()
            });
            if(res.code == '0'){
                RGX.showerror('恭喜 , 注册成功 !');
                setTimeout(function(){
                    location.href = loginurl;
                } , 1500);
                
            }else{
                RGX.showerror(res.msg);
            }
        }
    });
});