﻿
//用户登录（登录层和首页登录控件使用） ZD 2010.7.16

var UserNameId = ""; //用户名控件Id
var PassWordId = ""; //密码控件Id
var CheckCodeId = ""; //验证码文本框Id
var DivMes = ""; //错误提示层Id
var DaysId = ""; //保存密码下拉列表Id
var ImgCodeName = ""; //验证码图片Id
var btnLoginId = ""; //登录按钮Id

var Login = {};
//获取参数
Login.GetArgs = function(userNameId, passWordId, checkCodeId, divMesId, daysId, imgCodeName, btnLogin) {
    UserNameId = $("#" + userNameId + "");
    PassWordId = $("#" + passWordId + "");
    CheckCodeId = $("#" + checkCodeId + "");
    DivMes = divMesId;
    if (daysId != "") {
        DaysId = $("#" + daysId + "");
    }
    ImgCodeName = imgCodeName;
    btnLoginId = btnLogin;
}
//切换验证码
Login.ChangeValidateCode = function() {
    $("img[name='" + ImgCodeName + "']").attr("src", "/CheckCode.aspx?r=" + Math.random());
}

//用户登录
Login.UserCheck = function() {
    //        if ((UserNameId.val() == "" || UserNameId.val() == "输入个人或企业帐号") && PassWordId.val() == "" && CheckCodeId.val() == "") {
    //        if ((UserNameId.val() == "" || UserNameId.val() == "输入个人或企业帐号") && PassWordId.val() == "") {
    //            ValidateInput(UserNameId, '输入个人或企业帐号');
    //            ValidateInput(PassWordId, '111111');
    //            ValidateInput(CheckCodeId, '右侧=>');
    //            Login.ChangeValidateCode();
    //            return;
    //        }
    var day = 0;
    if (DaysId != "") {
        day = DaysId.val(); //Session保存时间
    }
    var issave = 0;
    if ($("#validate").checked) {
        issave = 14;
    }
    var username = UserNameId.val();
    if (username == null || username == "undefined" || username == "") {
        username = '';
    }
    var password = PassWordId.val();
    if (password == null || password == "undefined" || password == "") {
        password = '';
    }
    var checkcode = CheckCodeId.val();
    if (checkcode == null || checkcode == "undefined" || checkcode == "") {
        checkcode = '';
    }
    var url = '/Support/UserLogin.aspx';
    var pars = 'UserName=' + encodeURI(username) + '&Password=' + password + '&CheckCode=' + checkcode + '&day=' + day + '&issave=' + issave;
    $.ajax({
        url: url,
        data: pars,
        dataType: 'json',
        cache: false,
        success: function(data) {
            if (data.IsLogin == 1) {//登录成功
                LoginLayer.IsClearCache = false;
                $("#div_LoginLayer").dialog("close"); //关闭登陆层
                switch (data.ActionName) {
                    //登录前保存的操作，登录后模拟点击，以保证登录前操作成功                                                                                           
                    case 'collect_shop': //店铺收藏
                        $("#aColl_" + data.ItemId).click();
                        break;
                    case 'collect_food': //菜品收藏
                        $("#aColl_" + data.ItemId).click();
                        break;
                    case "Food_agreeMsg": //菜品留言 支持
                        $("#aMsgAgree_" + data.ItemId).click();
                        break;
                    case "Food_againstMsg": //菜品留言 反对
                        $("#aMsgAgainst_" + data.ItemId).click();
                        break;
                    case "Shop_agreeMsg": //店铺留言 支持
                        $("#aMsgAgree_" + data.ItemId).click();
                        break;
                    case "Shop_againstMsg": //店铺留言反对
                        $("#aMsgAgainst_" + data.ItemId).click();
                        break;
                }

                isLoginSuccess = true;
                var _href = window.location.href;
                //                if (_href.indexOf('?') == -1)
                //                    window.location.href = _href + "?r=" + Math.floor(Math.random() * 1000);
                //                else if (_href.indexOf('r') == -1)
                //                    window.location.href = _href + "&r=" + Math.floor(Math.random() * 1000);
                //                else {
                //                    _href.replace(/r=\d+/g, Math.floor(Math.random() * 1000))
                //                    window.location.href = _href;
                //                }

                window.location.href = _href;
                if (hyperlinkChat != null) {
                    chat.SW.Check(hyperlinkChat, 500, 348)
                    hyperlinkChat = null;
                }
            }
            else {
                switch (data.ActionName) {
                    case 'checkCodeEmpty':
                        ShowMsg(DivMes, "验证码错误", btnLoginId);
                        $("#tip").removeClass();
                        $("#tip").addClass("area flotage-5");
                        Login.ChangeValidateCode();
                        $("#YZ").show();
                        break;
                    case 'noSiteUser':
                        ShowMsg(DivMes, "该用户名不存在", btnLoginId);
                        $("#tip").removeClass();
                        $("#tip").addClass("area flotage-4"); sd
                        Login.ChangeValidateCode();
                        break; uNameOrPswErr
                    case 'uNameOrPswErr':
                        //ShowMsg(DivMes, "用户名或密码错误", btnLoginId);
                        $("#tip").removeClass();
                        $("#tip").addClass("area flotage-4");
                        Login.ChangeValidateCode();
                        break;
                    case 'threeuNameOrPswErr':
                        ShowMsg(DivMes, "用户名或密码错误", btnLoginId);
                        $("#tip").removeClass();
                        $("#tip").addClass("area flotage-6");
                        $("#YZ").show();
                        Login.ChangeValidateCode();
                        break;
                    case 'threeuNameOrPswErr1':
                        $("#YZ").show();
                        Login.ChangeValidateCode();
                        break;
                }
            }
        },
        complete: function(originalRequest) {
            return;
            var result = originalRequest.responseText;
            if (result == '0') {
                ShowMsg(DivMes, "验证码错误", btnLoginId);
                $("#tip").removeClass();
                $("#tip").addClass("area flotage-5");
                Login.ChangeValidateCode();
            }
            else if (result == "1") {
                $("#div_LoginLayer").dialog("close");
                isLoginSuccess = true;
                var _href = window.location.href;
                if (_href.indexOf('?') == -1)
                    window.location.href = _href + "?r=" + Math.floor(Math.random() * 1000);
                else if (_href.indexOf('r') == -1)
                    window.location.href = _href + "&r=" + Math.floor(Math.random() * 1000);
                else {
                    _href.replace(/r=\d+/g, Math.floor(Math.random() * 1000))
                    window.location.href = _href;
                }
                if (hyperlinkChat != null) {
                    chat.SW.Check(hyperlinkChat, 500, 348)
                    hyperlinkChat = null;
                }
            }
            else if (result == "2") {
                isLoginSuccess = false;
                ShowMsg(DivMes, "用户名或密码错误，请重试。", btnLoginId);
                $("#tip").removeClass();
                $("#tip").addClass("area flotage-4");
                Login.ChangeValidateCode();
            }
            else if (result == "4") {
                isLoginSuccess = false;
                ShowMsg(DivMes, "用户名不存在。", btnLoginId);
                Login.ChangeValidateCode();
            }
            else {
                isLoginSuccess = false;
                ShowMsg(DivMes, "未知错误" + result, btnLoginId);
                Login.ChangeValidateCode();
            }
        }
    });
}

