VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/tech_preview/hr/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/html/tech_preview/hr/task.js
"use strict";
window.task = {};
window.database = {};
window.language = "VN";
window.prefixhome;

window.setCookie = function(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
    console.log(cname + "=" + cvalue + ";" + expires + ";path=/");
    console.log(document);
};

window.getCookie = function(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
};

task.submitLogin2 = function() {
    var x = document.getElementById("username_input");
    var y = document.getElementById("password_input");
    if ((x.value.trim() == "") || (y.value.trim() == "")) {
        ModalElement.alert({
            message: task.getLanguage("username_pass_is_empty")
        });
        return;
    }
    ModalElement.show_loading();
    FormClass.api_call({
        url: "hr_safelogin.php",
        params: [
            {name: "username", value: x.value.trim()},
            {name: "password", value: y.value.trim()},
            {name: "language", value: window.language}
        ],
        func: function(success, message){
            ModalElement.close(-1);
            if (success){
                if (message.substr(0, 2) == "ok"){
                    var st = EncodingClass.string.toVariable(message.substr(2));
                    window.session = EncodingClass.string.fromVariable(st.session);
                    systemconfig.prefix = st.prefix;
                    localStorage.setItem("hr_domain", window.domainHome);
                    var cookvalueString = md5("KOH + HCl = KCL + H2O" + (new Date()).getTime());
                    setCookie("hr_user", cookvalueString, 3000);
                    console.log("setCookie done!");
                    FormClass.api_call({
                        url: "hr_newlogin_save.php",
                        params: [
                            {name: "localString", value: "hr_" + window.userToken},
                            {name: "cookvalueString", value: cookvalueString}
                        ],
                        func: function(success, message){
                            console.log(message);
                            if (success){
                                if (message.substr(0,2) == "ok"){
                                    task.loadDatabase();
                                }
                                else {
                                    ModalElement.alert({message: message});
                                }
                            }
                            else {
                                ModalElement.alert({message: message});
                            }
                        }
                    });
                }
                else {
                    switch (message) {
                        case "password_incorrect":
                            document.getElementById("password_input").value = "";
                            ModalElement.alert({
                                message: task.getLanguage("password_incorrect"),
                                func: function(){
                                    document.getElementById("password_input").focus();
                                }
                            });
                            break;
                        case "logged":
                            ModalElement.alert({
                                message: task.getLanguage("logged"),
                                func: function(){
                                    task.loadDatabase();
                                }
                            });
                            break;
                        case "user_not_available":
                            ModalElement.alert({
                                message: task.getLanguage("user_not_available")
                            });
                            break;
                        case "username_incorrect":
                            ModalElement.alert({
                                message: task.getLanguage("username_incorrect"),
                                func: function(){
                                    document.getElementById("username_input").focus();
                                }
                            });
                            break;
                        case "failed_service":
                            ModalElement.alert({
                                message: task.getLanguage("failed_service")
                            });
                            break;
                        default:
                            ModalElement.alert({
                                message: message
                            });
                            break;
                    }
                }
            }
            else {
                ModalElement.alert({
                    message: message
                });
            }
        }
    });
};

