﻿

//Implement related functions for member logining
var Login = {
    container: null, //reserve the container of form
    userName: '',
    loginSign: true,

    //Binding the WEB UI Object and Loading Data
    Init: function(containerobj) {
      
        Login.container = containerobj;

        $.ajaxSettings.async = false;

        //载入会员登陆表单
        Page.LoadPage('/JSHtml/LoginForm.htm', containerobj);
        $('.content').disableEnterPost();
        //禁用所有输入框的历史纪录显示
        $('input').attr("autocomplete", "off");

        //获取会员信息
        Login.LoadUserInfo();

        if (Login.userName != '') {
            //如果会员已登陆，则在表单中显示会员信息
            Login.ShowUserInfo();

        }
        else {
            //会员未登录，则显示表单信息；
            Login.LoadForm();
        }



        $.ajaxSettings.async = true;

    },

    //装载表单
    LoadForm: function() {

        //更改验证码
        Login.ChangeValidateCode();
    },


    //在表单出显示会员信息
    ShowUserInfo: function() {

        $.ajaxSettings.async = false;
        Page.LoadPage('/JSHtml/LoginSuccess.htm', Login.container);

        var MemberInfo = MemberCookie.getCookie();
        Login.userName = MemberInfo.userName;
        $('#UserName').html(MemberInfo.userName);
        $('#Amount').html(MemberInfo.amount + '星币');
        $('#TotalValue').html(MemberInfo.totalValue + ' 分');
        $('#LoginTime').html(MemberInfo.loginTime);

        $('#ChargeAnchor').attr('href', 'http://pay.517game.com/');
        $('#MemManageAnchor').attr('href', '/member/');
        $('#ChangePwdAnchor').attr('href', '/member/EditInfo_Pwd.htm');

        $.ajaxSettings.async = true;

    },

    //Get UserInfo if user logined
    LoadUserInfo: function() {

        var MemberInfo = MemberCookie.getCookie();
        if (MemberInfo != null)
            Login.userName = MemberInfo.userName;
        else
            Login.userName = '';
        /*
        $.getJSON('/ASHX/GetUserInfo.ashx?act=USERID', { rand: new Date() * 1 }, function(data) {
        Login.userName = data.username;
        });
        */
    },


    //注销登录
    Logout: function() {
    $.getJSON('/ASHX/GetUserInfo.ashx?act=LOGOUT', { rand: new Date() * 1 }, function(data) {
            if (data.code == 'ok') {
                MemberCookie.deleteCookie();
                Login.Init($('#loginForm'));
            }
        });

    },



    //更改验证码
    ChangeValidateCode: function() {
    $('#valImg').attr("src", "/ValidateCode.aspx?rnd=" + (new Date() * 1));
        $('#valImg').click(Login.ChangeValidateCode);
    },

    //绑定动态码验证
    CheckDynCode: function() {


        if ($('#ValidateCode').val().length <= 0) {
            $('#warning-code').html('请填入验证码');
            Login.loginSign = false;
        }
        else {
            $.getJSON('/ASHX/GetUserInfo.ashx?act=VALICODE&code=' + $('#ValidateCode').val(), { rand: new Date() * 1 }, function(data) {
                switch (data.code) {
                    case 'ok':
                        $('#warning-code').html('');
                        Login.loginSign = true;
                        break;

                    case 'err':
                        $('#warning-code').html(data.msg);
                        Login.ChangeValidateCode();
                        Login.loginSign = false;
                        break;
                }
            });

        }

    },

    //绑定用户名验证
    CheckUserName: function() {


        //验证用户名
        if ($('#UserName').val().length <= 0) {
            $('#warning-code').html('请填入账号');
            Login.loginSign = false;
        }
        else {
            $.getJSON('/ASHX/GetUserInfo.ashx?act=UN&un=' + $('#UserName').val(), { rand: new Date() * 1 }, function(data) {
                switch (data.code) {
                    case 'ok':
                        $('#warning-code').html('');
                        Login.loginSign = true;
                        break;

                    case 'err':
                        $('#warning-code').html(data.msg);
                        Login.loginSign = false;
                        break;
                }
            });

        }
    },

    CheckPassword: function() {

        //验证密码
        if ($('#Password').val().length <= 0) {
            $('#warning-code').html('请输入密码');
            Login.loginSign = false;
            return;
        }

        if ($('#Password').val().length < 6) {
            $('#warning-code').html('密码不足6位');
            Login.loginSign = false;
            return;
        }

    },



    //提交表单数据
    Submit: function() {
        $.ajaxSettings.async = false;

        Login.loginSign = true;

        if (Login.loginSign)
            Login.CheckUserName();

        if (Login.loginSign)
            Login.CheckPassword();

        if (Login.loginSign)
            Login.CheckDynCode();

        if (Login.loginSign) {

            $('#warning-code').html('正在登录...');
            //$('#LoginBtn').hide();



            $.post('/ASHX/MemLogin.ashx?act=LOGIN',
                { UserName: $('#UserName').val(),
                    ValidateCode: $('#ValidateCode').val(),
                    Password: Base64.encode($('#Password').val()),
                    VCode: $('#ValidateCode').val(),
                    rnd: (new Date() * 1)
                },

                function(data, status) {

                    if (data.code != 'ok') {
                        $('#warning-code').html(data.msg);
                      //  $('#LoginBtn').show();
                    }
                    else {
                        //显示会员信息
                        MemberCookie.deleteCookie();
                        MemberCookie.saveCookie(); //保存会员的基本信息到Cookie中
                        Login.ShowUserInfo();

                        //载入游戏服务器列表
                        Default.LoadServerList();
                    }
                },
                "json");

        }

        $.ajaxSettings.async = true;
    }


}