///登录层设置

var LoginLayer = {}
LoginLayer.IsClearCache = true;
LoginLayer.T = {};
LoginLayer.Init = function() {
    LoginLayer.T = new j.overLayer({ color: "#000" });
    //按回车登录
    $("#txt_checkcode").keydown(function(event) {
        if (event.which || event.keyCode) {
            if ((event.which == 13) || (event.keyCode == 13)) {
                $("#btn_logins").click();
                return false;
            }
        }
        else {
            return true
        }
    });
    $("#txt_uPwd").keydown(function(event) {
        if (event.which || event.keyCode) {
            if ((event.which == 13) || (event.keyCode == 13)) {
                $("#btn_logins").click();
                return false;
            }
        }
        else {
            return true
        }
    });
    $("#div_LoginLayer").dialog({ autoOpen: false,
        width: 406,
        //height: 246,
        title: "登录",
        resizable: false,
        modal: true,
        draggable: false,
        close: function() {
            //取消登录或关闭层清空缓存
            LoginLayer.T.hide();
            if (!LoginLayer.IsClearCache) {
                return;
            }
            $.ajax({
                url: "/PageHandler.ashx",
                data: "className=Utility&methodName=ClearCaChe",
                dataType: 'json',
                cache: false,
                success: function(data) {

                },
                error: function(data) {

                }
            });

        },
        open: function() {
            $.ajax({
                url: "/CheckCode.aspx?id=" + Math.random(),
                dataType: 'text',
                cache: false,
                success: function(data) {
                    $("#img_CheckCode").attr("src", "/CheckCode.aspx?id=" + Math.random());
                },
                error: function(data) {
                    $("#img_CheckCode").attr("src", "/CheckCode.aspx?id=" + Math.random());
                }
            });
        }
    });

    //初始化文本框的值
    $("#txt_uName").val("");
    $("#txt_uPwd").val("");
    $("#txt_checkcode").val("");
    //
    $("#a_login").click(function() {
        //显示
        Login.GetArgs('txt_uName', 'txt_uPwd', 'txt_checkcode', 'div_LoginMsg', '', 'imgname_CheckCode', 'btn_logins');
        LoginLayer.Show();
    });
    $("#b_login").click(function() {
        //显示
        Login.GetArgs('txt_uName', 'txt_uPwd', 'txt_checkcode', 'div_LoginMsg', '', 'imgname_CheckCode', 'btn_logins');
        LoginLayer.Show();
    });
    $("#c_login").click(function() {
        //显示
        Login.GetArgs('txt_uName', 'txt_uPwd', 'txt_checkcode', 'div_LoginMsg', '', 'imgname_CheckCode', 'btn_logins');
        LoginLayer.Show();
    });
    ///取消
    $("#btn_LogonCancel").click(function() {
        $("#div_LoginLayer").dialog("close");
    });
    //验证码
    //    $("#a_change_checkCode").click(function() { $("#img_CheckCode").attr("src", "../CheckCode.aspx?id=" + Math.random()) });
    $("#a_change_checkCode").click(function() { $("#img_CheckCode").attr("src", "/CheckCode.aspx?id=" + Math.random()) });
}