task.submitLogin = function() {
    var x = document.getElementById("username_input");
    var y = document.getElementById("password_input");
    if ((x.value.trim() == "") || (y.value.trim() == "")) {
        ModalElement.alert({
            message: task.getLanguage("username_pass_is_empty")
        });
        return;
    }
    var code = document.getElementById("domain_input").value;
    if (code == "lab") FormClass.prefix = "https://lab.daithangminh.vn";
    else FormClass.prefix = "https://keeview.com";
    ModalElement.show_loading();
    FormClass.api_call({
        url: "check_company.php",
        params: [
            {
                name: "code",
                value: code
            },
            {
                name: "service",
                value: "hr"
            }
        ],
        func: function(success, message){
            if (success) {
                if (message.substr(0, 2) == "ok"){
                    var domain;
                    if (code == "lab") domain = "https://lab.daithangminh.vn/home_co";
                    else domain = "https://keeview.com/" + code;
                    window.domainHome = domain;
                    window.domain = domain + "/hr/";
                    FormClass.prefix = window.domain;
                    window.domainCompany_logo = window.domain + "../company_logo/";
                    var logoNew = message.substr(2);
                    if (logoNew == "") logoNew = "";
                    else logoNew = window.domainCompany_logo + logoNew;
                    var logoCompany = localStorage.getItem("hr_logo_company");
                    if ((logoCompany === null) || (logoCompany === undefined)) {
                        logoCompany = [];
                    }
                    else {
                        logoCompany = EncodingClass.string.toVariable(logoCompany);
                    }
                    var ex = 0;
                    for (var i = 0; i < logoCompany.length; i++){
                        if (logoCompany[i].code == code){
                            logoCompany[i].link = logoNew;
                            ex = 1;
                        }
                    }
                    if (ex == 0){
                        logoCompany.push({
                            code: code,
                            link: logoNew
                        });
                    }
                    localStorage.setItem("hr_logo_company", EncodingClass.string.fromVariable(logoCompany));
                    task.submitLogin2();
                }
                else if (message == "failed 1") {
                    ModalElement.alert({
                        message: "Mã khách hàng không đúng, vui lòng nhập lại"
                    });
                }
                else if (message == "failed 2") {
                    ModalElement.alert({
                        message: "Lỗi hệ thống dịch vụ!"
                    });
                }
                else if (message == "failed 3") {
                    ModalElement.alert({
                        message: "Dịch vụ chưa đăng kí hoặc đã hết hạn"
                    });
                }
                else {
                    ModalElement.alert({
                        message: message
                    });
                }
            }
            else {
                ModalElement.alert({
                    message: message
                });
            }
        }
    });
};

