define("sim_abnormal", "jquery knockout service set main opmode".split(" "), function (f, d, b, c, h, a) { function g() { var i = f("#container")[0]; d.cleanNode(i); var j = new e(); d.applyBindings(j, i); f("#frmPUK").validate({ submitHandler: function () { j.enterPUK() }, rules: {txtNewPIN: "pin_check", txtConfirmPIN: {equalToPin: "#txtNewPIN"}, txtPUK: "puk_check"} }); f("#frmPIN").validate({ submitHandler: function () { j.enterPIN() }, rules: {txtPIN: "pin_check"} }) } function e() { var p = this; var n = b.getStatusInfo(); var l = "PPPOE" == n.blc_wan_mode || "AUTO_PPPOE" == n.blc_wan_mode; p.hasRj45 = c.RJ45_SUPPORT; p.hasSms = c.HAS_SMS; p.hasPhonebook = c.HAS_PHONEBOOK; p.isSupportSD = c.SD_CARD_SUPPORT; if (c.WIFI_SUPPORT_QR_SWITCH) { var k = b.getWifiBasic(); p.showQRCode = c.WIFI_SUPPORT_QR_CODE && k.show_qrcode_flag } else { p.showQRCode = c.WIFI_SUPPORT_QR_CODE } if (c.WIFI_SUPPORT_QR_CODE) { p.qrcodeSrc = "./pic/qrcode_ssid_wifikey.png?_=" + f.now() } else { p.qrcodeSrc = "./pic/res_blacktrans.png" } p.hasParentalControl = d.observable(c.HAS_PARENTAL_CONTROL && l); p.pageState = {NO_SIM: 0, WAIT_PIN: 1, WAIT_PUK: 2, PUK_LOCKED: 3, LOADING: 4}; p.isHomePage = d.observable(false); if (window.location.hash == "#main") { p.isHomePage(true) } var o = b.getLoginData(); p.PIN = d.observable(); p.newPIN = d.observable(); p.confirmPIN = d.observable(); p.PUK = d.observable(); p.pinNumber = d.observable(o.pinnumber); p.pukNumber = d.observable(o.puknumber); var m = i(o); p.page = d.observable(m); if (m == p.pageState.LOADING) { addTimeout(j, 500) } p.showOpModeWindow = function () { showSettingWindow("change_mode", "opmode_popup", "opmode_popup", 400, 300, function () { }) }; p.isLoggedIn = d.observable(false); p.enableFlag = d.observable(false); p.refreshOpmodeInfo = function () { var r = b.getStatusInfo(); p.isLoggedIn(r.isLoggedIn); if (!l && checkCableMode(r.blc_wan_mode)) { if (p.page() == p.pageState.NO_SIM || p.page() == p.pageState.WAIT_PIN || p.page() == p.pageState.WAIT_PUK || p.page() == p.pageState.PUK_LOCKED) { window.location.reload() } } l = checkCableMode(r.blc_wan_mode); p.hasParentalControl(c.HAS_PARENTAL_CONTROL && l); if (l && r.ethWanMode.toUpperCase() == "DHCP") { p.enableFlag(true) } else { if ((!l && r.connectStatus != "ppp_disconnected") || (l && r.rj45ConnectStatus != "idle" && r.rj45ConnectStatus != "dead")) { p.enableFlag(false) } else { p.enableFlag(true) } } var s = (r.blc_wan_mode == "AUTO_PPP" || r.blc_wan_mode == "AUTO_PPPOE") ? "AUTO" : r.blc_wan_mode; var q = ""; switch (s) { case"PPP": q = "opmode_gateway"; break; case"PPPOE": q = "opmode_cable"; break; case"AUTO": q = "opmode_auto"; break; default: break } f("#opmode").attr("data-trans", q).text(f.i18n.prop(q)) }; function j() { var r = b.getLoginData(); var q = i(r); if (q == p.pageState.LOADING) { addTimeout(j, 500) } else { p.page(q); p.pinNumber(r.pinnumber); p.pukNumber(r.puknumber) } } p.enterPUK = function () { showLoading(); p.page(p.pageState.LOADING); var s = p.newPIN(); var q = p.confirmPIN(); var r = {}; r.PinNumber = s; r.PUKNumber = p.PUK(); b.enterPUK(r, function (t) { if (!t.result) { hideLoading(); if (p.pukNumber() == 2) { showAlert("last_enter_puk", function () { j() }) } else { showAlert("puk_error", function () { j(); if (p.page() == p.pageState.PUK_LOCKED) { hideLoading() } }) } p.PUK(""); p.newPIN(""); p.confirmPIN("") } else { j(); if (p.page() == p.pageState.PUK_LOCKED) { hideLoading() } } }) }; p.enterPIN = function () { showLoading(); p.page(p.pageState.LOADING); var q = p.PIN(); b.enterPIN({PinNumber: q}, function (r) { if (!r.result) { hideLoading(); if (p.pinNumber() == 2) { showAlert("last_enter_pin", function () { j() }) } else { showAlert("pin_error", function () { j() }) } p.PIN("") } j(); if (p.page() == p.pageState.WAIT_PUK) { hideLoading() } }) }; if (p.hasRj45) { p.refreshOpmodeInfo(); addInterval(function () { p.refreshOpmodeInfo() }, 1000) } function i(r) { var q = r.modem_main_state; if (q == "modem_undetected" || q == "modem_sim_undetected" || q == "modem_sim_destroy") { return p.pageState.NO_SIM } else { if (q == "modem_waitpin") { return p.pageState.WAIT_PIN } else { if ((q == "modem_waitpuk" || r.pinnumber == 0) && (r.puknumber != 0)) { return p.pageState.WAIT_PUK } else { if ((r.puknumber == 0 || q == "modem_sim_destroy") && q != "modem_sim_undetected" && q != "modem_undetected") { return p.pageState.PUK_LOCKED } else { if (f.inArray(q, c.TEMPORARY_MODEM_MAIN_STATE) != -1) { return p.pageState.LOADING } else { location.reload() } } } } } } } return {init: g} }); define("ota_update", "jquery jq_fileinput service knockout set statusBar".split(" "), function (d, f, e, i, b, c) { function a() { var l = this; var k = e.getOTAUpdateSetting(); l.allowRoamingUpdate = i.observable(k.allowRoamingUpdate); l.hasDdns = b.DDNS_SUPPORT; l.hasUpdateCheck = b.HAS_UPDATE_CHECK; l.isDataCard = b.PRODUCT_TYPE == "DATACARD"; l.lastCheckTime = i.observable(""); l.updateIntervalDay = i.observable(k.updateIntervalDay); l.updateMode = i.observable(k.updateMode); l.updateType = i.observable(e.getUpdateType().update_type); var j = checkCableMode(e.getOpMode().blc_wan_mode); var m = e.getExtraFunc(); l.bandSelectFuncEnable = i.observable(m.bandSelectFuncEnable); if (l.bandSelectFuncEnable() == "2" && !j) { d(".bandSelect").attr("id", "rootBandSelect") } else { if (l.bandSelectFuncEnable() == "1" && !j) { d(".bandSelect").attr("id", "bandSelect") } else { d(".bandSelect").attr("id", "removeBandSelect"); d("#removeBandSelect").css("display", "none") } } l.apply = function () { var n = { updateMode: l.updateMode(), updateIntervalDay: l.updateIntervalDay(), allowRoamingUpdate: l.allowRoamingUpdate() }; showLoading(); e.setOTAUpdateSetting(n, function (o) { if (o && o.result == "success") { k.allowRoamingUpdate = l.allowRoamingUpdate(); successOverlay() } else { errorOverlay() } }) }; l.checkNewVersion = function () { var r = e.getNewVersionState(); if (r.fota_package_already_download == "yes") { showAlert("fota_package_already_download"); return } if (b.UPGRADE_TYPE == "FOTA") { var o = ["checking"]; if (d.inArray(r.fota_current_upgrade_state, o) != -1) { showAlert("ota_update_running"); return } } var p = e.getStatusInfo(); if (r.fota_current_upgrade_state == "prepare_install") { showInfo("ota_download_success"); return } var n = ["downloading", "confirm_dowmload"]; if (d.inArray(r.fota_current_upgrade_state, n) != -1) { c.showOTAAlert(); return } if (p.roamingStatus) { showConfirm("ota_check_roaming_confirm", function () { q() }) } else { q() } function q() { showLoading("ota_new_version_checking"); function s() { var t = e.getNewVersionState(); if (t.hasNewVersion) { if (t.fota_new_version_state == "already_has_pkg" && t.fota_current_upgrade_state != "prepare_install" && t.fota_current_upgrade_state != "low_battery") { addTimeout(s, 1000) } else { c.showOTAAlert() } } else { if (t.fota_new_version_state == "no_new_version") { showAlert("ota_no_new_version") } else { if (t.fota_new_version_state == "check_failed") { errorOverlay("ota_check_fail") } else { if (t.fota_new_version_state == "bad_network") { errorOverlay("ota_connect_server_failed") } else { addTimeout(s, 1000) } } } } } e.setUpgradeSelectOp({selectOp: "check"}, function (t) { if (t.result == "success") { s() } else { errorOverlay() } }) } }; l.fixPageEnable = function () { var o = e.getStatusInfo(); var n = e.getOpMode(); if (checkConnectedStatus(o.connectStatus, n.rj45_state, o.connectWifiStatus)) { enableBtn(d("#btnCheckNewVersion")) } else { disableBtn(d("#btnCheckNewVersion")) } }; l.clickAllowRoamingUpdate = function () { var n = d("#chkUpdateRoamPermission:checked"); if (n && n.length == 0) { l.allowRoamingUpdate("1") } else { l.allowRoamingUpdate("0") } }; e.getOTAlastCheckTime({}, function (n) { l.lastCheckTime(n.dm_last_check_time) }) } function g(l) { var k = 0; var m = /msie/i.test(navigator.userAgent) && !window.opera; if (m) { var j = l.value; try { var n = new ActiveXObject("Scripting.FileSystemObject"); k = parseInt(n.GetFile(j).size) } catch (o) { k = 1 } } else { try { k = parseInt(l.files[0].size) } catch (o) { k = 1 } } return k / 1024 / 1024 } function h() { var j = d("#container")[0]; i.cleanNode(j); var m = new a(); i.applyBindings(m, j); var l = e.getPassword().CurrentPasswd; var k = e.getPassword().RootPasswd; if (l != k && l != "xfnj1234") { d("#rootBandSelect").css("display", "none") } if (m.updateType() == "mifi_fota") { m.fixPageEnable(); addInterval(function () { m.fixPageEnable() }, 1000) } else { if (d(".customfile").length == 0) { d("#fileField").customFileInput() } } d("#frmOTAUpdate").validate({ submitHandler: function () { m.apply() } }) } return {init: h} }); define("sd", "jquery set service knockout".split(" "), function (f, c, a, b) { var h = c.SD_BASE_PATH; function e() { var k = this; var i = a.getSDConfiguration(); k.selectedMode = b.observable(i.sd_mode); k.orignalMode = b.observable(i.sd_mode); k.sdStatus = b.observable(i.sd_status); k.orignalSdStatus = b.observable(i.sd_status); k.sdStatusInfo = b.observable("sd_card_status_info_" + i.sd_status); k.selectedShareEnable = b.observable(i.share_status); k.selectedFileToShare = b.observable(i.file_to_share); k.selectedAccessType = b.observable(i.share_auth); var j = i.share_file.substring(h.length); k.pathToShare = b.observable(j); k.isInvalidPath = b.observable(false); k.checkEnable = b.observable(true); addInterval(function () { k.refreshSimStatus() }, 3000); k.checkPathIsValid = b.computed(function () { if (k.orignalMode() == 0 && k.selectedShareEnable() == "1" && k.selectedFileToShare() == "0" && k.pathToShare() != "" && k.pathToShare() != "/") { a.checkFileExists({path: h + k.pathToShare()}, function (m) { if (m.status != "exist") { k.isInvalidPath(true) } else { k.isInvalidPath(false) } }) } else { k.isInvalidPath(false) } }); k.disableApplyBtn = b.computed(function () { return k.selectedMode() == k.orignalMode() && k.selectedMode() == "1" }); k.fileToShareClickHandle = function () { if (k.selectedFileToShare() == "1") { k.pathToShare("/") } return true }; k.refreshSimStatus = function () { if (k.checkEnable()) { var m = a.getSDConfiguration(); if (m.sd_status && (m.sd_status != k.orignalSdStatus())) { if (m.sd_status != "1") { k.sdStatusInfo("sd_card_status_info_" + m.sd_status); k.sdStatus(m.sd_status); k.orignalSdStatus(m.sd_status); f("#sd_card_status_info").translate() } else { clearTimer(); clearValidateMsg(); g() } } } }; k.save = function () { showLoading("waiting"); k.checkEnable(false); if (k.orignalMode() == k.selectedMode()) { showAlert("setting_no_change") } else { a.setSdCardMode({mode: k.selectedMode()}, function (m) { if (m.result) { k.orignalMode(k.selectedMode()); if (m.result == "processing") { errorOverlay("sd_usb_forbidden") } else { successOverlay() } } else { if (k.selectedMode() == "0") { errorOverlay("sd_not_support") } else { errorOverlay() } } }, function (m) { if (k.selectedMode() == "0") { errorOverlay("sd_not_support") } else { errorOverlay() } }) } k.checkEnable(true); return true }; k.saveShareDetailConfig = function () { showLoading("waiting"); k.checkEnable(false); var m = { share_status: k.selectedShareEnable(), share_auth: k.selectedAccessType(), share_file: h + k.pathToShare() }; if (k.selectedShareEnable() == "0") { l(m) } else { a.checkFileExists({path: m.share_file}, function (n) { if (n.status != "exist" && n.status != "processing") { errorOverlay("sd_card_share_setting_" + n.status) } else { l(m) } }, function () { errorOverlay() }) } k.checkEnable(true); return true }; function l(m) { a.setSdCardSharing(m, function (n) { if (isErrorObject(n)) { if (n.errorType == "no_sdcard") { errorOverlay("sd_card_share_setting_no_sdcard") } else { errorOverlay() } } else { successOverlay() } }) } } function d(k) { var j = []; for (var l = 0; l < k.length; l++) { j.push(new Option(k.name, k.value)) } return j } function g() { var i = f("#container")[0]; b.cleanNode(i); var j = new e(); b.applyBindings(j, i); f("#sd_card_status_info").translate(); f("#sdmode_form").validate({ submitHandler: function () { j.save() } }); f("#httpshare_form").validate({ submitHandler: function () { j.saveShareDetailConfig() }, rules: {path_to_share: "check_file_path"} }) } return {init: g} }); define("sd_httpshare", "jquery underscore jq_fileinput set service knockout".split(" "), function (y, M, i, C, g, K) { var j = 10; var E = 1; var L = ""; var p = C.SD_BASE_PATH; var h = ""; var w = true; var v = null; var A = null; var b = null; var H = new Date().getTimezoneOffset() * 60; var n = ""; var l = false; function c(O, T, R) { if (O == 0) { return [] } var U = []; var S = J(O, T); U.push({pageNum: R - 1, isActive: false, isPrev: true, isNext: false, isDot: false}); if (R == 6) { U.push({pageNum: 1, isActive: false, isPrev: false, isNext: false, isDot: false}) } else { if (R > 5) { U.push({pageNum: 1, isActive: false, isPrev: false, isNext: false, isDot: false}); U.push({pageNum: 0, isPrev: false, isNext: false, isActive: false, isDot: true}) } } var Q; var P = R - 4 > 0 ? R - 4 : 1; var N = R + 4; for (Q = P; Q <= N && Q <= S; Q++) { U.push({pageNum: Q, isActive: Q == R, isPrev: false, isNext: false, isDot: false}) } if (R + 5 == S) { U.push({pageNum: S, isPrev: false, isNext: false, isActive: false, isDot: false}) } else { if (R + 3 <= S && Q - 1 != S) { U.push({pageNum: 0, isPrev: false, isNext: false, isActive: false, isDot: true}); U.push({pageNum: S, isPrev: false, isNext: false, isActive: false, isDot: false}) } } U.push({pageNum: parseInt(R, 10) + 1, isPrev: false, isNext: true, isActive: false, isDot: false}); return U } function J(P, N) { var O = Math.floor(P / N); if (P % N != 0) { O++ } return O } function I(P) { var O = 0; var N = y.map(P, function (R) { var Q = { fileName: HTMLEncode(R.fileName), fileType: R.attribute == "document" ? "folder" : getFileType(R.fileName), fileSize: getDisplayVolume(R.size, false), filePath: p + s() + "/" + R.fileName, lastUpdateTime: transUnixTime((parseInt(R.lastUpdateTime, 10) + H) * 1000), trClass: O % 2 == 0 ? "even" : "", readwrite: w }; O++; return Q }); if (v == null) { v = y.template("sdFileItemTmpl", y("#sdFileItemTmpl")) } y("#fileList_container").html(y.tmpl("sdFileItemTmpl", {data: N})) } function D() { var N = false; if (window.location.hash == "#httpshare_guest") { N = true } w = true; E = 1; m(""); p = C.SD_BASE_PATH; showLoading("waiting"); g.getSDConfiguration({}, function (O) { b = O; n = O.share_file; if (n.charAt(n.length - 1) == "/") { n = n.substring(0, n.length - 1) } if (O.sd_status == "1" && O.sd_mode == "0") { if (N && O.share_status == "1") { p = n; if (O.share_auth == "0") { w = false; y("#uploadSection, #delete_file_button, .sd_guest_hide_th", "#httpshare_form").hide() } else { y("#uploadSection, #delete_file_button, .sd_guest_hide_th", "#httpshare_form").show() } y("#go_to_login_button").removeClass("hide"); y("#sd_menu").hide(); y(".form-note").hide(); if (y(".customfile").length == 0) { y("#fileField").customFileInput() } pagerItemClickHandler(1) } else { if (N && O.share_status == "0") { y(".form-body .content", "#httpshare_form").hide().remove(); y(".form-title", "#httpshare_form").attr("data-trans", "httpshare").html(y.i18n.prop("httpshare")); y(".form-note", "#httpshare_form").attr("data-trans", "note_http_share_cannot_access").html(y.i18n.prop("note_http_share_cannot_access")); hideLoading() } else { if (y(".customfile").length == 0) { y("#fileField").customFileInput() } pagerItemClickHandler(1) } } } else { y(".form-body .content", "#httpshare_form").hide().remove(); y(".form-title", "#httpshare_form").attr("data-trans", "httpshare").html(y.i18n.prop("httpshare")); y(".form-note", "#httpshare_form").attr("data-trans", "note_http_share_usb_access").html(y.i18n.prop("note_http_share_usb_access")); y(".form-note", "#httpshare_form").addClass("margintop10"); hideLoading() } }, function () { errorOverlay(); y(".form-body .content", "#httpshare_form").hide().remove(); y(".form-title", "#httpshare_form").attr("data-trans", "httpshare").html(y.i18n.prop("httpshare")); y(".form-note", "#httpshare_form").attr("data-trans", "note_http_share_cannot_access").html(y.i18n.prop("note_http_share_cannot_access")) }); addInterval(function () { !l && self.checkSdStatus() }, 3000); self.checkSdStatus = function () { var O = g.getSDConfiguration(); if (O.sd_status && (O.sd_status != b.sd_status)) { if (O.sd_status == "1") { window.location.reload() } else { clearTimer(); clearValidateMsg(); G() } } } } pagerItemClickHandler = function (N) { E = N; refreshFileList(s(), E) }; function u() { var N = g.getSDConfiguration(); if (!M.isEqual(b, N)) { showAlert("sd_config_changed_reload", function () { G() }); return false } return true } function q(P, Q) { var O = n + "/"; var N = P + "/"; if (b.share_status == "1" && n != "" && n != "/" && O.indexOf(N) != -1) { showAlert(Q); return true } return false } enterFolder = function (N) { if (!u()) { return false } var O; if (N == "") { O = "" } else { O = s() + "/" + N } refreshFileList(O, 1); return true }; backFolder = function () { if (!u()) { return false } var N = s().substring(0, s().lastIndexOf("/")); refreshFileList(N, 1); return true }; refreshBtnsStatus = function () { if (s() == "") { y("#rootBtnLi, #backBtnLi").hide() } else { y("#rootBtnLi, #backBtnLi").show() } if (w) { y("#createNewFolderLi").hide(); y("#createNewFolderLi").find(".error").hide(); y("#newFolderBtnLi").show(); y("#newFolderName").val(""); y("#createNewFolderErrorLabel").removeAttr("data-trans").text("") } else { y("#newFolderBtnLi, #createNewFolderLi").hide().remove() } z() }; refreshFileList = function (P, O, N) { if (!N) { showLoading("waiting") } g.getFileList({path: h + p + P, index: O}, function (Q) { if (isErrorObject(Q)) { showAlert(Q.errorType); return } m(P); y("#sd_path").val(P); E = O; totalSize = Q.totalRecord; I(Q.details); pagination(totalSize); refreshBtnsStatus(); updateSdMemorySizes(); if (!N) { hideLoading() } }) }; openCreateNewFolderClickHandler = function () { y("#newFolderBtnLi").hide(); y("#newFolderName").show(); y("#createNewFolderLi").show() }; cancelCreateNewFolderClickHandler = function () { y("#createNewFolderLi").hide(); y("#newFolderName").val(""); y("#newFolderBtnLi").show(); y("#createNewFolderLi").find(".error").hide() }; createNewFolderClickHandler = function () { if (!u()) { return false } var O = y.trim(y("#newFolderName").val()); var N = h + p + s() + "/" + O; showLoading("creating"); g.checkFileExists({path: N}, function (P) { if (P.status == "noexist" || P.status == "processing") { g.createFolder({path: N}, function (Q) { if (isErrorObject(Q)) { showAlert(Q.errorType); return false } else { successOverlay(); refreshFileList(s(), 1) } }) } else { if (P.status == "no_sdcard") { showAlert("no_sdcard", function () { window.location.reload() }) } else { if (P.status == "exist") { y("#createNewFolderErrorLabel").attr("data-trans", "sd_card_share_setting_exist").text(y.i18n.prop("sd_card_share_setting_exist")); hideLoading() } } } }, function () { errorOverlay() }); return true }; renameBtnClickHandler = function (N) { var O = h + p + s() + "/" + N; if (q(O, "sd_share_path_cant_rename")) { return false } showPrompt("sd_card_folder_name_is_null", function () { r(N) }, 160, N, F) }; function r(N) { if (!u()) { return false } var Q = y("div#confirm div.promptDiv input#promptInput"); var P = y.trim(Q.val()); var O = h + p + s() + "/" + P; g.checkFileExists({path: O}, function (R) { if (R.status == "noexist" || R.status == "processing") { hideLoadingButtons(); var S = h + p + s() + "/" + N; g.fileRename({oldPath: S, newPath: O, path: h + p + s()}, function (U) { if (isErrorObject(U)) { showAlert(y.i18n.prop(U.errorType)); if (U.errorType == "no_exist") { var T = true; refreshFileList(s(), 1, T) } else { if (U.errorType == "processing") { } } } else { refreshFileList(s(), 1); successOverlay() } showLoadingButtons(); return true }) } else { if (R.status == "no_sdcard") { showAlert("no_sdcard", function () { window.location.reload() }); return false } else { if (R.status == "exist") { y(".promptErrorLabel").text(y.i18n.prop("sd_card_share_setting_exist")); return false } } } return true }, function () { errorOverlay() }); return false } function F() { var Q = y("div#confirm div.promptDiv input#promptInput"); var O = y.trim(Q.val()); var P = (h + p + s() + "/" + O).replace("//", "/"); var N = t(O, P); if (1 == N) { y(".promptErrorLabel").text(y.i18n.prop("sd_upload_rename_null")); return false } else { if (2 == N) { y(".promptErrorLabel").text(y.i18n.prop("sd_card_path_too_long")); return false } else { if (3 == N) { y(".promptErrorLabel").text(y.i18n.prop("check_file_path")); return false } else { y(".promptErrorLabel").text(""); return true } } } return true } hideLoadingButtons = function () { y(".buttons", "#confirm").hide() }; showLoadingButtons = function () { y(".buttons", "#confirm").show() }; deleteBtnClickHandler = function () { if (!u()) { return false } var P = y("input:checkbox:checked", "#fileList_container"); var N = ""; if (!P || P.length == 0) { return false } var O = false; y.each(P, function (Q, S) { var R = y(S).val(); if (q(h + p + s() + "/" + R, {msg: "sd_share_path_cant_delete", params: [R]})) { O = true; return false } return true }); if (O) { return false } showConfirm("confirm_data_delete", function () { y.each(P, function (R, S) { N += y(S).val() + "*" }); var Q = h + p + s(); g.deleteFilesAndFolders({path: Q, names: N}, function (R) { if (R.status == "failure") { showAlert("delete_folder_failure") } else { if (R.status == "no_sdcard") { showAlert("no_sdcard") } else { if (R.status == "processing") { showAlert("sd_file_processing_cant_delete") } else { if (R.status == "success") { successOverlay() } } } } refreshFileList(s(), 1) }, function () { errorOverlay() }) }); return true }; fileUploadSubmitClickHandler = function (O) { if (O) { var Q = y.trim(y("div#confirm div.promptDiv input#promptInput").val()) } else { var Q = y(".customfile").attr("title") } var P = (p + s() + "/" + Q).replace("//", "/"); var N = o(y("#fileField")[0]); if (!e(Q, P, N)) { return false } k(Q, P, N) }; function k(P, O, N) { g.getSdMemorySizes({}, function (Q) { if (isErrorObject(Q)) { showAlert(Q.errorType); return false } if (Q.availableMemorySize < N) { showAlert("sd_upload_space_not_enough"); return false } y.modal.close(); showLoading("uploading", '' + y.i18n.prop("note_uploading_not_refresh") + ""); g.checkFileExists({path: O}, function (R) { if (R.status == "noexist") { y("#fileUploadForm").attr("action", "/cgi-bin/httpshare/" + URLEncodeComponent(P)); var S = new Date().getTime(); y("#path_SD_CARD_time").val(transUnixTime(S)); y("#path_SD_CARD_time_unix").val(Math.round((S - H * 1000) / 1000)); if (!f) { d() } l = true; y("#fileUploadForm").submit() } else { if (R.status == "no_sdcard") { showAlert("no_sdcard", function () { window.location.reload() }) } else { if (R.status == "processing") { showAlert("sd_upload_file_is_downloading") } else { if (R.status == "exist") { showPrompt("sd_upload_rename", function () { fileUploadSubmitClickHandler(true) }, 160, P, F, a) } } } } }, function () { errorOverlay() }); return true }) } var f = false; function d() { f = true; y("#fileUploadIframe").load(function () { l = false; var O = y("#fileUploadIframe").contents().find("body").html().toLowerCase(); var N = false; if (O.indexOf("success") != -1) { successOverlay() } else { if (O.indexOf("space_not_enough") != -1) { N = true; showAlert("sd_upload_space_not_enough") } else { if (O.indexOf("data_lost") != -1) { N = true; showAlert("sd_upload_data_lost") } else { errorOverlay() } } } a(); refreshFileList(s(), 1, N) }) } updateSdMemorySizes = function () { g.getSdMemorySizes({}, function (P) { if (isErrorObject(P)) { showAlert(P.errorType); return false } var O = getDisplayVolume(P.totalMemorySize, false); var N = getDisplayVolume(P.totalMemorySize - P.availableMemorySize, false); y("#sd_volumn_used").text(N); y("#sd_volumn_total").text(O); return true }) }; pagination = function (N) { var O = c(N, j, parseInt(E, 10)); if (A == null) { A = y.template("pagerTmpl", y("#pagerTmpl")) } y(".pager", "#fileListButtonSection").html(y.tmpl("pagerTmpl", {data: {pagers: O, total: J(N, j)}})); renderCheckbox(); y(".content", "#httpshare_form").translate() }; checkFilePathForDownload = function (Q) { if (!u()) { return false } var N = Q.lastIndexOf("/"); var O = Q.substring(0, N + 1); var P = Q.substring(N + 1, Q.length); if (B(O, true) && B(P, false)) { return true } showAlert("sd_card_invalid_chars_cant_download"); return false }; gotoLogin = function () { window.location.href = "#entry" }; function x() { y("#createNewFolderForm").validate({ submitHandler: function () { createNewFolderClickHandler() }, rules: {newFolderName: {sd_card_path_too_long: true, check_filefold_name: true}} }); y("p.checkbox", "#httpshare_form").die().live("click", function () { addTimeout(function () { z() }, 100) }); y(".icon-download", "#httpshare_form").die().live("click", function () { return checkFilePathForDownload(y(this).attr("filelocal")) }); y(".folderTd", "#httpshare_form").die().live("click", function () { return enterFolder(y(this).attr("filename")) }); y(".fileRename", "#httpshare_form").die().live("click", function () { return renameBtnClickHandler(y(this).attr("filename")) }); f = false } function z() { var N = y("p.checkbox.checkbox_selected", "#fileListSection"); if (N.length > 0) { enableBtn(y("#delete_file_button")) } else { disableBtn(y("#delete_file_button")) } } function t(N, O) { if (N == "" || N.length > 25) { return 1 } if (O.length >= 200) { return 2 } if (!B(N, false)) { return 3 } } function B(P, Q) { var U = "+/:*?<>\"'\\|#&`~"; if (Q) { U = "+:*?<>\"'\\|#&`~" } var O = false; var S = false; var R = /^\.+$/; for (var T = 0; T < P.length; T++) { for (var N = 0; N < U.length; N++) { if (P.charAt(T) == U.charAt(N)) { O = true; break } } if (R.test(P)) { S = true } if (O || S) { return false } } return true } function e(P, O, N) { if (!u()) { return false } if (typeof P == "undefined" || P == "" || P == y.i18n.prop("no_file_selected")) { showAlert("sd_no_file_selected"); return false } if (O.length >= 200) { showAlert("sd_card_path_too_long"); return false } if (N / 1024 / 1024 / 1024 > 2) { showAlert("sd_file_size_too_big"); return false } if (P.indexOf("*") >= 0) { showAlert("sd_file_name_invalid"); return false } return true } function a() { y("#fileField").closest(".customfile").before('').remove(); addTimeout(function () { y("#fileField").customFileInput() }, 0); y("#uploadBtn", "#uploadSection").attr("data-trans", "browse_btn").html(y.i18n.prop("browse_btn")); y(".customfile", "#uploadSection").removeAttr("title"); y(".customfile span.customfile-feedback", "#uploadSection").html('' + y.i18n.prop("no_file_selected") + "").attr("class", "customfile-feedback") } function s() { return L } function m(N) { if (N.lastIndexOf("/") == N.length - 1) { L = N.substring(0, N.length - 1) } else { L = N } } function o(O) { var P = /msie/i.test(navigator.userAgent) && !window.opera; if (P) { var N = O.value; try { var R = new ActiveXObject("Scripting.FileSystemObject"); fileLenth = parseInt(R.GetFile(N).size) } catch (Q) { fileLenth = 1 } } else { try { fileLenth = parseInt(O.files[0].size) } catch (Q) { fileLenth = 1 } } return fileLenth } function G() { var N = y("#container")[0]; K.cleanNode(N); var O = new D(); K.applyBindings(O, N); x() } jQuery.validator.addMethod("check_filefold_name", function (P, O, Q) { var N = B(P, false); return this.optional(O) || N }); jQuery.validator.addMethod("sd_card_path_too_long", function (R, O, S) { var Q = y.trim(y("#newFolderName").val()); var P = h + p + s() + "/" + Q; var N = true; if (P.length >= 200) { N = false } return this.optional(O) || N }); return {init: G} }); define("ussd", "set service knockout jquery".split(" "), function (j, e, c, i) { var d = 0; var b = true; var g = 0; var k = false; var a = 1; function l() { var m = i("#container")[0]; c.cleanNode(m); var n = new h(); c.applyBindings(n, m) } var f = {SEND: 0, REPLY: 1}; function h() { var n = this; n.hasUpdateCheck = j.HAS_UPDATE_CHECK; n.ussd_action = c.observable(a); n.USSDLocation = c.observable(f.SEND); n.USSDReply = c.observable(""); n.USSDSend = c.observable(""); n.hasDdns = j.DDNS_SUPPORT; function m() { if (k) { k = true; window.clearInterval(d); g = 0 } else { if (g > 28) { k = true; window.clearInterval(d); showAlert("ussd_operation_timeout"); n.USSDReply(""); n.USSDSend(""); n.USSDLocation(f.SEND); g = 0 } else { g++ } } } n.sendToNet = function () { g = 0; window.clearInterval(d); var q = n.USSDSend(); var o = 0; var r; for (o = 0; o < q.length;) { r = q.charAt(o); if (r == " ") { if (q.length > 1) { q = q.substr(o + 1) } else { q = ""; break } } else { break } } for (o = q.length - 1; o >= 0 && q.length > 0; --o) { r = q.charAt(o); if (r == " ") { if (q.length > 1) { q = q.substr(0, o) } else { q = ""; break } } else { break } } if (("string" != typeof (q)) || ("" == q)) { showAlert("ussd_error_input"); return } showLoading("waiting"); var p = {}; p.operator = "ussd_send"; p.strUSSDCommand = q; p.sendOrReply = "send"; e.getUSSDResponse(p, function (s, t) { hideLoading(); if (s) { USSD_reset(); n.USSDLocation(f.REPLY); n.ussd_action(t.ussd_action); i("#USSD_Content").val(decodeMessage(t.data, true)); k = false; g = 0 } else { showAlert(t) } }) }; n.replyToNet = function () { g = 0; window.clearInterval(d); var q = n.USSDReply(); var o = 0; var r; for (o = 0; o < q.length;) { r = q.charAt(o); if (r == " ") { if (q.length > 1) { q = q.substr(o + 1) } else { q = ""; break } } else { break } } for (o = q.length - 1; o >= 0 && q.length > 0; --o) { r = q.charAt(o); if (r == " ") { if (q.length > 1) { q = q.substr(0, o) } else { q = ""; break } } else { break } } if (("string" != typeof (q)) || ("" == q)) { showAlert("ussd_error_input"); return } showLoading("waiting"); var p = {}; p.operator = "ussd_reply"; p.strUSSDCommand = q; p.sendOrReply = "reply"; e.getUSSDResponse(p, function (s, t) { hideLoading(); if (s) { n.ussd_action(t.ussd_action); i("#USSD_Content").val(decodeMessage(t.data, true)); k = false; USSD_reset(); g = 0 } else { showAlert(t) } }) }; USSD_reset = function () { n.USSDReply(""); n.USSDSend("") }; USSD_cancel = function () { e.USSDReplyCancel(function (o) { }) }; n.noReplyCancel = function () { g = 0; k = true; window.clearInterval(d); e.USSDReplyCancel(function (o) { if (o) { USSD_reset(); n.USSDLocation(f.SEND) } else { showAlert("ussd_fail") } }) }; if (b) { USSD_cancel(); b = false } } return {init: l} }); define("phonebook", "underscore jquery knockout set service jq_chosen".split(" "), function (p, e, b, n, q, g) { var o = {SIM: "0", DEVICE: "1"}; var h = {LIST: 0, NEW: 1, EDIT: 2, VIEW: 3, SEND_MSM: 4}; var i = function (t) { var s = []; s.push(new Option(e.i18n.prop("device_book"), o.DEVICE)); if (t) { s.push(new Option(e.i18n.prop("sim_book"), o.SIM)) } return s }; function c() { return e("#selectedFilterGroup").val() } var f = { cardColumns: [{ rowText: "index", display: false }, {rowText: "name"}, {rowText: "mobile_phone_number"}, {rowText: "home_phone_number"}], listColumns: [{ columnType: "checkbox", headerTextTrans: "number", rowText: "index", width: "10%" }, {headerTextTrans: "name", rowText: "name", width: "25%", sortable: true}, { columnType: "image", headerTextTrans: "save_location", rowText: "imgLocation", width: "20%", sortable: true }, { headerTextTrans: "mobile_phone_number", rowText: "mobile_phone_number", width: "30%", sortable: true }, {headerTextTrans: "group", rowText: "transGroup", width: "15%", sortable: true, needTrans: true}] }; var a = function () { var s = []; s.push(new Option(e.i18n.prop("common"), "common")); s.push(new Option(e.i18n.prop("family"), "family")); s.push(new Option(e.i18n.prop("friend"), "friend")); s.push(new Option(e.i18n.prop("colleague"), "colleague")); return s }; var d = false; function k() { var J = this; J.pageState = b.observable(h.LIST); J.initFail = b.observable(true); J.hasSms = b.observable(n.HAS_SMS); var z = true; var G = 0; var t = { simMaxNameLen: 0, simMaxNumberLen: 0, IsSimCardFull: true, IsDeviceFull: true, Used: 0, Capacity: 0, Ratio: "(0/0)" }; J.capacity = b.observable(t); J.phoneBookCapacity = b.observable(t.Ratio); J.books = b.observableArray(); J.gridTemplate = new b.simpleGrid.viewModel({ tableClass: "table-fixed", data: J.books(), idName: "index", columns: f.listColumns, defaultSortField: "name", defaultSortDirection: "ASC", pageSize: 10, tmplType: "list", searchColumns: ["name", "mobile_phone_number"], primaryColumn: "mobile_phone_number", showPager: true, rowClickHandler: function (K) { J.editBooks(K, "view") }, deleteHandler: function (K) { J.deleteOneBook(K) }, changeTemplateHandler: function () { J.changeTemplate() } }); J.locations = b.observableArray(); J.originLocation = ""; J.selectedLocation = b.observable(o.DEVICE); J.locationTrans = b.observable(); J.locationTransText = b.observable(); J.index = b.observable(-1); J.name = b.observable(""); J.nameMaxLength = b.computed(function () { var K = D(); var L = J.name().substring(0, K); J.name(L); return D() }); function D() { var K = 22; if (J.selectedLocation() == o.DEVICE) { var L = getEncodeType(J.name()); if ("UNICODE" == L.encodeType || L.extendLen > 0) { K = 11 } else { K = 22 } } else { var L = getEncodeType(J.name()); if ("UNICODE" == L.encodeType || L.extendLen > 0) { K = (J.capacity().simMaxNameLen / 2) - 1 } else { K = J.capacity().simMaxNameLen } } return K } J.mobile_phone_number = b.observable(""); J.mobileMaxLength = b.computed(function () { var K = x(); var L = J.mobile_phone_number().substring(0, K); J.mobile_phone_number(L); return x() }); function x() { var K = 40; if (J.selectedLocation() == o.DEVICE) { K = 40 } else { K = J.capacity().simMaxNumberLen } return K } J.home_phone_number = b.observable(""); J.office_phone_number = b.observable(""); J.mail = b.observable(""); J.transEditAreaTitle = b.dependentObservable(function () { var K = J.pageState(); if (K == h.EDIT) { return "edit" } else { if (K == h.NEW) { return "new" } else { if (K == h.VIEW) { return "view" } } } }); var E = a(); J.groups = b.observableArray(E); J.selectedGroup = b.observable(); J.groupTrans = b.observable(); J.groupTransText = b.observable(); J.selectedFilterGroup = b.observable("all"); J.selectedFilterGroupChangeHandler = function () { J.selectedFilterGroup(e("#selectedFilterGroup").val()); u() }; J.showErrorInfo = b.observable(false); J.messageContent = b.observable(""); J.messageCount = b.computed(function () { var aa = e("#txtSmsContent", "#sendMessage"); var O = aa[0]; J.messageContent(); var Z = aa.val(); var T = getEncodeType(Z); var P = T.encodeType == "UNICODE" ? 335 : 765; if (Z.length + T.extendLen > P) { var Q = O.scrollTop; var Y = getInsertPos(O); var X = Z.length + T.extendLen - P; var R = Z.substr(Y - X > 0 ? Y - X : 0, X); var V = R.split("").reverse(); var L = 0; var W = 0; for (var U = 0; U < V.length; U++) { if (getEncodeType(V[U]).extendLen > 0) { L += 2 } else { L++ } if (L >= X) { W = U + 1; break } } var N = Y - W; J.messageContent(Z.substr(0, N) + Z.substr(Y)); if (J.messageContent().length > P) { J.messageContent(J.messageContent().substr(0, P)) } setInsertPos(O, N); O.scrollTop = Q } y(); var M = e(O).val(); var S = getEncodeType(M); var K = S.encodeType == "UNICODE" ? 335 : 765; if (M.length + S.extendLen >= K) { e("#msgCount").addClass("colorRed") } else { e("#msgCount").removeClass("colorRed") } return "(" + (M.length + S.extendLen) + "/" + K + ")(" + getSmsCount(M) + "/5)" }); J.clear = function (K) { if (J.pageState() == h.SEND_MSM) { B(F, K) } else { F(K) } n.resetContentModifyValue() }; J.btnClear = function (K) { if (J.pageState() == h.SEND_MSM) { B(F, K); n.resetContentModifyValue() } else { if ((J.pageState() == h.NEW || J.pageState() == h.EDIT) && (J.preContent.location != J.selectedLocation() || J.preContent.name != J.name() || J.preContent.mobile_phone_number != J.mobile_phone_number() || J.preContent.home_phone_number != J.home_phone_number() || J.preContent.office_phone_number != J.office_phone_number() || J.preContent.mail != J.mail() || J.preContent.group != J.selectedGroup())) { showConfirm("leave_page_info", { ok: function () { F(K); n.resetContentModifyValue() }, no: function () { return false } }) } else { F(K); n.resetContentModifyValue() } } }; function F(K) { e("#frmPhoneBook").hide(); J.pageState(h.LIST); J.index(-1); J.name(""); J.mobile_phone_number(""); J.home_phone_number(""); J.office_phone_number(""); J.mail(""); J.messageContent(""); if (true == K) { A() } J.gridTemplate.clearAllChecked(); clearValidateMsg(); e("#books ").translate(); e("#frmPhoneBook").show() } J.checkHasSIMCard = function (L) { var K = q.getStatusInfo(); if (K.simStatus != "modem_init_complete") { if (L) { showAlert("sim_removed", function () { J.pageState(h.LIST); J.clear(true) }) } return false } return true }; J.save = function () { var L = function (P) { var R = (K == o.SIM); if (R) { if (!J.checkHasSIMCard(true)) { return } } if (J.pageState() == h.NEW || (J.pageState() == h.EDIT && K != J.originLocation)) { if (R) { if (J.capacity().IsSimCardFull) { showAlert("sim_full"); return } } else { if (J.capacity().IsDeviceFull) { showAlert("device_full"); return } } } var O = J.name(); var N = J.mobile_phone_number(); if (e.trim(O) == "" || e.trim(N) == "") { return } showLoading("saving"); var Q = {}; Q.location = K; Q.index = P; Q.name = O; Q.mobile_phone_number = N; if (!R) { Q.home_phone_number = J.home_phone_number(); Q.office_phone_number = J.office_phone_number(); Q.mail = J.mail(); Q.group = J.selectedGroup() } if (J.selectedLocation() != J.originLocation) { Q.delId = J.index() } q.savePhoneBook(Q, J.callback) }; var K = J.selectedLocation(); var M = (K == J.originLocation) ? J.index() : -1; if (K == o.SIM && J.originLocation == o.DEVICE) { showConfirm("change_device_to_sim_confirm", function () { L(M) }) } else { L(M) } }; J.openNewPage = function () { if (J.pageState() == h.SEND_MSM) { y(); B(I, false) } else { if (J.pageState() == h.EDIT && (J.preContent.location != J.selectedLocation() || J.preContent.name != J.name() || J.preContent.mobile_phone_number != J.mobile_phone_number() || J.preContent.home_phone_number != J.home_phone_number() || J.preContent.office_phone_number != J.office_phone_number() || J.preContent.mail != J.mail() || J.preContent.group != J.selectedGroup())) { showConfirm("leave_page_info", { ok: function () { I(false) }, no: function () { return false } }) } else { I(false) } } }; function I(K) { J.pageState(h.NEW); J.selectedLocation(o.DEVICE); J.originLocation = ""; if (J.checkHasSIMCard(false)) { J.locations(i(true)) } else { J.locations(i(false)) } var L = c(); if (L != "all") { J.selectedGroup(L) } else { J.selectedGroup("common") } J.name(""); J.mobile_phone_number(""); J.home_phone_number(""); J.office_phone_number(""); J.mail(""); J.index(-1); J.dynamicTranslate(); s() } J.openPage = function (M) { var L; if (J.pageState() == h.LIST) { var K = J.checkSelect(M); if (!K.isCorrectData) { return } L = K.selectedIds[0] } else { L = J.index() } J.editBooks(L, M) }; J.openViewPage = function () { J.openPage("view") }; J.openEditPage = function () { J.openPage("edit"); if (e.browser.mozilla) { e("#txtName, #txtMobile").removeAttr("maxlength") } s() }; J.editBooks = function (K, O) { if (!K) { return } if (J.checkHasSIMCard(false)) { J.locations(i(true)) } else { J.locations(i(false)) } var P = J.books(); for (var N = 0; N < P.length; N++) { var Q = P[N]; if (Q.index == K) { J.index(Q.index); J.selectedLocation(Q.location); J.originLocation = Q.location; var M = (Q.location == o.DEVICE) ? "device" : "sim"; J.locationTrans(M); var L = e.i18n.prop("trans"); J.locationTransText(L); J.name(Q.name); J.mobile_phone_number(Q.mobile_phone_number); J.home_phone_number(Q.home_phone_number); J.office_phone_number(Q.office_phone_number); J.mail(Q.mail); J.selectedGroup(Q.group); J.groupTrans("group_" + Q.group); J.groupTransText(e.i18n.prop(J.groupTrans())); if (O == "edit") { J.pageState(h.EDIT) } else { J.pageState(h.VIEW) } break } } J.dynamicTranslate(); if (J.selectedLocation() == o.SIM) { J.checkHasSIMCard(true) } }; J.dynamicTranslate = function () { e("#container").translate() }; J.deleteOneBook = function (K) { showConfirm("confirm_pb_delete", function () { showLoading("deleting"); var L = {}; L.indexs = [String(K)]; q.deletePhoneBooks(L, J.callback) }); return false }; J.deleteBook = function () { J.deleteOneBook(J.index()) }; J.deleteBooks = function () { var K = J.checkSelect("delete"); if (!K.isCorrectData) { return } showConfirm("confirm_pb_delete", function () { showLoading("deleting"); var L = {}; L.indexs = K.selectedIds; q.deletePhoneBooks(L, J.callback) }) }; J.checkSelect = function (K) { var L; if ("send" == K) { L = J.gridTemplate.selectedPrimaryValue() } else { L = J.gridTemplate.selectedIds() } var M = true; if (L.length == 0) { showAlert("no_data_selected"); M = false } else { if ("edit" == K || "view" == K) { if (L.length > 1) { showAlert("too_many_data_selected"); M = false } } else { if ("send" == K) { if (L.length > 5) { showAlert("max_send_number"); M = false } } } } return {selectedIds: L, isCorrectData: M} }; J.deleteAllBooks = function () { showConfirm("confirm_data_delete", function () { showLoading("deleting"); var K = c(); var L = {}; if (K == "all") { L.location = 2; q.deleteAllPhoneBooks(L, J.callback) } else { L.location = 3; L.group = K; q.deleteAllPhoneBooksByGroup(L, J.callback) } }) }; J.callback = function (K) { if (K && K.result == "success") { J.clear(true); e("#books ").translate(); renderCheckbox(); successOverlay(null, true) } else { errorOverlay() } }; J.changeTemplate = function () { if (J.gridTemplate.tmplType == "card") { J.gridTemplate.tmplType = "list"; J.gridTemplate.pageSize = 10; J.gridTemplate.columns = f.listColumns } else { J.gridTemplate.tmplType = "card"; J.gridTemplate.pageSize = 10; J.gridTemplate.columns = f.cardColumns } A(); e("#books ").translate() }; J.openSendMessagePage = function () { if (h.SEND_MSM == J.pageState()) { return } if ((J.pageState() == h.EDIT || h.NEW == J.pageState()) && (J.preContent.location != J.selectedLocation() || J.preContent.name != J.name() || J.preContent.mobile_phone_number != J.mobile_phone_number() || J.preContent.home_phone_number != J.home_phone_number() || J.preContent.office_phone_number != J.office_phone_number() || J.preContent.mail != J.mail() || J.preContent.group != J.selectedGroup())) { showConfirm("leave_page_info", { ok: function () { v() }, no: function () { return false } }) } else { v() } }; function v() { if (h.NEW == J.pageState()) { J.pageState(h.SEND_MSM); showAlert("no_data_selected"); J.clear(); return } var L = null; if (h.LIST == J.pageState()) { var S = J.checkSelect("send"); if (!S.isCorrectData) { return } L = S.selectedIds } else { L = J.mobile_phone_number() } var Q = e("#chosenUserList .chosen-select-deselect"); Q.empty(); var R = []; var O = []; for (var N = 0; N < n.phonebook.length; N++) { var M = n.phonebook[N]; if (e.inArray(M.pbm_number, O) == -1) { R.push(new Option(M.pbm_name + "/" + M.pbm_number, M.pbm_number, false, true)); O.push(M.pbm_number) } else { for (var P = 0; P < R.length; P++) { if (R[P].value == M.pbm_number) { R[P].text = M.pbm_name + "/" + M.pbm_number; break } } } } var K = ""; e.each(R, function (T, U) { K += "" }); Q.append(K); Q.chosen({max_selected_options: 5, search_contains: true, width: "545px"}); e("#chosenUserSelect").val(L); e("#chosenUserSelect").trigger("chosen:updated.chosen"); n.resetContentModifyValue(); y(); J.pageState(h.SEND_MSM) } J.sendMessage = function () { q.getSmsCapability({}, function (L) { var M = L.nvUsed < L.nvTotal; if (!M) { showAlert("sms_capacity_is_full_for_send"); return false } var K = syncSelectAndChosen(e("select#chosenUserSelect"), e(".search-choice", "#chosenUserSelect_chosen")); if (K.length + L.nvUsed > L.nvTotal) { showAlert({msg: "sms_capacity_will_full_just", params: [L.nvTotal - L.nvUsed]}); return false } J.sendMessageAction(); return true }) }; J.sendMessageAction = function () { var K = syncSelectAndChosen(e("select#chosenUserSelect"), e(".search-choice", "#chosenUserSelect_chosen")); if (!K || K.length == 0) { J.showErrorInfo(true); var Q = addTimeout(function () { J.showErrorInfo(false); window.clearTimeout(Q) }, 5000); return } var N = J.messageContent(); var M = 0; var O = 0; if (K.length > 1) { showLoading("sending", "") } else { showLoading("sending") } var P = function (R) { M++; if (M == K.length) { e("#chosenUserSelect").val(""); J.messageContent(""); n.CONTENT_MODIFIED.modified = false; if (O == 0) { successOverlay(); location.hash = "#msg_list" } else { var S = e.i18n.prop("success_info") + e.i18n.prop("colon") + (M - O) + "
" + e.i18n.prop("error_info") + e.i18n.prop("colon") + (O); showAlert(S, function () { location.hash = "#msg_list" }) } } else { L() } }; d = false; var L = function () { if (d) { hideLoading(); return } if ((M + 1) == K.length) { e("#loading #loading_container").html("") } q.sendSMS({number: K[M], message: N, id: -1}, function (R) { P(R) }, function (R) { O++; P(R) }) }; L() }; J.clearSearchKey = function () { J.gridTemplate.searchInitStatus(true); J.gridTemplate.searchKey(e.i18n.prop("search")); e("#ko_grid_search_txt").addClass("ko-grid-search-txt-default").attr("data-trans", "search") }; J.searchTextClick = function () { var K = e("#ko_grid_search_txt"); if (K.hasClass("ko-grid-search-txt-default")) { J.gridTemplate.searchKey(""); J.gridTemplate.searchInitStatus(false); K.removeClass("ko-grid-search-txt-default").removeAttr("data-trans") } }; J.searchTextBlur = function () { var K = e.trim(J.gridTemplate.searchKey()).toLowerCase(); if (K == "") { J.clearSearchKey() } }; J.hasData = b.computed(function () { return J.gridTemplate.afterSearchData().length > 0 }); J.hasChecked = b.computed(function () { return J.gridTemplate.checkedCount() > 0 }); J.canSend = b.computed(function () { var K = J.gridTemplate.checkedCount(); if (!J.checkHasSIMCard(false)) { return false } return (K > 0 && K <= 5) }); J.draftListenerEvent = function () { y() }; function y() { var M = true; if (M) { var N = J.messageContent(); var L = false; var K = getSelectValFromChosen(e(".search-choice", "#chosenUserSelect_chosen")); var O = !(K && K.length > 0); if (typeof N == "undefined" || N == "") { n.resetContentModifyValue(); return false } else { L = true } if (L && !O) { n.CONTENT_MODIFIED.modified = true; n.CONTENT_MODIFIED.message = "sms_to_save_draft"; n.CONTENT_MODIFIED.callback.ok = C; n.CONTENT_MODIFIED.callback.no = e.noop; n.CONTENT_MODIFIED.data = {content: N, numbers: K}; return false } if (L && O) { n.CONTENT_MODIFIED.modified = true; n.CONTENT_MODIFIED.message = "sms_no_recipient"; n.CONTENT_MODIFIED.callback.ok = e.noop; n.CONTENT_MODIFIED.callback.no = function () { return true }; return false } } } function C(K) { var M = new Date(); var L = { index: -1, currentTimeString: getCurrentTimeString(M), groupId: K.numbers.length > 1 ? M.getTime() : "", message: K.content, numbers: K.numbers }; q.saveSMS(L, function () { successOverlay("sms_save_draft_success") }, function () { errorOverlay("sms_save_draft_failed") }) } function B(L, K) { if (n.CONTENT_MODIFIED.message != "sms_to_save_draft") { if (n.CONTENT_MODIFIED.modified) { showConfirm(n.CONTENT_MODIFIED.message, { ok: function () { n.CONTENT_MODIFIED.callback.ok(n.CONTENT_MODIFIED.data); L(K) }, no: function () { if (n.CONTENT_MODIFIED.message == "sms_to_save_draft") { L(K) } return false } }); return false } else { L(K) } } else { n.CONTENT_MODIFIED.callback.ok(n.CONTENT_MODIFIED.data); L(K) } } function u() { q.getPhoneBookReady({}, function (M) { if (M.pbm_init_flag == "6") { J.initFail(true); hideLoading(); showAlert("phonebook_init_fail") } else { if (M.pbm_init_flag != "0") { addTimeout(u, 1000) } else { J.initFail(false); var K = r(); J.capacity(K); J.phoneBookCapacity(K.Ratio); var L = m(K.Used); J.books(L); J.gridTemplate.data(L); e("#books").find("tbody").translate(); hideLoading() } } }) } showLoading("waiting"); addTimeout(u, 200); function A() { showLoading(); var K = r(); J.phoneBookCapacity(K.Ratio); J.capacity(K); var L = m(K.Used); J.books(L); J.gridTemplate.data(L); hideLoading() } J.preContent = {}; function w() { J.preContent.location = J.selectedLocation(); J.preContent.name = J.name(); J.preContent.mobile_phone_number = J.mobile_phone_number(); J.preContent.home_phone_number = J.home_phone_number(); J.preContent.office_phone_number = J.office_phone_number(); J.preContent.mail = J.mail(); J.preContent.group = J.selectedGroup() } function H() { var K = (J.preContent.location != J.selectedLocation() || J.preContent.name != J.name() || J.preContent.mobile_phone_number != J.mobile_phone_number() || J.preContent.home_phone_number != J.home_phone_number() || J.preContent.office_phone_number != J.office_phone_number() || J.preContent.mail != J.mail() || J.preContent.group != J.selectedGroup()); n.CONTENT_MODIFIED.modified = K } function s() { n.resetContentModifyValue(); w(); n.CONTENT_MODIFIED.checkChangMethod = H } } phoneBookStopSMSSending = function () { d = true; e("#loading #loading_container").html(e.i18n.prop("sms_cancel_sending")) }; function m(t) { var s = {}; s.page = 0; s.data_per_page = t; s.orderBy = "name"; s.isAsc = true; var v = []; var u = c(); if (n.HAS_SMS) { v = q.getPhoneBooks(s); n.phonebook = v.pbm_data; if (u != "all") { v = { pbm_data: p.filter(v.pbm_data, function (w) { return w.pbm_group == u }) } } } else { if (u != "all") { s.group = u; v = q.getPhoneBooksByGroup(s) } else { v = q.getPhoneBooks(s) } } return j(v.pbm_data) } function r() { var s = q.getSIMPhoneBookCapacity(); var t = q.getDevicePhoneBookCapacity(); return { simUsed: s.simPbmUsedCapacity, deviceUsed: t.pcPbmUsedCapacity, simCapacity: s.simPbmTotalCapacity, deviceCapacity: t.pcPbmTotalCapacity, simMaxNameLen: s.maxNameLen, simMaxNumberLen: s.maxNumberLen, IsSimCardFull: (s.simPbmUsedCapacity == s.simPbmTotalCapacity), IsDeviceFull: (t.pcPbmUsedCapacity == t.pcPbmTotalCapacity), Used: s.simPbmUsedCapacity + t.pcPbmUsedCapacity, Capacity: s.simPbmTotalCapacity + t.pcPbmTotalCapacity, Ratio: "(" + (s.simPbmUsedCapacity + t.pcPbmUsedCapacity) + "/" + (s.simPbmTotalCapacity + t.pcPbmTotalCapacity) + ")" } } function j(y) { var u = []; var x = c(); var s = (x != "all"); if (y) { for (var v = 0; v < y.length; v++) { if (s) { var w = y[v].pbm_group; if (y[v].pbm_location == o.SIM || w != x) { continue } } var t = { index: y[v].pbm_id, location: y[v].pbm_location, imgLocation: y[v].pbm_location == o.SIM ? "pic/simcard.png" : "pic/res_device.png", name: y[v].pbm_name, mobile_phone_number: y[v].pbm_number, home_phone_number: y[v].pbm_anr, office_phone_number: y[v].pbm_anr1, mail: y[v].pbm_email, group: y[v].pbm_group, transGroup: (!y[v].pbm_group) ? "group_null" : "group_" + y[v].pbm_group }; u.push(t) } } return u } function l() { var s = e("#container"); b.cleanNode(s[0]); var t = new k(); b.applyBindings(t, s[0]); e("#txtSmsContent").die().live("contextmenu", function () { return false }); e("#frmPhoneBook").validate({ submitHandler: function () { t.save() }, rules: { txtMail: "email_check", txtName: "name_check", txtMobile: "phonenumber_check", txtHomeNumber: "phonenumber_check", txtOfficeNumber: "phonenumber_check" } }) } return {init: l} }); define("sms_list", "underscore jquery knockout set service jq_chosen".split(" "), function (Y, B, T, G, d, K) { var n = 1; var f = false, O = false; var Q = null, s = null, x = null, c = null, m = [], u = [], i = {}, D = {}, v = true; function R(Z) { return d.getSMSMessages({ page: 0, smsCount: 500, nMessageStoreType: 1, tags: 10, orderBy: "order by id desc" }, function (aa) { tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), aa.messages.length); G.dbMsgs = aa.messages; G.listMsgs = k(G.dbMsgs); Z() }, function () { tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), 0); G.dbMsgs = []; G.listMsgs = []; cleanSmsList() }) } cleanSmsList = function () { B("#smslist-table").empty() }; function k(aa) { var Z = {}, ab = []; G.listMsgs = []; m = []; B.each(aa, function (ac, ae) { if (ae.tag == "4" && ae.groupId != "") { m.push(ae); return } ae.target = ae.number; if (parseInt(ae.id, 10) > G.smsMaxId) { G.smsMaxId = ae.id } var ad = getLastNumber(ae.number, G.SMS_MATCH_LENGTH); if (ad in Z) { Z[ad].push(ae) } else { Z[ad] = [ae]; ab.push(ae) } }); ab = Y.sortBy(ab, function (ac) { return 0 - parseInt(ac.id + "", 10) }); B.each(ab, function (ah, af) { var ad = getLastNumber(af.number, G.SMS_MATCH_LENGTH); var ae = 0; var ag = false; for (var ac = 0; ac < Z[ad].length; ac++) { if (Z[ad][ac].isNew) { ae++ } if (Z[ad][ac].tag == "4" && Z[ad][ac].groupId == "") { ag = true } } G.listMsgs.push({ id: Z[ad][0].id, name: "", number: Z[ad][0].number, latestId: Z[ad][0].id, totalCount: Z[ad].length, newCount: ae, latestSms: Z[ad][0].content, latestTime: Z[ad][0].time, checked: false, itemId: getLastNumber(ad, G.SMS_MATCH_LENGTH), groupId: Z[ad][0].groupId, hasDraft: ag }) }); return G.listMsgs } function M() { var Z = d.getPhoneBooks({page: 0, data_per_page: 2000, orderBy: "name", isAsc: true}); if (B.isArray(Z.pbm_data) && Z.pbm_data.length > 0) { G.phonebook = Z.pbm_data } E() } function E() { var ah = B("#chosenUserList .chosen-select-deselect"); ah.empty(); var Z = []; var an = []; var ao = []; for (var aj = 0; aj < G.phonebook.length; aj++) { var ad = G.phonebook[aj]; var aa = getLastNumber(ad.pbm_number, G.SMS_MATCH_LENGTH); if (aa && B.inArray(aa, ao) == -1) { Z.push(new Option(ad.pbm_name + "/" + ad.pbm_number, aa, false, true)); if (B.inArray(aa, an) == -1) { an.push(aa) } ao.push(aa) } else { for (var ak = 0; ak < Z.length; ak++) { if (Z[ak].value == aa) { Z[ak].text = ad.pbm_name + "/" + ad.pbm_number; break } } } } var af = []; for (var ai = 0; ai < m.length; ai++) { if (B.inArray(m[ai].groupId, af) == -1) { af.push(m[ai].groupId); var ag = m[ai]; i[m[ai].groupId] = [ag] } else { var ag = m[ai]; i[m[ai].groupId].push(ag) } var ac = getLastNumber(m[ai].number, G.SMS_MATCH_LENGTH); if (B.inArray(ac, an) == -1) { Z.push(new Option(m[ai].number, ac)); an.push(ac) } } for (var am in i) { var ab = i[am]; var ap = ab[ab.length - 1]; ap.draftShowName = ""; ap.draftShowNameTitle = ""; B.each(ab, function (ar, au) { var at = getShowNameByNumber(au.number); ap.draftShowName += (ar == 0 ? "" : ";") + at; ap.draftShowNameTitle += (ar == 0 ? "" : ";") + at }); var al = 10; if (getEncodeType(ap.draftShowName).encodeType == "UNICODE") { al = 10 } ap.draftShowName = ap.draftShowName.length > al ? ap.draftShowName.substring(0, al) + "..." : ap.draftShowName; ap.totalCount = ab.length; ap.hasDraft = true; ap.latestTime = ap.time; u.push(ap) } for (var ak = 0; ak < G.listMsgs.length; ak++) { var aq = G.listMsgs[ak]; for (var aj = G.phonebook.length; aj > 0; aj--) { var ad = G.phonebook[aj - 1]; var aa = getLastNumber(ad.pbm_number, G.SMS_MATCH_LENGTH); if (aq.itemId == aa) { aq.name = ad.pbm_name; for (var ai = 0; ai < Z.length; ai++) { if (aa == Z[ai].value) { Z[ai].value = getLastNumber(aq.number, G.SMS_MATCH_LENGTH); Z[ai].text = ad.pbm_name + "/" + aq.number; break } } break } } if (B.inArray(aq.itemId, an) == -1) { Z.push(new Option(aq.number, getLastNumber(aq.number, G.SMS_MATCH_LENGTH))); an.push(aq.itemId) } } var ae = ""; B.each(Z, function (ar, at) { ae += "" }); ah.append(ae); ah.chosen({max_selected_options: 5, search_contains: true, width: "740px"}); A(); X(); f = true } function A() { if (s == null) { s = B.template("smsTableTmpl", B("#smsTableTmpl")) } cleanSmsList(); B.tmpl("smsTableTmpl", {data: G.listMsgs}).translate().appendTo("#smslist-table"); if (G.HAS_PHONEBOOK) { B(".sms-add-contact-icon").removeClass("hide") } else { B(".sms-add-contact-icon").addClass("hide") } } function X() { if (u.length == 0) { return false } if (s == null) { s = B.template("smsTableTmpl", B("#smsTableTmpl")) } B.tmpl("smsTableTmpl", {data: u}).translate().prependTo("#smslist-table") } function h() { var Z = []; var aa = Y.range((n - 1) * 5, n * 5); B.each(aa, function (ab, ac) { if (G.listMsgs[ac]) { Z.push(G.listMsgs[ac]) } }); n++; if (s == null) { s = B.template("smsTableTmpl", B("#smsTableTmpl")) } B.tmpl("smsTableTmpl", {data: Z}).translate().appendTo("#smslist-table"); renderCheckbox(); if (Z.length == 0) { disableBtn(B("#smslist-delete-all")); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), 0) } else { enableBtn(B("#smslist-delete-all")); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), 1) } if (n == 2 && window.innerHeight == B("body").height()) { h() } return Z } checkboxClickHandler = function (Z) { checkDeleteBtnStatus() }; getSelectedItem = function () { var aa = []; var Z = B("#smslist-table input:checkbox:checked"); Z.each(function (ab, ac) { aa.push(B(ac).val()) }); return aa }; checkDeleteBtnStatus = function () { var Z = getSelectedItem().length; if (Z == 0) { disableBtn(B("#smslist-delete")) } else { enableBtn(B("#smslist-delete")) } }; refreshClickHandler = function () { B("#smslist-table").empty(); disableBtn(B("#smslist-delete")); disableCheckbox(B("#smslist-checkAll", "#smsListForm")); P(); renderCheckbox() }; deleteAllClickHandler = function () { showConfirm("confirm_data_delete", function () { showLoading("deleting"); d.deleteAllMessages({location: "native_inbox"}, function (Z) { cleanSmsList(); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), 0); successOverlay() }, function (Z) { errorOverlay(Z.errorText) }) }) }; deleteSelectClickHandler = function () { showConfirm("confirm_sms_delete", function () { showLoading("deleting"); var ab = Z(); d.deleteMessage({ids: ab.ids}, function (ac) { aa(ab); disableBtn(B("#smslist-delete")); B("#checkbox-all").removeAttr("checked"); renderCheckbox(); successOverlay() }, function (ac) { errorOverlay(ac.errorText) }) }); function aa(ab) { var ac = ab.ids; var ad = []; B.each(G.dbMsgs, function (ae, af) { if (B.inArray(af.id, ab.normalIds) != -1) { ad.push(af.number) } }); ad = Y.uniq(ad); B.each(ad, function (ae, af) { B("#smslist-item-" + getLastNumber(af, G.SMS_MATCH_LENGTH)).hide().remove() }); B.each(ab.groups, function (ae, af) { B("#smslist-item-" + af).hide().remove() }); synchSmsList(ad, ac) } function Z() { var af = []; var ac = []; var ad = []; var ab = []; var ae = getSelectedItem(); B.each(ae, function (ag, ai) { var ah = B("#checkbox" + ai); if (ah.attr("groupid")) { ab.push(ah.attr("groupid")) } else { af.push(getLastNumber(ah.attr("number"), G.SMS_MATCH_LENGTH)) } }); B.each(G.dbMsgs, function (ag, ah) { if (B.inArray(getLastNumber(ah.number, G.SMS_MATCH_LENGTH), af) != -1 && (typeof ah.groupId == "undefined" || Y.isEmpty(ah.groupId + ""))) { ac.push(ah.id); ad.push(ah.id) } else { if (B.inArray(ah.groupId + "", ab) != -1) { ac.push(ah.id) } } }); ac = Y.uniq(ac); return {ids: ac, groups: ab, normalIds: ad} } }; newMessageClickHandler = function () { B("#chosenUser1", "#smsChatRoom").addClass("hide"); B("#chosenUser", "#smsChatRoom").show(); cleanChatInput(); H(); B("select.chosen-select-deselect").val("").trigger("chosen:updated.chosen"); C("chat"); gotoBottom(); clearChatList() }; chatCancelClickHandler = function () { if (G.CONTENT_MODIFIED.modified) { var ab = "sms_to_save_draft"; var Z = syncSelectAndChosen(B("select#chosenUserSelect"), B(".search-choice", "#chosenUserSelect_chosen")); var aa = !Z || Z.length == 0; if (aa) { ab = "sms_no_recipient" } if (aa) { showConfirm(ab, { ok: function () { if (!aa) { F({content: B("#chat-input", "#smsChatRoom").val(), numbers: Z, isFromBack: true}) } G.resetContentModifyValue(); q() }, no: function () { if (aa) { return true } G.resetContentModifyValue(); q() } }) } else { F({content: B("#chat-input", "#smsChatRoom").val(), numbers: Z, isFromBack: true}); G.resetContentModifyValue(); q() } return false } q() }; toOtherClickHandler = function (Z) { G.CONTENT_MODIFIED.checkChangMethod(); if (G.CONTENT_MODIFIED.modified) { N(); if (G.CONTENT_MODIFIED.message == "sms_to_save_draft") { G.CONTENT_MODIFIED.callback.ok(G.CONTENT_MODIFIED.data); G.resetContentModifyValue(); window.location.hash = Z } else { showConfirm(G.CONTENT_MODIFIED.message, { ok: function () { G.CONTENT_MODIFIED.callback.ok(G.CONTENT_MODIFIED.data); G.resetContentModifyValue(); window.location.hash = Z }, no: function () { var aa = G.CONTENT_MODIFIED.callback.no(G.CONTENT_MODIFIED.data); if (!aa) { window.location.hash = Z; G.resetContentModifyValue() } } }) } return false } else { window.location.hash = Z } }; function q() { B("select.chosen-select-deselect").val("").trigger("chosen:updated.chosen"); G.currentChatObject = null; B(".smslist-btns", "#smslist-main").removeClass("smsListFloatButs"); C("list") } function C(Z) { if (Z == "chat") { B("#smslist-main").hide(); B("#smsChatRoom").show() } else { B("#smsChatRoom").hide(); B("#smslist-main").show() } } var r = null; addSendSmsError = function (Z) { if (r) { window.clearTimeout(r); r = null } B("#sendSmsErrorLi").text(B.i18n.prop(Z)); r = addTimeout(function () { B("#sendSmsErrorLi").text("") }, 5000) }; sendSmsClickHandler = function () { if (!v) { showAlert("sms_capacity_is_full_for_send"); return } var aa = B("#chat-input", "#smsChatRoom"); var ad = aa.val(); if (ad == B.i18n.prop("chat_input_placehoder")) { aa.val(""); ad = "" } var ac = syncSelectAndChosen(B("select#chosenUserSelect"), B(".search-choice", "#chosenUserSelect_chosen")); if (B.isArray(ac)) { ac = B.grep(ac, function (af, ae) { return !Y.isEmpty(af) }) } if (!ac || ac.length == 0) { addSendSmsError("sms_contact_required"); return } if (ac.length + D.nvUsed > D.nvTotal) { showAlert({msg: "sms_capacity_will_full_just", params: [D.nvTotal - D.nvUsed]}); return } if (ac.length == 1) { G.currentChatObject = getLastNumber(ac[0], G.SMS_MATCH_LENGTH); showLoading("sending") } else { if (ac.length > 1) { showLoading("sending", ""); G.currentChatObject = null } } var Z = 0; var ab = ac.length; V = true; disableBtn(B("#btn-send", "#inputpanel")); sendSms = function () { if (!V) { hideLoading(); return } var ae = {id: -1, number: ac[Z], content: ad, isNew: false}; if (ab == 1) { B("#loading #loading_container").html("") } ab--; d.sendSMS({number: ae.number, message: ae.content, id: -1}, function (ag) { var af = getLatestMessage() || { id: parseInt(G.smsMaxId, 10) + 1, time: transUnixTime(B.now()), number: ae.number }; G.smsMaxId = af.id; ae.id = G.smsMaxId; ae.time = af.time; ae.tag = 2; ae.hasDraft = false; if (ac.length > 1) { ae.targetName = getNameOrNumberByNumber(ae.number) } addSendMessage(ae, Z + 1 != ac.length); S(ae); e(ae); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length); gotoBottom(); if (Z + 1 == ac.length) { updateChatInputWordLength(); enableBtn(B("#btn-send", "#inputpanel")); hideLoading(); return } Z++; sendSms() }, function (af) { var ag = getLatestMessage() || { id: parseInt(G.smsMaxId, 10) + 1, time: transUnixTime(B.now()), number: ae.number }; G.smsMaxId = ag.id; ae.id = G.smsMaxId; ae.time = ag.time; ae.errorText = B.i18n.prop(af.errorText); ae.tag = 3; ae.target = ae.number; ae.hasDraft = false; if (ac.length > 1) { ae.targetName = getNameOrNumberByNumber(ae.number) } addSendMessage(ae, Z + 1 != ac.length); S(ae); e(ae); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length); gotoBottom(); if (Z + 1 == ac.length) { updateChatInputWordLength(); enableBtn(B("#btn-send", "#inputpanel")); hideLoading(); return } Z++; sendSms() }) }; sendSms() }; var V = true; cancelSending = function () { V = false; B("#loading #loading_container").html(B.i18n.prop("sms_cancel_sending")) }; getLatestMessage = function () { var aa = d.getSMSMessages({page: 0, smsCount: 5, nMessageStoreType: 1, tags: 10, orderBy: "order by id desc"}); if (aa.messages.length > 0) { for (var Z = 0; Z < aa.messages.length; Z++) { if (aa.messages[Z].tag == "2" || aa.messages[Z].tag == "3") { return aa.messages[Z] } } return null } else { return null } }; function S(aa) { if (G.dbMsgs.length == 0) { G.dbMsgs = [aa] } else { if (G.dbMsgs[0].id == aa.id) { G.dbMsgs[0] = aa; return } else { var Z = [aa]; B.merge(Z, G.dbMsgs); G.dbMsgs = Z; return } } } function e(ab, ac, Z) { if ((!ab || !ab.number) && !ac) { return } var ag = ""; if (ab && typeof ab.groupId != "undefined" && ab.groupId != "") { ag = ab.groupId } else { ag = getLastNumber((ac || ab.number), G.SMS_MATCH_LENGTH) } var ai = B("#smslist-item-" + ag); if (ai && ai.length > 0) { var aa = ai.find(".smslist-item-total-count"); var ae = aa.text(); ae = Number(ae.substring(1, ae.length - 1)); if (ac) { if (ae == 1 || ab == null) { ai.hide().remove(); return } else { aa.text("(" + (ae - (Z || 1)) + ")"); ai.find(".smslist-item-draft-flag").addClass("hide") } } else { aa.text("(" + (ae + 1) + ")"); if (ab.tag == "4") { ai.find(".smslist-item-draft-flag").removeClass("hide") } } ai.find(".smslist-item-checkbox p.checkbox").attr("id", ab.id); ai.find(".smslist-item-checkbox input:checkbox").val(ab.id).attr("id", "checkbox" + ab.id); var af = ab.content; var ad; if (ab.tag == "4") { ad = ai.find(".smslist-item-msg").html(': ' + HTMLEncode(af)) } else { ad = ai.find(".smslist-item-msg").html(HTMLEncode(af)) } ad.closest("td").prop("title", ab.content); ai.find(".smslist-item-repeat span").die().click(function () { forwardClickHandler(ab.id) }); ai.find("span.clock-time").text(ab.time); var ah = ai; ai.hide().remove(); B("#smslist-table").prepend(ah.show()) } else { if (s == null) { s = B.template("smsTableTmpl", B("#smsTableTmpl")) } ab.checked = false; ab.newCount = 0; ab.latestId = ab.id; ab.latestSms = ab.content; ab.latestTime = ab.time; if (ab.groupId == "" || typeof ab.groupId == "undefined") { ab.totalCount = 1 } if (!ab.hasDraft) { ab.hasDraft = false } ab.itemId = ag; ab.name = getNameByNumber(ab.number); B.tmpl("smsTableTmpl", {data: [ab]}).translate().prependTo("#smslist-table") } if (G.HAS_PHONEBOOK) { B(".sms-add-contact-icon").removeClass("hide") } else { B(".sms-add-contact-icon").addClass("hide") } B("#smslist-table").translate(); renderCheckbox() } addSendMessage = function (Z, aa) { if (c == null) { c = B.template("smsMeTmpl", B("#smsMeTmpl")) } B.tmpl("smsMeTmpl", Z).appendTo("#chatlist"); B("#chatlist").translate(); if (!aa) { cleanChatInput() } clearMySmsErrorMessage(Z.id) }; clearMySmsErrorMessage = function (Z) { addTimeout(function () { B("div.error", "#talk-item-" + Z).text("") }, 3000) }; var p = false; hidePopup = function () { B(".tagPopup").remove(); p = false }; clearChatList = function () { B("#chatlist").empty(); updateChatInputWordLength() }; dealContent = function (Z) { if (G.HAS_PHONEBOOK) { return HTMLEncode(Z).replace(/(\d{3,})/g, function (ab) { var aa = (new Date().getTime() + "").substring(6) + (getRandomInt(1000) + 1000); return "" + ab + "" }) } else { return HTMLEncode(Z) } }; openPhoneBook = function (Z, ad) { var ag = null; var af = ""; var ae = null; var ac = false; if (!Z) { ag = B("#listNumber" + getLastNumber(ad, G.SMS_MATCH_LENGTH)); af = ".smslist-item"; ae = B("#addPhonebookContainer") } else { ag = B("#aNumber" + Z); af = ".msg_container"; ae = B("#chatlist"); ac = true } if (p) { hidePopup() } p = true; B("#tagPopup").remove(); if (Q == null) { Q = B.template("addPhonebookTmpl", B("#addPhonebookTmpl")) } B.tmpl("addPhonebookTmpl", {number: ad}).appendTo(ae); var aa = ag.position(); var am = ag.closest(af); var ab = am.position(); var al = 0, aj = 0; if (ac) { var ah = ae.width(); var ak = ae.height(); var ai = B("#innerTagPopup"); al = ab.left + aa.left; aj = ab.top + aa.top + 20; if (ai.width() + al > ah) { al = ah - ai.width() - 20 } if (ak > 100 && ai.height() + aj > ak) { aj = ak - ai.height() - 5 } } else { al = aa.left; aj = aa.top } B("#innerTagPopup").css({top: aj + "px", left: al + "px"}); B("#quickSaveContactForm").translate().validate({ submitHandler: function () { quickSaveContact(ac) }, rules: {name: "name_check", number: "phonenumber_check"} }) }; quickSaveContact = function () { var Z = B(".tagPopup #innerTagPopup #name").val(); var ac = B(".tagPopup #innerTagPopup #number").val(); var ab = { index: -1, location: 1, name: Z, mobile_phone_number: ac, home_phone_number: "", office_phone_number: "", mail: "" }; var aa = d.getDevicePhoneBookCapacity(); if (aa.pcPbmUsedCapacity >= aa.pcPbmTotalCapacity) { showAlert("device_full"); return false } showLoading("waiting"); d.savePhoneBook(ab, function (ad) { if (ad.result == "success") { G.phonebook.push({pbm_name: Z, pbm_number: ac}); t(Z, ac); hidePopup(); successOverlay() } else { errorOverlay() } }, function (ad) { errorOverlay() }) }; function t(aa, ab) { var Z = getLastNumber(ab, G.SMS_MATCH_LENGTH); B("span.smslist-item-name2", "#smslist-item-" + Z).text(aa); B("#listNumber" + Z).hide() } deleteSingleItemClickHandler = function (ab, Z) { if (Z) { aa(ab) } else { showConfirm("confirm_sms_delete", function () { showLoading("deleting"); aa(ab) }) } function aa(ac) { d.deleteMessage({ids: [ac]}, function (ad) { var ae = B(".smslist-item-delete", "#talk-item-" + ac).attr("target"); B("#talk-item-" + ac).hide().remove(); synchSmsList(null, [ac]); e(getPeopleLatestMsg(ae), ae); if (Z) { Z() } else { hideLoading() } tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length) }, function (ad) { if (Z) { Z() } else { hideLoading() } }) } }; function g(aa, Z) { z(); d.deleteMessage({ids: aa}, function (ac) { j(null, function () { N(); U() }); for (var ab = 0; ab < Z.length; ab++) { e(getPeopleLatestMsg(Z[ab]), Z[ab], aa.length) } synchSmsList(null, aa); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length) }, function (ab) { U() }) } function J(aa, Z) { d.deleteMessage({ids: aa}, function (ab) { synchSmsList(null, aa); B("#smslist-item-" + Z).hide().remove(); H(); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length) }, function (ab) { }) } getCurrentChatObject = function () { var Z = B("select.chosen-select-deselect").val(); if (!Z) { G.currentChatObject = null } else { if (Z.length == 1) { G.currentChatObject = getLastNumber(Z, G.SMS_MATCH_LENGTH) } else { if (Z.length > 1) { G.currentChatObject = null } } } return G.currentChatObject }; getPeopleLatestMsg = function (aa) { for (var Z = 0; Z < G.dbMsgs.length; Z++) { if (!G.dbMsgs[Z].groupId && getLastNumber(G.dbMsgs[Z].number, G.SMS_MATCH_LENGTH) == getLastNumber(aa, G.SMS_MATCH_LENGTH)) { return G.dbMsgs[Z] } } return null }; resendClickHandler = function (ad) { if (!v) { showAlert("sms_capacity_is_full_for_send"); return } showLoading("sending"); B("div.error", "#talk-item-" + ad).text(B.i18n.prop("sms_resending")); var ac = B("div.smslist-item-resend", "#talk-item-" + ad).attr("target"); var ab = B("div.J_content", "#talk-item-" + ad).text(); for (var aa = 0; aa < G.dbMsgs.length; aa++) { if (G.dbMsgs[aa].id == ad) { ab = G.dbMsgs[aa].content } } disableBtn(B("#btn-send", "#inputpanel")); var Z = {id: -1, number: ac, content: ab, isNew: false}; d.sendSMS({number: Z.number, message: Z.content, id: -1}, function (af) { var ae = getLatestMessage() || { id: parseInt(G.smsMaxId, 10) + 1, time: transUnixTime(B.now()), number: Z.number }; G.smsMaxId = ae.id; Z.id = G.smsMaxId; Z.time = ae.time; Z.tag = 2; Z.target = ae.number; Z.targetName = getNameOrNumberByNumber(ac); S(Z); e(Z); deleteSingleItemClickHandler(ad, function () { addSendMessage(Z, true); updateChatInputWordLength(); enableBtn(B("#btn-send", "#inputpanel")); hideLoading(); gotoBottom() }) }, function (ae) { var af = getLatestMessage() || { id: parseInt(G.smsMaxId, 10) + 1, time: transUnixTime(B.now()), number: Z.number }; G.smsMaxId = af.id; Z.id = G.smsMaxId; Z.time = af.time; Z.errorText = B.i18n.prop("sms_resend_fail"); Z.tag = 3; Z.target = af.number; Z.targetName = getNameOrNumberByNumber(ac); S(Z); e(Z); deleteSingleItemClickHandler(ad, function () { addSendMessage(Z, true); updateChatInputWordLength(); enableBtn(B("#btn-send", "#inputpanel")); hideLoading(); gotoBottom() }) }) }; gotoBottom = function () { B("#chatpanel .clear-container").animate({scrollTop: B("#chatlist").height()}) }; var L = 0; var W = false; function o() { n = 1; f = false; shownMsgs = []; W = false; L = 0; m = u = []; i = {}; G.dbMsgs = []; G.listMsgs = null; G.smsMaxId = 0; G.phonebook = [] } function I() { showLoading("waiting"); G.currentChatObject = null; var Z = function () { d.getSMSReady({}, function (ac) { if (ac.sms_cmd_status_result == "2") { B("input:button", "#smsListForm .smslist-btns").attr("disabled", "disabled"); hideLoading(); showAlert("sms_init_fail") } else { if (ac.sms_cmd_status_result == "1") { addTimeout(Z, 1000) } else { if (G.HAS_PHONEBOOK) { ab() } else { aa(false) } } } }) }; var ab = function () { d.getPhoneBookReady({}, function (ac) { if (ac.pbm_init_flag == "6") { aa(false) } else { if (ac.pbm_init_flag != "0") { addTimeout(ab, 1000) } else { aa(true) } } }) }; var aa = function (ac) { o(); if (ac) { R(function () { M(); hideLoading() }) } else { R(function () { G.phonebook = []; E(); hideLoading() }) } bindingEvents(); a(); window.scrollTo(0, 0); y() }; Z() } function y() { var Z = B("#smsCapability"); j(Z); b(); addInterval(function () { j(Z); b() }, 5000) } function b() { var Z = d.getStatusInfo(); if (Z.simStatus != "modem_init_complete") { disableBtn(B("#btn-send")); B("#sendSmsErrorLi").html('' + B.i18n.prop("no_sim_card_message") + ""); B("#chatpanel .smslist-item-resend:visible").hide() } else { enableBtn(B("#btn-send")); B("#chatpanel .smslist-item-resend:hidden").show() } } function j(Z, aa) { d.getSmsCapability({}, function (ab) { if (Z != null) { Z.text("(" + (ab.nvUsed > ab.nvTotal ? ab.nvTotal : ab.nvUsed) + "/" + ab.nvTotal + ")") } v = ab.nvUsed < ab.nvTotal; D = ab; if (B.isFunction(aa)) { aa() } }) } function P() { I() } bindingEvents = function () { var ab = B(window); var aa = B("#smslist-main .smslist-btns"); var Z = B("#mainContainer").offset().top; ab.unbind("scroll").scroll(function () { if (ab.scrollTop() > Z) { aa.addClass("smsListFloatButs marginnone") } else { aa.removeClass("smsListFloatButs marginnone") } }); B("#smslist-table p.checkbox").die().live("click", function () { checkboxClickHandler(B(this).attr("id")) }); B("#smslist-checkAll", "#smsListForm").die().live("click", function () { checkDeleteBtnStatus() }); B("#chat-input", "#smsChatRoom").die().live("drop", function () { B("#inputpanel .chatform").addClass("chatformfocus"); var ac = B(this); ac.removeAttr("data-trans"); if (ac.val() == B.i18n.prop("chat_input_placehoder")) { ac.val("") } updateChatInputWordLength() }).live("focusin", function () { B("#inputpanel .chatform").addClass("chatformfocus"); var ac = B(this); ac.removeAttr("data-trans"); if (ac.val() == B.i18n.prop("chat_input_placehoder")) { ac.val("") } updateChatInputWordLength() }).live("focusout", function () { B("#inputpanel .chatform").removeClass("chatformfocus"); var ac = B(this); if (ac.val() == "" || ac.val() == B.i18n.prop("chat_input_placehoder")) { ac.val(B.i18n.prop("chat_input_placehoder")).attr("data-trans", "chat_input_placehoder") } updateChatInputWordLength() }).live("keyup", function () { updateChatInputWordLength() }).live("paste", function () { window.setTimeout(function () { updateChatInputWordLength() }, 0) }).live("cut", function () { window.setTimeout(function () { updateChatInputWordLength() }, 0) }).live("drop", function () { window.setTimeout(function () { updateChatInputWordLength() }, 0) }).live("contextmenu", function () { return false }); B("#name").die().live("drop", function () { updateNameInputWordLength() }).live("focusin", function () { updateNameInputWordLength() }).live("focusout", function () { updateNameInputWordLength() }).live("keyup", function () { updateNameInputWordLength() }).live("paste", function () { updateNameInputWordLength() }).live("cut", function () { updateNameInputWordLength() }).live("dragend", function () { updateNameInputWordLength() }).live("contextmenu", function () { return false }); B("select.chosen-select-deselect", "#smsChatRoom").die().live("change", function () { N() }); B("#searchInput").die().live("blur", function () { searchTextBlur() }).live("keyup", function () { updateSearchValue(B("#searchInput").val()) }) }; updateNameInputWordLength = function () { var ab = B("#name", "#quickSaveContactForm"); var ac = ab[0]; var ad = ab.val(); var aa = getEncodeType(ad); var Z = aa.encodeType == "UNICODE" ? 11 : 22; while (ad.length + aa.extendLen > Z) { ad = ad.substring(0, ad.length - 1); ac.value = ad; aa = getEncodeType(ad); Z = aa.encodeType == "UNICODE" ? 11 : 22 } }; getNameByNumber = function (Z) { for (var aa = G.phonebook.length; aa > 0; aa--) { if (getLastNumber(G.phonebook[aa - 1].pbm_number, G.SMS_MATCH_LENGTH) == getLastNumber(Z, G.SMS_MATCH_LENGTH)) { return G.phonebook[aa - 1].pbm_name } } return "" }; getShowNameByNumber = function (Z) { for (var aa = G.phonebook.length; aa > 0; aa--) { if (getLastNumber(G.phonebook[aa - 1].pbm_number, G.SMS_MATCH_LENGTH) == getLastNumber(Z, G.SMS_MATCH_LENGTH)) { return G.phonebook[aa - 1].pbm_name } } return Z }; getNameOrNumberByNumber = function (Z) { for (var aa = G.phonebook.length; aa > 0; aa--) { if (G.phonebook[aa - 1].pbm_number == Z) { return G.phonebook[aa - 1].pbm_name } } for (var aa = G.phonebook.length; aa > 0; aa--) { if (getLastNumber(G.phonebook[aa - 1].pbm_number, G.SMS_MATCH_LENGTH) == getLastNumber(Z, G.SMS_MATCH_LENGTH)) { return G.phonebook[aa - 1].pbm_name } } return Z }; smsItemClickHandler = function (ai) { if (O) { return false } O = true; if (x == null) { x = B.template("smsOtherTmpl", B("#smsOtherTmpl")) } if (c == null) { c = B.template("smsMeTmpl", B("#smsMeTmpl")) } var Z = getShowNameByNumber(ai); B("#chosenUser", "#smsChatRoom").hide(); B("#chosenUser1", "#smsChatRoom").addClass("hide"); G.currentChatObject = getLastNumber(ai, G.SMS_MATCH_LENGTH); setAsRead(ai); cleanChatInput(); clearChatList(); var ah = B("select.chosen-select-deselect", "#smsChatRoom"); var ac = B("option", ah); var aa = false; for (var ag = 0; ag < ac.length; ag++) { var ad = ac[ag]; if (getLastNumber(ad.value, G.SMS_MATCH_LENGTH) == G.currentChatObject) { ai = ad.value; aa = true; break } } if (!aa) { ah.append("") } B("select.chosen-select-deselect").val(ai).trigger("chosen:updated.chosen"); C("chat"); G.dbMsgs = Y.sortBy(G.dbMsgs, function (al) { return 0 - al.id }); var aj = []; var ab = []; var ae = []; var af = false; for (var ag = G.dbMsgs.length - 1; ag >= 0; ag--) { var ak = G.dbMsgs[ag]; if (Y.indexOf(ae, ak.id) != -1) { continue } if (getLastNumber(ak.number, G.SMS_MATCH_LENGTH) == G.currentChatObject && Y.isEmpty(ak.groupId)) { ak.isNew = false; ak.errorText = ""; ak.targetName = ""; if (ak.tag == "0" || ak.tag == "1") { B.tmpl("smsOtherTmpl", ak).appendTo("#chatlist"); ae.push(ak.id); ab.push(ak) } else { if (ak.tag == "2" || ak.tag == "3") { B.tmpl("smsMeTmpl", ak).appendTo("#chatlist"); ae.push(ak.id); ab.push(ak) } else { if (ak.tag == "4") { aj.push(ak.id); B("#chat-input", "#smsChatRoom").val(ak.content).removeAttr("data-trans"); updateChatInputWordLength(); af = true } } } } else { ae.push(ak.id); ab.push(ak) } } B("#chatlist").translate(); if (af) { B("#chosenUser", "#smsChatRoom").show(); B("#chosenUser1", "#smsChatRoom").addClass("hide") } else { B("#chosenUser", "#smsChatRoom").hide(); B("#chosenUser1", "#smsChatRoom").removeClass("hide").html(HTMLEncode(Z)) } G.dbMsgs = ab.reverse(); if (aj.length > 0) { g(aj, [ai]) } else { H() } b(); gotoBottom(); O = false }; function H() { var Z = B("#smsCapability"); j(Z); addTimeout(function () { if (!v) { showAlert("sms_capacity_is_full_for_send") } }, 2000) } cleanChatInput = function () { B("#chat-input", "#smsChatRoom").val(B.i18n.prop("chat_input_placehoder")).attr("data-trans", "chat_input_placehoder") }; setAsRead = function (Z) { var aa = []; B.each(G.dbMsgs, function (ab, ac) { if (getLastNumber(ac.number, G.SMS_MATCH_LENGTH) == getLastNumber(Z, G.SMS_MATCH_LENGTH) && ac.isNew) { aa.push(ac.id); ac.isNew = false } }); if (aa.length > 0) { d.setSmsRead({ids: aa}, function (ab) { if (ab.result) { B("#smslist-item-" + getLastNumber(Z, G.SMS_MATCH_LENGTH) + " .smslist-item-new-count").text("").addClass("hide"); B("#smslist-item-" + getLastNumber(Z, G.SMS_MATCH_LENGTH)).removeClass("font-weight-bold"); B("#smslist-item-" + getLastNumber(Z, G.SMS_MATCH_LENGTH) + " td:nth-child(2)").removeClass("font-weight-bold") } B.each(G.listMsgs, function (ac, ad) { if (ad.number == Z && ad.newCount > 0) { ad.newCount = 0 } }) }) } }; forwardClickHandler = function (ae) { var ad = syncSelectAndChosen(B("select#chosenUserSelect"), B(".search-choice", "#chosenUserSelect_chosen")); var ac = B("#chat-input", "#smsChatRoom").val(); var aa = typeof ac != "undefined" && ac != "" && ac != B.i18n.prop("chat_input_placehoder"); if (aa) { F({content: ac, numbers: ad, isFromBack: true, noLoading: true}) } clearChatList(); G.currentChatObject = null; B("#chosenUser1", "#smsChatRoom").addClass("hide"); B("#chosenUser", "#smsChatRoom").show(); for (var ab = 0; ab < G.dbMsgs.length; ab++) { if (G.dbMsgs[ab].id == ae) { var Z = B("#chat-input", "#smsChatRoom"); Z.val(G.dbMsgs[ab].content); setInsertPos(Z[0], G.dbMsgs[ab].content.length) } } updateChatInputWordLength(); B("select.chosen-select-deselect").val("").trigger("chosen:updated.chosen"); addTimeout(function () { B("#chosen-search-field-input").focus() }, 300); C("chat"); gotoBottom() }; updateChatInputWordLength = function () { var an = B("#chat-input", "#smsChatRoom"); var al = an[0]; var ap = an.val(); var ar = getEncodeType(ap); var af = ar.encodeType == "UNICODE" ? 335 : 765; if (ap.length + ar.extendLen > af) { var aa = al.scrollTop; var Z = getInsertPos(al); var ai = ap.length + ar.extendLen - af; var ae = ap.substr(Z - ai > 0 ? Z - ai : 0, ai); var ab = ae.split("").reverse(); var ak = 0; var ad = 0; for (var am = 0; am < ab.length; am++) { if (getEncodeType(ab[am]).extendLen > 0) { ak += 2 } else { ak++ } if (ak >= ai) { ad = am + 1; break } } var aq = Z - ad; al.value = ap.substr(0, aq) + ap.substr(Z); if (al.value.length > af) { al.value = al.value.substr(0, af) } setInsertPos(al, aq); al.scrollTop = aa } var aj = 0; var ah = B(al).val(); var at = {encodeType: "GSM7_default", extendLen: 0}; if (ah != B.i18n.prop("chat_input_placehoder")) { at = getEncodeType(ah) } var ao = at.encodeType == "UNICODE" ? 335 : 765; var ac = B("#inputcount", "#inputpanel"); var ag = B("#inputItemCount", "#inputpanel"); if (ah.length + at.extendLen >= ao) { ac.addClass("colorRed"); ag.addClass("colorRed") } else { B("#inputcount", "#inputpanel").removeClass("colorRed"); B("#inputItemCount", "#inputpanel").removeClass("colorRed") } if ("" != ah && B.i18n.prop("chat_input_placehoder") != ah) { aj = ah.length + at.extendLen } ac.html("(" + aj + "/" + ao + ")"); ag.html("(" + getSmsCount(ah) + "/5)"); N() }; function N() { var aa = B("#chat-input", "#smsChatRoom").val(); if (v) { var ab = getSelectValFromChosen(B(".search-choice", "#chosenUserSelect_chosen")); var ac = !ab || ab.length == 0; var Z = typeof aa != "undefined" && aa != "" && aa != B.i18n.prop("chat_input_placehoder"); if (!Z) { G.resetContentModifyValue(); return } if (Z && !ac) { G.CONTENT_MODIFIED.modified = true; G.CONTENT_MODIFIED.message = "sms_to_save_draft"; G.CONTENT_MODIFIED.callback.ok = F; G.CONTENT_MODIFIED.callback.no = B.noop; G.CONTENT_MODIFIED.data = {content: B("#chat-input", "#smsChatRoom").val(), numbers: ab}; return } if (Z && ac) { G.CONTENT_MODIFIED.modified = true; G.CONTENT_MODIFIED.message = "sms_no_recipient"; G.CONTENT_MODIFIED.callback.ok = B.noop; G.CONTENT_MODIFIED.callback.no = function () { return true }; return } } else { G.resetContentModifyValue() } } function F(aa) { var ac = new Date(); var ab = { index: -1, currentTimeString: getCurrentTimeString(ac), groupId: aa.numbers.length > 1 ? ac.getTime() : "", message: aa.content, numbers: aa.numbers }; !aa.noLoading && showLoading("waiting"); d.saveSMS(ab, function () { if (aa.isFromBack) { Z(aa.numbers); !aa.noLoading && successOverlay("sms_save_draft_success") } else { !aa.noLoading && successOverlay("sms_save_draft_success") } }, function () { !aa.noLoading && errorOverlay("sms_save_draft_failed") }); function Z(ad) { d.getSMSMessages({ page: 0, smsCount: 5, nMessageStoreType: 1, tags: 4, orderBy: "order by id desc" }, function (aj) { if (aj.messages && aj.messages.length > 0) { var ai = "", ak = "", ae = "", al = 0, ag = []; for (; al < aj.messages.length; al++) { var af = aj.messages[al]; for (var ah = 0; ah < ad.length; ah++) { var am = ad[ah]; if (getLastNumber(am, G.SMS_MATCH_LENGTH) == getLastNumber(af.number, G.SMS_MATCH_LENGTH)) { af.number = am } } if (ai != "" && ai != af.groupId) { break } S(af); if (af.groupId == "") { break } else { ai = af.groupId; var ao = getShowNameByNumber(af.number); ak += (al == 0 ? "" : ";") + ao; ae += (al == 0 ? "" : ";") + ao } ag.push(af) } if (ai == "") { var af = aj.messages[0]; af.hasDraft = true; e(af) } else { var af = aj.messages[0]; var an = 10; if (getEncodeType(ak).encodeType == "UNICODE") { an = 10 } af.draftShowNameTitle = ae; af.draftShowName = ak.length > an ? ak.substring(0, an) + "..." : ak; af.hasDraft = true; af.totalCount = al; i[ai] = ag; e(af) } tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length) } }, function () { }) } } draftSmsItemClickHandler = function (ab) { if (O) { return false } O = true; var ad = i[ab]; var Z = []; var ac = []; for (var aa = 0; ad && aa < ad.length; aa++) { Z.push(getLastNumber(ad[aa].number, G.SMS_MATCH_LENGTH)); ac.push(ad[aa].id + "") } B("#chosenUser", "#smsChatRoom").show(); B("#chosenUser1", "#smsChatRoom").addClass("hide").html(""); B("select.chosen-select-deselect").val(Z).trigger("chosen:updated.chosen"); B("#chat-input", "#smsChatRoom").val(ad[0].content); updateChatInputWordLength(); clearChatList(); C("chat"); N(); gotoBottom(); O = false; J(ac, ab) }; deletePhoneMessageClickHandler = function (Z) { showConfirm("confirm_sms_delete", function () { showLoading("deleting"); var aa = []; B.each(G.dbMsgs, function (ab, ac) { if (ac.number == Z) { aa.push(ac.id) } }); d.deleteMessage({ids: aa}, function (ab) { B("#smslist-item-" + getLastNumber(Z, G.SMS_MATCH_LENGTH)).hide().remove(); synchSmsList([Z], aa); successOverlay(); tryToDisableCheckAll(B("#smslist-checkAll", "#smsListForm"), B(".smslist-item", "#smslist-table").length) }, function (ab) { errorOverlay(ab.errorText) }) }) }; synchSmsList = function (ab, Z) { if (ab && ab.length > 0) { G.listMsgs = B.grep(G.listMsgs, function (ad, ac) { return B.inArray(ad.number, ab) == -1 }) } if (Z && Z.length > 0) { var aa = []; B.each(G.dbMsgs, function (ac, ad) { if (B.inArray(ad.id, Z) == -1) { aa.push(ad) } }); G.dbMsgs = aa } }; function a() { var aa = B(".smslist-item"); var Z; if (aa.length > 0) { Z = aa[aa.length - 1] } else { Z = aa[0] } L = Z ? Z.offsetTop : 600 } function l() { if (f && !W && L < (B(window).scrollTop() + B(window).height()) && B(".smslist-item").length != G.listMsgs.length) { W = true; addTimeout(function () { removeChecked("smslist-checkAll"); h(); a(); W = false }, 100) } } function z() { disableBtn(B("#btn-back")); B("a", "#left").bind("click", function () { return false }); B("a", "#list-nav").bind("click", function () { return false }) } function U() { enableBtn(B("#btn-back")); B("a", "#left").unbind("click"); B("a", "#list-nav").unbind("click") } function w(ab) { ab = B.trim(ab); var aa = B("tr", "#smslist-table"), ae = aa.length; if (ab == "") { aa.show(); return false } aa.hide(); while (ae) { var ac = B(aa[ae - 1]), ad = B("td", ac), Z = ad.length; while (Z - 1) { var af = B(ad[Z - 1]); if (af.text().toLowerCase().indexOf(ab.toLowerCase()) != -1) { ac.show(); break } Z-- } ae-- } addTimeout(function () { B(":checkbox:checked", "#addPhonebookContainer").removeAttr("checked"); vm.selectedItemIds([]); vm.freshStatus(B.now()); renderCheckbox() }, 300); return true } updateSearchValue = function (Z) { if (Z == "" || Z == B.i18n.prop("search")) { return true } w(Z) }; clearSearchKey = function () { updateSearchValue(B.i18n.prop("search")); B("#searchInput").addClass("ko-grid-search-txt-default").attr("data-trans", "search") }; searchTextClick = function () { var Z = B("#searchInput"); if (Z.hasClass("ko-grid-search-txt-default")) { updateSearchValue(""); Z.val(""); Z.removeClass("ko-grid-search-txt-default").removeAttr("data-trans") } }; searchTextBlur = function () { var Z = B.trim(B("#searchInput").val()).toLowerCase(); if (Z == "") { clearSearchKey() } }; window.smsUtil = { changeLocationHandler: function (Z) { if (B(Z).val() == "sim") { window.location.hash = "#msg_sim" } else { window.location.hash = "#msg_main" } } }; return {init: P} }); define("sms_set", "underscore jquery knockout set service".split(" "), function (f, b, i, a, d) { var c = f.map(a.SMS_VALIDITY, function (j) { return new Option(j.name, j.value) }); function e() { var k = this; var j = h(); k.modes = i.observableArray(c); k.selectedMode = i.observable(j.validity); k.centerNumber = i.observable(j.centerNumber); k.deliveryReport = i.observable(j.deliveryReport); k.clear = function () { g(); clearValidateMsg() }; k.save = function () { showLoading("waiting"); var l = {}; l.validity = k.selectedMode(); l.centerNumber = k.centerNumber(); l.deliveryReport = k.deliveryReport(); d.setSmsSetting(l, function (m) { if (m.result == "success") { successOverlay() } else { errorOverlay() } }) } } function h() { return d.getSmsSetting() } function g() { var j = b("#container"); i.cleanNode(j[0]); var k = new e(); i.applyBindings(k, j[0]); b("#smsSettingForm").validate({ submitHandler: function () { k.save() }, rules: {txtCenterNumber: "sms_service_center_check"} }) } return {init: g} }); define("sms_sim_messages", "jquery knockout set service".split(" "), function (e, b, o, s) { var d = null; var p = 200; function q() { return s.getSMSMessages({ page: 0, smsCount: p, nMessageStoreType: 0, tags: 10, orderBy: "order by id desc" }, function (t) { tryToDisableCheckAll(e("#simMsgList-checkAll"), t.messages.length); c(t.messages) }, function (t) { c([]) }) } function c(t) { e.each(t, function (v, x) { x.itemId = getLastNumber(x.number, o.SMS_MATCH_LENGTH); for (var w = 0; w < o.phonebook.length; w++) { var u = o.phonebook[w]; if (x.itemId == getLastNumber(u.pbm_number, o.SMS_MATCH_LENGTH)) { x.name = u.pbm_name; break } } }); h(t) } cleanSimSmsList = function () { e("#simMsgList_container").empty() }; function h(t) { if (d == null) { d = e.template("simMsgListTmpl", e("#simMsgListTmpl")) } cleanSimSmsList(); e("#simMsgList_container").html(e.tmpl("simMsgListTmpl", {data: t})); hideLoading() } function k(t) { s.getPhoneBooks({page: 0, data_per_page: 2000, orderBy: "name", isAsc: true}, function (u) { if (e.isArray(u.pbm_data) && u.pbm_data.length > 0) { o.phonebook = u.pbm_data } else { o.phonebook = [] } t() }, function () { errorOverlay() }) } function i() { var t = this; f() } deleteSelectedSimMsgClickHandler = function () { var v = e("input[name=msgId]:checked", "#simMsgList_container"); var t = []; for (var u = 0; u < v.length; u++) { t.push(e(v[u]).val()) } if (t.length == 0) { return false } showConfirm("confirm_sms_delete", function () { showLoading("deleting"); s.deleteMessage({ids: t}, function (w) { removeChecked("simMsgList-checkAll"); disableBtn(e("#simMsgList-delete")); var x = ""; v.each(function (y, z) { x += ".simMsgList-item-class-" + e(z).val() + "," }); if (x.length > 0) { e(x.substring(0, x.length - 1)).hide().remove() } tryToDisableCheckAll(e("#simMsgList-checkAll"), e(".smslist-item", "#simMsgList_container").length); successOverlay() }, function (w) { errorOverlay(w.errorText) }); r(e("#simSmsCapability")) }) }; function m() { if (n() == 0) { disableBtn(e("#simMsgList-delete")) } else { enableBtn(e("#simMsgList-delete")) } } function n() { return e("input:checkbox:checked", "#simMsgList_container").length } function f() { showLoading("waiting"); var t = function () { s.getSMSReady({}, function (w) { if (w.sms_cmd_status_result == "2") { hideLoading(); showAlert("sms_init_fail") } else { if (w.sms_cmd_status_result == "1") { addTimeout(function () { t() }, 1000) } else { if (!o.HAS_PHONEBOOK) { u(o.HAS_PHONEBOOK) } else { v() } } } }) }; var v = function () { s.getPhoneBookReady({}, function (w) { if (w.pbm_init_flag == "6") { u(false) } else { if (w.pbm_init_flag != "0") { addTimeout(function () { v() }, 1000) } else { u(o.HAS_PHONEBOOK) } } }) }; var u = function (w) { if (w) { k(function () { q() }) } else { o.phonebook = []; q() } }; t(); g() } function g() { var t = e("#simSmsCapability"); r(t); addInterval(function () { r(t) }, 5000) } function r(t) { s.getSmsCapability({}, function (u) { if (t != null) { t.text("(" + u.simUsed + "/" + u.simTotal + ")") } }) } clearSearchKey = function () { updateSearchValue(e.i18n.prop("search")); e("#searchInput").addClass("ko-grid-search-txt-default").attr("data-trans", "search") }; searchTextClick = function () { var t = e("#searchInput"); if (t.hasClass("ko-grid-search-txt-default")) { updateSearchValue(""); t.val(""); t.removeClass("ko-grid-search-txt-default").removeAttr("data-trans") } }; searchTextBlur = function () { var t = e.trim(e("#searchInput").val()).toLowerCase(); if (t == "") { clearSearchKey() } }; updateSearchValue = function (t) { if (t == "" || t == e.i18n.prop("search")) { return true } j(t) }; function j(v) { v = e.trim(v); var u = e("tr", "#smslist-table"), y = u.length; if (v == "") { u.show(); return false } u.hide(); while (y) { var w = e(u[y - 1]), x = e("td", w), t = x.length; while (t - 1) { var z = e(x[t - 1]); if (z.text().toLowerCase().indexOf(v.toLowerCase()) != -1) { w.show(); break } t-- } y-- } addTimeout(function () { e(":checkbox:checked", "#addPhonebookContainer").removeAttr("checked"); vm.selectedItemIds([]); vm.freshStatus(e.now()); renderCheckbox() }, 300); return true } simsmsItemClickHandler = function (t, w, u) { if (t == "1") { var v = []; v.push(w); s.setSmsRead({ids: v}, function (x) { if (x.result) { e(".simMsgList-item-class-" + w, "#simMsgTableContainer").removeClass("font-weight-bold") } }) } }; function a() { e(".smslist-item-msg", "#simMsgTableContainer").die().live("click", function () { var t = e(this).addClass("showFullHeight"); e(".smslist-item-msg.showFullHeight", "#simMsgTableContainer").not(t).removeClass("showFullHeight") }); e("#simMsgList_container p.checkbox, #simMsgListForm #simMsgList-checkAll").die().live("click", function () { m() }); e("#searchInput").die().live("blur", function () { searchTextBlur() }).live("keyup", function () { updateSearchValue(e("#searchInput").val()) }) } function l() { var t = e("#container"); b.cleanNode(t[0]); var u = new i(); b.applyBindings(u, t[0]); a() } window.smsUtil = { changeLocationHandler: function (t) { if (e(t).val() == "sim") { window.location.hash = "#msg_sim" } else { window.location.hash = "#msg_main" } } }; return {init: l} });