﻿
var dvLogin_Flag = "dvLogin";

var dtInfoLogin_Flag = "dtInfoLogin";
var txtAccountLogin_Flag = "txtAccountLogin";
var txtPasswordLogin_Flag = "txtPasswordLogin";
var txtVerifyCodeLogin_Flag = "txtVerifyCodeLogin";
var imgVerifyCodeLogin_Flag = "imgVerifyCodeLogin";

var btnLogin_Flag = "btnLogin";
var dvWaitLogin_Flag = "dvWaitLogin";

var returnUrlByLogin = ""; //登录成功后的回传页面

function ShowLoginDiv(returnUrl, isShowInfo) {
    if (typeof (returnUrl) != "undefined" && trim(returnUrl) != "") {
        returnUrlByLogin = returnUrl;
    }

    //显示登录层
    ShowInfoObj(dvLogin_Flag);

    //设置提示信息栏的显示
    if (GetElem(dtInfoLogin_Flag) && isShowInfo) {
        GetElem(dtInfoLogin_Flag).style.display = "block";
    }
    else {
        GetElem(dtInfoLogin_Flag).style.display = "none";
    }

    SetFocus(txtAccountLogin_Flag);

    //    //注册管理类、工具类推荐控件
    //    if (typeof (RegisterRecommendbyTypes) == "function") {
    //        RegisterRecommendbyTypes();
    //    }
}

function IsNeedCheckInputByLogin() {
   // if (GetElem(dvLogin_Flag).style.display == "block") {
        return true;
//    }

//    return false;
}

function RemoveLoginDiv() {
    RemoveObj(dvLogin_Flag);
}

document.onkeydown = function(event) {
    var eve = document.all ? window.event : event;

    //回车
    if (eve.keyCode == 13) {
        if (IsNeedCheckInputByLogin()) {
            var b_login = GetElem(btnLogin_Flag);

            if (b_login) {
                SetFocus(btnLogin_Flag);
                b_login.click();

                return false;
            }
        }
        else {
            if (typeof (SelfOnkeydownEvent) == "function") {
                SelfOnkeydownEvent(event);
            }
            if (typeof (SelfOnkeydownEventForHeadSearch) == "function") {
                SelfOnkeydownEventForHeadSearch(event);
            }
            if (typeof (SelfOnkeydownEventForSearch) == "function") {
                SelfOnkeydownEventForSearch(event);
            }
            if (typeof (SelfOnkeydownEventForPageControl) == "function") {
                SelfOnkeydownEventForPageControl(event);
            }

            return false;
        }
    }
    //ESC
    else if (eve.keyCode == 27) {
        if (IsNeedCheckInputByLogin()) {
            ClearInput();
            RemoveLoginDiv();
        }
    }

    return true;
}

function KeyPress(event) {
    var evt = event || window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;

    if (charCode == 13) {
        return CheckInput();
    }

    return true;
}

//验证用户输入
function CheckInput() {
    if (trim(GetElem(txtAccountLogin_Flag).value) == "") {
        SetFocus(txtAccountLogin_Flag);
        return false;
    }

    if (trim(GetElem(txtPasswordLogin_Flag).value) == "") {
        SetFocus(txtPasswordLogin_Flag);
        return false;
    }

    if (trim(GetElem(txtVerifyCodeLogin_Flag).value) == "") {
        SetFocus(txtVerifyCodeLogin_Flag);
        return false;
    }

    return true;
}

//清空用户输入
function ClearInput() {
    GetElem(txtAccountLogin_Flag).value = "";
    GetElem(txtPasswordLogin_Flag).value = "";
    GetElem(txtVerifyCodeLogin_Flag).value = "";
    GetElem(dvWaitLogin_Flag).innerHTML = "";
    GetElem(imgVerifyCodeLogin_Flag).style.display = "none";
    returnUrlByLogin = "";
}

//用户登录
function BeginLogin() {
    if (CheckInput()) {
        var key = "$";

        var t_account = GetElem(txtAccountLogin_Flag);
        var t_password = GetElem(txtPasswordLogin_Flag);
        var t_verifyCode = GetElem(txtVerifyCodeLogin_Flag);
        var b_login = GetElem(btnLogin_Flag);
        var d_wait = GetElem(dvWaitLogin_Flag);

        if (t_account && t_password && t_verifyCode && b_login && d_wait) {
            b_login.style.display = "none";

            var str = "Login";
            str += key + trim(t_account.value);
            str += key + trim(t_password.value);
            str += key + trim(t_verifyCode.value);
            str += key + returnUrlByLogin;

            d_wait.innerHTML = "正在尝试登录，请稍候......";

            return str;
        }

        return "";
    }

    return "";
}

function EndLogin(arg) {
    try {
        var t_password = GetElem(txtPasswordLogin_Flag);
        var t_verifyCode = GetElem(txtVerifyCodeLogin_Flag);
        var b_login = GetElem(btnLogin_Flag);
        var d_wait = GetElem(dvWaitLogin_Flag);

        var argValue = trim(arg);
        if (!t_password || !t_verifyCode || !b_login || !d_wait || argValue == "") {
            alert("登录名或者密码错误，登录失败！");

            t_password.value = "";
            t_verifyCode.value = "";
            d_wait.innerHTML = argValue;

            SetFocus(txtAccountLogin_Flag);
            ShowTheVerifyCode(this, imgVerifyCodeLogin_Flag);

            b_login.style.display = "block";

            return;
        }

        if (argValue.indexOf("{returnUrl}:") >= 0) {
            d_wait.innerHTML = "验证登录信息成功，正在跳转页面，请稍候......";

            var args = argValue.split("{returnUrl}:");
            window.location.href = args[1];
        }
        else {
            t_password.value = "";
            t_verifyCode.value = "";
            d_wait.innerHTML = argValue;

            SetFocus(txtAccountLogin_Flag);
            ShowTheVerifyCode(this, imgVerifyCodeLogin_Flag);

            b_login.style.display = "block";
        }
    }
    catch (e) {
    }
}