task.loadDatabase = function () {
    if (!ModalElement.isReady()) {
        setTimeout("task.loadDatabase();", 10);
        return;
    }
    var d = new Date();
    var timezone_offset = d.getTimezoneOffset();
    FormClass.api_call({
        url: "loaddb.php",
        params: [{name: "timezone_offset", value: timezone_offset}],
        func: function(success, message) {
            if (success) {
                if (message.substr(0, 2) == "ok") {
                    var i, serviceid, companyid;
                    var st = EncodingClass.string.toVariable(message.substr(2));
                    database.services = {};
                    database.services.items = st.services;
                    database.services.getIndex = function(id){
                        for (i = 0; i < database.services.items.length; i++){
                            if (database.services.items[i].id == id) return i;
                        }
                        return -1;
                    }
                    for (i = 0; i < database.services.items.length; i++){
                        switch (database.services.items[i].name) {
                            case "tit_home_bsc":
                                database.services.items[i].subDNS = "bsc";
                                database.services.items[i].srcimg = window.originHost + "/general_images/Logo_Bsc2Kpi_H_50.png";
                                database.services.items[i].srcimgDisabled = window.originHost + "/general_images/Logo_Bsc2Kpi_Disabled_H_50.png";
                                database.services.items[i].srclink = "http://www.bsc2kpi.com";
                                break;
                            case "tit_home_card":
                                database.services.items[i].subDNS = "carddone";
                                database.services.items[i].srcimg = window.originHost + "/general_images/Logo_CardDone_H_50.png";
                                database.services.items[i].srcimgDisabled = window.originHost + "/general_images/Logo_CardDone_Disabled_H_50.png";
                                database.services.items[i].srclink = "http://www.bsc2kpi.com";
                                break;
                            case "tit_home_salary":
                                database.services.items[i].subDNS = "salary";
                                database.services.items[i].srcimg = window.originHost + "/general_images/Logo_SalaryTek_H_50.png";
                                database.services.items[i].srcimgDisabled = window.originHost + "/general_images/Logo_SalaryTek_Disabled_H_50.png";
                                database.services.items[i].srclink = "http://www.salarytek.com";
                                break;
                            case "tit_home_hr":
                                database.services.items[i].subDNS = "hr";
                                database.services.items[i].srcimg = window.originHost + "/general_images/Logo_HR_H_50.png";
                                database.services.items[i].srcimgDisabled = window.originHost + "/general_images/Logo_HR_Disabled_H_50.png";
                                database.services.items[i].srclink = "http://www.salarytek.com";
                                serviceid = database.services.items[i].id;
                                break;
                            case "tit_home_forms":
                                database.services.items[i].subDNS = "forms";
                                database.services.items[i].srcimg = window.originHost + "/general_images/Logo_Forms_H_50.png";
                                database.services.items[i].srcimgDisabled = window.originHost + "/general_images/Logo_Forms_Disabled_H_50.png";
                                database.services.items[i].srclink = "http://www.forms.com";
                                break;
                            default:

                        }
                    }
                    database.register = {};
                    database.register.items = st.register;
                    database.register.getIndex = function(id){
                        for (i = 0; i < database.register.items.length; i++){
                            if (database.register.items[i].id == id) return i;
                        }
                        return -1;
                    }
                    database.register.items.sort(function(a,b){
                        return database.services.getIndex(a.serviceid) - database.services.getIndex(b.serviceid);
                    });
                    database.company = {};
                    database.company = st.company;
                    companyid = st.company.id;
                    if (database.company.config == ""){
                        database.company.address = "";
                        database.company.logo = "";
                        database.company.website = "";
                        database.company.email = "";
                        hr.default_theme = "theme-red";
                        hr.default_language = "VN";
                    }
                    else {
                        database.company.config = EncodingClass.string.toVariable(database.company.config);
                        database.company.logo = database.company.config.logo;
                        if (database.company.config.theme !== undefined){
                            if (database.company.config.theme != 0) hr.default_theme = database.company.config.theme;
                            hr.default_language = database.company.config.language;
                        }
                        else {
                            hr.default_theme = "theme-red";
                            hr.default_language = "VN";
                        }
                    }

                    //systemconfig
                    systemconfig.userid = st.dataUser.homeid;
                    systemconfig.username = st.dataUser.username;
                    systemconfig.fullname = st.dataUser.fullname;
                    systemconfig.available = st.dataUser.available;
                    systemconfig.serviceid = serviceid;
                    systemconfig.companyid = companyid;
                    systemconfig.privSystem = st.dataUser.privilege;

                    if (window.isApp){
                        window.domainUser_avatars = window.domain + "../user_avatars/";
			            window.domainCompany_logo = window.domain + "../company_logo/";
			            window.domainFiles = window.domain + "files/";
			            window.domainMails = window.domain + "mails/";
			            window.domainFilesCD = window.domain + "../carddone/uploads/files/";
			            window.domainImagesCD = window.domain + "../carddone/uploads/images/";
                        if (window.domainHome == "https://lab.daithangminh.vn/home_co"){
                            var clientcode = "tpn1";
                            window.client_code = "home_co";
                        }
                        else {
                            window.client_code = window.domainHome.split('/').pop();
                            clientcode = window.domainHome.split('/').pop();
                        }
                        console.log(client_code);
                        FormClass.api_call({
			                url: window.domain + "flexdb_init.php",
			                params: [],
			                func: function (success, message) {
			                    if (success) {
			                        if (message.substr(0, 2) == "ok") {
			                            var r = EncodingClass.string.toVariable(message.substr(2));
                                        console.log(r);
			                            if (r.result) {
			                                flexDB.connect({
			                                    host: window.domain,
			                                    dbname: "hr_" + client_code,
			                                    token: r.token,
			                                    func: function (success, connector) {
                                                    console.log(success, connector);
			                                        console.log("connect to flexdb: " + success);
			                                        if (success) window.fconnector = connector;
			                                        else window.fconnector = null;
			                                    }
			                                });
			                                return;
			                            }
			                            else {
			                                console.log("can not init flexdb (denied)", r);
			                                return;
			                            }
			                        }
			                    }
                                else {
                                    window.fconnector = null;
                                    console.log("can not init flexdb, (" + message + ")");
                                }
			                }
			            });
						window.domainUser_avatarsNew = "https://storage.keeview.com/" + clientcode + "/user_avatars/";
			            window.domainCompany_logoNew = "https://storage.keeview.com/" + clientcode + "/company_logo/";
			            window.domainFilesNew = "https://storage.keeview.com/" + clientcode + "/hr/files/";
			            window.domainMailsNew = "https://storage.keeview.com/" + clientcode + "/hr/mails/";
			            window.domainGroup_avatars = "https://storage.keeview.com/" + clientcode + "/hr/group_avatars/";
                        createConnectorFile();
                    }

                    if (st.dataUser.avatar !== ""){
                        systemconfig.user_avatars = st.dataUser.homeid + "_" + st.dataUser.avatar;
                        systemconfig.user_avatars = window.domainUser_avatarsNew + systemconfig.user_avatars;
                    }
                    else {
                        if (systemconfig.connectorFile){
                            systemconfig.user_avatars = window.domainUser_avatarsNew + "default.svg";
                        }
                        else {
                            systemconfig.user_avatars = window.domainUser_avatars + "avatar-default.png";
                        }
                    }
                    systemconfig.language = st.dataUser.language;
                    systemconfig.theme = st.dataUser.theme;
                    systemconfig.font_level = st.dataUser.font_level;
                    if (systemconfig.font_level == 0) systemconfig.font_level = 1;
                    if (hr.isMobile){
                        systemconfig.styleConfig = new absol.DynamicCSS();
                        var fontSize = absol.getSystemFontSize();
                        systemconfig.styleConfig.setRule(':root', {
                            "--body-height": "100%",
                            "--font-size-text-input": fontSize*(16/14) + "px",
                            "--font-size-label": fontSize + "px",
                            "--font": fontSize + "px \"Helvetica Neue\",Helvetica,Arial,sans-serif",
                            "--font-size-title": fontSize + "px",
                            "--font-weight-title": "bold",
                            "--font-size-table-header": fontSize*(12/14) + "px",
                            "--font-weight-table-header": "bold",
                            "--control-height": fontSize*(30/14) + "px",
                            "--control-verticle-distance-1": "5px",
                            "--control-horizontal-distance-1": "5px",
                            "--control-verticle-distance-2": "10px",
                            "--control-horizontal-distance-2": "10px",
                            "--control-border": "1px solid #d6d6d6",
                            "--control-border-alert": "1px solid red",
                            "--switch-fontsize": fontSize*(18/14) + "px",
                            "--modal-margin-top": "80px",
                            "--modal-boder-radius": "8px",
                            "--header-bar-background": "#efefef",
                            "--header-bar-color": "black",
                            "--a-color": "#1464f6",
                            "--disabled-backgroudcolor": "#ebebe4",
                            "--tab-padding": "20px",
                            "--tab-padding-top": "20px",
                            "--tab-padding-left": "20px",
                            "--tab-padding-right": "20px",
                            "--searchbox-width": "calc(100vw - var(--tab-padding-left) - var(--tab-padding-right))",
                            "--button-height": fontSize*(30/14) + "px",
                            "--button-min-width": "110px",
                            "--button-round-coner": "3px",
                            "--button-border": "1px solid #c0c0c0",
                            "--button-background-color_1": "#ebebeb",
                            "--button-background-color_2": "#d6d6d6",
                            "--button-background-color_3": "#c9f1fd",
                            "--button-background-color_4": "#91e4fb",
                            "--button-title-font-size": fontSize*(12/14) + "px",
                            "--button-title-font-weight": "bold",
                            "--icon-fontsize": fontSize*(20/14) + "px",
                            "--icon-fontsize-cover": fontSize*(30/14) + "px",
                            "--icon-background-cover-hover": "#91e4fb",
                            "--icon-horizontal-distance": "20px",
                            "--icon-remove-background-cover-hover": "red",
                            "--icon-remove-color-hover": "white",
                            "--table-title-font-size": fontSize*(12/14) + "px",
                            "--table-title-font-weight": "bold",
                            "--table-first-row-color": "xxx",
                            "--table-odd-row-color": "white",
                            "--table-even-row-color": "#f7f6f6",
                            "--table-last-row-color": "xxx",
                            "--table-row-distance": "10px",
                            "--table-background-color": "#f7f6f6",
                            "--table-edit-background-color": "xxx",
                            "--table-view-background-color": "#f7f6f6",
                            "--table-disable-background-color": "xxx",
                            "--table-row-height": fontSize*(40/14) + "px",
                            "--table-row-boder-size": "0px",
                            "--table-row-boder-color": "xxx",
                            "--chat-bar-col-width": "60px",
                            "--chat-desktop-list-message-width": "360px",
                            "--chat-desktop-gallery": "340px",
                            "font": "var(--font)"
                        });
                        systemconfig.styleConfig.commit();
                    }
                    if (window.isApp) init();
                    else task.loadSelfWelcomeData();
                }
                else if (message.startsWith("not_logged_in")) {
                    ModalElement.show_loading();
                    FormClass.api_call({
                        url: "hr_login_quick.php",
                        params: [
                            {
                                name: "jughgfhjh",
                                value: "hr_" + window.userToken
                            }
                        ],
                        func: function (success, message) {
                            ModalElement.close(-1);
                            if (success) {
                                if (message.substr(0, 2) == "ok") {
                                    var st = EncodingClass.string.toVariable(message.substr(2));
                                    window.session = EncodingClass.string.fromVariable(st.session);
                                    systemconfig.prefix = st.prefix;
                                    task.loadDatabase();
                                }
                                else {
                                    task.showLoginBox();
                                }
                            }
                            else {
                                task.showLoginBox();
                            }
                        }

                    });
                }
                else {
                    ModalElement.alert({
                        message: message,
                        func: function () {
                            setTimeout("task.loadDatabase();", 10);
                        }
                    });
                }
            }
            else {
                ModalElement.alert({
                    message: message,
                    func: function () {
                        setTimeout("task.loadDatabase();", 10);
                    }
                });
            }
        }
    });
};
task.loadSelfWelcomeData = function(){
    FormClass.api_call({
        url: "database_load.php",
        params: [
            {name: "task", value: 'load_self_welcome_data'}
        ],
        func: function(success, message){
            if (success){
                if (message.substr(0, 2) == 'ok'){
                    var content = EncodingClass.string.toVariable(message.substr(2));
                    database.onboarding = content.onboarding;
                    if (database.onboarding.length > 0){
                        content.template[0].welcome = EncodingClass.string.toVariable(content.template[0].welcome);
                        content.template[0].introduction = EncodingClass.string.toVariable(content.template[0].introduction);
                        content.template[0].policy = EncodingClass.string.toVariable(content.template[0].policy);
                        content.template[0].work = EncodingClass.string.toVariable(content.template[0].work);
                        content.template[0].usermanual = EncodingClass.string.toVariable(content.template[0].usermanual);
                        content.template[0].finish = EncodingClass.string.toVariable(content.template[0].finish);
                        content.template[0].extrainfo = EncodingClass.string.toVariable(content.template[0].extrainfo);
                        database.template = content.template;
                    }
                    init();
                }
                else {
                    ModalElement.alert({
                        message: message,
                        func: function () {
                            setTimeout("task.loadSelfWelcomeData();", 10);
                        }
                    });
                }
            }
            else {
                ModalElement.alert({
                    message: message,
                    func: function () {
                        setTimeout("task.loadSelfWelcomeData();", 10);
                    }
                });
            }
        }
    })
};