//弹出登录层
LoginLayer.Show = function() {
    LoginLayer.T.show();
    $("#div_LoginLayer").dialog("open");
    Login.UserCheck();
}

var isLoginSuccess = false;
var hyperlinkChat = null;
function CheckIsLoginSuccess(aaaa) {
    hyperlinkChat = aaaa;
    if (isLoginSuccess && chat.SW.Check(aaaa, 500, 348)) {
        return true;
    }
    else {
        return false;
    }
}

function CheckLogin() {
    $.ajax({
        url: "/PageHandler.ashx",
        data: "className=UserBase&methodName=CheckLogin",
        dataType: 'json',
        cache: false,
        async: false,
        success: function(data) {
            if (data == "False" || data == false) {
                isLoginSuccess = false;
                LoginLayer.Show();
            }
            else {
                isLoginSuccess = true;
            }
        },
        error: function(data) {
            isLoginSuccess = false;
        }
    });
}

$(document).ready(function() {
    ///登录层登录
    LoginLayer.Init();
    $("#btn_logins").click(function() {
        Login.GetArgs('txt_uName', 'txt_uPwd', 'txt_checkcode', 'div_LoginMsg', '', 'imgname_CheckCode', 'btn_logins');
        Login.UserCheck();
    });
    //首页登录
    $("#ALogins").click(function() {
        Login.GetArgs('TextUserName', 'TextPassword', 'tbCheckCode', 'LoginMsg', 'select_Savepwd', 'img_checkCode', 'ALogins');
        Login.UserCheck();
    })
    //首页登录控件 退出
    $("#loginOut1").click(function() {
        Login.LoginOut(true);
    })
    $("#loginOut2").click(function() {
        Login.LoginOut(true);
    })
    $("#loginOut3").click(function() {
        Login.LoginOut(true);
    })
    //首页登录框验证码设置
    //$("img[name='img_checkCode']").attr("src", "CheckCode.aspx?r=" + Math.random());
    $("img[name='img_checkCode']").attr("src", "/CheckCode.aspx?r=" + Math.random());
    $("#a_checkCode").click(function() {
        $("img[name='img_checkCode']").attr("src", '/CheckCode.aspx?id=' + Math.random());
    });
    //首页登录 回车触发事件
    $("#tbCheckCode").keydown(function(event) {
        if (event.which || event.keyCode) {
            if ((event.which == 13) || (event.keyCode == 13)) {
                $("#ALogins").click();
                return false;
            }
        }
        else {
            return true
        }
    });
})
//退出登录
Login.LoginOut = function(IsIndex) {
    var url = '/Support/LoginOut.aspx';
    $.ajax({
        url: url,
        dataType: 'text',
        cache: false,
        complete: function(originalRequest) {
            if (IsIndex) {
                window.location.href = "/";
            }
        }
    });
}
//首页登录空间 用户名文本框失去或得到焦点设置
Login.tbOnfocus = function() {
    if ($("#TextUserName").val() == "输入个人或企业帐号") {
        $("#TextUserName").val("");
        $("#TextUserName").removeAttr("style");
    };
}
Login.tbOnblur = function() {
    if ($("#TextUserName").val() == "") {
        $("#TextUserName").val("输入个人或企业帐号");
        $("#TextUserName").attr("style", "color: rgb(153, 153, 153);");
    }
    var str = $("#txt_uName").val();
    var strReg = new RegExp("^\\w+$");
    if (str.length <= 0) {
        $("#tip").removeClass();
        $("#tip").addClass("area flotage-1");
        $("txt_uName").focus();
        return false;
    }
    //    if (!strReg.test(str) || str == "") {
    //        $("#tip").removeClass();
    //        $("#tip").addClass("area flotage-1");
    //        $("txt_uName").focus();
    //        return false;
    //    }
}
Login.tbPassOnblur = function() {
    if ($("#txt_uPwd").val() == "") {
        $("#tip").removeClass();
        $("#tip").addClass("area flotage-3");
    }
}
//DHL 2010.07.17
//收藏
function ajaxaction(_this, name, itemId) {

    var btnId = $(_this).attr("id");
    $.ajax({
        url: "/Support/LoginInfo.aspx",
        data: "actionname=" + name + "&itemId=" + itemId,
        dataType: 'json',
        cache: false,
        async: false,
        success: function(data) {
            //未登录
            if (data.IsLogin == 0) {
                if (data.Message == 'unlogin') {
                    LoginLayer.Show();
                    return;
                }
            }
            else {
                switch (data.ActionName) {
                    case "collect_shop":
                        ShowMsg("div_aid" + data.ItemId, data.Message, btnId);
                        break;
                    case "collect_food":

                        ShowMsg("div_aid" + data.ItemId, data.Message, btnId);
                        break;
                    case "Food_agreeMsg":
                    case "Shop_agreeMsg":
                        if (data.Message == "") {
                            var num = parseInt($("#spanMsgAgree_" + data.ItemId).html());
                            num = num + 1;
                            $("#spanMsgAgree_" + data.ItemId).html(num);
                        }
                        else {
                            ShowMsg("div_aid" + data.ItemId, data.Message, btnId);
                        }
                        break;
                    case "Food_againstMsg":
                    case "Shop_againstMsg":
                        if (data.Message == "") {
                            var num = parseInt($("#spanMsgAgainst_" + data.ItemId).html());
                            num = num + 1;
                            $("#spanMsgAgainst_" + data.ItemId).html(num);
                        }
                        else {
                            ShowMsg("div_aid" + data.ItemId, data.Message, btnId);
                        }
                        break;
                    default:
                        break;
                }
            }
        },
        error: function(data) {
            alert(data.responseText);

        }
    });
}
