1/** 2**************************************************** 3TouchEnNxKey.js 4**************************************************** 5| Version ÀÛ¼ºÀÚ ¼öÁ¤ÀÏ º¯°æ»çÇ× 6 --------- ------- ----------- ---------- 7| v1.0.0.10 °³²ÁØ 2021.08.26 8| v1.0.0.9 °³²ÁØ 2021.08.14 9| v1.0.0.8 °³²ÁØ 2020.02.17 10| v1.0.0.7 °³²ÁØ 2019.07.05 11| v1.0.0.6 °³²ÁØ 2018.12.14 12| v1.0.0.5 ¹é¼¸° 2018.11.12 13| v1.0.0.4 ÇãÇý¸² 2017.12.26 14| v1.0.0.3 ÇãÇý¸² 2017.01.23 15| v1.0.0.2 ¹é¼¸° 2017.01.20 16| v1.0.0.1 ¹é¼¸° 2017.01.20 17 18**************************************************** 19 Copyright ©Ï RaonSecure Co., Ltd. 20 * º» Äڵ忡 ´ëÇÑ ¸ðµç ±ÇÇÑÀº (ÁÖ)¶ó¿Â½ÃÅ¥¾î ÀÖÀ¸¸ç µ¿ÀǾøÀÌ »ç¿ë/¹èÆ÷/°¡°øÇÒ ¼ö ¾ø½À´Ï´Ù. 21**************************************************** 22**/ 23 24/* 25¾Æ·¡ ÁÖ¼®µÈ ÄÚµå´Â ÇÔ¼ö üũ 26»çÀÌÆ® Àû¿ë½Ã È®ÀÎ ÈÄ ÄÚµå »èÁ¦= 27*/ 28 29 30var TK_funArrary =["getInternetExplorerVersion","IsGetAttributeNull","isDefaultSecurityOn","isEnc","isSecurity", 31 "TK_Loading","TK_Load","TK_LoadingCallback","TK_installPage","TK_notInstall", 32 "TK_isInstallcheck","TK_installCheck","TK_installCheckCallback","TouchEnKey_download","TouchEnKey_extensiondownload", 33 "TK_DoSubmitByGetEnc","TK_makeEncData","TK_ApplySecurity","TK_Init_callback","TK_SetCallBack", 34 "focusDataClear","TK_Start","TK_Start_callback","TK_Stop","TK_Stop_callback", 35 "TK_Keyup","TK_Keypress","TK_KeyDown","TK_InputCancle","TK_Change", 36 "TK_Input","TK_KeyDown_callback","TK_Select","TK_SetScroll","TK_click", 37 "TK_IsSecurityType","TK_AddEventListner","TK_AddEventListner2","DrawHiddenElements","DrawHiddenElements", 38 "DrawHiddenElementsId","GetEncDataFun","makeKeyData","makeEncDataEx","makeEncDataId", 39 "GetEncData","TouchEnKey_UIEevents","onBlur","onFocus","TK_RealStopProcess", 40 "update_callback","GetHiddenEncFieldName","GetHiddenKeyFieldName","GetEncDataCallback","GetEncDataCallback2", 41 "TouchEnNXE_createHexString","findElementByName","findElmentByNames","findElmentByNamesId","GetCaretPosition", 42 "TK_Request","TK_Request2","TK_RequestEx","TK_Request_Callback","IsDenyPaste", 43 "TK_OnContextMenu","TK_OnPaste","TK_Clear","TK_Rescan","TK_EnqueueList_frm", 44 "TK_EnqueueList","EncOnFieldDisableEvent","TK_GetEncXW","TK_GetEncYT","TK_GetEncGN", 45 "TK_GetEncUN","TK_GetEncHN","TK_OnContextMenu","TK_OnPaste","TK_InvalidateSession", 46 "TK_EncModify","TK_FaqMove","TK_CommonError","GetAttributeFormName","TK_postInit", 47 "TK_postFinish","Tk_InputErase","TK_HiddenElementErase","TK_NomalElementErase","IsAllowIdOverlap", 48 "IsFormTrans","IsSpecialTkMask","TK_KeyInputToInputObj","TK_IsNal","TK_InputEncWithPlain", 49 "TK_SeedKey_Request","TK_AddChar_Request","TK_EncData_Request","TK_InterClear_Request", "TK_Rescan_Id", "TK_Rescan_Form", "TK_EnqueueList_Form", 50 "TK_EnqueueList_Id", "Create_E2E_element", "Create_E2E_element_Form", "Create_E2E_element_Id"]; 51 52 53function TK_funCheck(k) 54{ 55 var i = 0; 56 try { 57 for (i=k; i <TK_funArrary.length; i++) 58 { 59 var tk_func = eval(TK_funArrary[i]); 60 61 if (typeof(tk_func) != "function") 62 alert(TK_funArrary[i] + " Function is not function"); 63 } 64 } 65 catch (e) { 66 67 alert(TK_funArrary[i] + " Function is not exist"); 68 TK_funCheck(i+1); 69 70 } 71} 72 73 74 75if (!window.console) 76 console = { 77 log: function (msg) {} 78 }; 79 80 81/** Áö¿ø ºê¶ó¿ìÀú üũ */ 82var useTouchEnnxKey = false; 83try{ 84 if(TOUCHENEX_UTIL.isWin() || TOUCHENEX_UTIL.isMac()){ 85 if(TOUCHENEX_UTIL.isIE() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.moduleMinVer.MSIE)) useTouchEnnxKey = true; 86 else if(TOUCHENEX_UTIL.isChrome() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.moduleMinVer.chromeMinVer)) useTouchEnnxKey = true; 87 else if(TOUCHENEX_UTIL.isFirefox() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.moduleMinVer.FireFoxMinVer)) useTouchEnnxKey = true; 88 else if(TOUCHENEX_UTIL.isOpera() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.moduleMinVer.OperaMinVer)) useTouchEnnxKey = true; 89 else if(TOUCHENEX_UTIL.isSafari() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.moduleMinVer.SafariMinVer)) useTouchEnnxKey = true;
90 else if(TOUCHENEX_UTIL.isEdge()) useTouchEnnxKey = true; 91 else useTouchEnnxKey = false; 92 } else{ 93 useTouchEnnxKey = false; 94 } 95}catch(e){ 96 useTouchEnnxKey = false; 97} 98 99/** ºê¶ó¿ìÀú ¹× OS Á¤º¸ */ 100var TouchEn_BaseBRW = { 101 ua: navigator.userAgent.toLowerCase(), 102 ie: navigator.appName == 'Microsoft Internet Explorer', 103 ie_: navigator.userAgent.match('MSIE') == 'MSIE', 104 ns: navigator.appName == 'Netscape', 105 ff: navigator.userAgent.match('Firefox') == 'Firefox', 106 sf: navigator.userAgent.match('Safari') == 'Safari', 107 op: navigator.userAgent.match('Opera') == 'Opera', 108 cr: navigator.userAgent.match('Chrome') == 'Chrome', 109 win: navigator.platform.match('Win') == 'Win', 110 mac: navigator.userAgent.match('Mac') == 'Mac', 111 linux: navigator.userAgent.match('Linux') == 'Linux', 112 ie11: navigator.userAgent.match('Trident/7.0') == 'Trident/7.0' 113}; 114 115var getTouchEnNXEType = { 116 MSIEBrowser: (TouchEn_BaseBRW.win && (TouchEn_BaseBRW.ie || TouchEn_BaseBRW.ie11 || TouchEn_BaseBRW.ie_)), 117 WebKitBrowser: (TouchEn_BaseBRW.mac || TouchEn_BaseBRW.ff || TouchEn_BaseBRW.sf || TouchEn_BaseBRW.cr || TouchEn_BaseBRW.op), 118 OtherOS: (TouchEn_BaseBRW.mac || TouchEn_BaseBRW.linux) 119}; 120 121function getInternetExplorerVersion() { 122 var rv = -1; // Return value assumes failure. 123 if (navigator.appName == 'Microsoft Internet Explorer') { 124 var ua = navigator.userAgent; 125 var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); 126 if (re.exec(ua) != null) 127 rv = parseFloat(RegExp.$1); 128 } 129 return rv; 130} 131 132 133var tk_Special_Mask_StartPos = "data-tk_hkStart_pos"; 134var tk_Special_Mask_EndPos = "data-tk_hkEnd_pos"; 135var tk_Special_Mask = "data-tk_hk_mask"; 136 137var bDaemonType = false; 138var TouchEnNx_preKeyCode=0; 139var TK_bInit = 0; 140var bAddListner = 0; 141var TouchEnNXE_E2EDATA = ""; 142var TouchEnNXE_SeedKey = ""; 143var cipherEncText = ""; 144var bAutoFocus = false; 145//var TNK_SR = ""; 146 147var BSKeyBeingActive = false; 148 149var DomID; 150var TouchEnKeyNXE_CurObj; 151var loadflag = false; 152var fnGetEncXWCallback; 153var fnGetEncYTCallback; 154var fnGetEncGNCallback; 155var fnGetEncUNCallback; 156var fnGetEncHNCallback; 157var bEnc2 = false; 158var bTobe = false; 159 160 161var tekOption = TouchEnNxConfig.solution.nxkey.tekOption; 162 163if(TouchEnNxConfig.warningMacSierra == true && TOUCHENEX_UTIL.getOSInfo().name == "Sierra") 164{ 165 alert("MAC OS X 10.12 Sierra ¹öÀüÀº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."); 166} 167 168function IsGetAttributeNull(obj, attValue) 169{ 170 if(obj == undefined) return true; 171 if (attValue == undefined) return true; 172 173 if (obj.getAttribute(attValue) == null) 174 return true; 175 176 return false; 177} 178 179function isDefaultSecurityOn(inputObj) 180{ 181 if (tekOption.idbase == "true") { 182 if (tekOption.defaultsecurityid == "false") 183 return false; 184 } 185 else { 186 if (inputObj.form && (inputObj.form.getAttribute("DefaultSecurity") == "off" || inputObj.form.getAttribute("data-DefaultSecurity") == "off")) 187 return false; 188 } 189 return true; 190} 191 192//ÇØ´ç ÀÔ·Â Çʵ尡 e2e ÀÎÁö ¿©ºÎ¸¦ ÆÇ´Ü 193function isEnc(inputObj) 194{ 195 if (TK_IsNal(inputObj)) return false; 196 if (inputObj.tagName == "INPUT") { 197 198 if (inputObj.getAttribute("enc") == "on" 199 || inputObj.getAttribute("enc") == "true" 200 || inputObj.getAttribute("enc") == "yes" 201 || inputObj.getAttribute("data-enc") == "on" 202 || inputObj.getAttribute("data-enc") == "true" 203 || inputObj.getAttribute("data-enc") == "yes" 204 ) 205 return true; 206 207 if (TK_IsAvailble(tekOption.defaultenc)) { 208 if (inputObj.getAttribute("type") == "password" && (tekOption.defaultenc == "on" || tekOption.defaultenc == "yes" || tekOption.defaultenc == "true")) 209 return true; 210 } 211 } 212 return false; 213} 214 215function isSecurity(inputObj) { 216 217 isSecurityCheck(inputObj); 218 219 if (isDefaultSecurityOn(inputObj)) 220 return true; 221 222 return false; 223} 224 225// 20230224 226// º¸¾ÈÇʵ忩ºÎüũ 227// isDefaultSecurityOn true/false ¿©ºÎ »ó°ü¾øÀÌ ºñº¸¾ÈÇʵ忡¼ µ¿ÀÛÇÏ¿© ºÐ±â 228function isSecurityCheck(inputObj) { 229 if (isEnc(inputObj)) 230 return true; 231 232 if (inputObj.getAttribute("security") == "on" || inputObj.getAttribute("security") == "true" || inputObj.getAttribute("security") == "yes" || 233 inputObj.getAttribute("data-security") == "on" || inputObj.getAttribute("data-security") == "true" || inputObj.getAttribute("data-security") == "yes") 234 return true; 235 236 if (IsGetAttributeNull(inputObj, "security") == true && IsGetAttributeNull(inputObj, "data-security") == true) { 237 238 // 20230302 239 // IE Àϰæ¿ì inputObj.getAttribute("tk_security") == null 240 if( getTouchEnNXEType.WebKitBrowser){ 241 if (inputObj.getAttribute("tk_security") == "true" ) 242 return true; 243 } 244 else{ 245 if (inputObj.getAttribute("tk_security") == "true" || inputObj.getAttribute("tk_security") == "" || inputObj.getAttribute("tk_security") == null) 246 return true; 247 } 248 } 249 250 if (inputObj.getAttribute("type") == "password") 251 return true; 252 253 return false; 254} 255 256 257/** 258 * ¸ðµâ ·Îµù 259 * 260 * status °¡ trueÀ̸é üũ¸¦ ¿äûÇÑ ¸ðµç ¸ðµâÀÌ Á¤»ó ¼³Ä¡µÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù. °¢°¢ÀÇ ¸ðµâÀº info ¹è¿ ³» °ªÀ» ÅëÇÏ¿© 261 * È®ÀÎÇÕ´Ï´Ù. ÆäÀÌÁö ÃÖÃÊ Á¢¼Ó½Ã¿¡´Â üũÈÄ¿¡ ¹Ýµå½Ã LOADINGÀ» ¼öÇàÇÏ¿© ¸ðµâº° EX½ÇÇà °´Ã¼°¡ Á¤»óÀûÀ¸·Î »ý¼ºµÇµµ·Ï ÇÕ´Ï´Ù. 262 * LOADINGÀº status °ªÀÌ trueÀÎ °æ¿ì¿¡¸¸ µ¿ÀÛÇÕ´Ï´Ù. 263 */ 264function TK_Loading() { 265 try { 266 if (!loadflag) { 267 //TouchEnNx.processingbar(true); 268 if (window.onbeforeunload == null) 269 window.onbeforeunload = function(){}; // cache »èÁ¦ 270 271 TOUCHENEX_CHECK.check([touchenexInfo], "TK_Load"); 272 loadflag = true; 273 } 274 } catch (e) { 275 TouchEnNx.processingbar(false); 276 } 277} 278 279 280function TK_Load(check) { 281 try { 282 exlog("TK_LoadingCallback", check); 283 currStatus = check; 284 if (currStatus.status) { 285 touchenexInfo.tkInstalled = currStatus.status; 286 TOUCHENEX_LOADING("TK_LoadingCallback"); 287 } else { 288 TK_notInstall(currStatus); 289 } 290 } catch (e) { 291 TouchEnNx.processingbar(false); 292 } 293} 294 295/** 296 * Űº¸µåº¸¾È Á¤»ó ·Îµù½Ã ¸ðµâ ½ÇÇà 297 */ 298function TK_LoadingCallback(installed) { 299 try { 300 if (installed) { 301 if(TK_MSIEBrowserDaemonCheck() || getTouchEnNXEType.WebKitBrowser ){ 302 if (bAddListner == 0) { 303 TK_AddEventListner(); 304 } 305 } 306 if (TK_bInit == 0) { 307 TK_ApplySecurity(); 308 } 309 } 310 } catch (e) { 311 TouchEnNx.processingbar(false); 312 } 313} 314 315/** 316 * ¼³Ä¡ ÆäÀÌÁö À̵¿ ÇÔ¼ö ¼³¸í : ¼³Ä¡ ¿Ï·á½Ã ¸ÞÀÎÆäÀÌÁö À̵¿ ÇÔ¼ö È£Ãâ TouchEnNxKey_Interface.js ¿¡ ÆäÀÌÁö ¼³Ä¡¸¦ 317 * À§ÇØ À̵¿ ÇÒ ÆäÀÌÁö °æ·Î¸¦ ¼³Á¤ÇÕ´Ï´Ù. 318 */ 319 320 321function TK_installPage() { 322 TouchEnNx.processingbar(false); 323 alert("°í°´´ÔÀÇ ¾ÈÀüÇÑ °áÁ¦ À§ÇÏ¿© \nº¸¾ÈÇÁ·Î±×·¥ ¼³Ä¡°¡ ÇÊ¿äÇÕ´Ï´Ù.\n[È®ÀÎ]À» ¼±ÅÃÇÏ½Ã¸é ¼³Ä¡ÆäÀÌÁö·Î ¿¬°áµË´Ï´Ù.\n"); 324 if (typeof TouchEnKey_installpage == "undefined") { 325 location.href = touchenexInfo.tkInstallpage; 326 } 327} 328 329/** 330 * ¹Ì ¼³Ä¡ ÀÏ ? µ¿ÀÛ ÇÔ¼ö. 331 */ 332/** 333 * ¹Ì ¼³Ä¡ ÀÏ ? µ¿ÀÛ ÇÔ¼ö. 334 */ 335function TK_notInstall(currStatus) { 336 try { 337 if (!currStatus.status) { // ¹Ì ¼³Ä¡ À϶§ 338 touchenexInfo.tkInstalled = currStatus.status; 339 if (typeof TouchEnKey_installpage == "undefined") { 340 TK_installPage(); 341 } else { 342 if (!currStatus.info[0].isInstalled) { 343 if (!currStatus.info[0].extension) { 344 // EX ¹Ì¼³Ä¡ chrome , firefox, opera extension ÀÚµ¿ À̵¿ 345 if (TOUCHENEX_UTIL.isChrome() || TOUCHENEX_UTIL.isFirefox() || (TOUCHENEX_UTIL.isOpera())) { 346 // TouchEnKey_extensiondownload(); 347 touchenexInfo.exInstalled = false; 348 } 349 } else { 350 touchenexInfo.exInstalled = true; 351 } 352 353 if (!currStatus.info[0].client || !currStatus.info[0].EX) { 354 // client ÆÄÀÏÀÌ ¹Ì¼³Ä¡ µÇ ¾úÀ» °æ¿ì 355 touchenexInfo.clInstalled = false; 356 } else { 357 touchenexInfo.clInstalled = true; 358 } 359 } else { 360 // ¼³Ä¡¿Ï·á 361 if (typeof TouchEnKey_installpage != "undefined") { 362 // ¼³Ä¡ÆäÀÌÁöÀÌ¸é ¸ÞÀÎÆäÀÌÁö À̵¿ ·ÎÁ÷ Ãß°¡ ¶Ç´Â¸ÞÀÎÆäÀÌÁö À̵¿ ÇÔ¼ö È£Ãâ 363 } 364 } 365 } 366 } else { // ¼³Ä¡¿Ï·á 367 touchenexInfo.tkInstalled = currStatus.status; 368 if (typeof TouchEnKey_installpage != "undefined") { 369 // ¼³Ä¡ÆäÀÌÁö ÀÌ¸é ¸ÞÀÎ ÆäÀÌÁö À̵¿ ·ÎÁ÷ Ãß°¡ ¶Ç´Â ¸ÞÀÎ ÆäÀÌÁö À̵¿ ÇÔ¼ö È£Ãâ 370 } 371 } 372 } catch (e) { 373 exlog("_TOUCHENNX", "TK_notInstall() exception"); 374 } 375} 376/** 377 * Á¤»ó ¼³Ä¡¿©ºÎ È®ÀÎÀ» À§ÇÑ »ùÇà callback À¸·Î ¿À´Â ÀÎÀÚ°ªÀº {"status":"false", 378 * "info":[{"name":exPluginName, "isInstalled":true, "extension":true, 379 * "EX":true, "client":true}}]} 380 * 381 * status °¡ trueÀ̸é üũ¸¦ ¿äûÇÑ ¸ðµç ¸ðµâÀÌ Á¤»ó ¼³Ä¡µÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù. °¢°¢ÀÇ ¸ðµâÀº info ¹è¿ ³» °ªÀ» ÅëÇÏ¿© 382 * È®ÀÎÇÕ´Ï´Ù. üũÈÄ¿¡ ¹Ýµå½Ã LOADINGÀ» ¼öÇàÇÏ¿© ¸ðµâº° EX½ÇÇà °´Ã¼°¡ Á¤»óÀûÀ¸·Î »ý¼ºµÇµµ·Ï ÇÕ´Ï´Ù. LOADINGÀº status 383 * °ªÀÌ trueÀÎ °æ¿ì¿¡¸¸ µ¿ÀÛÇÕ´Ï´Ù. 384 */ 385 386function TK_isInstallcheck() { 387 try { 388 TOUCHENEX_CHECK.check([touchenexInfo], 'TK_installCheckCallback'); 389 } catch (e) { 390 exlog("_TOUCHENNX", "TK_isInstallcheck() exception"); 391 } 392} 393 394function TK_installCheck(callback) { 395 try { 396 TOUCHENEX_CHECK.check([touchenexInfo], callback); 397 } catch (e) { 398 exlog("_TOUCHENNX", "TK_installCheck() exception"); 399 } 400} 401 402function TK_installCheckCallback(check) { 403 try { 404 currStatus = check; 405 if (currStatus.status) { 406 touchenexInfo.tkInstalled = currStatus.status; 407 if (typeof TouchEnKey_installpage != "undefined") { 408 // ¼³Ä¡ÆäÀÌÁö ÀÌ¸é ¸ÞÀÎÆäÀÌÁö À̵¿ ·ÎÁ÷ Ãß°¡ ¶Ç´Â ¸ÞÀÎÆäÀÌÁö À̵¿ ÇÔ¼ö È£Ãâ 409 } 410 } else { 411 TK_notInstall(currStatus); // ¹Ì¼³Ä¡ ÀÏ °æ¿ì ÇÔ¼ö È£Ãâ 412 } 413 } catch (e) { 414 exlog("_TOUCHENNX", "TK_installCheckCallback() exception"); 415 } 416} 417 418function TouchEnKey_download() { 419 420 if( (TOUCHENEX_UTIL.isWin() || TOUCHENEX_UTIL.isMac()) && (tekOption.runtype == "onlydaemon" || tekOption.runtype == "mainextension")) 421 { 422 TOUCHENEX_INSTALL.download('nxkey', 'daemon'); 423 } 424 else 425 { 426 TOUCHENEX_INSTALL.download('nxkey', 'client'); 427 } 428} 429 430function TouchEnKey_extensiondownload() { 431 TOUCHENEX_INSTALL.download('nxkey', 'extension'); 432} 433 434function TK_DoSubmitByGetEnc() { 435 if (tekOption.usegetenc != "true") { 436 alert("Option usegetenc is not true"); 437 } 438 frm = document.forms[0]; 439 if (getTouchEnNXEType.MSIEBrowser) { 440 makeKeyData(frm); 441 } else { 442 GetEncData(); 443 } 444} 445 446function TK_makeEncData(frmObj) { 447 try { 448 var cipherEncText = ""; 449 if (tekOption.usegetenc == "true") { 450 alert("Option usegetenc is not false"); 451 } 452 if (tekOption.usegetenc == "true") { 453 GetEncData(); 454 } else { 455 if (TK_Isidbase()) 456 cipherEncText = GetCipherDataId(); 457 else { 458 cipherEncText = GetCipherDataForm(frmObj); 459 } 460 461 if (IsAllowIdOverlap() == true) { 462 if (tekOption.idbase == "true") { 463 document.getElementById("hid_enc_data").value = cipherEncText; 464 } else { 465 frmObj.hid_enc_data.value = cipherEncText; 466 } 467 } else { 468 var encField = ""; 469 if (tekOption.idbase == "true") { 470 encField = GetHiddenEncFieldName(); 471 var hid_enc_filed = document.getElementById(encField); 472 473 if (typeof hid_enc_filed != "undefined") 474 hid_enc_filed.value = cipherEncText; 475 476 } else { 477 encField = GetHiddenEncFieldName(frmObj); 478 frmObj[encField].value = cipherEncText; 479 } 480 } 481 return true; 482 } 483 } catch (e) { 484 return false; 485 } 486} 487 488function TK_ApplySecurity() { 489 if (typeof TouchEnKey_installpage != "undefined") 490 return false; 491 if (getTouchEnNXEType.WebKitBrowser) { 492 var array = new Uint8Array(16); 493 window.crypto.getRandomValues(array); 494 DomID = TouchEnNXE_createHexString(array, 16); 495 DomID = DomID.substring(0, 32); 496 } else { 497 DomID = "iecb" + TOUCHENEX_UTIL.createId(); 498 } 499 500 if(TOUCHENEX_UTIL.isMac() && TOUCHENEX_UTIL.isSafari() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= 12) { 501 window.addEventListener("beforeunload", function (event) { 502 try { 503 touchenexInterface.TK_RealStop([false, DomID], "TK_Stop_callback"); 504 tekOption.bstart = 0; 505 } catch (e) { 506 exlog("_TOUCHENNX", "TK_ApplySecurity() beforeunload"); 507 } 508 509 event.returnValue = ""; 510 }); 511 } 512 513 TK_SetCallBack(); 514 try { 515 // 20230224 IE Form, input name ¾øÀ» ½Ã º¸¾È¾ÈµÉ ¶§ name Ãß°¡ ·ÎÁ÷ 516 for (var i = 0; i < document.forms.length; i++) { 517 /* 518 20230303 form¿¡ name ¾ø¾î º¸¾È¾ÈµÉ °æ¿ì ÁÖ¼®ÇØÁ¦ 519 if(TK_IsNal(document.forms[i].name)){ 520 document.forms[i].name = document.forms[i].id; 521 } 522 */ 523 for (var j = 0; j < document.forms[i].elements.length; j++) { 524 if(TK_IsNal(document.forms[i].elements[j].name)){ 525 526 // 20230224 º¸¾ÈÇʵ忩ºÎ Çѹø ´õ üũ 527 if(isSecurityCheck(document.forms[i].elements[j])){ 528 document.forms[i].elements[j].name = document.forms[i].elements[j].id; 529 } 530 531 } 532 } 533 } 534 535 // --- 536 537 if (window.frameElement) 538 tekOption.iframename = window.frameElement.getAttribute("name"); 539 else 540 tekOption.iframename = ""; 541 } catch (e) { 542 tekOption.iframename = "_unknown_"; 543 } 544 tekOption.exformname = touchenexInfo.exFormName; 545 546 if (tekOption.iframename != "") { 547 for (var i = 0; i < document.forms.length; i++) { 548 var frmName = GetAttributeFormName(document.forms[i]); 549 if (frmName != null && frmName != "" && frmName != touchenexInfo.exFormName) { 550 tekOption.searchformname = frmName; 551 break; 552 } 553 } 554 } 555 556 if (document.createEvent) 557 tekOption.firetype = "dispatch"; 558 559 if (typeof TNK_SR == "string") 560 { 561 tekOption.srdk = TNK_SR; 562 } 563 tekOption.browserinfo = TOUCHENEX_UTIL.getBrowserInfo().browser; 564 565 for(var i=0; i<TOUCHENEX_CHECK.chkInfoStatus.info.length; i++) { 566 if (TOUCHENEX_CHECK.chkInfoStatus.info[i].licExpire != undefined && TOUCHENEX_CHECK.chkInfoStatus.info[i].licExpire != "")
567 tekOption.licexpiredate = TOUCHENEX_CHECK.chkInfoStatus.info[i].licExpire; 568 } 569 570 var strOption = JSON.stringify(tekOption); 571 touchenexInterface.TK_Init([false, DomID, strOption, ""], 572 "TK_Init_callback"); 573 574 var k=0; 575 try { 576 if (tekOption.idbase == "true") { 577 var htmlAllColl = document.all; 578 579 for (var j = 0; j < htmlAllColl.length; j++) { 580 if (htmlAllColl[j].tagName == "INPUT" && 581 (htmlAllColl[j].type == "text" || htmlAllColl[j].type == "password") && isEnc(htmlAllColl[j])) { 582 Tk_InputErase(htmlAllColl[j]); 583 } 584 } 585 } else { 586 for (var i = 0; i < document.forms.length; i++) { 587 for (var j = 0; j < document.forms[i].elements.length; j++) { 588 589 var bFound = false; 590 591 if (document.forms[i].elements[j].tagName == "INPUT" && (document.forms[i].elements[j].type == "text" || document.forms[i].elements[j].type == "password") && isEnc(document.forms[i].elements[j])) 592 bFound = true; 593 if (bFound) { 594 Tk_InputErase(document.forms[i].elements[j]); 595 if (k == 0) 596 TouchEnKeyNXE_CurObj = document.forms[i].elements[j]; 597 k++; 598 599 } 600 } 601 } 602 } 603 } catch (e) { 604 TouchEnNx.processingbar(false); 605 } 606 607} 608 609function TK_Init_callback(result) { 610 if(result.isvm == "true"){ 611 TouchEnNx.processingbar(false); 612 if(typeof TouchEnNx.success == "function") TouchEnNx.success(result); 613 } 614 if (result.result == "true") { 615 616 TK_bInit = 1; 617 try { 618 if (TK_Isidbase()) { 619 makeEncDataId(); 620 //document.forms[0].id1.focus(); 621 } else { 622 for (var i = 0; i < document.forms.length; i++) { 623 var frm = document.forms[i]; 624 if (GetAttributeFormName(frm) != undefined && GetAttributeFormName(frm) != touchenexInfo.exFormName) 625 makeEncDataEx(frm); 626 } 627 628 } 629 630 if(TOUCHENEX_UTIL.isEdge()) 631 { 632 var htmlAllColl = document.all; 633 for (var j = 0; j < htmlAllColl.length; j++) 634 { 635 if (htmlAllColl[j].tagName == "INPUT" && (htmlAllColl[j].type == "text" || htmlAllColl[j].type == "password")) 636 { 637 htmlAllColl[j].focus(); 638 htmlAllColl[j].blur(); 639 break; 640 } 641 } 642 } 643 644 if(result.enc2 == "true") { 645 bEnc2 = true; 646 } 647 648 } catch (e) {if(typeof TouchEnNx.success == "function") TouchEnNx.success(result);} 649 if(typeof TouchEnNx.success == "function") TouchEnNx.success(result); 650 } 651 652} 653 654function TK_SetCallBack() { 655 var topURL; 656 try { 657 topURL = window.top.location.protocol + "//" + window.top.location.host + window.top.location.pathname; 658 } catch (e) { 659 topURL = document.referrer; 660 } 661 662 var cbdata = []; 663 cbdata.push({ 664 "callbackid": DomID, 665 "callback": TOUCHENEX_CONST.frameName + "update_callback", 666 "orgurl": location.protocol + "//" + location.host + location.pathname, 667 "topurl": topURL 668 }); 669 touchenexInterface.TestEXPush(cbdata); 670 tekOption.setcallback ="true"; 671} 672 673function focusDataClear(inputObj){ 674 try{ 675 if(TK_MSIEBrowserDaemonCheck() || getTouchEnNXEType.WebKitBrowser ){ 676 if(tekOption.idbase == "true"){ 677 TK_Clear("", inputObj.id); 678 }else{ 679 680 TK_Clear(GetAttributeFormName(inputObj.form), inputObj.name); 681 } 682 inputObj.selectionStart = 0; 683 inputObj.selectionEnd = 0; 684 685 inputObj.focus(); 686 687 var range = inputObj.createTextRange(); 688 range.collapse(false); 689 range.select(); 690 } 691 }catch(e){ 692 exlog("_TOUCHENNX", "focusDataClear() exception"); 693 } 694} 695 696/** 20150904 ¼öÁ¤ */ 697function TK_Start(nsEvent) { 698 if (tekOption.SetCallback == "false") { 699 TK_SetCallBack(); 700 tekOption.SetCallback = "true"; 701 } 702 703 if (!getTouchEnNXEType.WebKitBrowser && !TK_IEDaemonCheck()) 704 return; 705 706 var theEvent; 707 var inputObj; 708 var comm=0; 709 if (nsEvent.type == "text" || nsEvent.type == "password") { 710 inputObj = nsEvent; 711 } else { 712 theEvent = nsEvent ? nsEvent : window.event; 713 inputObj = theEvent.target ? theEvent.target : theEvent.
713srcElement; 714 } 715 if (TK_bInit == 0) { 716 inputObj.blur(); 717 return; 718 } 719 try { 720 if(inputObj.value.length == 0 && TK_bInit==1){ 721 focusDataClear(inputObj); 722 } 723 var varEnableDummy = "off"; 724 725 if(inputObj.type=="text" && inputObj.getAttribute("data-dataType")=="n" && isEnc(inputObj) && inputObj.value.indexOf(",") > -1){ 726 varEnableDummy = "on"; 727 comm = inputObj.value.split(",").length; 728 if(comm > 1) comm--; 729 else comm = 0; 730 } 731 TouchEnKeyNXE_CurObj = inputObj; 732 var bReadOnly = "false"; 733 if (inputObj.readOnly == true) 734 bReadOnly = "true"; 735 //ID ±â¹Ý, FormName ÀÌ ¾øÀ¸¸é ID ±â¹Ý ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù. 736 var formName = ""; 737 if (tekOption.idbase != "true") // ID±â¹ÝÀÌ ¾Æ´Ï¸é ForeNameÀ» set ÇÑ´Ù. 738 formName = GetAttributeFormName(inputObj.form); 739 740 741 // µðÆúÆ® ½ÃÅ¥¸®Æ¼ ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù. 742 // Ç¥ÁØ, ÇÏÀ§ ȣȯ¼º Áö¿ø 743 var defaultSecurity = 1; 744 if (!isDefaultSecurityOn(inputObj)) 745 defaultSecurity = 0x0; 746 747 var useWebSquarePast = 0; 748 if (tekOption.useWebSquarePast=="true" && parseFloat(TOUCHENEX_UTIL.getOSInfo().version, 10) > 8) 749 { 750 useWebSquarePast = 1; 751 } 752 753 var tekInput = { 754 "formName": formName, 755 "name": inputObj.name, 756 "id": inputObj.id, 757 "type": inputObj.type, 758 "enc": inputObj.getAttribute("enc"), 759 "data-enc": inputObj.getAttribute("data-enc"), 760 "maxlength": inputObj.getAttribute("maxlength"), 761 "datatype": inputObj.getAttribute("datatype"), 762 "data-datatype": inputObj.getAttribute("data-datatype"), 763 "mask": inputObj.getAttribute("mask"), 764 "data-mask": inputObj.getAttribute("data-mask"), 765 "security": inputObj.getAttribute("security"), 766 "data-security": inputObj.getAttribute("data-security"), 767 "inputlength": inputObj.value.length, 768 "inputdom": inputObj.value, 769 "readonly": bReadOnly, 770 "comm" : comm, 771 "enabledummy" : varEnableDummy, 772 "jsversion" : 1, 773 "defaultsecurity" : defaultSecurity, 774 "useWebSquarePast" : useWebSquarePast 775 }; 776 777 778 if (inputObj.id.toString().length > 0 && tekOption.idbase == "true") { 779 780 tekInput.formName = ""; 781 touchenexInterface.TK_Start( 782 [false, inputObj.id, DomID, tekInput], "TK_Start_callback"); 783 } else { 784 touchenexInterface.TK_Start( 785 [false, inputObj.name, DomID, tekInput], "TK_Start_callback"); 786 } 787 } catch (e) { 788 exlog("_TOUCHENNX", "TK_Start() exception"); 789 } 790} 791 792function TK_Start_callback(result) { 793 794 if (isEnc(TouchEnKeyNXE_CurObj)) { 795 if (TouchEnKeyNXE_CurObj.value.length != 0 && TouchEn_BaseBRW.ff == false) { 796 if (TouchEnKeyNXE_CurObj.selectionStart < TouchEnKeyNXE_CurObj.value.length) { 797 TouchEnKeyNXE_CurObj.selectionStart = TouchEnKeyNXE_CurObj.value.length; 798 TouchEnKeyNXE_CurObj.selectionEnd = TouchEnKeyNXE_CurObj.value.length; 799 } 800 801 } 802 } 803 804 if (result.StartReadyComplete != undefined) 805 { 806 if(result.StartReadyComplete=="success") 807 { 808 //E2ESize °¡ undefined E2E Çʵ尡 ¾Æ´Ï´Ù 809 if(result.E2ESize != undefined && result.InputName == TouchEnKeyNXE_CurObj.name) 810 { 811 812 var comm = TouchEnKeyNXE_CurObj.value.split(",").length; 813 if(comm > 1) comm--; 814 else comm = 0; 815 816 var E2EInputSize = parseInt(result.E2ESize, 10) + comm; 817 var curInfiedlSize = TouchEnKeyNXE_CurObj.value.length; 818 819 if (E2EInputSize != curInfiedlSize) 820 { 821 Tk_InputErase(TouchEnKeyNXE_CurObj); 822 if(tekOption.idbase=="true") 823 TK_Request2("ClearDB", "", TouchEnKeyNXE_CurObj.id, ""); 824 else 825 TK_Request2("ClearDB", GetAttributeFormName(TouchEnKeyNXE_CurObj.form), TouchEnKeyNXE_CurObj.name, ""); 826 } 827 } 828 tekOption.bstart=1; 829 830 return; 831 } 832 } 833 834 if (result == "StartReadyComplete") { 835 tekOption.bstart = 1; 836 return; 837 } 838 839 if (result == "Start_Failed") { 840 tekOption.bstart = 0; 841 TK_Clear(TouchEnKeyNXE_CurObj.formName, TouchEnKeyNXE_CurObj.name); 842 843 var HiddenEnc = ""; 844 845 if (tekOption.idbase == "true") { 846 TK_Clear("", TouchEnKeyNXE_CurObj.id);
847 HiddenEnc = "E2E_" + TouchEnKeyNXE_CurObj.id; 848 849 if (isEnc(TouchEnKeyNXE_CurObj)) { 850 Tk_InputErase(document.getElementById(HiddenEnc)[0]); 851 Tk_InputErase(TouchEnKeyNXE_CurObj); 852 } 853 854 } else { 855 TK_Clear(TouchEnKeyNXE_CurObj.formName, TouchEnKeyNXE_CurObj.name); 856 HiddenEnc = "E2E_" + TouchEnKeyNXE_CurObj.name; 857 858 if (isEnc(TouchEnKeyNXE_CurObj)) { 859 Tk_InputErase(document.getElementsByName(HiddenEnc)[0]); 860 Tk_InputErase(TouchEnKeyNXE_CurObj); 861 } 862 } 863 TouchEnKeyNXE_CurObj.blur(); 864 } 865} 866 867function TK_Stop(nsEvent) { 868 869 870 if (!getTouchEnNXEType.WebKitBrowser && !TK_IEDaemonCheck()) 871 return; 872 873 var theEvent; 874 var inputObj; 875 876 if (nsEvent.type == "text" || nsEvent.type == "password") { 877 inputObj = nsEvent; 878 } else { 879 theEvent = nsEvent ? nsEvent : window.event; 880 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 881 } 882 try { 883 if (inputObj.id.toString().length > 0 && tekOption.idbase == "true") { 884 touchenexInterface.TK_Stop([false, DomID, inputObj.id], "TK_Stop_callback"); 885 } else { 886 touchenexInterface.TK_Stop([false, DomID, inputObj.name], "TK_Stop_callback"); 887 } 888 } catch (e) { 889 exlog("_TOUCHENNX", "TK_Stop() exception"); 890 } 891} 892 893function TK_Stop_callback(result) {} 894 895function TK_Keyup(nsEvent) { 896 var theEvent; 897 var inputObj; 898 899 900 if (!getTouchEnNXEType.WebKitBrowser && !TK_IEDaemonCheck()) 901 return; 902 903 if (nsEvent.type == "text" || nsEvent.type == "password") { 904 inputObj = nsEvent; 905 } else { 906 theEvent = nsEvent ? nsEvent : window.event; 907 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 908 } 909 var keycode = typeof nsEvent.which == "number" ? nsEvent.which : nsEvent.keyCode; 910 if(keycode == undefined){ 911 exlog("_TOUCHENNX", "KeyCode undefined"); 912 }else{ 913 var chCode = keycode.toString(); 914 915 if (tekOption.usebspress == undefined || tekOption.usebspress != "true") { 916 if (keycode == 8) { 917 BSKeyBeingActive = false; 918 } 919 } 920 } 921} 922 923function TK_Keypress(nsEvent) { 924 var theEvent; 925 var inputObj; 926 927 if (!getTouchEnNXEType.WebKitBrowser && !TK_IEDaemonCheck()) 928 return; 929 930 if (nsEvent.type == "text" || nsEvent.type == "password") { 931 inputObj = nsEvent; 932 } else { 933 theEvent = nsEvent ? nsEvent : window.event; 934 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 935 } 936 var keycode = typeof nsEvent.which == "number" ? nsEvent.which : nsEvent.keyCode; 937 var chCode = keycode.toString(); 938} 939 940function TK_KeyDown(nsEvent) { 941 var theEvent; 942 var inputObj; 943 944 945 if (!getTouchEnNXEType.WebKitBrowser && !TK_IEDaemonCheck()) 946 return; 947 948 if (nsEvent.type == "text" || nsEvent.type == "password") { 949 inputObj = nsEvent; 950 } else { 951 theEvent = nsEvent ? nsEvent : window.event; 952 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 953 } 954 955 try { 956 // Call win32 export functionSS 957 var keycode = typeof nsEvent.which == "number" ? nsEvent.which : nsEvent.keyCode; 958 var chCode = keycode.toString(); 959 TouchEnNx_preKeyCode = keycode; 960 961 var TK_isSecurity = false; 962 var TK_isEnc = false; 963 TK_isSecurity = isSecurity(TouchEnKeyNXE_CurObj); 964 TK_isEnc = isEnc(TouchEnKeyNXE_CurObj); 965 966 if(TK_isEnc == true) TK_isSecurity = true; 967 968 969 if (tekOption.bstart != 1 && TK_isSecurity == true) { 970 return TK_InputCancle(); 971 } 972 973 if(TOUCHENEX_UTIL.isMac()) 974 { 975 if (keycode == 50 && TK_isSecurity == true && nsEvent.shiftKey==true) 976 { 977 if (tekOption.tk_isRunningSecurity == "true") 978 { 979 return TK_InputCancle(nsEvent); 980 } 981 } 982 } 983 984 // 20230224 senseReader 985 if(tekOption.senseReader == "true"){ 986 if ((keycode == 0x6A || keycode == 106) && isSecurityCheck(inputObj) == true) { 987 return TK_InputCancle(nsEvent); 988 } 989 } 990 991 992 if (keycode == 32) 993 { 994 if (inputObj.getAttribute("data-datatype") == "h" || inputObj.getAttribute("datatype") == "h" 995 || inputObj.getAttribute("data-datatype") == "hn" || inputObj.getAttribute("datatype") == "hn" 996 || inputObj.getAttribute("data-datatype") == "ahn" || inputObj.getAttribute("datatype") == "ahn" 997 || inputObj.getAttribute("data-datatype") == "ha" || inputObj.getAttribute("datatype") == "ha" 998 ) 999 { 1000 return TK_InputCancle(nsEvent); 1001 } 1002 } 1003 1004 if (keycode == 0xff) 1005 { 1006 return TK_InputCancle(nsEvent); 1007 } 1008 1009 TouchEnKeyNXE_CurObj.scrollLeft = TouchEnKeyNXE_CurObj.scrollWidth; 1010 1011 1012 1013 if (TouchEnKeyNXE_CurObj.getAttribute("security") == "off" || TouchEnKeyNXE_CurObj.getAttribute("data-security") == "off") { 1014 if(keycode != 8 && keycode != 46) 1015 return; 1016 } 1017 1018 // ºÙ¿©³Ö±â Ű Á¶ÇÕ °¨Áö 1019 var isPaste = false; 1020 var key = nsEvent.key; 1021 var cmd_held = nsEvent.metaKey | nsEvent.ctrlKey; 1022 if(cmd_held && key.toLowerCase() == "v") { 1023 isPaste = true; // ºÙ¿©³Ö±â Ű Á¶ÇÕÀ̶ó¸é 1024 } else { 1025 isPaste = false; 1026 } 1027 1028 // e2e ¿µ¿ª¿¡ ´ëÇØ¼ ¾ÕµÚÀ§¾Æ·¡ Ä¿¼ À̵¿ ±ÝÁö, delete Ű ±ÝÁö 1029 if (isEnc(TouchEnKeyNXE_CurObj)) 1030 { 1031 //defaultEnc °¡ Çã¿ëÀ϶§ paswword Çʵ忡 ´ëÇØ¼´Â e2e°¡ ±âº»¼³Á¤À̹ǷΠÇã¿ëÀ» ¸·¾Æ¾ß ÇÑ´Ù. 1032 if (keycode == 0x25 || keycode == 0x26 || keycode == 0x27 || keycode == 0x28 || 1033 keycode == 0x21 || keycode == 0x22 || keycode == 0x24 || keycode == 46 || isPaste == true) 1034 { 1035 return TK_InputCancle(nsEvent); 1036 } 1037 } 1038 1039 if (isPaste == true) { 1040 if ((tekOption.defaultpaste == "false") || (tekOption.defaultpaste == "off") || (tekOption.defaultpaste == "no")) { 1041 //defaultpaste false ¶óµµ ºñº¸¾È ¿µ¿ªÀº ºÙ¿© ³Ö±â¸¦ Çã¿ë 1042 if (TouchEnKeyNXE_CurObj.getAttribute("data-security") != "off" && TouchEnKeyNXE_CurObj.getAttribute("security") != "off") 1043 { 1044 return TK_InputCancle(nsEvent); 1045 } 1046 } else { 1047 // ÀÏ¹Ý º¸¾È ¿µ¿ª (E2E ¾Æ´Ô) 1048 // ºÙ¿© ³Ö±â Çã¿ë À϶§, Datytype ÀÌ µé¾î °¡ ÀÖÀ¸¸é Çã¿ë ÇÏÁö ¾Ê´Â´Ù. 1049 // datatype ÀÌ Á¸Àç ÇÏ¸é ºÙ¿© ³Ö±â ±ÝÁö. 1050 if (TouchEnKeyNXE_CurObj.getAttribute("datatype") != null || TouchEnKeyNXE_CurObj.getAttribute("data-datatype") != null) 1051 { 1052 return TK_InputCancle(nsEvent); 1053 } 1054 } 1055 } 1056 1057 if (keycode == 8 || keycode == 46) { 1058 if (isEnc(TouchEnKeyNXE_CurObj)) { 1059 1060 if (keycode == 8 && (tekOption.usebspress == undefined || tekOption.usebspress != "true")) { 1061 if (BSKeyBeingActive == true) 1062 { 1063 return TK_InputCancle(nsEvent); 1064 } 1065 BSKeyBeingActive = true; 1066 } 1067 1068 // DOM Comma °¡ ¾²¿©Áú °æ¿ì, º¸¾È ¸ðµâÀº ÀÌ Comma ÀÇ Á¸À縦 ¾ËÁö ¸øÇÑ´Ù. 1069 // DOM °ú º¸¾È ¸ðµâ°£ÀÇ µ¥ÀÌÅͱæÀÌ µ¿±âȸ¦ À§ÇØ ¸ðµâ¿¡ comma ÀÇ ¾²¿©Á³´Ù´Â°É ¾Ë¸°´Ù. 1070 if (TouchEnKeyNXE_CurObj.value[TouchEnKeyNXE_CurObj.value.length - 1] == ",") {
1071 TK_Request("comma", "--"); 1072 } 1073 1074 var kLen = 32; 1075 if (bEnc2 == true) 1076 kLen = 64; 1077 1078 touchenexInterface.TK_KeyDown([false, chCode], 1079 "TK_KeyDown_callback"); 1080 1081 if (tekOption.idbase == "true") { 1082 var e2eEle = document.getElementById("E2E_" + inputObj.id); 1083 if (inputObj && inputObj.id) { 1084 if (e2eEle.value.length > 0) { 1085 var value = e2eEle.value.substring(0, e2eEle.value.length - kLen); 1086 Tk_InputErase(document.getElementById("E2E_" + inputObj.id)); 1087 document.getElementById("E2E_" + inputObj.id).value = value; 1088 } 1089 } 1090 } else { 1091 var e2eEle = null; 1092 var frmTmp = null; 1093 if (IsAllowIdOverlap() == true) 1094 { 1095 e2eEle = document.getElementsByName("E2E_" + inputObj.name); 1096 frmTmp = findElmentByNames(document.getElementsByName(inputObj.name)[0]); 1097 } 1098 else 1099 { 1100 frmTmp = document.activeElement.form; 1101 if (typeof frmTmp == "undefined") frmTmp = document.forms[0]; 1102 1103 e2eEle = frmTmp["E2E_" + inputObj.name]; 1104 } 1105 1106 if (inputObj && inputObj.name) { 1107 if (e2eEle[0].value.length > 0) { 1108 var value = e2eEle[0].value.substring(0, e2eEle[0].value.length - kLen); 1109 Tk_InputErase(frmTmp["E2E_" + inputObj.name]); 1110 frmTmp["E2E_" + inputObj.name].value = value; 1111 } 1112 } 1113 } 1114 TouchEnKeyNXE_CurObj.value = TouchEnKeyNXE_CurObj.value.toString().substring(0, TouchEnKeyNXE_CurObj.value.toString().length); 1115 1116 } else { //E2E °¡ ¾Æ´Ò¶§ 1117 1118 var len = TouchEnKeyNXE_CurObj.selectionEnd - TouchEnKeyNXE_CurObj.selectionStart; 1119 var CaretPos = GetCaretPosition(TouchEnKeyNXE_CurObj); 1120 var MaxLength = TouchEnKeyNXE_CurObj.getAttribute("maxlength"); 1121 if ((keycode == 8 && len == 0 && CaretPos == 0) || (keycode == 46 && CaretPos == MaxLength)) 1122 { 1123 return TK_InputCancle(nsEvent); 1124 } 1125 if (len > 0) { 1126 touchenexInterface.TK_KeyDown([false, chCode, len], 1127 "TK_KeyDown_callback"); 1128 } else { 1129 touchenexInterface.TK_KeyDown([false, chCode], 1130 "TK_KeyDown_callback"); 1131 } 1132 } 1133 } else { 1134 if (tekOption.bstart == 0) 1135 { 1136 return TK_InputCancle(nsEvent); 1137 } 1138 1139 if (keycode == 120) 1140 { 1141 var len = TouchEnKeyNXE_CurObj.value.length; 1142 touchenexInterface.TK_KeyDown([false, "255", len], 1143 "TK_KeyDown_callback"); 1144 } 1145 1146 } 1147 } catch (e) { 1148 exlog("_TOUCHENNX", "TK_KeyDown() exception"); 1149 } 1150} 1151 1152function TK_InputCancle(nsEvent) 1153{ 1154 if (typeof nsEvent != undefined) 1155 { 1156 if (TouchEn_BaseBRW.ff) 1157 nsEvent.preventDefault(); 1158 else 1159 nsEvent.returnValue = false; 1160 } 1161 return false; 1162} 1163 1164function TK_Change(nsEvent) { 1165} 1166 1167function TK_Input(nsEvent) { 1168 if (TouchEnKeyNXE_CurObj == undefined) return; 1169 1170 if (nsEvent.type == "text" || nsEvent.type == "password") { 1171 inputObj = nsEvent; 1172 } else { 1173 theEvent = nsEvent ? nsEvent : window.event; 1174 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 1175 } 1176 1177 1178 /* 1179 ³Ø»çÅ©·Î ¿¬µ¿ ½Ã 'A', '0', '_' ´õ¹Ì ¹®ÀÚ Event Ãæµ¹ ¹æÁö 1180 */ 1181 if (TK_IsNal(theEvent.eventOwner) == false) 1182 { 1183 if (theEvent.eventOwner == "NXKEY") 1184 return; 1185 } 1186 1187 1188 var bSecurity = true; 1189 if (isSecurity(inputObj) == false)
1190 bSecurity = false; 1191 1192 1193 if (tekOption.keyboardonly == "true" && bSecurity==true) 1194 { 1195 if (TouchEnNx_preKeyCode == 8 || TouchEnNx_preKeyCode == 46) return; 1196 if (TouchEnNx_preKeyCode > 128 || TouchEnNx_preKeyCode == 0) return; 1197 if (TouchEnKeyNXE_CurObj.value.length >1) 1198 TouchEnKeyNXE_CurObj.value = TouchEnKeyNXE_CurObj.value.substring(0,TouchEnKeyNXE_CurObj.value.length-1); 1199 else 1200 Tk_InputErase(TouchEnKeyNXE_CurObj); 1201 1202 TouchEnNx_preKeyCode=0; 1203 return; 1204 } 1205 1206 1207 if(tekOption.bstart != 1 && TouchEnKeyNXE_CurObj!=undefined && bSecurity==true) 1208 { 1209 if(TouchEnNx_preKeyCode != 0) { 1210 Tk_InputErase(TouchEnKeyNXE_CurObj); 1211 } 1212 } 1213 1214 if (TouchEnKeyNXE_CurObj.value.length == 0 && TouchEnKeyNXE_CurObj!=undefined) 1215 if(tekOption.idbase == "true"){ 1216 TK_Clear("", TouchEnKeyNXE_CurObj.id); 1217 }else{ 1218 TK_Clear(GetAttributeFormName(TouchEnKeyNXE_CurObj.form), TouchEnKeyNXE_CurObj.name); 1219 } 1220 1221 // Űº¸µå º¸¾ÈÀº ½ÃÀÛ Çߴµ¥, º¸¾È ¾ÈµÈ µ¥ÀÌÅͰ¡ µé¾î¿À¸é ¾ÏÈ£È ÇÑ´Ù. 1222 var bE2E = isEnc(inputObj); 1223 if(tekOption.bstart == 1 && bE2E == true) 1224 { 1225 1226 if (TouchEnNx_preKeyCode == 8 || TouchEnNx_preKeyCode == 46) return; 1227 1228 var code; 1229 if (inputObj.value.length > 0) 1230 { 1231 code = inputObj.value[inputObj.value.length-1]; 1232 if(tekOption.idbase == "true"){ 1233 TK_Request2("ReqCryptData", "", inputObj.id, code); 1234 } else { 1235 TK_Request2("ReqCryptData", GetAttributeFormName(inputObj.form), inputObj.name, code); 1236 } 1237 } 1238 //console.log("20160405 inputValue : " + inputObj.value + " code : " + code ); 1239 1240 } 1241 TouchEnNx_preKeyCode=0; 1242} 1243 1244function TK_KeyDown_callback(result) {} 1245 1246function TK_Select(nsEvent) { 1247 var theEvent; 1248 var inputObj; 1249 1250 if (nsEvent.type == "text" || nsEvent.type == "password") { 1251 inputObj = nsEvent; 1252 } else { 1253 theEvent = nsEvent ? nsEvent : window.event; 1254 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 1255 } 1256 1257 if ((inputObj.selectionStart > 0 && inputObj.selectionEnd > 0) || (inputObj.selectionEnd - inputObj.selectionStart > 0)) { 1258 if (isEnc(inputObj)) { 1259 if (TouchEn_BaseBRW.ff) 1260 { 1261 nsEvent.preventDefault(); 1262 } 1263 else 1264 { 1265 1266 if (inputObj.selectionStart < inputObj.value.length) { 1267 inputObj.selectionStart = inputObj.value.length; 1268 inputObj.selectionEnd = inputObj.value.length; 1269 } 1270 } 1271 } 1272 } 1273 1274 return true; 1275} 1276 1277 1278function TK_SetScroll(start, end) { 1279 1280 try { 1281 1282 if (isEnc(TouchEnKeyNXE_CurObj)) 1283 { 1284 TouchEnKeyNXE_CurObj.selectionStart = start; 1285 TouchEnKeyNXE_CurObj.selectionEnd = end; 1286 } 1287 } catch (e) { 1288 exlog("_TOUCHENNX", "TK_SetScroll() exception"); 1289 } 1290} 1291 1292 1293 1294function TK_click(nsEvent) { 1295 1296 var inputObj; 1297 1298 if (nsEvent.type == "text" || nsEvent.type == "password") { 1299 inputObj = nsEvent; 1300 } else { 1301 theEvent = nsEvent ? nsEvent : window.event; 1302 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 1303 } 1304 1305 if (TK_IsNal(inputObj)) return; 1306 1307 try { 1308 // Call win32 export functionSS 1309 EncOnFieldDisableEvent(inputObj); 1310 1311 if (isEnc(inputObj)) //defaultEnc °¡ Çã¿ëÀ϶§ paswword Çʵ忡 ´ëÇØ¼´Â e2e°¡ ±âº»¼³Á¤À̹ǷΠÇã¿ëÀ» ¸·¾Æ¾ß ÇÑ´Ù. 1312 { 1313 if (inputObj.selectionStart < inputObj.value.length) { 1314 inputObj.selectionStart = inputObj.value.length; 1315 inputObj.selectionEnd = inputObj.value.length; 1316 } 1317 } 1318 1319 1320 } catch (e) { 1321 exlog("_TOUCHENNX", "TK_click() exception"); 1322 } 1323} 1324 1325//º¸¾È´ë»óÀÎÁö ¿©ºÎ È®ÀÎ (¸®½º³Ê °ÉÁö ¿©ºÎ) 1326function TK_IsSecurityType(obj) 1327{ 1328 1329 if (obj.tagName == "INPUT" && (obj.type == "text" || obj.type == "password" || obj.type == "tel" || obj.type == "number" || obj.type == "email")) 1330 return true; 1331 1332 return false; 1333} 1334 1335function TK_AddEventListner() { 1336 try { 1337 if (tekOption.idbase == "true") { 1338 var htmlAllColl = document.all; 1339 for (var j = 0; j < htmlAllColl.length; j++) { 1340 if (TK_IsSecurityType(htmlAllColl[j]) == true) 1341 { 1342 TK_AddEventListner2(htmlAllColl[j]); 1343 } 1344 } 1345 } else { 1346 for (var i = 0; i < document.forms.length; i++) { 1347 for (var j = 0; j < document.forms[i].elements.length; j++) 1348 { 1349 if (TK_IsSecurityType(document.forms[i].elements[j]) == true) 1350 { 1351 var eleObj = document.forms[i].elements[j]; 1352 TK_AddEventListner2(eleObj); 1353 //eleObj.setAttribute("tk_security", "true"); 1354 } 1355 } 1356 } 1357 } 1358 bAddListner = true; 1359 } catch (e) { 1360 exlog("_TOUCHENNX", "TK_AddEventListner() exception"); 1361 } 1362} 1363 1364function TK_AddEventListner2(eobj) { 1365 if (!getTouchEnNXEType.WebKitBrowser && !TK_IEDaemonCheck()) return false; 1366 try { 1367 if (eobj.addEventListener) { 1368 eobj.addEventListener("focus", TK_Start, false); 1369 eobj.addEventListener("blur", TK_Stop, false); 1370 eobj.addEventListener("keydown", TK_KeyDown, false); 1371 eobj.addEventListener("keypress", TK_Keypress, false); 1372 eobj.addEventListener("keyup", TK_Keyup, false); 1373 eobj.addEventListener("select", TK_Select); 1374 eobj.addEventListener("click", TK_click); 1375 eobj.addEventListener("contextmenu", TK_OnContextMenu); 1376 eobj.addEventListener("paste", TK_OnPaste); 1377 eobj.addEventListener("change", TK_Change); 1378 eobj.addEventListener("input", TK_Input); 1379 } else if (eobj.attachEvent) { 1380 eobj.attachEvent("onfocus", TK_Start); 1381 eobj.attachEvent("onblur", TK_Stop); 1382 eobj.attachEvent("onkeydown", TK_KeyDown); 1383 eobj.attachEvent("onkeypress", TK_Keypress); 1384 eobj.attachEvent("onkeyup", TK_Keyup); 1385 eobj.attachEvent("onselect", TK_Select); 1386 eobj.attachEvent("onclick", TK_click); 1387 eobj.attachEvent("oncontextmenu", TK_OnContextMenu); 1388 eobj.attachEvent("onpaste", TK_OnPaste); 1389 eobj.attachEvent("onchange", TK_Change); 1390 eobj.attachEvent("oninput", TK_Input); 1391 } 1392 if ((TK_bInit != undefined && TK_bInit != 0) && eobj.value.length==0) { 1393 if(tekOption.idbase == "true"){ 1394 TK_Clear("", eobj.id); 1395 }else{ 1396 TK_Clear(GetAttributeFormName(eobj.form), eobj.name); 1397 } 1398 } 1399 1400 if (eobj.getAttribute("security") == "off" || eobj.getAttribute("security") == "false" || eobj.getAttribute("security") == "no" || 1401 eobj.getAttribute("data-security") == "off" || eobj.getAttribute("data-security")=="false" || eobj.getAttribute("data-security") == "no") 1402 { 1403 eobj.setAttribute("tk_security", "false"); 1404 } 1405 else if (eobj.getAttribute("security") == "on" || eobj.getAttribute("security") == "true" || eobj.getAttribute("security") == "yes" || 1406 eobj.getAttribute("data-security") == "on" || eobj.getAttribute("data-security")=="true" || eobj.getAttribute("data-security") == "yes") 1407 { 1408 eobj.setAttribute("tk_security", "true"); 1409 } 1410 else 1411 { 1412 eobj.setAttribute("tk_security", "true"); 1413 } 1414 } catch (e) { 1415 exlog("_TOUCHENNX", "TK_AddEventListner2() exception"); 1416 } 1417} 1418 1419function DrawHiddenElements() { 1420 try { 1421 1422 var hidKeyData = "hid_key_data"; 1423 var hidEncData = "hid_enc_data"; 1424 var hidkeyDataId = "hid_key_data"; 1425 var hidEncDataId ="hid_enc_data"; 1426 1427 var form = null; 1428 var e2eEle = null; 1429 1430 if (IsAllowIdOverlap() == false) 1431 { 1432 form = document.activeElement.form; 1433 if (typeof form == "undefined") form = document.forms[0]; 1434 1435 if (typeof form.name != "undefined" && form.name.length > 0 ) 1436 { 1437 hidKeyData = "hid_key_data_" + form.name; 1438 hidEncData = "hid_enc_data_" + form.name; 1439 } 1440 if (typeof form.id != "undefined" && form.id.length > 0 ) 1441 { 1442 hidkeyDataId = "hid_key_data_" + form.id; 1443 hidEncDataId = "hid_enc_data_" + form.id; 1444 } 1445 } 1446 1447 e2eEle = findElementByName(form,hidKeyData); 1448 1449 if (e2eEle == null) { 1450 var newEle = document.createElement("input"); 1451 newEle.type = "hidden"; 1452 newEle.name = hidKeyData; 1453 newEle.id = hidkeyDataId; 1454 Tk_InputErase(newEle); 1455 form.appendChild(newEle); 1456 } else { 1457 if (e2eEle.name != undefined) 1458 { 1459 e2eEle.name = hidKeyData; 1460 e2eEle.id = hidkeyDataId; 1461 } 1462 } 1463 1464 e2eEle = null; 1465 e2eEle = findElementByName(form, hidEncData); 1466 if (e2eEle == null) { 1467 1468 var newEle = document.createElement("input"); 1469 newEle.type = "hidden"; 1470 newEle.name = hidEncData; 1471 newEle.id = hidEncDataId; 1472 Tk_InputErase(newEle); 1473 form.appendChild(newEle); 1474 } else { 1475 e2eEle.name = hidEncData; 1476 e2eEle.id = hidEncDataId; 1477 } 1478 } catch (e) { 1479 exlog("_TOUCHENNX", "DrawHiddenElements() exception"); 1480 } 1481} 1482 1483function DrawHiddenKeyElementForm(form) { 1484 try { 1485 1486 var hidkeyDataName = "hid_key_data"; 1487 var hidEncDataName ="hid_enc_data"; 1488 var e2eEle = null; 1489 1490 if (IsAllowIdOverlap() == false) 1491 { 1492 if (typeof form.id != "undefined" && form.id.length > 0 ) 1493 { 1494 hidkeyDataName = "hid_key_data_" + form.id; 1495 hidEncDataName = "hid_enc_data_" + form.id; 1496 } 1497 } 1498 1499 e2eEle = findElementByName(form, hidkeyDataName); 1500 if (e2eEle == null) { 1501 var newEle = document.createElement("input"); 1502 newEle.type = "hidden"; 1503 newEle.name = hidkeyDataName; 1504 //newEle.id = hidkeyDataId; 1505 Tk_InputErase(newEle); 1506 form.appendChild(newEle); 1507 } 1508 1509 e2eEle = null; 1510 e2eEle = findElementByName(form, hidEncDataName); 1511 if (e2eEle == null) { 1512 1513 var newEle = document.createElement("input"); 1514 newEle.type = "hidden"; 1515 newEle.name = hidEncDataName; 1516 //newEle.id = hidEncDataId; 1517 Tk_InputErase(newEle); 1518 form.appendChild(newEle); 1519 } 1520 } catch (e) { 1521 exlog("_TOUCHENNX", "DrawHiddenElements(form) exception"); 1522 } 1523} 1524 1525 1526function DrawHiddenKeyElementId() { 1527 try { 1528 var hidkeyDataId = "hid_key_data"; 1529 var hidEncDataId ="hid_enc_data"; 1530 var e2eEle = null; 1531 1532 if (IsAllowIdOverlap() == false) 1533 { 1534 if (typeof form.id != "undefined" && form.id.length > 0 ) 1535 { 1536 hidkeyDataId = hidkeyDataId +"_" + form.id; 1537 hidEncDataId = hidEncDataId +"_ " + form.id; 1538 } 1539 } 1540 1541
1542 e2eEle = findElmentByNamesId(hidkeyDataId); 1543 if (e2eEle == null) { 1544 var newEle = document.createElement("input"); 1545 newEle.type = "hidden"; 1546 newEle.id = "hid_key_data"; 1547 1548 Tk_InputErase(newEle); 1549 document.body.appendChild(newEle); 1550 } 1551 1552 e2eEle = null; 1553 1554 e2eEle = findElmentByNamesId(hidEncDataId); 1555 if (e2eEle == null) { 1556 var newEle = document.createElement("input"); 1557 newEle.type = "hidden"; 1558 newEle.id = "hid_enc_data"; 1559 1560 Tk_InputErase(newEle); 1561 document.body.appendChild(newEle); 1562 1563 } 1564 } catch (e) { 1565 exlog("_TOUCHENNX", "DrawHiddenElementsId() exception"); 1566 } 1567} 1568 1569function GetEncDataFun(keyData, frm, eleName) { 1570 touchenexInterface.GetEncData([keyData, frm, eleName], 1571 "GetEncDataCallback2"); 1572} 1573 1574function makeKeyData(formObj) { 1575 var len = formObj.elements.length; 1576 1577 for (var j = 0; j < len; j++) { 1578 if (formObj.elements[j].tagName == "INPUT" && isEnc(formObj.elements[j])) { 1579 GetEncDataFun("", GetAttributeFormName(formObj), formObj.elements[j].name); 1580 } 1581 } 1582 GetEncDataFun(tekOption.cert, "", ""); 1583} 1584 1585 1586function makeEncDataEx(formObj) { 1587 if (TK_IsNal(formObj)) return; 1588 if (typeof formObj === "object") 1589 { 1590 DrawHiddenKeyElementForm(formObj); 1591 DrawHiddenDataElementsForm(formObj); 1592 } 1593} 1594 1595function makeEncDataId() { 1596 DrawHiddenKeyElementId(); 1597 DrawHiddenDataElementsId(); 1598} 1599 1600 1601 1602 1603function GetEncData() { 1604 1605 if (tekOption.idbase == "true") { 1606 var nodeLen = document.all.length; 1607 var htmlColl = document.all; 1608 1609 for (var k = 0; k < nodeLen; k++) { 1610 var ele = htmlColl[k]; 1611 if (ele.type == "hidden" && (ele.id.indexOf("E2E_") != -1)) { 1612 if (tekOption.UseGetEnc == "true" && tekOption.clearbufferonempty == "true") { 1613 var eleRaw = ele.name.substring(ele.id.indexOf("_") + 1); 1614 if (document.getElementById(eleRaw).value.length == 0) { 1615 continue; 1616 } 1617 } 1618 touchenexInterface.GetEncData([false, "", 1619 ele.id.substring(4, ele.id.length), DomID], 1620 "GetEncDataCallback"); 1621 } 1622 } 1623 } else { 1624 for (var k = 0; k < frm.length; k++) { 1625 var ele = frm.elements[k]; 1626 if (ele.type == "hidden" && (ele.name.indexOf("E2E_") != -1)) { 1627 if (tekOption.usegetenc == "true" && tekOption.clearbufferonempty == "true") { 1628 var eleRaw = ele.name.substring(ele.name.indexOf("_") + 1); 1629 if (document.getElementsByName(eleRaw)[0].value.length == 0) { 1630 continue; 1631 } 1632 } 1633 touchenexInterface.GetEncData([false, GetAttributeFormName(frm), 1634 ele.name.substring(4, ele.name.length), DomID], 1635 "GetEncDataCallback"); 1636 } 1637 } 1638 1639 var end = "GetEncEnd"; 1640 touchenexInterface.GetEncData([false, null, end, DomID], 1641 "GetEncDataCallback"); 1642 } 1643} 1644 1645function TouchEnKey_UIEevents(frm, ele, event, keycode) { 1646 var obj; 1647 var e; 1648 1649 obj = document.activeElement; 1650 eventName = event.replace("on", ""); 1651 //triggerEvent(obj, e, keycode); 1652 1653 var htmlEvents = { 1654 onkeydown: 1, 1655 onkeypress: 1, 1656 onkeyup: 1 1657 }; 1658 var eventOjb; 1659 if (document.createEvent) { 1660 eventOjb = document.createEvent('HTMLEvents'); 1661 eventOjb.initEvent(eventName, true, true); 1662 }else if (document.createEventObject) { 1663 eventOjb = document.createEventObject(); 1664 eventOjb.eventType = eventName; 1665 } 1666 1667 /* 1668 ³Ø»çÅ©·Î ¿¬µ¿ ½Ã Űº¸µå º¸¾È¿¡¼ ¹ß»ýÇÑ Event ÀÓÀ» ¸í½Ã 1669 */ 1670 if(keycode == '0' || keycode == 'A' || keycode == '_') 1671 { 1672 eventOjb.eventOwner = 'NXKEY'; 1673 } 1674 1675 1676 eventOjb.eventName = eventName; 1677 eventOjb.keyCode = keycode; 1678 eventOjb.which = keycode; 1679 1680 if (obj.dispatchEvent) { 1681 obj.dispatchEvent(eventOjb); 1682 } else if (obj.fireEvent && htmlEvents['on' + eventName]) { 1683 obj.fireEvent('on' + eventOjb.eventType, eventOjb); 1684 } else if (obj[eventName]) { 1685 obj[eventName](); 1686 } else if (obj['on' + eventName]) { 1687 obj['on' + eventName](); 1688 } 1689} 1690 1691var ishasfocus = true; 1692function onBlur() { 1693 ishasfocus = false; 1694}; 1695function onFocus(){ 1696 ishasfocus = true; 1697}; 1698 1699function TK_RealStopProcess(activeObj) 1700{ 1701 1702 var isRealStopProcess = true; 1703 1704 1705 if (TK_IsNal(tekOption.useAddElementType) == true && tekOption.useAddElementType == "true") 1706 { 1707 if ((activeObj.type == "text" || activeObj.type == "password" || activeObj.type == "email" 1708 || activeObj.type == "tel") && TK_isSecurity == true) 1709 { 1710 isRealStopProcess = false; 1711 } 1712 } 1713 else 1714 { 1715 if ((activeObj.type == "text" || activeObj.type == "password") && TK_isSecurity == true) { 1716 isRealStopProcess = false; 1717 } 1718 } 1719 1720 if (tekOption.idbase == "true") { 1721 if (isRealStopProcess == false) { 1722 return false;; 1723 } else { 1724 try { 1725 touchenexInterface.TK_RealStop([false, DomID], "TK_Stop_callback"); 1726 if (tekOption.bstart == 0) { 1727 if (isSecurity() == false) 1728 tekOption.bstart = 1; 1729 } 1730 } catch (e) { 1731 exlog("_TOUCHENNX", "id base isSecurity set exception"); 1732 } 1733 } 1734 } else { 1735 if (isRealStopProcess == false) { 1736 return false; 1737 } else { 1738 try { 1739 touchenexInterface.TK_RealStop([false, DomID], "TK_Stop_callback"); 1740 if (tekOption.bstart == 0) { 1741 if (isSecurity() == false) 1742 tekOption.bstart = 1; 1743 } 1744 } catch (e) { 1745 exlog("_TOUCHENNX", "form base isSecurity set exception"); 1746 } 1747 } 1748 } 1749 1750 return true; 1751} 1752 1753 1754function update_callback(result) { 1755 if (result.length != undefined) { 1756 result = JSON.parse(result); 1757 } 1758 1759 if (result.ClearCallBack != undefined) { 1760 tekOption.setcallback = "false"; 1761 } 1762 1763 if (result.FaqMove != undefined) { 1764 this.top.location.href = result.FaqMove; 1765 return; 1766 } 1767 1768 if (result.Refresh != undefined) { 1769 window.location.reload(true); 1770 return; 1771 } 1772 1773 if (document.hasFocus() == false) { 1774 touchenexInterface.TK_RealStop([false, DomID], "TK_Stop_callback"); 1775 tekOption.bstart = 0; 1776 return; 1777 } 1778 1779 if (result.GetActiveElement != undefined) { 1780 1781 var bsecurityOff = false; 1782 1783 var activeObj = document.activeElement; 1784 if (activeObj != undefined) { 1785 if(TOUCHENEX_UTIL.isSafari()) { 1786 var name = ""; 1787 window.onblur = onBlur; 1788 window.onfocus = onFocus; 1789 1790 if (tekOption.idbase == "true") 1791 tek_name = activeObj.id; 1792 else 1793 tek_name = activeObj.name; 1794 1795 if (tek_name == result.GetActiveElement) 1796 { 1797 touchenexInterface.TK_RealStop([false, DomID], "TK_Stop_callback"); 1798 tekOption.bstart = 0; 1799 return; 1800 } 1801 1802 if( ishasfocus == false) { 1803 try { 1804 touchenexInterface.TK_RealStop([false, DomID], "TK_Stop_callback"); 1805 tekOption.bstart = 0; 1806 } catch (e) { 1807 exlog("_TOUCHENNX", "update_callback() ishasfocus"); 1808 } 1809 } 1810 } 1811 1812 // blur °¡ ¹ß»ýÇÑ input °´Ã¼¿Í, Áö±Ý Ȱ¼ºÇÑµÈ ÀÔ·ÂÇʵ尡 °°ÀºÁö¸¦ ºñ±³ÇÏ¿©, Ʋ¸®¸é stop ½ÃŰÁö ¾Ê´Â´Ù. 1813 // activeObj °¡ "" À̸é stop ½ÃŲ´Ù. (alert âÀÌ µé¶§, INPUT ÀÌ¸é¼ activeObj °¡ "" ·Î µé¾î¿Â´Ù//) 1814 1815 var TK_isSecurity = false; 1816 var TK_isEnc = false; 1817 TK_isSecurity = isSecurity(activeObj); 1818 TK_isEnc = isEnc(activeObj); 1819 1820 if (TK_isEnc == true) 1821 TK_isSecurity = true; 1822 1823 1824 1825 if (TK_isSecurity == true && (activeObj.type == "text" || activeObj.type == "password")) 1826 { 1827 return; 1828 } 1829 1830 if (TK_RealStopProcess(activeObj) == false) return; 1831 } 1832 } 1833 1834 if (result.inputClear != undefined) { 1835 if (tekOption.idbase == "true") {
1836 var HiddenEnc = "E2E_" + result.inputClear; 1837 var TK_tmp = document.getElementById(result.inputClear); 1838 if (isEnc(TK_tmp)) { 1839 Tk_InputErase(document.getElementById(HiddenEnc)); 1840 Tk_InputErase(document.getElementById(result.inputClear)); 1841 return; 1842 } 1843 else{ 1844 if ( document.getElementById(HiddenEnc) != undefined) 1845 { 1846 Tk_InputErase(document.getElementById(HiddenEnc)); 1847 Tk_InputErase(document.getElementById(result.inputClear)); 1848 } 1849 return; 1850 } 1851 } else { 1852 var HiddenEnc = "E2E_" + result.inputClear; 1853 var TK_tmp = document.getElementsByName(result.inputClear)[0]; 1854 if (isEnc(TK_tmp)) { 1855 Tk_InputErase(document.getElementsByName(HiddenEnc)[0]); 1856 Tk_InputErase(document.getElementsByName(result.inputClear)[0]); 1857 return; 1858 } 1859 else 1860 { 1861 if ( document.getElementsByName(HiddenEnc)[0] != undefined) 1862 { 1863 Tk_InputErase(document.getElementsByName(HiddenEnc)[0]); 1864 Tk_InputErase(document.getElementsByName(result.inputClear)[0]); 1865 } 1866 return; 1867 } 1868 } 1869 } 1870 1871 if (result.EncData != undefined) 1872 { 1873 var TK_isEncAppend = true; 1874 if (TK_IsNal(result.value) == true) 1875 return; 1876 var TK_RecvDataLength = result.value.split("_#_").length; 1877 1878 if (TK_RecvDataLength == 4) { 1879 TK_isEncAppend = TK_AddChar_Request(result); 1880 } 1881 1882 if (TK_isEncAppend == true)
1883 TK_EncData_Request(result); 1884 return; 1885 } 1886 1887 1888 1889 if (TouchEn_BaseBRW.mac && result.KeySecurity != undefined) 1890 { 1891 if(tekOption.tk_isRunningSecurity == "false") 1892 { 1893 tekOption.tk_isRunningSecurity = "true"; 1894 TK_Request2("jsDummyGenStart", "", "", ""); 1895 } 1896 } 1897 1898 1899 if (result.addChar != undefined) 1900 { 1901 return TK_AddChar_Request(result); 1902 } 1903 1904 if (result.E2E_END != undefined) { 1905 if (tekOption.idbase == "true") { 1906 document.body.hid_key_data.value = TouchEnNXE_SeedKey; 1907 } else { 1908 frm.hid_key_data.value = TouchEnNXE_SeedKey; 1909 } 1910 return; 1911 } 1912 1913 1914 if (result.SeedKey != undefined) { 1915 cipherEncText = ""; 1916 TouchEnNXE_SeedKey = result.value; 1917 var hidKeyData = null; 1918 1919 if (tekOption.idbase == "true") { 1920 DrawHiddenKeyElementId(); 1921 if (TK_IsAvailble(document.getElementById("hid_key_data"))) 1922 { 1923 if (document.getElementById("hid_key_data").value < 512) 1924 document.getElementById("hid_key_data").value = TouchEnNXE_SeedKey; 1925 } 1926 } else { 1927 for (var i = 0; i < document.forms.length; i++) { 1928 var frm = document.forms[i]; 1929 DrawHiddenKeyElementForm(frm); 1930 if (IsAllowIdOverlap() == false) 1931 { 1932 hidKeyData = GetHiddenKeyFieldName(frm); 1933 if (frm[hidKeyData].value.length < 512) 1934 frm[hidKeyData].value =TouchEnNXE_SeedKey; 1935 } 1936 else 1937 { 1938 if (TK_IsAvailble(frm.hid_key_data)) 1939 { 1940 if (frm.hid_key_data.value.length < 512) 1941 frm.hid_key_data.value =TouchEnNXE_SeedKey; 1942 } 1943 } 1944 } 1945 } 1946 } 1947} 1948 1949function GetHiddenEncFieldName(form) 1950{ 1951 1952 var hidEncDataField ="hid_enc_data"; 1953 1954 if (typeof form != "undefined" ) 1955 { 1956 if (typeof form.name != "undefined" && form.name.length > 0 ) 1957 { 1958 hidEncDataField= "hid_enc_data_" + form.name; 1959 } 1960 if (typeof form.id != "undefined" && form.id.length > 0 ) 1961 { 1962 hidEncDataField = "hid_enc_data_" + form.id; 1963 } 1964 } 1965 1966 return hidEncDataField; 1967} 1968 1969function GetHiddenKeyFieldName(form) 1970{ 1971 var hidkeyDataField ="hid_key_data"; 1972 1973 if (typeof form != "undefined" ) 1974 { 1975 if (typeof form.name != "undefined" && form.name.length > 0 ) 1976 { 1977 hidkeyDataField= "hid_key_data_" + form.name; 1978 } 1979 if (typeof form.id != "undefined" && form.id.length > 0 ) 1980 { 1981 hidkeyDataField = "hid_key_data_" + form.id; 1982 } 1983 } 1984 1985 return hidkeyDataField; 1986} 1987 1988function GetEncDataCallback(Result) { 1989 1990} 1991 1992function GetEncDataCallback2(result) { 1993 formObj = document.forms[0]; 1994 var name, value; 1995 var result = result.reply; 1996 if (result.keydata == undefined) { 1997 name = "E2E_" + result.name; 1998 id = "E2E_" + result.name; 1999 value = result.value; 2000 2001 cipherEncText += name; 2002 cipherEncText += "="; 2003 cipherEncText += value; 2004 cipherEncText += "%TK%"; 2005 e2eEle = findElementByName(formObj, name); 2006 if (e2eEle == null) { 2007 var newEle = document.createElement("input"); 2008 newEle.type = "hidden"; 2009 newEle.name = name; 2010 newEle.id = name; 2011 newEle.value = value; 2012 formObj.appendChild(newEle); 2013 } else { 2014 e2eEle.value = value; 2015 } 2016 } else { 2017 DrawHiddenKeyElement(formObj); 2018 2019 formObj.hid_key_data.value = result.keydata; 2020 formObj.hid_enc_data.value = cipherEncText; 2021 cipherEncText = ""; 2022 2023 2024 document.forms[0].method = "post"; 2025 document.forms[0].action = "./jsp/result.jsp"; 2026 document.forms[0].submit(); 2027 } 2028} 2029 2030function TouchEnNXE_createHexString(arr, size) { 2031 var result = ""; 2032 for (var i = 0; i < size; i++) { 2033 var str = arr[i].toString(16); 2034 2035 if (str.length == 1) { 2036 str = '0' + str; 2037 } 2038 result += str; 2039 } 2040 return result; 2041} 2042
2043function findElementByName(formObj, eleName) { 2044 try { 2045 if (eleName == null) { 2046 return null; 2047 } 2048 var findEle = null; 2049 var len = formObj.elements.length; 2050 for (var k = 0; k < len; k++) { 2051 if (eleName == formObj.elements[k].name) { 2052 findEle = formObj.elements[k]; 2053 return findEle; 2054 } 2055 } 2056 2057 } catch (e) { 2058 exlog("_TOUCHENNX", "findElementByName() exception"); 2059 2060 } 2061 return null; 2062} 2063 2064function findElmentByNames(Element) { 2065 try { 2066 if (Element == null) 2067 return null; 2068 while (Element) { 2069 Element = Element.parentNode; 2070 if (Element.tagName == "FORM" || Element.tagName == "form") { 2071 return Element; 2072 } 2073 } 2074 } catch (e) { 2075 exlog("_TOUCHENNX", "findElmentByNames() exception"); 2076 2077 } 2078 return null; 2079} 2080 2081 2082function findElmentByNamesId(id) { 2083 try { 2084 if (id == null) { 2085 return null; 2086 } 2087 var findEle = null; 2088 2089 var htmlAllColl = document.all; 2090 for (var j = 0; j < htmlAllColl.length; j++) { 2091 if (htmlAllColl[j].tagName == "INPUT" && htmlAllColl[j].type == "hidden") { 2092 if (htmlAllColl[j].id == id) { 2093 findEle = htmlAllColl[j]; 2094 return findEle; 2095 } 2096 } 2097 } 2098 } catch (e) { 2099 exlog("_TOUCHENNX", "findElmentByNamesId() exception"); 2100 2101 } 2102 return null; 2103} 2104 2105function GetCaretPosition(oField) { 2106 var iCaretPos = 0; 2107 if (document.selection) { 2108 oField.focus(); 2109 var oSel = document.selection.createRange(); 2110 oSel.moveStart('character', -oField.value.length); 2111 iCaretPos = oSel.text.length; 2112 } else if (oField.selectionStart || oField.selectionStart == '0') { 2113 iCaretPos = oField.selectionStart; 2114 } 2115 return (iCaretPos); 2116} 2117 2118function TK_Request(key, value) { 2119 2120 var strReq; 2121 2122 2123 if (key != null) { 2124 var req = { 2125 "key": key, 2126 "value": value 2127 }; 2128 strReq = JSON.stringify(req); 2129 } else { 2130 strReq = JSON.stringify(value); 2131 2132 } 2133 2134 touchenexInterface.TK_Request([strReq], "TK_Request_Callback"); 2135} 2136 2137 2138function TK_Request2(key, frmname, elename, value) { 2139 2140 if (TK_IsNal(tekOption.idbase) || tekOption.idbase === "true") 2141 frmname=""; 2142 2143 var req = { 2144 "key": key, 2145 "frmname": frmname, 2146 "elename": elename, 2147 "DomID": DomID, 2148 "value": value 2149 }; 2150 TK_Request(null, req); 2151} 2152 2153function TK_RequestEx(key, req) { 2154 TK_Request(null, req); 2155} 2156 2157function TK_Request_Callback(result) { 2158 if (result.key == undefined) 2159 return; 2160 if (result.key == "isVM"){ 2161 } 2162 else if (result.key == "XW_Crypt") { 2163 fnGetEncXWCallback(result.value); 2164 } 2165 else if (result.key == "YT_Crypt") { 2166 fnGetEncYTCallback(result.value); 2167 } 2168 else if (result.key == "GN_Crypt") { 2169 fnGetEncGNCallback(result.value); 2170 } 2171 else if (result.key == "UN_Crypt") { 2172 fnGetEncUNCallback(result.value); 2173 } 2174 else if (result.key == "HN_Crypt") { 2175 fnGetEncHNCallback(result.value); 2176 } 2177} 2178 2179function IsDenyPaste(nsEvent) { 2180 2181 if (nsEvent.type == "text" || nsEvent.type == "password") { 2182 inputObj = nsEvent; 2183 } else { 2184 theEvent = nsEvent ? nsEvent : window.event; 2185 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 2186 } 2187 2188 try { 2189 if (isEnc(inputObj)) { 2190 return true; 2191 } 2192 2193 // ÀÏ¹Ý º¸¾È ¿µ¿ª (E2E ¾Æ´Ô) 2194 // ºÙ¿© ³Ö±â Çã¿ë À϶§, Datytype ÀÌ µé¾î °¡ ÀÖÀ¸¸é Çã¿ë ÇÏÁö ¾Ê´Â´Ù. 2195 // datatype ÀÌ Á¸Àç ÇÏ¸é ºÙ¿© ³Ö±â ±ÝÁö. 2196 2197 2198 if ((tekOption.defaultpaste == "false") || (tekOption.defaultpaste == "off") || (tekOption.defaultpaste == "no")) { 2199 //defaultpaste false ¶óµµ ºñº¸¾È ¿µ¿ªÀº ºÙ¿© ³Ö±â¸¦ Çã¿ë 2200 if (TouchEnKeyNXE_CurObj.getAttribute("data-security") != "off" && TouchEnKeyNXE_CurObj.getAttribute("security") != "off") { 2201 return true; 2202 } 2203 2204 } else { 2205 if (TouchEnKeyNXE_CurObj.getAttribute("datatype") != null || TouchEnKeyNXE_CurObj.getAttribute("data-datatype") != null) { 2206 return true; 2207 } 2208 2209 } 2210 2211 } catch (e) { 2212 exlog("_TOUCHENNX", "IsDenyPaste() exception"); 2213 } 2214 2215 return false; 2216} 2217 2218function TK_OnContextMenu(nsEvent) { 2219 if (IsDenyPaste(nsEvent) == true) { 2220 nsEvent.preventDefault(); 2221 } 2222 return; 2223} 2224 2225function TK_OnPaste(nsEvent) { 2226 if (IsDenyPaste(nsEvent) == true) { 2227 nsEvent.preventDefault(); 2228 } 2229 return; 2230} 2231 2232/** 2233 * TKClear ÇÔ¼ö 2234 * »ç¿ë¹æ¹ý 2235 * Fome ±â¹Ý : TK_Clear(frmname, elename) 2236 * Id ±â¹Ý : TK_Clear("", idname) 2237 */ 2238function TK_Clear(frmname, elename) { 2239 try { 2240 2241 var inputObj = ""; 2242 var inputObj_E2E = ""; 2243 2244 /* 2245 id ±â¹ÝÀÎÁö ¿©ºÎ ÆÇ´Ü 2246 true : id ±â¹Ý 2247 false : form, name ±â¹Ý 2248 */ 2249 if (TK_IsNal(frmname) == true) 2250 { 2251 inputObj = document.getElementById(elename); 2252 if (isEnc(inputObj)) 2253 { 2254 inputObj_E2E = document.getElementById("E2E_"+elename); 2255 } 2256 } 2257 else 2258 { 2259 inputObj = document.getElementsByName(elename)[0]; 2260 if (isEnc(inputObj)) 2261 { 2262 inputObj_E2E = document.getElementsByName("E2E_" + elename)[0]; 2263 } 2264 } 2265 2266 2267 if (TK_bInit != undefined && TK_bInit != 0) { 2268 if(getTouchEnNXEType.MSIEBrowser){ 2269 TK_Request2("Clear", frmname, elename, ""); 2270 }else{ 2271 TK_Request2("ClearDB", frmname, elename, ""); 2272 } 2273 } 2274 var inputObj = document.getElementsByName(elename)[0]; 2275 2276 if (isEnc(inputObj)) 2277 { 2278 if (TK_IsNal(inputObj_E2E) == false) 2279 { 2280 Tk_InputErase(inputObj); 2281 Tk_InputErase(inputObj_E2E); 2282 } 2283 } 2284 2285 } catch (e) { 2286 exlog("_TOUCHENNX", "TK_Clear() exception"); 2287 } 2288} 2289 2290/** 2291 * À¥ ºê¶ó¿ìÀúÀÇ DOMÀ» ´Ù½Ã ºÐ¼®ÇÏ´Â ±â´ÉÀ¸·Î, À¥ÆäÀÌÁö ·Îµù ÈÄ 2292 * µ¿ÀûÇÊµå »ý¼º½Ã TouchEnKey_ReScan()ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß º¸¾ÈÀÌ µ¿ÀÛÇÕ´Ï´Ù. 2293 * ReScanÇÔ¼ö È£Ãâ ÈÄ¿¡´Â ±âÁ¸ ÀÔ·ÂµÈ °ªÀÌ »èÁ¦µË´Ï´Ù. 2294 * 2295 * »ç¿ë¹æ¹ý TK_Rescan() : Dom Àüü scan 2296 */ 2297function TK_Rescan() { 2298 2299 var isIdbase = false; 2300 2301 if (TK_IsAvailble(tekOption.idbase) && tekOption.idbase == "true") 2302 isIdbase = true; 2303 2304 if (isIdbase == true) 2305 { 2306 TK_Rescan_Id() 2307 } 2308 else 2309 { 2310 TK_Rescan_Form() 2311 } 2312} 2313 2314function TK_IsAvailble(obj) { 2315 if (typeof obj == "undefined" || obj == null || obj == "") 2316 return false; 2317 2318 return true; 2319} 2320 2321 2322/** 2323 * TouchEn nxKey µ¿Àû ÇÊµå »ý¼º½Ã Űº¸µåº¸¾È Àû¿ëÀ» À§ÇØ Form ´ÜÀ§·Î scanning ÇÏ´Â ÇÔ¼ö 2324 * 2325 * »ç¿ë¹æ¹ý TK_EnqueueList_frm(frmName) : Form ´ÜÀ§ scan 2326 * 2327 * Parameter - frmName : form ÀÇ name 2328 */ 2329function TK_EnqueueList_frm(frmname) { 2330 if (TK_IsNal(TK_bInit) || TK_bInit == 0) return false; 2331 if(!useTouchEnnxKey) return false; 2332 2333 var ret = true; 2334 try { 2335 var frm = document.getElementsByName(frmname)[0]; 2336 var elelength = frm.elements.length; 2337 for (var j = 0; j < elelength; j++) { 2338 if (frm.elements[j].tagName == "INPUT" && (frm.elements[j].type == "text" || frm.elements[j].type == "password")) { 2339 if (getTouchEnNXEType.MSIEBrowser && !TK_IEDaemonCheck()) { 2340 TK_Request2("EnqueueList", frmname, frm.elements[j].name, ""); 2341 } else { 2342 if (GetAttributeFormName(frm) != undefined && GetAttributeFormName(frm) != touchenexInfo.exFormName) 2343 makeEncDataEx(frm); 2344 TK_AddEventListner2(frm.elements[j]); 2345 } 2346 if (isEnc(frm.elements[j])) { 2347 //frm.elements[j].value = ""; 2015.09.04 ÁÖ¼® 2348 if (document.getElementsByName("E2E_" + frm.elements[j].name)[0] != undefined) { 2349 Tk_InputErase(document.getElementsByName("E2E_" + frm.elements[j].name)[0]); 2350 } 2351 } 2352 } 2353 } 2354 } catch (e) { 2355 ret = false; 2356 exlog("_TOUCHENNX", "TK_EnqueueList_frm() exception"); 2357 } 2358 return ret; 2359} 2360 2361/** 2362 * TouchEn nxKey µ¿Àû ÇÊµå »ý¼º½Ã Űº¸µåº¸¾È Àû¿ëÀ» À§ÇØ Form,element ´ÜÀ§·Î scanning ÇÏ´Â ÇÔ¼ö 2363 * 2364 * »ç¿ë¹æ¹ý 2365 * Form ±â¹Ý : TK_EnqueueList(frmName ,eleName) Element ´ÜÀ§ scan 2366 * id ±â¹Ý : TK_EnqueueList("", idName) id ´ÜÀ§ scan 2367 * 2368 * Parameter - frmName : form ÀÇ name - eleName : input elementÀÇ name 2369 */ 2370function TK_EnqueueList(frmname, elename) { 2371 var ret = false; 2372 var isIdbase = false; 2373 if (TK_IsNal(TK_bInit) || TK_bInit == 0) 2374 return ret; 2375 if (!useTouchEnnxKey) 2376 return ret; 2377 var inputObj = null; 2378 2379 if (tekOption.idbase == "true" || TK_IsNal(frmname)) 2380 isIdbase = true; 2381 2382 if (isIdbase) 2383 { 2384 inputObj = document.getElementById(elename); 2385 if (!TK_IsNal(inputObj)) { 2386 ret = TK_EnqueueList_Id(inputObj); 2387 } 2388 } 2389 else 2390 { 2391 inputObj = document.forms[frmname][elename]; 2392 if (!TK_IsNal(inputObj)) { 2393 ret = TK_EnqueueList_Form(inputObj); 2394 } 2395 } 2396 return ret; 2397} 2398 2399function EncOnFieldDisableEvent(nsEvent) { 2400 if (nsEvent.type == "text" || nsEvent.type == "password") { 2401 inputObj = nsEvent; 2402 } else { 2403 theEvent = nsEvent ? nsEvent : window.event; 2404 inputObj = theEvent.target ? theEvent.target : theEvent.
2404srcElement; 2405 } 2406 2407 if (isEnc(inputObj)) { 2408 2409 inputObj.onselectstart = function () { 2410 return false; 2411 }; 2412 inputObj.unselectable = "on"; 2413 inputObj.style.MozUserSelect = "none"; 2414 2415 return; 2416 } 2417} 2418 2419function TK_GetEncXW(frmName, eleName, sKey, callback) { 2420 fnGetEncXWCallback = callback; 2421 var req = { 2422 "key": "GetEncData", 2423 "securekey": sKey, 2424 "id": eleName, 2425 "formName": frmName 2426 }; 2427 TK_RequestEx(null, req); 2428} 2429 2430function TK_GetEncYT(frmName, eleName, pubKey, callback) 2431{ 2432 fnGetEncYTCallback = callback; 2433 var req = { 2434 "key": "GetEncDataYT", 2435 "pubkey": pubKey, 2436 "id": eleName, 2437 "formName": frmName 2438 }; 2439 TK_RequestEx(null, req); 2440} 2441 2442function TK_GetEncGN(frmName, eleName, sid, pubKey, callback) 2443{ 2444 fnGetEncGNCallback = callback; 2445 var req = { 2446 "key": "GetEncDataGN", 2447 "pubkey": pubKey, 2448 "id": eleName, 2449 "formName": frmName, 2450 "sid":sid 2451 } 2452 TK_RequestEx(null, req); 2453} 2454 2455function TK_GetEncUN(frmName, eleName, pubKey, callback) 2456{ 2457 fnGetEncUNCallback = callback; 2458 var req = { 2459 "key": "GetEncDataUN", 2460 "pubkey": pubKey, 2461 "id": eleName, 2462 "formName": frmName 2463 }; 2464 TK_RequestEx(null, req); 2465} 2466 2467function TK_GetEncHN(frmName, eleName, op1, op2, op3, op4, callback) 2468{ 2469 fnGetEncHNCallback = callback; 2470 var req = { 2471 "key": "GetEncDataHN", 2472 "op1": op1, 2473 "op2": op2, 2474 "op3": op3, 2475 "op4": op4, 2476 "id": eleName, 2477 "formName": frmName 2478 }; 2479 TK_RequestEx(null, req); 2480} 2481 2482function TK_OnContextMenu(nsEvent) { 2483 var inputObj; 2484 if (nsEvent.type == "text" || nsEvent.type == "password") { 2485 inputObj = nsEvent; 2486 } else { 2487 theEvent = nsEvent ? nsEvent : window.event; 2488 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 2489 } 2490 2491 try { 2492 if (isEnc(inputObj)) { 2493 nsEvent.preventDefault(); 2494 TK_click(nsEvent); 2495 } 2496 } catch (e) { 2497 exlog("_TOUCHENNX", "TK_OnContextMenu() exception"); 2498 } 2499 2500 return; 2501} 2502 2503function TK_OnPaste(nsEvent) { 2504 if (nsEvent.type == "text" || nsEvent.type == "password") { 2505 inputObj = nsEvent; 2506 } else { 2507 theEvent = nsEvent ? nsEvent : window.event; 2508 inputObj = theEvent.target ? theEvent.target : theEvent.srcElement; 2509 } 2510 2511 try { 2512 if (isEnc(inputObj)) { 2513 nsEvent.preventDefault(); 2514 return; 2515 } 2516 2517 // ÀÏ¹Ý º¸¾È ¿µ¿ª (E2E ¾Æ´Ô) 2518 // ºÙ¿© ³Ö±â Çã¿ë À϶§, Datytype ÀÌ µé¾î °¡ ÀÖÀ¸¸é Çã¿ë ÇÏÁö ¾Ê´Â´Ù. 2519 // datatype ÀÌ Á¸Àç ÇÏ¸é ºÙ¿© ³Ö±â ±ÝÁö. 2520 2521 if ((tekOption.defaultpaste == "false") || (tekOption.defaultpaste == "off") || (tekOption.defaultpaste == "no")) { 2522 //defaultpaste false ¶óµµ ºñº¸¾È ¿µ¿ªÀº ºÙ¿© ³Ö±â¸¦ Çã¿ë 2523 if (TouchEnKeyNXE_CurObj.getAttribute("security") == "off" || TouchEnKeyNXE_CurObj.getAttribute("data-security") == "off") { 2524 return; 2525 } else { 2526 nsEvent.preventDefault(); 2527 } 2528 } else { 2529 if (TouchEnKeyNXE_CurObj.getAttribute("datatype") != null || TouchEnKeyNXE_CurObj.getAttribute("data-datatype") != null) { 2530 nsEvent.preventDefault(); 2531 } 2532 } 2533 2534 } catch (e) { 2535 exlog("_TOUCHENNX", "TK_OnPaste() exception"); 2536 } 2537 2538 return; 2539} 2540 2541function TK_InvalidateSession(srdk) { 2542 var req = { 2543 "key": "InvalidateSession", 2544 "srdk": srdk 2545 }; 2546 TK_RequestEx(null, req); 2547} 2548 2549/** 20150904 º¯°æ */ 2550function TK_EncModify(value,formname, elename) { 2551 2552 var req = { 2553 "formname" : formname, 2554 "name" : elename, 2555 "key": "EncModify", 2556 "value": value 2557 }; 2558 if (TK_bInit != undefined && TK_bInit != 0) { 2559 TK_RequestEx(null, req); 2560 } 2561 if (getTouchEnNXEType.MSIEBrowser) 2562 return; 2563 2564 var e2e_ele = "E2E_" + TouchEnKeyNXE_CurObj.name; 2565 var frm = TouchEnKeyNXE_CurObj.form; 2566 2567 if (value == "on" || value == "yes" || value == "true") 2568 { 2569 if (document.getElementsByName(e2e_ele)[0] == undefined && frm != undefined) 2570 { 2571 var newEle = document.createElement("input"); 2572 newEle.type = "hidden"; 2573 newEle.name = e2e_ele; 2574 Tk_InputErase(newEle); 2575 frm.appendChild(newEle); 2576 } 2577 } 2578 else 2579 { 2580 if (document.getElementsByName(e2e_ele)[0] != undefined) 2581 { 2582 Tk_InputErase(document.getElementsByName(e2e_ele)[0]); 2583 } 2584 2585 } 2586} 2587 2588//. ÇÑ ¿¡·¯´ç ¿¡·¯Äڵ尡 ¿©·¯¹ø µé¾î¿Í¼ TK_CommonError°¡ ¿©·¯¹ø ¼öÇàµÈ´Ù. 2589//. ¶§¹®¿¡ alert°¡ ¿©·¯¹ø ¶ß´Â À̽´°¡ ¹ß»ýÇØ¼ alert´Â Çѹø¸¸ ¶ßµµ·Ï ´ÙÀ½°ú °°ÀÌ Àü¿ªº¯¼ö¸¦ Ãß°¡Çß´Ù. 2590var alertEnd = false; 2591 2592function TK_FaqMove(faq) { 2593 2594 if (faq =="1") //°Á¦ ÁßÁö ½Ã 2595 { 2596 this.top.location.href = "http://faq.touchen.co.kr/nxKey/page/damage.htm"; 2597 } 2598 else if (faq == "2") //º¯Á¶ ½Ã 2599 { 2600 this.top.location.href = "http://faq.touchen.co.kr/nxKey/page/damage.htm"; 2601 } 2602 else if (faq == "3") //¶óÀ̼¾½º ¿¡·¯ ½Ã 2603 { 2604 this.top.location.href = "http://faq.touchen.co.kr/nxKey/page/lic_check_fail.html"; 2605 } 2606 2607 return; 2608} 2609 2610function TK_CommonError( response ){ 2611 if(response.ERR == "BLOCK"){ 2612 if(TK_bInit==0) //init Àü¿¡ block¿¡·¯°¡ ¿À¸é ¶óÀ̼¾½º ¿¡·¯·Î ÆÇ´ÜÇÑ´Ù. 2613 { /* ¶óÀ̼¾½º ¿¡·¯ ½Ã */ 2614 if(alertEnd==false) 2615 { 2616 alert(response.NAME + " ¶óÀ̼¾½º¸¦ È®ÀÎÇϼ¼¿ä."); 2617 alertEnd = true; 2618 } 2619 TK_FaqMove(3); 2620 } 2621 else //init ÀÌÈÄ¿¡ block¿¡·¯°¡ ¿À¸é °Á¦ ÁßÁö·Î ÆÇ´ÜÇÑ´Ù. 2622 { /* °Á¦ÁßÁö ¿¡·¯ ½Ã */ 2623 if(alertEnd == false) 2624 { 2625 alert(response.NAME + " ÇÁ·Î±×·¥¿¡ ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.(daemon)\nÆäÀÌÁö¸¦ »õ·Î°íħ Çϼ¼¿ä."); 2626 alertEnd = true; 2627 } 2628 //alert(response.NAME + " ÇÁ·Î±×·¥¿¡ ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.(daemon)\nÆäÀÌÁö¸¦ »õ·Î°íħ Çϼ¼¿ä."); 2629 TK_FaqMove(1); 2630 } 2631 } 2632 else if(response.ERR == "BLOCK:EX"){ 2633 2634 if(alertEnd == false) 2635 { /* crossex ¸ðµâ º¯Á¶ ½Ã */ 2636 alert(response.NAME + " ÇÁ·Î±×·¥ÀÌ º¯Á¶µÇ¾ú½À´Ï´Ù.(EX)\nÀ缳ġ°¡ ÇÊ¿äÇÕ´Ï´Ù."); 2637 alertEnd = true; 2638 } 2639 TK_FaqMove(2); 2640 } 2641 else if(response.ERR == "BLOCK:CLIENT"){ 2642 if(alertEnd == false) 2643 { /* Űº¸µåº¸¾È ¸ðµâ º¯Á¶ ½Ã */ 2644 alert(response.NAME + " ÇÁ·Î±×·¥ÀÌ º¯Á¶µÇ¾ú½À´Ï´Ù.(client)\nÀ缳ġ°¡ ÇÊ¿äÇÕ´Ï´Ù."); 2645 alertEnd = true; 2646 } 2647 TK_FaqMove(2); 2648 } 2649 else if(response.ERR == "BLOCK:DISCONNECTED"){ 2650 //. ¶óÀ̼¾½º ¿¡·¯ÀÏ ¶§ block¿¡·¯¿Í ÇÔ²² ÀÌ ¿¡·¯°¡ µé¾î¿Â´Ù. 2651 //. block ¿¡·¯¿Í Áߺ¹µÇ±â ¶§¹®¿¡ ÀÏ´Ü ÀÌ ¿¡·¯¿¡ µû¸¥ 󸮴 ÇÏÁö ¾Ê´Â´Ù. 2652 /* 2653 if(alertEnd == false) 2654 { 2655 alert(response.NAME + " ÇÁ·Î±×·¥ÀÌ ÁߴܵǾú½À´Ï´Ù.(client)\nÆäÀÌÁö¸¦ »õ·Î°íħÇϼ¼¿ä."); 2656 alertEnd = true; 2657 } 2658 TK_FaqMove(2); 2659 */ 2660 } 2661 else if(response.ERR == "BLOCK:INTERNAL"){ 2662 //. µ¥¸ó¿¡¼´Â »óÀ§ ÇÁ·Î¼¼½º¸¦ ÁßÁöÇßÀ» ¶§ INTERNAL ¿¡·¯°¡ ¿À°í 2663 //. ÇÏÀ§ ÇÁ·Î¼¼½º¸¦ ÁßÁöÇßÀ» ¶§´Â BLOCK ¿¡·¯°¡ ¿Ô¾ú´Ù. 2664 //. extension¹æ½Ä¿¡¼ÀÇ internal ¿¡·¯´Â ¾î¶² ¿¡·¯ÀÎÁö È®½ÇÇÏÁö ¾Ê´Ù. 2665 2666 if(alertEnd == false) 2667 { 2668 alert(response.NAME + " ÇÁ·Î±×·¥ÀÌ ÁߴܵǾú½À´Ï´Ù.(client)\nÆäÀÌÁö¸¦ »õ·Î°íħÇϼ¼¿ä."); 2669 alertEnd = true; 2670 } 2671 2672 TK_FaqMove(1); 2673 2674 } 2675 return; 2676} 2677 2678function GetAttributeFormName(form) { 2679 var frmName = form.getAttribute("name"); 2680 // 20230224 ¸ÖƼ form name ¾øÀ» °æ¿ì 2681 if(TK_IsNal(frmName)){ 2682 frmName = form.getAttribute("id"); 2683 } 2684 if (typeof frmName != "string" && form.attributes["name"] != undefined) { 2685 frmName = form.attributes["name"].value; 2686 } 2687 2688 return frmName; 2689} 2690 2691 2692function TK_postInit(argFrm) 2693{ 2694 var keyFieldName = ""; 2695 var encFieldName = ""; 2696 var frm=""; 2697 2698 frm = argFrm; 2699 2700 2701 if (tekOption.idbase == "true") 2702 TK_makeEncData(); 2703 else TK_makeEncData(frm); 2704 2705 2706 var encFieldName = GetHiddenEncFieldName(frm); 2707 var keyFieldName = GetHiddenKeyFieldName(frm); 2708 2709 if (TOUCHENEX_UTIL.isIE()!=true && tekOption.idbase != "true") 2710 { 2711 if (frm[encFieldName] != undefined) 2712 { 2713 frm[encFieldName].name = "hid_enc_data"; 2714 frm[encFieldName].id = "hid_enc_data"; 2715 2716 } 2717 2718 if (frm[keyFieldName] != undefined && tekOption.idbase != "true") 2719 {
2720 frm[keyFieldName].name = "hid_key_data"; 2721 frm[keyFieldName].id = "hid_key_data"; 2722 2723 } 2724 } 2725 2726 return frm; 2727} 2728 2729 2730function TK_postFinish(frm) 2731{ 2732 var keyFieldName = ""; 2733 var encFieldName =""; 2734 2735 2736 if (TOUCHENEX_UTIL.isIE()!=true) 2737 { 2738 2739 var encFieldName = GetHiddenEncFieldName(frm); 2740 var keyFieldName = GetHiddenKeyFieldName(frm); 2741 2742 2743 2744 if (frm["hid_key_data"] != undefined && tekOption.idbase != "true") 2745 { 2746 frm["hid_key_data"].name = keyFieldName; 2747 frm["hid_key_data"].id = keyFieldName; 2748 } 2749 2750 if (frm["hid_enc_data"] != undefined && tekOption.idbase != "true") 2751 { 2752 frm["hid_enc_data"].name = encFieldName; 2753 frm["hid_enc_data"].id = encFieldName; 2754 } 2755 2756 } 2757 2758} 2759 2760function Tk_InputErase(element) 2761{ 2762 2763 if (typeof element != "undefined") 2764 { 2765 if (element.getAttribute("type") == "hidden") 2766 TK_HiddenElementErase(element); 2767 else 2768 TK_NomalElementErase(element); 2769 } 2770 2771} 2772 2773function TK_HiddenElementErase(element) { 2774 if (TK_IsNal(element) == false) 2775 element.value = ""; 2776} 2777 2778function TK_NomalElementErase(element) { 2779 if (TK_IsNal(element) == false) 2780 element.value = ""; 2781} 2782 2783function IsAllowIdOverlap() 2784{ 2785 var nRet = false; 2786 if (typeof tekOption.isAllowIdOverlap == "undefined" || tekOption.isAllowIdOverlap == "true" || TOUCHENEX_UTIL.isIE() == true ) 2787 { 2788 nRet = true; 2789 } 2790 2791 return nRet; 2792} 2793 2794 2795function IsFormTrans() 2796{ 2797 var nRet = false; 2798 2799 if (typeof tekOption.isFormTrans == "undefined" || tekOption.isFormTrans == "true" ) 2800 { 2801 nRet = true; 2802 } 2803 2804 return nRet; 2805} 2806 2807function IsSpecialTkMask(eobj) 2808{ 2809 if (eobj != null && eobj.getAttribute("data-tk-usemask") != null && typeof eobj.getAttribute("data-tk-usemask") == "string" && eobj.getAttribute("data-tk-usemask") == "true") 2810 { 2811 return true; 2812 } 2813 return false; 2814} 2815 2816function TK_KeyInputToInputObj(inputObj, value) 2817{ 2818 if (typeof inputObj == "object") 2819 { 2820 if (IsSpecialTkMask(inputObj) == true) 2821 { 2822 var startPos = 0; 2823 var endPos = 1024; 2824 var mask = '*'; 2825 2826 if (inputObj.getAttribute(tk_Special_Mask_StartPos) != null) 2827 startPos = parseInt(inputObj.getAttribute(tk_Special_Mask_StartPos)); 2828 if (inputObj.getAttribute(tk_Special_Mask_EndPos) != null) 2829 endPos = parseInt(inputObj.getAttribute(tk_Special_Mask_EndPos)); 2830 if (inputObj.getAttribute(tk_Special_Mask) != null) 2831 mask = inputObj.getAttribute(tk_Special_Mask); 2832 2833 2834 2835 if (inputObj.value.length+1 >= startPos && inputObj.value.length < endPos) 2836 value = inputObj.value+mask; 2837 2838 } 2839 inputObj.value = value; 2840 } 2841} 2842 2843/* 2844 Object Null And Empty Check 2845*/ 2846 2847function TK_IsNal(obj) { 2848 if (typeof obj == "undefined" || obj == null || obj == "") 2849 return true; 2850 2851 return false; 2852 2853} 2854 2855function TK_IsAvailble(obj) { 2856 if (typeof obj == "undefined" || obj == null || obj == "") 2857 return false; 2858 2859 return true; 2860} 2861 2862function TK_InputEncWithPlain(result) { 2863 //console.log("20190806 - 4-1, tekOption.bstart : " + tekOption.bstart); 2864 if (tekOption.bstart == false) 2865 return; 2866 2867 var TK_frm = ""; 2868 var TK_cur_Field = ""; 2869 var TK_cur_E2E_Field = ""; 2870 var TK_szCh = ""; 2871 var TK_e2eValue = ""; 2872 2873 TK_e2eValue = result.value.split('_#_')[0]; 2874 TK_szCh = result.value.split('_#_')[1]; 2875 2876 if (tekOption.idbase == "true") { 2877 TK_cur_Field = document.getElementById(result.EncData.split("_")[1]); 2878 2879 if (tekOption.usegetenc == "false") { 2880 var crypt = document.getElementById(result.EncData).value; 2881 Tk_InputErase(document.getElementById(result.EncData)); 2882 document.getElementById(result.EncData).value = crypt + TK_e2eValue; 2883 2884 } else { 2885 //console.log("20190806 - 4-3");
2886 var e2eEle = findElmentByNamesId(result.name); 2887 var nodeLen = document.all.length; 2888 var htmlColl = document.all; 2889 2890 for (var k = 0; k < nodeLen; k++) { 2891 if (result.EncData == htmlColl[k].id) { 2892 htmlColl[k].value = result.value.split('_')[0]; 2893 cipherEncText += htmlColl[k].id; 2894 cipherEncText += "="; 2895 cipherEncText += result.value.split('_')[0]; 2896 cipherEncText += "%TK%"; 2897 } 2898 2899 } 2900 //console.log("20190806 - 4-4"); 2901 } 2902 } else { 2903 //console.log("20190806 - 4-5"); 2904 TK_cur_Field = document.getElementsByName(result.EncData.split("_")[1])[0]; 2905 2906 //if (result.EncData.split('E2E_')[1] != TouchEnKeyNXE_CurObj.name) return; 2907 if (TK_IsNal(TK_frm) == true) { 2908 //console.log("20190806 - 4-6"); 2909 if (document.getElementsByName(result.EncData)[0] != undefined) 2910 TK_frm = document.getElementsByName(result.EncData)[0].form; 2911 //console.log("20190806 - 4-7"); 2912 } 2913 2914 if (tekOption.usegetenc == "false") { 2915 if (TK_IsNal(TK_frm) == false) { 2916 //console.log("20190806 - 4-8"); 2917 var crypt = TK_frm[result.EncData].value; 2918 Tk_InputErase(TK_frm[result.EncData]); 2919 TK_frm[result.EncData].value = crypt + TK_e2eValue; 2920 } 2921 } else { 2922 for (var k = 0; k < TK_frm.length; k++) { 2923 if (result.EncData == TK_frm.elements[k].name) { 2924 TK_frm.elements[k].value = result.value.split('_')[0]; 2925 cipherEncText += TK_frm.elements[k].name; 2926 cipherEncText += "="; 2927 cipherEncText += result.value.split('_')[0]; 2928 cipherEncText += "%TK%"; 2929 } 2930 } 2931 } 2932 } 2933 2934 if (bTobe == true) { 2935 var dummykey = TK_szCh; 2936 2937 if (TK_szCh >= '0' && TK_szCh <= '9') 2938 dummykey = '0'; 2939 else if ((TK_szCh >= 'a' && TK_szCh <= 'z') || 2940 (TK_szCh >= 'A' && TK_szCh <= 'Z')) 2941 dummykey = 'A'; 2942 else 2943 dummykey = '_'; 2944 2945 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", dummykey); 2946 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", dummykey); 2947 } 2948 2949 if (isEnc(TK_cur_Field)) { 2950 var inputText = TK_cur_Field.value; 2951 TK_KeyInputToInputObj(TK_cur_Field, inputText + TK_szCh); 2952 if (bTobe == true && TK_cur_Field.classList.value.indexOf("nexa") > -1) 2953 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 2954 } else { 2955 var MaxLength = TK_cur_Field.getAttribute("maxlength"); 2956 var valueLength = TK_cur_Field.value.length; 2957 if (MaxLength != undefined && valueLength >= MaxLength) { 2958 if (TK_cur_Field.selectionStart == 0 && TK_cur_Field.selectionEnd == valueLength) {} 2959 else { 2960 return; 2961 } 2962 } 2963 2964 if (TK_cur_Field.value.length > 0) { 2965 var caretPos = GetCaretPosition(TK_cur_Field); 2966 var tmpValue = TK_cur_Field.value.toString(); 2967 var tmpValue2 = ""; 2968 2969 var selectSize = TK_cur_Field.selectionEnd - TK_cur_Field.selectionStart; 2970 if (selectSize > 0) { 2971 2972 if (TK_cur_Field.selectionEnd == TK_cur_Field.value.length) { 2973 tmpValue = TK_cur_Field.value.substring(0, TK_cur_Field.selectionStart); 2974 //TK_cur_Field.value = ""; 2975 TK_KeyInputToInputObj(TK_cur_Field, tmpValue + TK_szCh); 2976 2977 if (bTobe == true) { 2978 if (TK_cur_Field._linked_element.parent.linkedcontrol._type_name == "MaskEdit") { 2979 var bTobe_MaskEdit_length = TK_cur_Field.value.length; 2980 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 2981 TK_cur_Field.selectionEnd = bTobe_MaskEdit_length; 2982 } else { 2983 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 2984 TK_cur_Field.selectionEnd = TK_cur_Field.value.length; 2985 } 2986 } else { 2987 TK_cur_Field.selectionEnd = TK_cur_Field.value.length; 2988 } 2989 } else { 2990 tmpValue = TK_cur_Field.value.substring(0, TK_cur_Field.selectionStart); 2991 tmpValue2 = TK_cur_Field.value.substring(TK_cur_Field.selectionEnd, TK_cur_Field.value.length); 2992 //TK_cur_Field.value = ""; 2993 TK_KeyInputToInputObj(TK_cur_Field, tmpValue + TK_szCh + tmpValue2); 2994 TK_cur_Field.selectionStart = tmpValue.length + 1; 2995 TK_cur_Field.selectionEnd = tmpValue.length + 1; 2996 2997 if (bTobe == true) 2998 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 2999 } 3000 } else { 3001 TK_KeyInputToInputObj(TK_cur_Field, tmpValue.substring(0, caretPos) + TK_szCh + tmpValue.substring(caretPos)); 3002 TK_cur_Field.selectionStart = caretPos + 1; 3003 TK_cur_Field.selectionEnd = caretPos + 1; 3004 3005 if (bTobe == true) 3006 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3007 } 3008 } else { 3009 if (TK_cur_Field.end - TK_cur_Field.start > 1) 3010 Tk_InputErase(TK_cur_Field); 3011 3012 TK_KeyInputToInputObj(TK_cur_Field, TK_szCh); 3013 3014 if (bTobe == true) { 3015 TK_cur_Field.selectionStart = TK_cur_Field.value.length; 3016 TK_cur_Field.selectionEnd = TK_cur_Field.value.length; 3017 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3018 } 3019 } 3020 TK_cur_Field.selectionStart = TK_cur_Field.selectionEnd; 3021 } 3022 3023 if (tekOption.generate_event == "true" || 3024 tekOption.generate_event == "yes" || tekOption.generate_event == "on") { 3025 if (TK_szCh >= "0" && TK_szCh <= "9") { 3026 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 48); 3027 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 48); 3028 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 48); 3029 } else if ((TK_szCh <= "z" && TK_szCh >= "a") || (TK_szCh <= "Z" && TK_szCh >= "A")) { 3030 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 65); 3031 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 65); 3032 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 65); 3033 } else { 3034 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 189); 3035 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 189); 3036 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 189); 3037 } 3038 } else { 3039 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 120); 3040 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 120); 3041 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 120); 3042 } 3043 return; 3044} 3045
3046function TK_SeedKey_Request() { 3047 cipherEncText = ""; 3048 TouchEnNXE_SeedKey = result.value; 3049 var hidKeyData = null; 3050 3051 if (tekOption.idbase == "true") { 3052 DrawHiddenKeyElementId(); 3053 document.getElementById("hid_key_data").value = TouchEnNXE_SeedKey; 3054 } else { 3055 for (var i = 0; i < document.forms.length; i++) { 3056 var frm = document.forms[i]; 3057 DrawHiddenKeyElement(frm); 3058 if (IsAllowIdOverlap() == false) { 3059 hidKeyData = GetHiddenKeyFieldName(frm); 3060 if (frm[hidKeyData].value.length < 512) 3061 frm[hidKeyData].value = TouchEnNXE_SeedKey; 3062 3063 } else { 3064 if (frm.hid_key_data != undefined) { 3065 if (frm.hid_key_data.value.length < 512) 3066 frm.hid_key_data.value = TouchEnNXE_SeedKey; 3067 } 3068 } 3069 } 3070 } 3071 3072} 3073function TK_AddChar_Request(result) { 3074 3075 var frm; 3076 var TK_cur_Field = ""; 3077 var TK_cur_E2E_Field = ""; 3078 var TK_szCh = ""; 3079 var dummykey = ""; 3080 var TK_RecvDataLength = 1; 3081 var TK_index = 0; 3082 var TK_curFiledLength = 0; 3083 3084 if (tekOption.bstart == false) 3085 return false; 3086 3087 if (TK_IsNal(result.value) == false) { 3088 TK_szCh = result.value.split('_#_')[1]; 3089 TK_index = result.value.split("_#_")[3]; 3090 3091 3092 var tk_string_Pos = result.EncData.search("E2E_"); 3093 if (tk_string_Pos != 0) return; 3094 3095 if (tekOption.idbase == "true") { 3096 var TK_Cur_Field_Id = result.EncData.replace("E2E_", ""); 3097 TK_cur_Field = document.getElementById(TK_Cur_Field_Id); 3098 TK_cur_E2E_Field = document.getElementById("E2E_" + TK_cur_Field.id); 3099 } else { 3100 var TK_Cur_Field_Name = result.EncData.replace("E2E_", ""); 3101 TK_cur_Field = document.getElementsByName(TK_Cur_Field_Name)[0]; 3102 TK_cur_E2E_Field = document.getElementsByName("E2E_" + TK_cur_Field.name)[0]; 3103 } 3104 3105 if ( TK_cur_E2E_Field.value.length > 0) 3106 TK_curFiledLength = TK_cur_E2E_Field.value.length / 32; 3107 3108 if (TK_index == 0) 3109 { 3110 Tk_InputErase(TK_cur_Field); 3111 Tk_InputErase(TK_cur_E2E_Field); 3112 } 3113 3114 if (TK_curFiledLength != TK_index) 3115 { 3116 Tk_InputErase(TK_cur_Field); 3117 Tk_InputErase(TK_cur_E2E_Field); 3118 if(tekOption.idbase=="true") 3119 TK_Request2("ClearDB", "", TK_cur_Field.id, ""); 3120 else 3121 TK_Request2("ClearDB", GetAttributeFormName(TK_cur_Field.form), TK_cur_Field.name, ""); 3122 3123 return false; 3124 } 3125 3126 } else { 3127 if (tekOption.idbase == "true") { 3128 TK_cur_Field = document.getElementById(result.addChar.split("_#_")[1]); 3129 } else { 3130 // 20230224 name Áߺ¹ 3131 resultSize = document.getElementsByName(result.addChar.split("_#_")[1]).length; 3132 for (var i = 0; i<resultSize; i++){ 3133 InputType = document.getElementsByName(result.addChar.split("_#_")[1])[i].type; 3134 if(InputType != "hidden") 3135 TK_cur_Field = document.getElementsByName(result.addChar.split("_#_")[1])[i]; 3136 } 3137 } 3138 TK_szCh = result.addChar.split("_#_")[0]; 3139 } 3140 3141 if (bTobe == true) { 3142 dummykey = TK_szCh; 3143 3144 if (TK_szCh >= '0' && TK_szCh <= '9') 3145 dummykey = '0'; 3146 else if ((TK_szCh >= 'a' && TK_szCh <= 'z') || 3147 (TK_szCh >= 'A' && TK_szCh <= 'Z')) 3148 dummykey = 'A'; 3149 else 3150 dummykey = '_'; 3151 3152 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", dummykey); 3153 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", dummykey); 3154 } 3155 3156 if (isEnc(TK_cur_Field)) { 3157 var inputText = TK_cur_Field.value; 3158 TK_KeyInputToInputObj(TK_cur_Field, inputText + TK_szCh); 3159 if (bTobe == true && TK_cur_Field.classList.value.indexOf("nexa") > -1) 3160 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3161 } else { 3162 var MaxLength = TK_cur_Field.getAttribute("maxlength"); 3163 var valueLength = TK_cur_Field.value.length; 3164 if (MaxLength != undefined && valueLength >= MaxLength) { 3165 if (TK_cur_Field.selectionStart == 0 && TK_cur_Field.selectionEnd == valueLength) {} 3166 else { 3167 return false; 3168 } 3169 } 3170 3171 if (TK_cur_Field.value.length > 0) { 3172 var caretPos = GetCaretPosition(TK_cur_Field); 3173 var tmpValue = TK_cur_Field.value.toString(); 3174 var tmpValue2 = ""; 3175 3176 var selectSize = TK_cur_Field.selectionEnd - TK_cur_Field.selectionStart; 3177 if (selectSize > 0) { 3178 3179 if (TK_cur_Field.selectionEnd == TK_cur_Field.value.length) { 3180 tmpValue = TK_cur_Field.value.substring(0, TK_cur_Field.selectionStart); 3181 //TK_cur_Field.value = ""; 3182 TK_KeyInputToInputObj(TK_cur_Field, tmpValue + TK_szCh); 3183 3184 if (bTobe == true) { 3185 if (TK_cur_Field._linked_element.parent.linkedcontrol._type_name == "MaskEdit") { 3186 var bTobe_MaskEdit_length = TK_cur_Field.value.length; 3187 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3188 TK_cur_Field.selectionEnd = bTobe_MaskEdit_length; 3189 } else { 3190 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3191 TK_cur_Field.selectionEnd = TK_cur_Field.value.length; 3192 } 3193 } else { 3194 TK_cur_Field.selectionEnd = TK_cur_Field.value.length; 3195 } 3196 } else { 3197 tmpValue = TK_cur_Field.value.substring(0, TK_cur_Field.selectionStart); 3198 tmpValue2 = TK_cur_Field.value.substring(TK_cur_Field.selectionEnd, TK_cur_Field.value.length); 3199 //TK_cur_Field.value = ""; 3200 TK_KeyInputToInputObj(TK_cur_Field, tmpValue + TK_szCh + tmpValue2); 3201 TK_cur_Field.selectionStart = tmpValue.length + 1; 3202 TK_cur_Field.selectionEnd = tmpValue.length + 1; 3203 3204 if (bTobe == true) 3205 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3206 } 3207 } else { 3208 TK_KeyInputToInputObj(TK_cur_Field, tmpValue.substring(0, caretPos) + TK_szCh + tmpValue.substring(caretPos)); 3209 TK_cur_Field.selectionStart = caretPos + 1; 3210 TK_cur_Field.selectionEnd = caretPos + 1; 3211 3212 if (bTobe == true) 3213 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3214 } 3215 } else { 3216 if (TK_cur_Field.end - TK_cur_Field.start > 1) 3217 Tk_InputErase(TK_cur_Field); 3218 3219 TK_KeyInputToInputObj(TK_cur_Field, TK_szCh); 3220 3221 if (bTobe == true) { 3222 TK_cur_Field.selectionStart = TK_cur_Field.value.length; 3223 TK_cur_Field.selectionEnd = TK_cur_Field.value.length; 3224 TouchEnKey_UIEevents(0, TK_cur_Field, "input", dummykey); 3225 } 3226 } 3227 TK_cur_Field.selectionStart = TK_cur_Field.selectionEnd; 3228 } 3229 3230 if (tekOption.generate_event == "true" || 3231 tekOption.generate_event == "yes" || tekOption.generate_event == "on") { 3232 if (TK_szCh >= "0" && TK_szCh <= "9") { 3233 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 48); 3234 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 48); 3235 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 48); 3236 } else if ((TK_szCh <= "z" && TK_szCh >= "a") || (TK_szCh <= "Z" && TK_szCh >= "A")) { 3237 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 65); 3238 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 65); 3239 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 65); 3240 } else { 3241 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 189); 3242 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 189); 3243 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 189); 3244 } 3245 } else { 3246 TouchEnKey_UIEevents(0, TK_cur_Field, "keydown", 120); 3247 TouchEnKey_UIEevents(0, TK_cur_Field, "keypress", 120); 3248 TouchEnKey_UIEevents(0, TK_cur_Field, "keyup", 120); 3249 } 3250 3251 return true; 3252 3253}
3254function TK_EncData_Request(result) { 3255 3256 var frm; 3257 var TK_cur_Field = ""; 3258 var TK_cur_E2E_Field = ""; 3259 var TK_szCh = ""; 3260 var TK_e2eValue = ""; 3261 3262 if (tekOption.bstart == false) 3263 return; 3264 3265 var TK_RecvDataLength = result.value.split("_#_").length; 3266 if (TK_RecvDataLength == 4) 3267 TK_e2eValue = result.value.split('_#_')[0]; 3268 else 3269 TK_e2eValue = result.value; 3270 3271 if (tekOption.idbase == "true") { 3272 3273 if (tekOption.usegetenc == "false") { 3274 var crypt = document.getElementById(result.EncData).value; 3275 Tk_InputErase(document.getElementById(result.EncData)); 3276 document.getElementById(result.EncData).value = crypt + TK_e2eValue; 3277 } else { 3278 //console.log("20190806 - 4-3"); 3279 var e2eEle = findElmentByNamesId(result.name); 3280 var nodeLen = document.all.length; 3281 var htmlColl = document.all; 3282 3283 for (var k = 0; k < nodeLen; k++) { 3284 if (result.EncData == htmlColl[k].id) { 3285 htmlColl[k].value = TK_e2eValue; 3286 cipherEncText += htmlColl[k].id; 3287 cipherEncText += "="; 3288 cipherEncText += TK_e2eValue; 3289 cipherEncText += "%TK%"; 3290 } 3291 3292 } 3293 //console.log("20190806 - 4-4"); 3294 } 3295 } else { 3296 3297 if (frm == undefined) { 3298 //console.log("20190806 - 4-6"); 3299 if (document.getElementsByName(result.EncData)[0] != undefined) 3300 frm = document.getElementsByName(result.EncData)[0].form; 3301 //console.log("20190806 - 4-7"); 3302 } 3303 3304 if (tekOption.usegetenc == "false") { 3305 if (frm != undefined) { 3306 //console.log("20190806 - 4-8"); 3307 var crypt = frm[result.EncData].value; 3308 Tk_InputErase(frm[result.EncData]); 3309 frm[result.EncData].value = crypt + TK_e2eValue; 3310 } 3311 } else { 3312 for (var k = 0; k < frm.length; k++) { 3313 if (result.EncData == frm.elements[k].name) { 3314 frm.elements[k].value = TK_e2eValue; 3315 cipherEncText += frm.elements[k].name; 3316 cipherEncText += "="; 3317 cipherEncText += TK_e2eValue; 3318 cipherEncText += "%TK%"; 3319 } 3320 } 3321 } 3322 } 3323 return; 3324} 3325 3326function TK_InterClear_Request() { 3327 var HiddenEnc = ""; 3328 var TK_tmp = ""; 3329 if (tekOption.idbase == "true") {
3330 HiddenEnc = "E2E_" + result.inputClear; 3331 TK_tmp = document.getElementById(result.inputClear); 3332 if (isEnc(TK_tmp)) { 3333 Tk_InputErase(document.getElementById(HiddenEnc)); 3334 Tk_InputErase(document.getElementById(result.inputClear)); 3335 return; 3336 } else { 3337 if (document.getElementById(HiddenEnc) != undefined) { 3338 Tk_InputErase(document.getElementById(HiddenEnc)); 3339 Tk_InputErase(document.getElementById(result.inputClear)); 3340 } 3341 return; 3342 } 3343 } else { 3344 HiddenEnc = "E2E_" + result.inputClear; 3345 TK_tmp = document.getElementsByName(result.inputClear)[0]; 3346 if (isEnc(TK_tmp)) { 3347 Tk_InputErase(document.getElementsByName(HiddenEnc)[0]); 3348 Tk_InputErase(document.getElementsByName(result.inputClear)[0]); 3349 return; 3350 } else { 3351 if (document.getElementsByName(HiddenEnc)[0] != undefined) { 3352 Tk_InputErase(document.getElementsByName(HiddenEnc)[0]); 3353 Tk_InputErase(document.getElementsByName(result.inputClear)[0]); 3354 } 3355 return; 3356 } 3357 } 3358} 3359 3360 3361 3362// 20220520 3363function TK_Rescan_Id() { 3364 if (TK_IsNal(TK_bInit) || TK_bInit == 0) return; 3365 if(!useTouchEnnxKey) return; 3366 try { 3367 if(getTouchEnNXEType.MSIEBrowser &&!TK_IEDaemonCheck()){ 3368 TK_Request2("Rescan2", ""); 3369 } 3370 else{ 3371 3372 makeEncDataId(); 3373 TK_AddEventListner(); 3374 } 3375 } catch (e) { 3376 exlog("_TOUCHENNX", "TK_Rescan() exception"); 3377 } 3378} 3379 3380 3381// 20220520 3382function TK_Rescan_Form() { 3383 if (TK_IsNal(TK_bInit) || TK_bInit == 0) return; 3384 if (!useTouchEnnxKey) return; 3385 3386 try { 3387 if(getTouchEnNXEType.MSIEBrowser && !TK_IEDaemonCheck()){ 3388 TK_Request2("Rescan2", ""); 3389 } 3390 else{ 3391 3392 for (var i = 0; i < document.forms.length; i++) { 3393 if (GetAttributeFormName(document.forms[i]) != undefined && GetAttributeFormName(document.forms[i]) != touchenexInfo.exFormName) 3394 makeEncDataEx(document.forms[i]); 3395 } 3396 TK_AddEventListner(); 3397 3398 } 3399 } catch (e) { 3400 exlog("_TOUCHENNX", "TK_Rescan() exception"); 3401 } 3402} 3403 3404//20220520 3405function TK_EnqueueList_Form(inputObj) { 3406 3407 if (TK_IsNal(inputObj)) 3408 return false; 3409 3410 var frmname = inputObj.form.name; 3411 var elename = inputObj.name; 3412 3413 if (getTouchEnNXEType.MSIEBrowser && !TK_IEDaemonCheck() ) { 3414 TK_Request2("EnqueueList", frmname, elename, ""); 3415 } 3416 3417 else if (getTouchEnNXEType.MSIEBrowser &&TK_IEDaemonCheck()){ 3418 TK_AddEventListner2(inputObj); 3419 3420 } 3421 3422 else if (getTouchEnNXEType.WebKitBrowser) { 3423 TK_AddEventListner2(inputObj); 3424 } 3425 3426 if (!TK_IsNal(inputObj)) { 3427 if (isEnc(inputObj)) { 3428 var E2E_ele = null; 3429 Create_E2E_element_Form(inputObj); 3430 E2E_ele = inputObj.form["E2E_" + inputObj.name]; 3431 3432 if (!TK_IsNal(E2E_ele)) 3433 Tk_InputErase(E2E_ele); 3434 } 3435 } 3436 3437 return true; 3438} 3439 3440//20220520 3441function TK_EnqueueList_Id(inputObj) { 3442 3443 var ret = false; 3444 var eleId = null; 3445 3446 3447 if (TK_IsNal(TK_bInit) || TK_bInit == 0) 3448 return ret; 3449 if (!useTouchEnnxKey) 3450 return ret; 3451 3452 if (TK_IsNal(inputObj)) 3453 return false; 3454 3455 eleId = inputObj.id; 3456 3457 if (getTouchEnNXEType.MSIEBrowser && !TK_IEDaemonCheck()) { 3458 TK_Request2("EnqueueList", "", eleId, ""); 3459 } 3460 else if (getTouchEnNXEType.MSIEBrowser && TK_IEDaemonCheck()){ 3461 TK_AddEventListner2(inputObj); 3462 3463 } 3464 3465 else if (getTouchEnNXEType.WebKitBrowser) { 3466 TK_AddEventListner2(inputObj); 3467 } 3468 3469 if (isEnc(inputObj)) { 3470 var E2E_ele = null; 3471 //Crate_E2E_element(frmname, inputObj); 3472 Create_E2E_element_Id(inputObj); 3473 E2E_ele = document.getElementById("E2E_" + inputObj.id); 3474 3475 if (!TK_IsNal(E2E_ele)) 3476 Tk_InputErase(E2E_ele); 3477 } 3478 return true; 3479} 3480 3481function Create_E2E_element(formname, eleObj) { 3482 var E2E_eleName = null; 3483 var E2E_eleObj = null; 3484 3485 if (formname == "") { 3486 Create_E2E_element_Id(eleObj); 3487 } else { 3488 Create_E2E_element_From(eleObj); 3489 } 3490 3491} 3492 3493// 20220520 3494function Create_E2E_element_Form(eleObj) { 3495 var E2E_eleName = null; 3496 var E2E_eleObj = null; 3497 3498 if (!TK_IsNal(eleObj)) { 3499 3500 // 20230224 input name ¾øÀ» °æ¿ì && º¸¾ÈÇʵ忩ºÎüũ 3501 if(TK_IsNal(eleObj.name) && isSecurityCheck(eleObj)){ 3502 eleObj.name = eleObj.id; 3503 } 3504 E2E_eleName = "E2E_" + eleObj.name; 3505 E2E_eleObj = findElementByName(eleObj.form, E2E_eleName); 3506 3507 if (E2E_eleObj == null) { 3508 E2E_eleObj = document.createElement("input"); 3509 E2E_eleObj.type = "hidden"; 3510 E2E_eleObj.name = E2E_eleName; 3511 Tk_InputErase(E2E_eleObj); 3512 eleObj.form.appendChild(E2E_eleObj); 3513 } 3514 /* 20230224 3515 else 3516 Tk_InputErase(eleObj); 3517 */ 3518 } 3519} 3520 3521// 20220520 3522function Create_E2E_element_Id(eleObj) { 3523 var E2E_eleName = null; 3524 var E2E_eleObj = null; 3525 3526 if (!TK_IsNal(eleObj)) { 3527 E2E_eleName = "E2E_" + eleObj.id;
3528 E2E_eleObj = findElmentByNamesId(E2E_eleName); 3529 3530 if (E2E_eleObj == null) { 3531 E2E_eleObj = document.createElement("input"); 3532 E2E_eleObj.type = "hidden"; 3533 E2E_eleObj.id = E2E_eleName; 3534 Tk_InputErase(E2E_eleObj); 3535 document.body.appendChild(E2E_eleObj); 3536 } 3537 else 3538 Tk_InputErase(E2E_eleObj); 3539 } 3540} 3541 3542function DrawHiddenDataElementsForm(formObj) { 3543 var e2eEle =null; 3544 var j = 0; 3545 var name = new Array(formObj.elements.length); 3546 var value = new Array(formObj.elements.length); 3547 var len = formObj.elements.length; 3548 var makeEncField = false; 3549 3550 for (var i = 0; i < len; i++) { 3551 makeEncField = false; 3552 // 20230224 j -> i ·Î º¯°æ 3553 var InputObject = formObj.elements[i]; 3554 3555 if (isEnc(InputObject)) { 3556 makeEncField = true; 3557 } 3558 else continue; 3559 3560 if (makeEncField == true) { 3561 Create_E2E_element_Form(InputObject); 3562 j++; 3563 } 3564 } 3565 return j; 3566} 3567 3568function DrawHiddenDataElementsId() { 3569 3570 var j = 0; 3571 var htmlAllColl = document.all; 3572 var len = htmlAllColl.length; 3573 var makeEncField = false; 3574 3575 for (var i = 0; i < len; i++) { 3576 if (htmlAllColl[i].tagName != "INPUT") 3577 continue; 3578 if (htmlAllColl[i].type != "text" && htmlAllColl[i].type != "password") 3579 continue; 3580 3581 makeEncField = false; 3582 var InputObject = htmlAllColl[i]; 3583 3584 if (isEnc(InputObject)) { 3585 makeEncField = true; 3586 } else continue; 3587 3588 if (makeEncField == true) { 3589 Create_E2E_element_Id(InputObject); 3590 j++ 3591 } 3592 } 3593 return j; 3594} 3595 3596 3597function DrawHiddenDataElementsUnder(inputObj) { 3598 3599 var j = 0; 3600 3601 var len = formObj.elements.length; 3602 var makeEncField = false; 3603 3604 if (TK_IsNal(inputObj)) return; 3605 if (isEnc(inputObj)) { 3606 makeEncField = true; 3607 } 3608 3609 if (makeEncField == true) { 3610 var value = ""; 3611 var E2E_eleName = ""; 3612 var E2E_eleObj = null; 3613 3614 if (TK_IsAvailble(tekOption.idbase) && tekOption.idbase == true) { 3615 E2E_eleName = "E2E_" + inputObj.id; 3616 E2E_eleObj = findElmentByNamesId(E2E_eleName); 3617 3618 } else { 3619 E2E_eleName = "E2E_" + inputObj.name; 3620 E2E_eleObj = findElementByName(inputObj.form, inputObj.name); 3621 } 3622 3623 if (E2E_eleObj == null) { 3624 E2E_eleObj = document.createElement("input"); 3625 E2E_eleObj.type = "hidden"; 3626 E2E_eleObj.name = E2E_eleName; 3627 inputObj.appendChild(E2E_eleObj); 3628 Tk_InputErase(E2E_eleObj); 3629 } 3630 } 3631} 3632 3633function GetCipherDataId() 3634{ 3635 var cipherEncText=""; 3636 var nodeLen = document.all.length; 3637 var htmlColl = document.all; 3638 for (var k = 0; k < nodeLen; k++) { 3639 if (htmlColl[k].id.indexOf('E2E_') != -1) { 3640 cipherEncText += htmlColl[k].id; 3641 cipherEncText += "="; 3642 cipherEncText += htmlColl[k].value; 3643 cipherEncText += "%TK%"; 3644 } 3645 } 3646 return cipherEncText; 3647} 3648function GetCipherDataForm(frmObj) 3649{ 3650 var cipherEncText = ""; 3651 for (var k = 0; k < frmObj.elements.length; k++) { 3652 if (frmObj.elements[k].tagName == "INPUT") { 3653 if (frmObj.elements[k].name.indexOf('E2E_') != -1) { 3654 cipherEncText += frmObj.elements[k].name; 3655 cipherEncText += "="; 3656 cipherEncText += frmObj.elements[k].value; 3657 cipherEncText += "%TK%" 3658 } 3659 } 3660 } 3661 return cipherEncText; 3662} 3663 3664 3665function TK_Isidbase() { 3666 if (TK_IsAvailble(tekOption.idbase) && tekOption.idbase === "true") 3667 return true; 3668 return false; 3669} 3670 3671function TK_IEDaemonCheck(){ 3672 if (TK_IEDaemon == true) 3673 return true; 3674 else return false; 3675 3676} 3677 3678function TK_MSIEBrowserDaemonCheck(){ 3679 if (getTouchEnNXEType.MSIEBrowser && TK_IEDaemonCheck()) 3680 return true; 3681 else return false; 3682 3683} 3684 3685// 20230224 comma À̽´ 3686function TK_InputE2EDelete(Obj){ 3687 str = ""; 3688 Obj.value = null; 3689 E2E_Obj = null; 3690 if(tekOption.idbase == "false"){
3691 E2E_Obj = "E2E_"+ Obj.name; 3692 inputObjelement = document.getElementsByName(E2E_Obj)[0]; 3693 if (inputObjelement){ 3694 var inputObj_Form = inputObjelement.parentElement; 3695 inputObjelement.parentNode.removeChild(inputObjelement); 3696 TK_EnqueueList(inputObj_Form.name, Obj.name); 3697 } 3698 } 3699 else{ 3700 E2E_Obj = "E2E_"+ Obj.id; 3701 inputObjelement = document.getElementById(E2E_Obj); 3702 if (inputObjelement){ 3703 inputObjelement.parentNode.removeChild(inputObjelement); 3704 TK_EnqueueList("", Obj.id); 3705 } 3706 } 3707} 3708 3709
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.