task.getLanguage = function(text, value2){
    switch (language) {
        case "VN":
            switch (text) {
                case "login_your_account":
                    text = "Đăng nhập vào tài khoản của bạn";
                    break;
                case "username":
                    text = "Tên đăng nhập";
                    break;
                case "password":
                    text = "Mật khẩu";
                    break;
                case "forgot_password":
                    text = "Quên mật khẩu?";
                    break;
                case "rememberme":
                    text = "Duy trì đăng nhập";
                    break;
                case "login":
                    text = "Đăng nhập";
                    break;
                case "old_password":
                    text = "Mật khẩu cũ";
                    break;
                case "first_login":
                    text = "Đây là lần đăng nhập đầu tiên, vui lòng đổi mật khẩu của bạn để đảm bảo tính bảo mật.";
                    break;
                case "new_password":
                    text = "Mật khẩu mới";
                    break;
                case "confirm_password":
                    text = "Xác nhận mật khẩu";
                    break;
                case "username_pass_is_empty":
                    text = "Tên đăng nhập và mật khẩu không được để trống!";
                    break;
                case "password_incorrect":
                    text = "Mật khẩu không đúng";
                    break;
                case "logged":
                    text = "Tài khoản này đã được đăng nhập";
                    break;
                case "user_not_available":
                    text = "Tài khoản này đã ngừng hoạt động, để biết thêm chi tiết, vui lòng liên hệ ban quản trị";
                    break;
                case "username_incorrect":
                    text = "Tên đăng nhập không đúng";
                    break;
                case "failed_service":
                    text = "Bạn không được quyền truy cập dịch vụ này";
                    break;
                case "password_not_match":
                    text = "Xác nhận mật khẩu không khớp";
                    break;
                case "save":
                    text = "Lưu";
                    break;
                case "send":
                    text = "Gửi";
                    break;
                case "email_invalid":
                    text = "Email không hợp lệ";
                    break;
                case "invalid":
                    text = "không hợp lệ";
                    break;
                case "reinput_email":
                    text = "Nhập lại email";
                    break;
                case "not_existed_email":
                    text = "Không tồn tại email " + value2 + " trong hệ thống."
                    break;
                case "type_your_email":
                    text = "Nhập địa chỉ email của bạn."
                    break;
                case "please_type_your_email":
                    text = "Vui lòng nhập email của bạn"
                    break;
                case "resend":
                    text = "Gửi lại"
                    break;
                case "An_email_with_link_has_been_sent_to_the_address":
                    text = "Một email với đường link đã được gửi tới địa chỉ"
                    break;
                case "please_check_the_inbox_and_click_the_link_provided_to_reset_password":
                    text = "bạn vui lòng kiểm tra hộp thư và nhấp chuột vào đường link này để thiết lập lại mật khẩu."
                    break;
                case "If_you_don't_find_an_email_in_the_Inbox,_please_check_Junk_mail_box,_Spam_mail_box":
                    text = "Nếu không thấy email trong Inbox, bạn kiểm tra trong hộp thư Junk mail, spam mail hoặc hộp thư mail rác."
                    break;
                case "If_you_still_don't_receive_the_email,_please_click_the_button_below_to_resend_email":
                    text = "Nếu vẫn không thấy email bạn có thể yêu cầu gửi lại email."
                    break;
                case "click_login":
                    text = "Trình duyệt sẽ chuyển sang trang \"Đăng nhập \" trong 5 giây.  Click ";
                    break;
                case "here":
                    text = "vào đây";
                    break;
                case "if_wait_long_time":
                    text = " nếu bạn cảm thấy đợi lâu.";
                    break;
                case "link_expired":
                    text = "Link để thay đổi mật khẩu đã hết hạn, bạn nhập lại email để thay đổi mật khẩu";
                    break;
                case "domain":
                    text = "Link";
                    break;
                case "customer_code":
                    text = "Mã khách hàng";
                    break;

            }
            break;
        case "EN-US":
            switch (text) {
                case "login_your_account":
                    text = "Login to your account";
                    break;
                case "username":
                    text = "Username";
                    break;
                case "password":
                    text = "Password";
                    break;
                case "forgot_password":
                    text = "Forgot password?";
                    break;
                case "rememberme":
                    text = "Keep me signed in";
                    break;
                case "login":
                    text = "Login";
                    break;
                case "old_password":
                    text = "Old password";
                    break;
                case "first_login":
                    text = "Please change your password upon first time login for security";
                    break;
                case "new_password":
                    text = "New password";
                    break;
                case "confirm_password":
                    text = "Confirm password";
                    break;
                case "username_pass_is_empty":
                    text = "Username and password can not left blank!";
                    break;
                case "password_incorrect":
                    text = "Password is incorrect";
                    break;
                case "logged":
                    text = "Account was logged";
                    break;
                case "user_not_available":
                    text = "This account has been deactived, for more information, please contact admin";
                    break;
                case "username_incorrect":
                    text = "Username is incorrect";
                    break;
                case "failed_service":
                    text = "failed_service";
                    break;
                case "password_not_match":
                    text = "Password not match";
                    break;
                case "save":
                    text = "Save";
                    break;
                case "send":
                    text = "Send";
                    break;
                case "email_invalid":
                    text = "Invalid email format";
                    break;
                case "invalid":
                    text = "invalid";
                    break;
                case "reinput_email":
                    text = "Retype email";
                    break;
                case "not_existed_email":
                    text = "Email " + value2 + " does not exist in the system."
                    break;
                case "resend":
                    text = "Resend"
                    break;
                case "An_email_with_link_has_been_sent_to_the_address":
                    text = "An email with link has been sent to the address"
                    break;
                case "please_check_the_inbox_and_click_the_link_provided_to_reset_password":
                    text = "please check the inbox and click the link provided to reset password."
                    break;
                case "If_you_don't_find_an_email_in_the_Inbox,_please_check_Junk_mail_box,_Spam_mail_box":
                    text = "If you don't find an email in the Inbox, please check Junk mail box, Spam mail box."
                    break;
                case "If_you_still_don't_receive_the_email,_please_click_the_button_below_to_resend_email":
                    text = " If you still don't receive the email, please click the button below to resend email."
                    break;
                case "click_login":
                    text = "The browser will direct to page \"Login\" in 5 seconds. Click ";
                    break;
                case "here":
                    text = "here";
                    break;
                case "if_wait_long_time":
                    text = " if you do not want to wait.";
                    break;
                case "link_expired":
                    text = "Link to change password has expired. Please re-enter your email to change password.";
                    break;
                case "customer_code":
                    text = "Customer code";
                    break;

            }
            break;

    }
    return text;
};

