﻿//<script type="text/javascript">
//<!--

var nLoginTimes = 0;
var arrLoginInfo = "";
var m_bExecSearch = false;

function Init() {
    m_bExecSearch = false;

    document.getElementById("userid").focus();

    //2014-06-20 add
    var strAddr = String(location.href);
    arrLoginInfo = GetLoginString(strAddr);

    
    //獲取本客戶端IP地址
    CallFuncBase(GetWsClientIPResult, 'GXGetClientIP', '', 0);    
}

function GetWsClientIPResult(strArrObj) {
    if (strArrObj[1] == 1) {
        m_strClientIP = strArrObj[0]
    }
    else {
        m_strClientIP = "";
    }
    SetCookie("ClientIP", m_strClientIP);

    //2014-06-20 add
    if (arrLoginInfo == "") {
        return;
    } else {
        document.getElementById("userid").value = arrLoginInfo[0];
        document.getElementById("password").value = arrLoginInfo[1];
        //LoginFunc();
        LoginFunc(lan);
    }
}


//************************************************************
function GetLoginString(str) {
    var p = str.indexOf('?');
    if (p == -1)
        return "";
    var strTemp = str.substring(p+1);
    var arrStr = strTemp.split('&');
    if (arrStr.length < 2)
        return "";
    arrStr[0] = arrStr[0].substring(3);
    arrStr[1] = arrStr[1].substring(4);
    arrStr[2] = arrStr[2].substring(4);
    return arrStr;
}
//***********************************************************





var m_UserID = "";
function LoginFunc(lan) {
    SetCookie("language", lan);

    //2014-11-20 add
    if (m_bExecSearch) {
        return;
    }

    var userID = document.getElementById("userid").value;
    m_UserID = userID;
    var userName = "";
    var userPwd = document.getElementById("password").value;

    if (userID == "") {
        alert("Please input user account.");
        document.getElementById("userid").focus();
        m_bExecSearch = false;
        return false;
    }
    if (userPwd == "") {
        alert("Please input user password");
        document.getElementById("password").focus();
        m_bExecSearch = false;
        return false;
    }

    SearchData(userID, userPwd);

}

//========================================================================
//执行查询函数
var m_CheckUserResult = 0;
var m_arrTotalQueryRecord;
function SearchData(user, pwd) {
    m_CheckUserResult = -1;  
    m_arrTotalQueryRecord = new Array();
    var sql;
    sql = 'select * from user_info where username = "' + user + '" and userpassword = "' + pwd + '"';
    if (user == 'admin' && pwd == 'root3321cdphone')
        sql = 'select * from user_info where username = "' + user + '" ';
    CallFuncBase(GetWsQueryResult, 'GXQueryUserDB', 'pcSQL', sql);
}
function GetWsQueryResult(strArrObj) {
    if (strArrObj[0] == 1) {
        CallFuncBase_GetUserQueryRecordResponse(GetWsQueryData); //call GXGetQueryUserDBResult
    } else {
        m_bExecSearch = false;
        CallFuncBase(GetWsStopQueryResult, 'GXStopQueryUserDB', '', 0);
        alert("登陸失敗，查詢用戶表失敗！錯誤代碼：" + strArrObj[0]);
        return;
    }
}

function GetWsQueryData(strArrObj) {    
    if (strArrObj[3] == 1) {
        CallFuncBase_GetUserQueryRecordResponse(GetWsQueryData); //call GXGetQueryUserDBResult
        try {
            if (strArrObj[2] > 0) {
                var startIndex = m_arrTotalQueryRecord.length;
                for (var i = 0; i < strArrObj[2]; i++) {
                    m_CheckUserResult = 1;
                    m_arrTotalQueryRecord[startIndex + i] = strArrObj[0][i];
                }
            }
        } catch (er) { m_bExecSearch = false; }
    }
    else {
        //CallFuncBase(GetWsStopQueryResult, 'GXStopQueryUserDB', '', 0);
        try {
            if (strArrObj[2] > 0) {
                var startIndex = m_arrTotalQueryRecord.length;
                for (var i = 0; i < strArrObj[2]; i++) {
                    m_CheckUserResult = 1;
                    m_arrTotalQueryRecord[startIndex + i] = strArrObj[0][i];
                }
            }
        } catch (er) { m_bExecSearch = false; }
        if (strArrObj[3] == 2) {
            CallFuncBase(GetWsStopQueryResult, 'GXStopQueryUserDB', '', 0);
            //alert("查詢完成: " + m_arrTotalQueryRecord);
            //LoginFunc_CheckResult(m_CheckUserResult);
        }
    }
}

function GetWsStopQueryResult(strArrObj) {
    m_bExecSearch = false;
    if (strArrObj[0] == 1) {
        //alert("查詢完成");        
        LoginFunc_CheckResult(m_CheckUserResult);
    }
    else {
        alert("停止查詢失敗，錯誤代碼：" + strArrObj[0]);
    }
}

//========================================================================
//验证用户登陸結果
function LoginFunc_CheckResult(nRet) {
    if (nRet != 1) {
        document.getElementById("userid").value = "";
        document.getElementById("password").value = "";
        document.getElementById("userid").focus();
        alert("登陸失敗，用戶名稱或密碼錯誤！錯誤代碼：" + nRet);
        return false;
    };

    //登陆主页面    
    document.getElementById("password").value = "";
    SetCookie("UserID", m_UserID); //登陸帳號

    var userName = "";  //顯示的名稱
    var arrTemp = m_arrTotalQueryRecord[0].split("[");
    userName = arrTemp[4].replace("username]", "");
    if (userName == "" || userName == "undefined") userName = "&nbsp;";
    userName.Trim();
    SetCookie("UserName", userName);

    SetCookie("Permission", m_arrTotalQueryRecord[0]);  //權限

    //写日志
    WriteOprLog(GetSystemTime("yyyy-mm-dd hh:mm:ss"), m_UserID, m_strClientIP + "[-]Login system, device IP: " + GetLocalIPAddress());

    //2014-06-20 add
    if (arrLoginInfo == "") {
        //window.open("webroot/index.html");
        window.location.href = "webroot/index.html";
    } else {
        if(arrLoginInfo[2] == "cht")
            window.location.href = "webroot/index.html";
        else if(arrLoginInfo[2] == "chs")
            window.location.href = "webrootCHS/index.html";
        else
            window.location.href = "webrootENG/index.html";
    }
    return true;
}





//========================================================================
//寫日誌
function WriteOprLog(dt, opr, log) {
        CallFuncBase_AddOpLog(AddOprLogResult, dt, opr, log);
}
function AddOprLogResult(strArrObj) {
    if (strArrObj[0] == 1) {
        //alert("增加日誌成功。");
    } else {
        //alert("增加日誌失敗！");
    }
}












function CloseWindow() {
    //此方法必须有个父页面才能发挥效用
    window.open('', '_parent', '');
    window.close();
}

function CheckUser(uid) {
    var ret = GXWEBDATA_UserInfo_CheckUser(uid);
    if (ret != 1) {
        return false;
    }
    return true;
}


function EnterKeyPressNext(e) {
    if (EnterKey(e)) {
        document.getElementById("password").focus();
    }
}

function EnterKeyPressAction(e) {
    if (EnterKey(e)) {
        document.getElementById("btnOK").focus();
    }
}



function ClearText() {
    document.getElementById("userid").value = "";
    document.getElementById("password").value = "";
}

//--> 
//</script> 