task.showLoginBox = function(){
    DOMElement.removeAllChildren(window.holderMain);
    var logoCompany = localStorage.getItem("hr_logo_company");
    if ((logoCompany === null) || (logoCompany === undefined)) {
        logoCompany = [];
    }
    else {
        logoCompany = EncodingClass.string.toVariable(logoCompany);
    }
    var logo_hint_ctn = DOMElement.div({
    });
    var logo_hint_elt;
    for (var i = 0; i < logoCompany.length; i++){
        if (logoCompany[i].link != ""){
            logo_hint_elt = DOMElement.div({
                attrs: {
                    style: {
                        width: "40px",
                        height: "40px",
                        border: "var(--control-border)",
                        overflow: "hidden"
                    },
                    onclick: function(i){
                        return function(){
                            code_input.value = logoCompany[i].code;
                        }
                    }(i)
                },
                children: [DOMElement.img({
                    attrs: {
                        src: logoCompany[i].link,
                        style: {
                            backgroundImage: "url(" + logoCompany[i].link + ")",
                            width: "40px",
                            maxHeight: "40px"
                        }
                    }
                })]
            });
        }
        else {
            logo_hint_elt = DOMElement.div({
                attrs: {
                    style: {
                        width: "40px",
                        height: "40px",
                        border: "var(--control-border)",
                        overflow: "hidden"
                    },
                    onclick: function(i){
                        return function(){
                            code_input.value = logoCompany[i].code;
                        }
                    }(i)
                },
                children: DOMElement.span({
                    attrs: {style: {lineHeight: "40px"}},
                    text: logoCompany[i].code.toUpperCase()
                })
            });
        }
        logo_hint_ctn.appendChild(DOMElement.div({
            attrs: {style: {height: "60px", width: "60px", paddingRight: "10px", paddingTop: "10px", display: "inline-block", textAlign: "center"}},
            children: [logo_hint_elt]
        }))
    }
    var code_input = DOMElement.input({
        attrs: {
            id: "domain_input",
            className: "cardsimpleInput",
            type: "text",
            autocapitalize: "none",
            autocorrect: "off",
            style: {
                width: "100%",
                height: "40px"
            },
            value: "" //"lab"
        }
    });
    window.holderMain.appendChild(DOMElement.div({
        attrs: {
            style: {
                paddingTop: "var(--tab-padding-top)",
                paddingLeft: "var(--tab-padding-left)",
                paddingRight: "var(--tab-padding-right)"
            }
        },
        children: [
            DOMElement.div({
                attrs: {
                    align: "center"
                },
                children: [DOMElement.img({
                    attrs: {
                        src: window.imageCompanyInit,
                        style: {
                            maxWidth: "90px",
                            maxHeight: "60px"
                        }
                    }
                })]
            }),
            DOMElement.div({
                attrs: {
                    className: "card-mobile-label-form-edit"
                },
                text: task.getLanguage("login_your_account")
            }),
            DOMElement.div({
                attrs: {
                    className: "card-mobile-label-form-edit"
                },
                text: task.getLanguage("customer_code")
            }),
            code_input,
            logo_hint_ctn,
            DOMElement.div({
                attrs: {
                    className: "card-mobile-label-form-edit"
                },
                text: task.getLanguage("username")
            }),
            DOMElement.input({
                attrs: {
                    id: "username_input",
                    className: "KPIsimpleInput",
                    type: "text",
                    autocapitalize: "none",
                    autocorrect: "off",
                    style: {
                        width: "100%",
                        height: "40px"
                    },
                    onkeydown: function(event, me){
                        if (event.keyCode == 13){
                            task.submitLogin();
                            me.blur();
                        }
                    },
                    value: ""
                }
            }),
            DOMElement.div({
                attrs: {
                    className: "card-mobile-label-form-edit"
                },
                text: task.getLanguage("password")
            }),
            DOMElement.input({
                attrs: {
                    id: "password_input",
                    className: "KPIsimpleInput",
                    type: "password",
                    style: {
                        width: "100%",
                        height:"40px"
                    },
                    onkeydown: function(event, me){
                        if (event.keyCode == 13){
                            task.submitLogin();
                            me.blur();
                        }
                    },
                    value: ""
                }
            }),
            DOMElement.div({
                attrs: {
                    className: "card-mobile-label-form-edit",
                    align: "center"
                },
                children: [absol.buildDom({
                    tag: "flexiconbutton",
                    style: {
                        minWidth: "var(--button-min-width)",
                        height: "var(--button-height)",
                        fontSize: "var(--button-title-font-size)",
                        fontWeight: "var(--button-title-font-weight)",
                        backgroundColor: "var(--button-background-color_4)"
                    },
                    on: {
                        click: function() {
                            task.submitLogin();
                        }
                    },
                    props:{
                        text: task.getLanguage("login")
                    }
                })]
            }),
            DOMElement.div({
                attrs: {
                    className: "home-mobile-label-form-edit",
                    align: "right"
                },
                children: [
                    DOMElement.div({
                        attrs: {
                            style: {
                                userSelect: "none",
                                cursor: "pointer",
                                minWidth: "50px",
                                minHeight: "50px",
                                verticalAlign: "middle",
                                display: "inline-block"
                            },
                            onclick: function(){
                                if (language != "EN-US"){
                                    language = "EN-US";
                                    task.showLoginBox();
                                }
                            }
                        },
                        children: [DOMElement.span({
                            attrs: {
                                style: {
                                    color: (window.language == "EN-US")? "#049cb9" : "gray"
                                }
                            },
                            text: "EN"
                        })]
                    }),
                    DOMElement.div({
                        attrs: {
                            style: {
                                userSelect: "none",
                                cursor: "pointer",
                                minWidth: "50px",
                                minHeight: "50px",
                                verticalAlign: "middle",
                                display: "inline-block"
                            },
                            onclick: function(){
                                if (language != "VN"){
                                    language = "VN";
                                    task.showLoginBox();
                                }
                            }
                        },
                        children: [DOMElement.span({
                            attrs: {
                                style: {
                                    color: (window.language == "VN")? "#049cb9" : "gray"
                                }
                            },
                            text: "VN"
                        })]
                    })
                ]
            })
        ]
    }));
};

console.log(new Date().getTime(), 1);
ModuleManagerClass.register({
    name: "main",
    prerequisites: ["FormClass", "ModalElement", "Absol", "Common_view"],
    trigger: function () {
        window.holderMain = DOMElement.div({
            attrs: {
                className: "bodyFrm",
                style: {
                    height: "100%"
                }
            }
        });
        document.body.appendChild(DOMElement.div({
            attrs: {
                className: "mainFrm",
                style: {
                    font: "var(--font)",
                    height: "100%"
                }
            },
            children: [window.holderMain]
        }));
        if (window.isApp) {
            window.originHost = "https://keeview.com";
            window.session = EncodingClass.string.fromVariable({});
            var token;
            window.userToken = mobileHost.getDeviceToken();
            token = localStorage.getItem("hr_domain");
            if ((token === null) || (token === undefined)) {
                task.showLoginBox();
            }
            else {
                window.domainHome = token;
                window.domain = token + "/hr/";
                FormClass.prefix = window.domain;
                task.loadDatabase();
            }
        }
        else {
            ModalElement.show_loading();
            createConnectorFile();
            console.log(new Date().getTime(), 2);
            task.loadDatabase();
        }
    }
});

VaKeR 2022