From 4f3563e347b7dbd062c27d3038af433023d61ae1 Mon Sep 17 00:00:00 2001 From: tolag3 Date: Mon, 30 Sep 2024 15:48:44 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B3=B8=EC=9D=B8=EC=9D=B8=EC=A6=9D=20?= =?UTF-8?q?=EA=B0=9C=EB=B0=9C=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 14 + .../pwm/web/EgovPopupManageController.java | 5 +- .../java/kcc/let/uat/uia/service/CertVO.java | 36 + src/main/java/kcc/utill/CertSettingUtill.java | 322 + src/main/java/kcc/web/MainController.java | 67 +- src/main/java/kcc/xxx/web/XxxController.java | 29 + .../egovProps/globals_dev.properties | 5 +- .../egovProps/globals_local.properties | 5 +- .../egovProps/globals_svr.properties | 5 +- .../let/uss/pwm/PopupManage_SQL_Oracle.xml | 56 +- .../AnySign4PC/AnySign4PC/AnySign4PC.js | 11772 ++++++++++++++++ .../AnySign4PC/AnySign4PC/css/common.css | 505 + .../AnySign4PC/AnySign4PC/css/common_min.css | 1 + .../browserCertificate_user_guide.pdf | Bin 0 -> 334687 bytes .../AnySign4PC/download/hConvert2pfx.exe | Bin 0 -> 2696080 bytes .../AnySign4PC/AnySign4PC/ext/AnySign.js | 11 + .../AnySign4PC/AnySign4PC/ext/AnySignAjax.js | 11 + .../AnySign4PC/AnySign4PC/ext/AnySignJSONP.js | 11 + .../AnySign4PC/ext/FileSaver.min.js | 2 + .../AnySign4PC/AnySign4PC/ext/SecureProto.js | 11 + .../AnySign4PC/ext/anySignjQuery-1.11.1.js | 10370 ++++++++++++++ .../AnySign4PC/ext/crossStorageClient.min.js | 11 + .../AnySign4PC/ext/crossStorageHub.html | 15 + .../AnySign4PC/ext/crossStorageHub.min.js | 11 + .../AnySign4PC/AnySign4PC/ext/integrity.js | 377 + .../AnySign4PC/ext/integrity_min.js | 23 + .../webapp/AnySign4PC/AnySign4PC/ext/json2.js | 489 + .../AnySign4PC/ext/promise-6.1.0.js | 375 + .../AnySign4PC/AnySign4PC/ext/worker.min.js | 1 + .../AnySign4PC/AnySign4PC/ext/xcrypto.js | 1 + .../AnySign4PC/ext/xcryptoCore_min.js | 11 + .../AnySign4PC/AnySign4PC/ext/xcrypto_min.js | 150 + .../AnySign4PC/AnySign4PC/img/XecureWeb.png | Bin 0 -> 1003 bytes .../AnySign4PC/img/XecureWebIcon.png | Bin 0 -> 529 bytes .../AnySign4PC/img/alert_savetoken.png | Bin 0 -> 2773 bytes .../AnySign4PC/AnySign4PC/img/banner.png | Bin 0 -> 8202 bytes .../AnySign4PC/AnySign4PC/img/banner_big.png | Bin 0 -> 50022 bytes .../AnySign4PC/img/bg_btn_cancel.png | Bin 0 -> 1800 bytes .../AnySign4PC/img/bg_btn_confim.png | Bin 0 -> 2140 bytes .../AnySign4PC/img/btn_background.gif | Bin 0 -> 1226 bytes .../AnySign4PC/AnySign4PC/img/btn_bg.png | Bin 0 -> 162 bytes .../AnySign4PC/AnySign4PC/img/btn_cancel.png | Bin 0 -> 4007 bytes .../AnySign4PC/img/btn_cancel_eng.png | Bin 0 -> 4046 bytes .../AnySign4PC/img/btn_cancel_org.png | Bin 0 -> 507 bytes .../AnySign4PC/AnySign4PC/img/btn_ok_blue.png | Bin 0 -> 4311 bytes .../AnySign4PC/img/btn_ok_blue_eng.png | Bin 0 -> 4255 bytes .../AnySign4PC/img/btn_pop_close.gif | Bin 0 -> 1285 bytes .../AnySign4PC/img/btn_pop_close.png | Bin 0 -> 222 bytes .../webapp/AnySign4PC/AnySign4PC/img/bu.png | Bin 0 -> 308 bytes .../AnySign4PC/AnySign4PC/img/cert0.png | Bin 0 -> 245 bytes .../AnySign4PC/AnySign4PC/img/cert1.png | Bin 0 -> 274 bytes .../AnySign4PC/AnySign4PC/img/cert2.png | Bin 0 -> 244 bytes .../AnySign4PC/AnySign4PC/img/cert3.png | Bin 0 -> 274 bytes .../AnySign4PC/AnySign4PC/img/cert4.png | Bin 0 -> 634 bytes .../AnySign4PC/AnySign4PC/img/cert5.png | Bin 0 -> 709 bytes .../AnySign4PC/AnySign4PC/img/cert6.png | Bin 0 -> 727 bytes .../AnySign4PC/AnySign4PC/img/cert7.png | Bin 0 -> 627 bytes .../AnySign4PC/AnySign4PC/img/cert_csp.png | Bin 0 -> 190 bytes .../AnySign4PC/AnySign4PC/img/check_mouse.png | Bin 0 -> 685 bytes .../AnySign4PC/AnySign4PC/img/delete.png | Bin 0 -> 443 bytes .../AnySign4PC/AnySign4PC/img/dercert.png | Bin 0 -> 250 bytes .../AnySign4PC/AnySign4PC/img/derkey.png | Bin 0 -> 211 bytes .../AnySign4PC/AnySign4PC/img/download.png | Bin 0 -> 292 bytes .../AnySign4PC/AnySign4PC/img/expander.png | Bin 0 -> 323 bytes .../webapp/AnySign4PC/AnySign4PC/img/gray.png | Bin 0 -> 85 bytes .../AnySign4PC/img/icon_arrow_left.png | Bin 0 -> 130 bytes .../img/icon_arrow_left_disabled.png | Bin 0 -> 130 bytes .../AnySign4PC/img/icon_arrow_right.png | Bin 0 -> 134 bytes .../img/icon_arrow_right_disabled.png | Bin 0 -> 134 bytes .../AnySign4PC/AnySign4PC/img/icon_cloud.png | Bin 0 -> 642 bytes .../AnySign4PC/AnySign4PC/img/icon_cloud_.png | Bin 0 -> 489 bytes .../AnySign4PC/img/icon_cloud_disabled.png | Bin 0 -> 659 bytes .../AnySign4PC/AnySign4PC/img/icon_file.png | Bin 0 -> 1148 bytes .../AnySign4PC/AnySign4PC/img/icon_folder.png | Bin 0 -> 1010 bytes .../AnySign4PC/AnySign4PC/img/icon_hdd.png | Bin 0 -> 349 bytes .../AnySign4PC/img/icon_hdd_disabled.png | Bin 0 -> 384 bytes .../AnySign4PC/img/icon_localstorage.png | Bin 0 -> 992 bytes .../img/icon_localstorage_disabled.png | Bin 0 -> 933 bytes .../AnySign4PC/img/icon_memorystorage.png | Bin 0 -> 784 bytes .../img/icon_memorystorage_disabled.png | Bin 0 -> 697 bytes .../AnySign4PC/AnySign4PC/img/icon_mobile.png | Bin 0 -> 285 bytes .../AnySign4PC/img/icon_mobile_disabled.png | Bin 0 -> 341 bytes .../AnySign4PC/img/icon_nfciccard.png | Bin 0 -> 598 bytes .../img/icon_nfciccard_disabled.png | Bin 0 -> 554 bytes .../AnySign4PC/AnySign4PC/img/icon_pkcs11.png | Bin 0 -> 535 bytes .../AnySign4PC/img/icon_pkcs11_disabled.png | Bin 0 -> 446 bytes .../AnySign4PC/img/icon_removable.png | Bin 0 -> 511 bytes .../AnySign4PC/img/icon_removable_2.png | Bin 0 -> 3791 bytes .../img/icon_removable_disabled.png | Bin 0 -> 552 bytes .../AnySign4PC/img/icon_savetoken.png | Bin 0 -> 559 bytes .../img/icon_savetoken_disabled.png | Bin 0 -> 702 bytes .../AnySign4PC/img/icon_securedisk.png | Bin 0 -> 538 bytes .../img/icon_securedisk_disabled.png | Bin 0 -> 501 bytes .../AnySign4PC/img/icon_smartcert.png | Bin 0 -> 555 bytes .../img/icon_smartcert_disabled.png | Bin 0 -> 571 bytes .../webapp/AnySign4PC/AnySign4PC/img/info.jpg | Bin 0 -> 157106 bytes .../webapp/AnySign4PC/AnySign4PC/img/info.png | Bin 0 -> 6367 bytes .../AnySign4PC/AnySign4PC/img/install.png | Bin 0 -> 398 bytes .../AnySign4PC/AnySign4PC/img/itemimg.png | Bin 0 -> 1208 bytes .../AnySign4PC/AnySign4PC/img/loader.gif | Bin 0 -> 3208 bytes .../AnySign4PC/AnySign4PC/img/loading.gif | Bin 0 -> 29000 bytes .../AnySign4PC/AnySign4PC/img/loading_en.gif | Bin 0 -> 31673 bytes .../AnySign4PC/img/loading_update.gif | Bin 0 -> 29155 bytes .../AnySign4PC/img/loading_update_en.gif | Bin 0 -> 32891 bytes .../webapp/AnySign4PC/AnySign4PC/img/logo.png | Bin 0 -> 2438 bytes .../AnySign4PC/img/main_inputpasswd.png | Bin 0 -> 3306 bytes .../AnySign4PC/img/main_savepasswd.png | Bin 0 -> 3064 bytes .../AnySign4PC/img/main_verifyvid.png | Bin 0 -> 2060 bytes .../AnySign4PC/AnySign4PC/img/misc25.png | Bin 0 -> 558 bytes .../webapp/AnySign4PC/AnySign4PC/img/off.png | Bin 0 -> 3302 bytes .../AnySign4PC/AnySign4PC/img/old/delete.png | Bin 0 -> 194 bytes .../AnySign4PC/img/old/icon_hdd.png | Bin 0 -> 1301 bytes .../AnySign4PC/img/old/icon_hdd_disabled.png | Bin 0 -> 505 bytes .../AnySign4PC/img/old/icon_mobile.png | Bin 0 -> 824 bytes .../img/old/icon_mobile_disabled.png | Bin 0 -> 522 bytes .../AnySign4PC/img/old/icon_pkcs11.png | Bin 0 -> 1185 bytes .../img/old/icon_pkcs11_disabled.png | Bin 0 -> 528 bytes .../AnySign4PC/img/old/icon_removable.png | Bin 0 -> 1338 bytes .../img/old/icon_removable_disabled.png | Bin 0 -> 571 bytes .../AnySign4PC/img/old/icon_savetoken.png | Bin 0 -> 1213 bytes .../img/old/icon_savetoken_disabled.png | Bin 0 -> 547 bytes .../AnySign4PC/img/old/icon_smartcert.png | Bin 0 -> 749 bytes .../img/old/icon_smartcert_disabled.png | Bin 0 -> 704 bytes .../AnySign4PC/AnySign4PC/img/old/install.png | Bin 0 -> 232 bytes .../AnySign4PC/AnySign4PC/img/old/misc25.png | Bin 0 -> 175 bytes .../AnySign4PC/AnySign4PC/img/old/pfx16.png | Bin 0 -> 267 bytes .../AnySign4PC/AnySign4PC/img/old/prop.png | Bin 0 -> 217 bytes .../AnySign4PC/AnySign4PC/img/old/save.png | Bin 0 -> 189 bytes .../AnySign4PC/img/old/secure05.png | Bin 0 -> 324 bytes .../webapp/AnySign4PC/AnySign4PC/img/on.png | Bin 0 -> 3251 bytes .../AnySign4PC/AnySign4PC/img/pfx16.png | Bin 0 -> 398 bytes .../webapp/AnySign4PC/AnySign4PC/img/prop.png | Bin 0 -> 518 bytes .../webapp/AnySign4PC/AnySign4PC/img/save.png | Bin 0 -> 333 bytes .../AnySign4PC/AnySign4PC/img/secure05.png | Bin 0 -> 426 bytes .../AnySign4PC/AnySign4PC/img/sp_com.png | Bin 0 -> 94317 bytes .../AnySign4PC/AnySign4PC/img/title_bg.png | Bin 0 -> 9367 bytes .../AnySign4PC/AnySign4PC/img/verify1.png | Bin 0 -> 511 bytes .../AnySign4PC/AnySign4PC/img/verify2.png | Bin 0 -> 615 bytes .../AnySign4PC/AnySign4PC/img/verify3.png | Bin 0 -> 593 bytes .../AnySign4PC/AnySign4PC/img/verify4.png | Bin 0 -> 524 bytes .../AnySign4PC/AnySign4PC/img/wizimg01.png | Bin 0 -> 18921 bytes .../AnySign4PC/AnySign4PC/img/wizimg02.png | Bin 0 -> 18921 bytes .../AnySign4PC/AnySign4PC/img/xecure_big.png | Bin 0 -> 32797 bytes .../AnySign4PC/img/xecureweb_big.png | Bin 0 -> 11589 bytes .../AnySign4PC/locale/alertDialog_en-US.js | 36 + .../AnySign4PC/locale/alertDialog_ko-KR.js | 36 + .../AnySign4PC/locale/certmanager_en-US.js | 167 + .../AnySign4PC/locale/certmanager_ko-KR.js | 167 + .../AnySign4PC/locale/certsaveloc_en-US.js | 34 + .../AnySign4PC/locale/certsaveloc_ko-KR.js | 34 + .../AnySign4PC/locale/certselect_en-US.js | 165 + .../AnySign4PC/locale/certselect_ko-KR.js | 165 + .../AnySign4PC/locale/certselectwide_en-US.js | 143 + .../AnySign4PC/locale/certselectwide_ko-KR.js | 143 + .../AnySign4PC/locale/changepasswd_en-US.js | 28 + .../AnySign4PC/locale/changepasswd_ko-KR.js | 28 + .../AnySign4PC/locale/commondialog_en-US.js | 28 + .../AnySign4PC/locale/commondialog_ko-KR.js | 28 + .../AnySign4PC/locale/confirmwindow_en-US.js | 10 + .../AnySign4PC/locale/confirmwindow_ko-KR.js | 10 + .../AnySign4PC/locale/export_en-US.js | 53 + .../AnySign4PC/locale/export_ko-KR.js | 53 + .../AnySign4PC/locale/fileselect_en-US.js | 39 + .../AnySign4PC/locale/fileselect_ko-KR.js | 39 + .../AnySign4PC/locale/guidewindow_en-US.js | 8 + .../AnySign4PC/locale/guidewindow_ko-KR.js | 8 + .../AnySign4PC/locale/hsmselect_en-US.js | 59 + .../AnySign4PC/locale/hsmselect_ko-KR.js | 59 + .../AnySign4PC/locale/iccard_en-US.js | 11 + .../AnySign4PC/locale/iccard_ko-KR.js | 11 + .../AnySign4PC/locale/iccardlist_en-US.js | 14 + .../AnySign4PC/locale/iccardlist_ko-KR.js | 14 + .../AnySign4PC/locale/import_en-US.js | 58 + .../AnySign4PC/locale/import_ko-KR.js | 58 + .../AnySign4PC/locale/information_en-US.js | 10 + .../AnySign4PC/locale/information_ko-KR.js | 10 + .../AnySign4PC/locale/inputpasswd_en-US.js | 36 + .../AnySign4PC/locale/inputpasswd_ko-KR.js | 36 + .../AnySign4PC/locale/pfxdialog_en-US.js | 16 + .../AnySign4PC/locale/pfxdialog_ko-KR.js | 16 + .../AnySign4PC/locale/rootverify_en-US.js | 27 + .../AnySign4PC/locale/rootverify_ko-KR.js | 27 + .../AnySign4PC/locale/savepasswd_en-US.js | 30 + .../AnySign4PC/locale/savepasswd_ko-KR.js | 30 + .../AnySign4PC/locale/selectonrbg_en-US.js | 13 + .../AnySign4PC/locale/selectonrbg_ko-KR.js | 13 + .../AnySign4PC/locale/usernotify_en-US.js | 7 + .../AnySign4PC/locale/usernotify_ko-KR.js | 7 + .../AnySign4PC/locale/verifyhsm_en-US.js | 19 + .../AnySign4PC/locale/verifyhsm_ko-KR.js | 19 + .../AnySign4PC/locale/verifyvid_en-US.js | 21 + .../AnySign4PC/locale/verifyvid_ko-KR.js | 21 + .../AnySign4PC/locale/viewverify_en-US.js | 33 + .../AnySign4PC/locale/viewverify_ko-KR.js | 33 + .../AnySign4PC/locale/xfslogin_en-US.js | 28 + .../AnySign4PC/locale/xfslogin_ko-KR.js | 28 + .../AnySign4PC/module/alertDialog.js | 1887 +++ .../AnySign4PC/module/certmanager.js | 6189 ++++++++ .../AnySign4PC/module/certsaveloc.js | 2730 ++++ .../AnySign4PC/module/certselect.js | 7220 ++++++++++ .../AnySign4PC/module/certselectwide.js | 5990 ++++++++ .../AnySign4PC/module/changepasswd.js | 2410 ++++ .../AnySign4PC/module/commondialog.js | 1874 +++ .../AnySign4PC/module/confirmwindow.js | 1860 +++ .../AnySign4PC/AnySign4PC/module/export.js | 2557 ++++ .../AnySign4PC/module/fileselect.js | 2717 ++++ .../AnySign4PC/module/guidewindow.js | 1784 +++ .../AnySign4PC/AnySign4PC/module/hsmselect.js | 2346 +++ .../AnySign4PC/AnySign4PC/module/iccard.js | 1936 +++ .../AnySign4PC/module/iccardlist.js | 2216 +++ .../AnySign4PC/AnySign4PC/module/import.js | 2647 ++++ .../AnySign4PC/module/information.js | 1838 +++ .../AnySign4PC/module/inputpasswd.js | 2088 +++ .../AnySign4PC/AnySign4PC/module/pfxdialog.js | 2478 ++++ .../AnySign4PC/module/rootverify.js | 1944 +++ .../AnySign4PC/module/savepasswd.js | 2195 +++ .../AnySign4PC/module/selectonrbg.js | 1882 +++ .../AnySign4PC/module/usernotify.js | 1825 +++ .../AnySign4PC/AnySign4PC/module/verifyhsm.js | 1995 +++ .../AnySign4PC/AnySign4PC/module/verifyvid.js | 2006 +++ .../AnySign4PC/module/viewverify.js | 2543 ++++ .../AnySign4PC/AnySign4PC/module/xfslogin.js | 2083 +++ .../webapp/AnySign4PC/anySign4PCInterface.js | 6602 +++++++++ .../springmvc/egov-com-servlet.xml | 2 +- .../user/siren/checkMedi_hpParamPop.jsp | 67 + .../user/siren/checkMedi_ipin_popup_seed.jsp | 43 + .../jsp/_extra/user/siren/hpParamPop.jsp | 67 + .../jsp/_extra/user/siren/ipin_popup_seed.jsp | 44 + .../user/siren/lawCounsel_hpParamPop.jsp | 66 + .../user/siren/lawCounsel_ipin_popup_seed.jsp | 43 + .../_extra/user/siren/myPage_hpParamPop.jsp | 71 + .../user/siren/myPage_ipin_popup_seed.jsp | 44 + .../user/siren/onlineCounsel_hpParamPop.jsp | 66 + .../siren/onlineCounsel_ipin_popup_seed.jsp | 43 + .../WEB-INF/jsp/cmm/fms/EgovFileList.jsp | 2 +- .../com/uss/ion/bnr/EgovBannerRegist.jsp | 2 +- .../webapp/WEB-INF/jsp/main/mainUserPage.jsp | 2 +- .../jsp/uss/ion/pwm/MainZoneModify.jsp | 2 +- .../jsp/uss/ion/pwm/MainZoneModify_0427.jsp | 4 +- .../WEB-INF/jsp/uss/ion/pwm/MainzoneList.jsp | 3 +- .../WEB-INF/jsp/uss/ion/pwm/MainzoneList2.jsp | 2 +- .../jsp/uss/ion/pwm/PopupZoneModify.jsp | 2 +- .../jsp/uss/ion/pwm/PopupzoneList2.jsp | 2 +- .../WEB-INF/jsp/uss/ion/pwm/SocialModify.jsp | 2 +- .../webapp/WEB-INF/jsp/web/main/mainPage.jsp | 104 +- .../webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp | 97 + .../WEB-INF/views/_common/_images/noImg.png | Bin 0 -> 2091 bytes .../WEB-INF/views/_common/_images/no_img.jpg | Bin 0 -> 2827 bytes src/main/webapp/WEB-INF/web.xml | 3 +- .../kofair_case_seed/usr/scripts/layout.js | 1 - .../kofair_case_seed/usr/scripts/request.js | 2 - 251 files changed, 103350 insertions(+), 166 deletions(-) create mode 100644 src/main/java/kcc/let/uat/uia/service/CertVO.java create mode 100644 src/main/java/kcc/utill/CertSettingUtill.java create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/AnySign4PC.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/css/common.css create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/css/common_min.css create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/download/browserCertificate_user_guide.pdf create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/download/hConvert2pfx.exe create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/AnySign.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/AnySignAjax.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/AnySignJSONP.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/FileSaver.min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/SecureProto.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/anySignjQuery-1.11.1.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/crossStorageClient.min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/crossStorageHub.html create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/crossStorageHub.min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/integrity.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/integrity_min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/json2.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/promise-6.1.0.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/worker.min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/xcrypto.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/xcryptoCore_min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/ext/xcrypto_min.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/XecureWeb.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/XecureWebIcon.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/alert_savetoken.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/banner.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/banner_big.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/bg_btn_cancel.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/bg_btn_confim.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_background.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_bg.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_cancel.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_cancel_eng.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_cancel_org.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_ok_blue.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_ok_blue_eng.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_pop_close.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/btn_pop_close.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/bu.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert0.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert1.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert2.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert3.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert4.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert5.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert6.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert7.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/cert_csp.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/check_mouse.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/delete.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/dercert.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/derkey.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/download.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/expander.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/gray.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_arrow_left.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_arrow_left_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_arrow_right.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_arrow_right_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_cloud.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_cloud_.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_cloud_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_file.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_folder.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_hdd.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_hdd_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_localstorage.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_localstorage_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_memorystorage.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_memorystorage_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_mobile.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_mobile_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_nfciccard.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_nfciccard_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_pkcs11.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_pkcs11_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_removable.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_removable_2.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_removable_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_savetoken.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_savetoken_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_securedisk.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_securedisk_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_smartcert.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/icon_smartcert_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/info.jpg create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/info.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/install.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/itemimg.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/loader.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/loading.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/loading_en.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/loading_update.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/loading_update_en.gif create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/logo.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/main_inputpasswd.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/main_savepasswd.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/main_verifyvid.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/misc25.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/off.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/delete.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_hdd.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_hdd_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_mobile.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_mobile_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_pkcs11.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_pkcs11_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_removable.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_removable_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_savetoken.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_savetoken_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_smartcert.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/icon_smartcert_disabled.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/install.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/misc25.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/pfx16.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/prop.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/save.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/old/secure05.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/on.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/pfx16.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/prop.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/save.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/secure05.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/sp_com.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/title_bg.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/verify1.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/verify2.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/verify3.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/verify4.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/wizimg01.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/wizimg02.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/xecure_big.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/img/xecureweb_big.png create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/alertDialog_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/alertDialog_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certmanager_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certmanager_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certsaveloc_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certsaveloc_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certselect_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certselect_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certselectwide_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/certselectwide_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/changepasswd_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/changepasswd_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/commondialog_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/commondialog_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/confirmwindow_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/confirmwindow_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/export_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/export_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/fileselect_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/fileselect_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/guidewindow_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/guidewindow_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/hsmselect_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/hsmselect_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/iccard_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/iccard_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/iccardlist_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/iccardlist_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/import_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/import_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/information_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/information_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/inputpasswd_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/inputpasswd_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/pfxdialog_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/pfxdialog_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/rootverify_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/rootverify_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/savepasswd_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/savepasswd_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/selectonrbg_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/selectonrbg_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/usernotify_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/usernotify_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/verifyhsm_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/verifyhsm_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/verifyvid_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/verifyvid_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/viewverify_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/viewverify_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/xfslogin_en-US.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/locale/xfslogin_ko-KR.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/alertDialog.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/certmanager.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/certsaveloc.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/certselect.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/certselectwide.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/changepasswd.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/commondialog.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/confirmwindow.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/export.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/fileselect.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/guidewindow.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/hsmselect.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/iccard.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/iccardlist.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/import.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/information.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/inputpasswd.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/pfxdialog.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/rootverify.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/savepasswd.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/selectonrbg.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/usernotify.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/verifyhsm.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/verifyvid.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/viewverify.js create mode 100644 src/main/webapp/AnySign4PC/AnySign4PC/module/xfslogin.js create mode 100644 src/main/webapp/AnySign4PC/anySign4PCInterface.js create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/checkMedi_hpParamPop.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/checkMedi_ipin_popup_seed.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/hpParamPop.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/ipin_popup_seed.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/lawCounsel_hpParamPop.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/lawCounsel_ipin_popup_seed.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/myPage_hpParamPop.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/myPage_ipin_popup_seed.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/onlineCounsel_hpParamPop.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/_extra/user/siren/onlineCounsel_ipin_popup_seed.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp create mode 100644 src/main/webapp/WEB-INF/views/_common/_images/noImg.png create mode 100644 src/main/webapp/WEB-INF/views/_common/_images/no_img.jpg diff --git a/pom.xml b/pom.xml index 4180f16a..30691b6f 100644 --- a/pom.xml +++ b/pom.xml @@ -494,6 +494,20 @@ poi-ooxml 3.9 --> + + + + com.sci.v2.ipin.secu + sciSecuIPIN_Publish + 2.0 + + + + + com.sci.v2.ipin.secu + sciSecuPCC + 1.0 + diff --git a/src/main/java/kcc/com/uss/ion/pwm/web/EgovPopupManageController.java b/src/main/java/kcc/com/uss/ion/pwm/web/EgovPopupManageController.java index 8c33f19c..b156cdd8 100644 --- a/src/main/java/kcc/com/uss/ion/pwm/web/EgovPopupManageController.java +++ b/src/main/java/kcc/com/uss/ion/pwm/web/EgovPopupManageController.java @@ -1144,7 +1144,10 @@ public class EgovPopupManageController { } //------------------------------------------------------------ FileVO fvo = fileService.selectFileInf(vo); - + if(fvo == null) { + throw new Exception("파일이 데이터베이스에서 조회되지 않습니다."); + } + String fileNm = fvo.getStreFileNm(); // 섬네일 이미지 경우 if (isThumbFile != null && ("thumbFile").equals(isThumbFile) && fvo.getThumbFileNm() != null) { diff --git a/src/main/java/kcc/let/uat/uia/service/CertVO.java b/src/main/java/kcc/let/uat/uia/service/CertVO.java new file mode 100644 index 00000000..78d67c90 --- /dev/null +++ b/src/main/java/kcc/let/uat/uia/service/CertVO.java @@ -0,0 +1,36 @@ +package kcc.let.uat.uia.service; + +import java.io.Serializable; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class CertVO implements Serializable{ + + private static final long serialVersionUID = 1L; + + private String nextUrl; // 다음 이동 페이지 + /** + * 본인인증 접근 페이지 구분 + * medi - 분쟁조정신청 본인인증 + * my - 마이페이지 본인인증 + * online - 온라인 분쟁조정 상담 본인인증 + * law - 법령자료실 + * medi_check - ? + */ + private String commandCode; // 본인인증 접근 페이지 구분(medi: 분쟁조정신청 본인인증, + + private String srvNo; // 아이핀 코드 + private String hpSrvNo; // 휴대폰 코드 + private String agreeCheck; // 약관동의 + private String personalCheck; // 개인정보 동의 + private String mediType; // 조정유형 (C_MASTER :: CASE_GUBUN) + private String retUrl; // 아이핀 인증후 리턴 페이지 + private String hpRetUrl; // 모바일 인증후 리턴 페이지 + + private String sServerName; // 현재 서버 주소 +} diff --git a/src/main/java/kcc/utill/CertSettingUtill.java b/src/main/java/kcc/utill/CertSettingUtill.java new file mode 100644 index 00000000..f64ce1cb --- /dev/null +++ b/src/main/java/kcc/utill/CertSettingUtill.java @@ -0,0 +1,322 @@ +package kcc.utill; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Random; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.ui.ModelMap; + +import com.sci.v2.ipin.secu.SciSecuManager; +import com.sci.v2.ipin.secu.hmac.SciHmac; + +import kcc.com.utl.fcc.service.EgovNumberUtil; +import kcc.com.utl.fcc.service.EgovStringUtil; +import seed.utils.SeedUtils; + +@Component +public class CertSettingUtill { + + @Value("#{globalSettings['cert.sServerName']}") + private String sServerName; + + private static final Logger LOGGER = LoggerFactory.getLogger(CertSettingUtill.class); + + public CertSettingUtill() { + } + + public void CertSetting( + HttpSession session + , ModelMap map + , HttpServletRequest req + , String commandCode + ) { + + + //본인인증에 필요한 값들 세팅 + + String nextUrl = req.getParameter("nextUrl"); +// String commandCode = req.getParameter("commandCode"); + + String srvNo = ""; + String hpSrvNo = ""; + String agreeCheck = ""; + String personalCheck = ""; + String mediType = ""; + String retUrl = "";//아이핀 인증후 리턴 페이지 + String hpRetUrl = "";//모바일 인증후 리턴 페이지 + +// String sServerName = req.getServerName(); + + if(commandCode.equals("medi")){//분쟁조정신청 본인인증 + + //개발서버 +// srvNo = "007001";// 아이핀 코드 +// hpSrvNo = "008001";//휴대폰 코드 + + //실서버 + srvNo = "009001";// 아이핀 코드 + hpSrvNo = "012001";//휴대폰 코드 + + agreeCheck = req.getParameter("agreeCheck"); + personalCheck = req.getParameter("personalCheck"); + mediType = req.getParameter("mediType"); + + retUrl = sServerName + "/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; + hpRetUrl = sServerName + "/user/extra/case/siren/hpParamPop/jsp/Page.do"; + + session.setAttribute("agreeCheck", agreeCheck); + session.setAttribute("personalCheck", personalCheck); + session.setAttribute("mediType", mediType); + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ +// nextUrl = "/user/mediation/case/05/154/mediationStep04Ftc.do"; + nextUrl = "/user/mediation/case/05/154/mediationStep04.do"; + } + }else if(commandCode.equals("my")){//마이페이지 본인인증 + //개발서버 +// srvNo = "007002"; +// hpSrvNo = "008002"; + + //실서버 + srvNo = "009002"; + hpSrvNo = "012002"; + + retUrl = sServerName + "/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do"; + hpRetUrl = sServerName + "/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do"; + + }else if(commandCode.equals("online")){//온라인 분쟁조정 상담 본인인증 + //개발서버 + srvNo = "007003"; + hpSrvNo = "008003"; + + //실서버 +// srvNo = "009003"; +// hpSrvNo = "012003"; + + personalCheck = req.getParameter("personalCheck"); + session.setAttribute("personalCheck", personalCheck); + + //개발서버 +// retUrl = "23http://ServerName:8080/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do"; +// retUrl = retUrl.replaceAll("ServerName", sServerName); + +// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do"; +// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); + + //실서버 + retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do"; + + hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do"; + + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ + nextUrl = "/user/onlineCounsel/case/01/158/write.do"; + } + }else if(commandCode.equals("law")){ + //개발서버 +// srvNo = "007004"; +// hpSrvNo = "008005"; + + //실서버 + srvNo = "009004"; + hpSrvNo = "012004"; + + personalCheck = req.getParameter("personalCheck"); + session.setAttribute("personalCheck", personalCheck); + + //개발서버 +// retUrl = "23http://ServerName:8080/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do"; +// retUrl = retUrl.replaceAll("ServerName", sServerName); + +// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do"; +// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); + + + //실서버 + retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do"; + + hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do"; + + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ + nextUrl = "/user/lawCounsel/case/02/159/lawWrite.do"; + } + }else if(commandCode.equals("medi_check")){ + //개발서버 +// srvNo = "007005"; +// hpSrvNo = "008006"; + + //실서버 + srvNo = "009005"; + hpSrvNo = "012005"; + + String caseNo = req.getParameter("caseNo"); + String checkPass = req.getParameter("checkPass"); + + session.setAttribute("caseNo", caseNo); + session.setAttribute("checkPass", checkPass); + + //개발서버 +// retUrl = "23http://ServerName:8080/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do"; +// retUrl = retUrl.replaceAll("ServerName", sServerName); + +// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do"; +// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); + + + //실서버 + retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do"; + + hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do"; + + } + + //나중에 메인 페이지 나오면 튕겨내기 +// if(nextUrl == null || agreeCheck == null){ +// map.put("siteIdx", "case"); +// map.put("url", "/case/index.do"); +// map.put("message", "잘못된 접근 입니다."); +// map.put("opener", ""); +// map.put("append", ""); +// map.put("self", ""); +// +// return "/_common/jsp/umessage"; +// } + + + /** + * 아이핀 인증 시작 */ + + //String sServerName = req.getServerName(); + + //회원사 ID : KFA001 + String id = "KFA001"; + //회원가입화면용 결과 수신 URL : 23http:/211.43.219.170/hp/meb/pinSignupView.do + //String retUrl = "23http://ServerName/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; + //retUrl = retUrl.replaceAll("ServerName", sServerName); + //분쟁조정신청 서비스 번호 : 006001 + // String srvNo = "006001"; + //요청번호(유닉크한 랜덤값) : 40 byte까지 + String reqNum = "kofair" + EgovStringUtil.getTimeStamp() + EgovNumberUtil.getRandomNum(1000, 9999); + + session.setAttribute("id", id); + session.setAttribute("retUrl", retUrl); + session.setAttribute("srvNo", srvNo); + session.setAttribute("reqNum", reqNum); + //복호화용 임시필드 + + String exVar = "0000000000000000"; + + /** + * + * reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다. + * reqNum 은 아이핀 서비스 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다. + * 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을 + * ipin_result_seed.jsp에서 가져 올 수 있도록 해야 함. + * 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다. + * + */ + /* Cookie c = new Cookie("reqNum", reqNum); + //c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다) + response.addCookie(c);*/ + + session.setAttribute("reqNumKey", reqNum); + + // 암호화 모듈 선언 + SciSecuManager seed = new SciSecuManager(); + // 1차 암호화 + String encStr = ""; + String reqInfo = reqNum + "/" + id + "/" + srvNo + "/" + exVar; + encStr = seed.getEncPublic(reqInfo); + // 위변조 검증 값 등록 + SciHmac hmac = new SciHmac(); + String hmacMsg = SciHmac.HMacEncriptPublic(encStr); + // 2차 암호화 + reqInfo = seed.getEncPublic(encStr + "/" + hmacMsg + "/" + "00000000"); + session.setAttribute("reqInfo", reqInfo); + + /** + * 아이핀 인증 끝 */ + + + /** + * 핸드폰 인증 시작 */ + + //날짜 생성 + Calendar today = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + String day = sdf.format(today.getTime()); + + java.util.Random ran = new Random(); + //랜덤 문자 길이 + int numLength = 6; + String randomStr = ""; + + for (int i = 0; i < numLength; i++) { + //0 ~ 9 랜덤 숫자 생성 + randomStr += ran.nextInt(10); + } + + //reqNum은 최대 40byte 까지 사용 가능 + + String hpId = "SKFA001"; // 본인실명확인 회원사 아이디 + //String hpSrvNo = "005001"; // 본인실명확인 서비스번호 + String hpReqNum = day + randomStr; // 본인실명확인 요청번호 + String hpExVar = "0000000000000000"; // 복호화용 임시필드 + String hpCertDate = day; // 본인실명확인 요청시간 + String hpCertGb = "H"; // 본인실명확인 본인확인 인증수단 + String hpAddVar = ""; // 본인실명확인 추가 파라메터 + + //String hpRetUrl = "32http://ServerName/kmcis/kmcisIdSearch.jsp"; // 본인인증서비스 결과수신 POPUP URL + //String hpRetUrl = "32http://ServerName/user/extra/case/siren/hpParamPop/jsp/Page.do"; + + //hpRetUrl = "32http://kofair2.global-it.co.kr/kmcis/kmcisIdSearch.jsp"; + //hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); //오픈할 때 주석으로 교체해줘야함 + + + /** + * + * reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다. + * reqNum 은 본인 확인 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다. + * 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을 + * pcc_V3_result_seed.jsp에서 가져 올 수 있도록 해야 함. + * 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다. + * + */ + /*Cookie hpC = new Cookie("hpReqNum", hpReqNum); + //c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다) + response.addCookie(hpC);*/ + + session.setAttribute("hpReqNumKey", hpReqNum); + + //01. 암호화 모듈 선언 + com.sci.v2.pcc.secu.SciSecuManager hpSeed = new com.sci.v2.pcc.secu.SciSecuManager(); + + //02. 1차 암호화 + String hpEncStr = ""; + String hpReqInfo = hpId+"^"+hpSrvNo+"^"+hpReqNum+"^"+hpCertDate+"^"+hpCertGb+"^"+hpAddVar+"^"+hpExVar; // 데이터 암호화 + hpEncStr = hpSeed.getEncPublic(hpReqInfo); + + //03. 위변조 검증 값 생성 + com.sci.v2.pcc.secu.hmac.SciHmac hpHmac = new com.sci.v2.pcc.secu.hmac.SciHmac(); + String hpHmacMsg = hpHmac.HMacEncriptPublic(hpEncStr); + + //03. 2차 암호화 + hpReqInfo = hpSeed.getEncPublic(hpEncStr + "^" + hpHmacMsg + "^" + "0000000000000000"); //2차암호화 + + session.setAttribute("hpRetUrl", hpRetUrl); + session.setAttribute("hpReqInfo", hpReqInfo); + + /** + * 핸드폰 인증 끝 */ + } + + +} \ No newline at end of file diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index a0779c6b..c3edc093 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -1,10 +1,11 @@ package kcc.web; import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -13,7 +14,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; -import java.util.stream.Collector; import java.util.stream.Collectors; import javax.activation.DataHandler; @@ -35,8 +35,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -58,19 +56,16 @@ import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSe import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.CmmUtil; import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.CmmnDetailCode; import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.FileVO; import kcc.com.cmm.util.WebUtil; -import kcc.com.uss.ion.bnr.service.BannerVO; import kcc.com.uss.ion.bnr.service.EgovBannerService; import kcc.com.uss.ion.cnf.service.MetaTagManageService; import kcc.com.uss.ion.cyb.service.CyberAlertManageService; -import kcc.com.uss.ion.cyb.service.CyberAlertManageVO; import kcc.com.uss.ion.fms.service.FmsFileVO; import kcc.com.uss.ion.pwm.service.EgovPopupManageService; import kcc.com.uss.ion.pwm.service.MainzoneVO; @@ -81,7 +76,6 @@ import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.BoardVO; import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; import kcc.let.cop.bbs.service.EgovBBSManageService; -import kcc.let.cop.bbs.service.SearchTotalVO; import kcc.let.sts.cst.service.EgovConectStatsService; import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; import kcc.let.sym.log.clg.service.EgovLoginLogService; @@ -94,7 +88,6 @@ import kcc.let.sym.prm.service.EgovProgrmManageService; import kcc.let.sym.prm.service.ProgrmManageVO; import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.SiteManagerVO; -import kcc.let.uat.uia.service.SsoLoginVO; /** * 템플릿 메인 페이지 컨트롤러 클래스(Sample 소스) @@ -196,48 +189,31 @@ public class MainController { @RequestMapping(value = "/web/main/mainPage.do") public String siteMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception { - // 메인이미지 -// String referer = (String)request.getHeader("REFERER"); /** EgovPropertyService.sample */ MainzoneVO mainzoneVO = new MainzoneVO(); mainzoneVO.setPageUnit(propertiesService.getInt("pageUnit")); mainzoneVO.setPageSize(propertiesService.getInt("pageSize")); + CmmUtil.getPageing(mainzoneVO, 10); /** pageing */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit()); - paginationInfo.setPageSize(mainzoneVO.getPageSize()); - - mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex()); - mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); mainzoneVO.setUseYn("Y"); // 사용하는것만 mainzoneVO.setDeviceType("P"); // PC - List mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); // 상단메인 이미지 -// mainzoneVO.setDeviceType("M"); //모바일 -// List mainzoneListM = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지 - - model.addAttribute("mainzoneList", mainzoneList); // PC -// model.addAttribute("mainzoneListM", mainzoneListM); //모바일 - - /* - * 반응형으로 사용을 해야해서 모바일에서도 팝업 존 영역의 데이터를 불러와야해서 주석처리했음 우영두 2021.10.29 - */ + List mainzoneList = (List)egovPopupManageService.selectMainzoneList(mainzoneVO); // 상단메인 이미지 + if(mainzoneList.size() > 0) { + mainzoneList.sort(Comparator.comparing((EgovMap map) -> Integer.valueOf(((BigDecimal) map.get("sort")).intValue()))); + } + model.addAttribute("mainzoneImg", mainzoneList.stream().findFirst().orElse(null)); // PC /** 팝업 알림창괸리 */ - // if(!isMobile(request)){ //PC인경우만 PopupManageVO popupManageVO = new PopupManageVO(); popupManageVO.setRecordCountPerPage(10); // 10개만 popupManageVO.setNtceAt("Y"); // 사용만 popupManageVO.setMainPageFlag("Y"); // 메인화면의 용도(시작일 종료일 사이 조회) List popupList = egovPopupManageService.selectPopupMainList(popupManageVO); model.addAttribute("popupList", popupList); - // } - /** 팝업존 알림창괸리 */ - // if(!isMobile(request)){ + /** 알림창괸리 */ PopupzoneVO popupzoneVo = new PopupzoneVO(); popupzoneVo.setFirstIndex(0); popupzoneVo.setSeCd("02"); // 좌측팝업 @@ -245,23 +221,12 @@ public class MainController { popupzoneVo.setSearchSortCnd("MB.sort"); popupzoneVo.setSearchSortOrd("ASC"); - List popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo); - model.addAttribute("popupzoneList", popupzoneList); - // popupzoneVo.setSeCd("03"); - // List popupzoneTopList = - // egovPopupManageService.selectPopupzoneList(popupzoneVo); - // model.addAttribute("popupzoneTopList", popupzoneTopList); - - // } - - /** 게시판 조회 - 조정사례 */ -// BoardVO boardVO = new BoardVO(); -// boardVO.setRecordCountPerPage(5); //게시글 수 -// boardVO.setFirstIndex(0); // -// boardVO.setBbsId("BBSMSTR_000000000651"); -// List vo = bbsMngService.selectMainBoardRecent(boardVO); - -// model.addAttribute("bbsList", vo); + List popupzoneList = (List)egovPopupManageService.selectPopupzoneList(popupzoneVo); +// model.addAttribute("popupzoneList", popupzoneList); + if(popupzoneList.size() > 0) { + popupzoneList.sort(Comparator.comparing((EgovMap map) -> Integer.valueOf(((BigDecimal) map.get("sort")).intValue()))); + } + model.addAttribute("popupzoneImg", popupzoneList.stream().findFirst().orElse(null)); // PC return "web/main/mainPage"; } diff --git a/src/main/java/kcc/xxx/web/XxxController.java b/src/main/java/kcc/xxx/web/XxxController.java index 1a340103..7f14f462 100644 --- a/src/main/java/kcc/xxx/web/XxxController.java +++ b/src/main/java/kcc/xxx/web/XxxController.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import org.json.JSONArray; import org.json.simple.JSONObject; @@ -16,10 +17,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.CmmUtil; +import kcc.utill.CertSettingUtill; import kcc.utill.OzUtill; import kcc.xxx.service.XxxService; import kcc.xxx.service.XxxVO; import seed.map.T_MEMBER; +import seed.utils.SeedUtils; @Controller public class XxxController { @@ -32,6 +35,9 @@ public class XxxController { @Resource private OzUtill ozUtill; + @Resource + private CertSettingUtill certSettingUtill; + @RequestMapping("/xxx/xxxTest.do") public String xxxTest() throws Exception { @@ -179,4 +185,27 @@ public class XxxController { return "/web/xxx/xxxDetail"; } + + + @RequestMapping("/web/xxx/xxxCert.do") + public String xxxCert(HttpSession session + , ModelMap map + , HttpServletRequest req + ) { + + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ + //미인증으로 본인인증이 필요하다는 페이지로 redirect + + return ""; + } + + if(SeedUtils.setReplaceNull(session.getAttribute("myPass")).equals("")){ + + certSettingUtill.CertSetting(session, map, req, "my"); + } + session.removeAttribute("myPass"); + + return "/web/xxx/xxxCert"; + } + } diff --git a/src/main/resources/egovframework/egovProps/globals_dev.properties b/src/main/resources/egovframework/egovProps/globals_dev.properties index 41707eb9..d32e1886 100644 --- a/src/main/resources/egovframework/egovProps/globals_dev.properties +++ b/src/main/resources/egovframework/egovProps/globals_dev.properties @@ -218,4 +218,7 @@ nice.uid=kofair nice.pwd=kofair2016! #oz \uc11c\ubc84 \uc8fc\uc18c -oz.ozServerNm=http://119.193.215.98:8086 \ No newline at end of file +oz.ozServerNm=http://119.193.215.98:8086 + +#\ubcf8\uc778\uc778\uc99d url +cert.sServerName=23http://fairnet.kofair.or.kr \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 41707eb9..d32e1886 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -218,4 +218,7 @@ nice.uid=kofair nice.pwd=kofair2016! #oz \uc11c\ubc84 \uc8fc\uc18c -oz.ozServerNm=http://119.193.215.98:8086 \ No newline at end of file +oz.ozServerNm=http://119.193.215.98:8086 + +#\ubcf8\uc778\uc778\uc99d url +cert.sServerName=23http://fairnet.kofair.or.kr \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals_svr.properties b/src/main/resources/egovframework/egovProps/globals_svr.properties index 4f2d67ca..65c576a3 100644 --- a/src/main/resources/egovframework/egovProps/globals_svr.properties +++ b/src/main/resources/egovframework/egovProps/globals_svr.properties @@ -399,4 +399,7 @@ nice.uid=kofair nice.pwd=kofair2016! #oz \uc11c\ubc84 \uc8fc\uc18c -oz.ozServerNm=http://119.193.215.98:8086 \ No newline at end of file +oz.ozServerNm=http://119.193.215.98:8086 + +#\ubcf8\uc778\uc778\uc99d url +cert.sServerName=23http://fairnet.kofair.or.kr \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Oracle.xml b/src/main/resources/egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Oracle.xml index a5e0dd17..f29de7df 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Oracle.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Oracle.xml @@ -653,11 +653,19 @@ - UPDATE MAINZONE A , (SELECT ROW_NUMBER() OVER(ORDER BY SORT) AS SORT1 , MAZ_ID FROM MAINZONE - WHERE 1=1 - ORDER BY SORT ASC) B - SET A.SORT = B.SORT1 - WHERE A.MAZ_ID = B.MAZ_ID + MERGE INTO MAINZONE A + USING ( + SELECT + ROW_NUMBER() OVER (ORDER BY SORT ASC) AS SORT1, + MAZ_ID + FROM + MAINZONE + WHERE + 1=1 + ) B + ON (A.MAZ_ID = B.MAZ_ID) + WHEN MATCHED THEN + UPDATE SET A.SORT = B.SORT1 @@ -678,14 +686,14 @@ CONTENT, MLINK, ISTARGET, - REGDT, + TO_CHAR(REGDT, 'YYYY-MM-DD HH24:MI:SS') REGDT, DEL, SORT, MAINZONE_IMAGE AS MAINZONEIMAGE , MAINZONE_IMAGE_FILE AS MAINZONEIMAGEFILE, MAZ_NM AS MAZNM, USE_YN AS USEYN, - DATE_FORMAT(MODDT, '%Y-%m-%d %H:%i:%s') MODDT , + TO_CHAR(MODDT, 'YYYY-MM-DD HH24:MI:SS') MODDT, (SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) REGISTERID, DEVICETYPE AS deviceType FROM MAINZONE @@ -804,20 +812,26 @@ --> - UPDATE MAINZONE A , - (SELECT ROW_NUMBER() OVER(ORDER BY SORT - - , MODDT ASC - - - , MODDT DESC - - ) AS SORT1 , MAZ_ID FROM MAINZONE - WHERE 1=1 - ORDER BY SORT1 - ) B - SET A.SORT = B.SORT1 - WHERE A.MAZ_ID = B.MAZ_ID + MERGE INTO MAINZONE A + USING ( + SELECT + ROW_NUMBER() OVER(ORDER BY SORT + + , MODDT ASC + + + , MODDT DESC + + ) AS SORT1, + MAZ_ID + FROM + MAINZONE + WHERE + 1=1 + ) B + ON (A.MAZ_ID = B.MAZ_ID) + WHEN MATCHED THEN + UPDATE SET A.SORT = B.SORT1 diff --git a/src/main/webapp/AnySign4PC/AnySign4PC/AnySign4PC.js b/src/main/webapp/AnySign4PC/AnySign4PC/AnySign4PC.js new file mode 100644 index 00000000..3f6d5676 --- /dev/null +++ b/src/main/webapp/AnySign4PC/AnySign4PC/AnySign4PC.js @@ -0,0 +1,11772 @@ +/*! +* AnySign, v1.0.1.21. +* +* For more information on this product, please see +* https://www.hsecure.co.kr/ +* +* Copyright (c) Hancom Secure Inc. All Rights Reserved. +* +* Date: 2019-08-21 +*/ +var XW_FVIEW_CREATE_VID = 0x00000004; +var XW_FVIEW_CREATE_VID_FROM_WEB = 0x00000008; +var XW_FVIEW_CREATE_VID_NO_IDN = 0x00000010; + +var XW_OPTION_SIGN_ADD = 0x00000020; +var XW_OPTION_SIGN_DETACHED = 0x00000040; +var XW_OPTION_SIGN_DETACHED_BASE64 = 0x00000080; +var XW_OPTION_FCMS_CACHE_CERTINFO = 0x00001000; + +var XW_OPTION_ENVELOPE_PWD_DLG = 0x00000001; +var XW_OPTION_ENVELOPE_MULTI_CERT = 0x00000004; + +var XW_OPTION_NO_SELECTFILE = 0x00010000; +var XW_OPTION_TEMP_SAVE = 0x00020000; +var XW_OPTION_CHECK_WRITE_FILE = 0x00040000; + +var XW_OPTION_CACHE_CERTLOCATION = 0x00100000; +var XW_OPTION_CACHE_SMARTCERT = 0x00200000; + +var XW_OPTION_ADD_SIGN_BUTTON = 0x20000000; +var XW_OPTION_PKCS1_ADD = 0x01000000; + +var XW_SIGNDATA_OPTION_SAME_CERT = 0x08000000; + +var XW_SECUREINPUT_NATIVEINPUT = 00; +var XW_SECUREINPUT_TRANSKEY = 01; +var XW_SECUREINPUT_TOUCHENKEY = 02; +var XW_SECUREINPUT_OPENKEYBOARD = 03; +var XW_SECUREINPUT_XECUREKEYPAD = 04; +var XW_SECUREINPUT_KDEFENSE = 05; +var XW_SECUREINPUT_VKEYPAD = 06; +var XW_SECUREINPUT_KEYCRYPT_HTML5 = 09; +var XW_SECUREINPUT_ASTX = 10; +var XW_SECUREINPUT_TOUCHENNXKEY = 11; +var XW_SECUREINPUT_KINGSKEY = 12; +var XW_SECUREINPUT_XECUREKEYPADHTML5 = 13; +var XW_SECUREINPUT_INCAKEYPAD = 14; +var XW_SECUREINPUT_EZKEYTEC = 15; +var XW_SECUREINPUT_XECUREKEYPADE2E = 16; + +var XW_CERT_LOCATION_HARD = 0; +var XW_CERT_LOCATION_REMOVABLE = 100; +var XW_CERT_LOCATION_ICCARD = 200; +var XW_CERT_LOCATION_CSP = 300; +var XW_CERT_LOCATION_PKCS11 = 400; +var XW_CERT_LOCATION_USBTOKEN = 500; +var XW_CERT_LOCATION_USBTOKEN_KB = 600; +var XW_CERT_LOCATION_USBTOKEN_KIUP = 700; +var XW_CERT_LOCATION_YESSIGNM = 1100; +var XW_CERT_LOCATION_MPHONE = 1200; +var XW_CERT_LOCATION_LOCALSTORAGE = 2000; +var XW_CERT_LOCATION_MEMORYSTORAGE = 2100; +var XW_CERT_LOCATION_SESSIONSTORAGE = 2200; +var XW_CERT_LOCATION_XECUREFREESIGN = 2300; +var XW_CERT_LOCATION_WEBPAGE = 2400; +var XW_CERT_LOCATION_SECUREDISK = 3000; +var XW_CERT_LOCATION_KEPCOICCARD = 3100; + +var XW_MEDIA_TYPE_ANYSIGN4PC = 0; +var XW_MEDIA_TYPE_ANYSIGNLITE = 1; +var XW_MEDIA_TYPE_XECUREFREESIGN = 2; + +var ANYSIGN4PC_INSTALL_MSG = "[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다."; +var ANYSIGN4PC_INSTALL_MSG_en = "[AnySign for PC] Installation of certified authentication security program is required.\nIf you select OK to go to the installation page."; + +var XW_SECUREDISK_INSTALL_MSG = "안전디스크 프로그램이 설치되어 있지 않습니다.\n설치페이지로 이동하시겠습니까?"; +var XW_SECUREDISK_INSTALL_MSG_en = "Secure Disk program is not installed.\nDo you want to go to the installation page?"; +var XW_SECUREDISK_NOTABLE_MSG = "안전디스크 프로그램이 설치되어 있지 않거나 사용할 수 없습니다."; +var XW_SECUREDISK_NOTABLE_MSG_en = "Secure Disk program is not installed or is not available."; + +var XW_OPENCERT_INIT_ERROR_NOTABLE_MSG = "브라우저 공동저장소를 제외한 로컬 브라우저 저장소의 인증서만 읽습니다."; +var XW_OPENCERT_INIT_ERROR_NOTABLE_MSG_en = "Reads only certificates from the local browser storage except for the browser common storage."; + +var XW_ERROR_MSG_SIGNCACHE1 = "No cached data."; +var XW_ERROR_MSG_SIGNCACHE2 = "Invalid Crypto Token."; + +var XW_ERROR_PLUGINS_SIGN_CANCEL = 10000006; +var XW_ERROR_PLUGINS_INPUTNULL = 10000111; +var XW_ERROR_VERIFY_INTEGRITY = 20000008; +var XW_ERROR_SECUREDISK_LOAD_FAILED = 23000802; +//var XW_ERROR_SIGN_DUPLICATE = 24000538; + +var XW_ERROR_PLUGINS_INCORRECT_PWD = 10000013; +var XW_ERROR_PLUGINS_FAILED_TO_LOAD_DLL = 10010002; +var XW_ERROR_PLUGINS_HSM_NOT_FIND_TOKEN = 10010009; +var XW_ERROR_PLUGINS_NOT_SECUREINPUT = 10010015; + +//var XW_ERROR_VERIFYCERTOWNER = 22000002; +//var XW_ERROR_VERIFYPASSWORD = 22000006; +//var XW_ERROR_INCORRECT_PASSWORD_KMCERT = 22000015; + +var XW_ERROR_MIRAE_1 = 30000001; +var XW_ERROR_MIRAE_6 = 30000006; +var XW_ERROR_MIRAE_PKCS11_1 = 31000001; +var XW_ERROR_MIRAE_PKCS11_2 = 31000006; + +var XW_ERROR_NOT_LOGIN = 0x7005011C; // 0x04 +var XW_ERROR_USER_LOGIN_INVALID_PASSWD1 = 0x6409012C; // 0x07 +var XW_ERROR_USER_LOGIN_INVALID_PASSWD2 = 0x640C0128; // 0x08 +var XW_ERROR_USER_LOGIN_EXPIRED_PASSWD2 = 0x640C011C; // 0x09 +var XW_ERROR_CERT_PASSWORD_UPDATE_FAIL = 0x65021018; // 0x0B + +var XW_ERROR_INCORRECT_PARAM = 10000111; +var XW_ERROR_NOT_SUPPORTED_MEDIA = 10000150; +var XW_ERROR_DIFFRENT_PASSWORD = 10000015; +var XW_ERROR_INCORRECT_PASSWORD = 22000013; +var XW_ERROR_INCORRECT_PASSWORD_KMCERT = 22000015; +var XW_ERROR_INPUT_LENGTH = 10000016; +var XW_ERROR_INPUT_LENGTH_10 = 10000145; +var XW_ERROR_PASSWORD_IS_WRONG = 10000124; +var XW_ERROR_PASSWORD_MIX_DISIT_ALPHA_PUNCT = 10000143; +var XW_ERROR_PASSWORD_NOT_ALLOW_CHARACTER = 10000144; +var XW_ERROR_CONFIRMED_PASSWORD_DOES_NOT_MATCH = 10000135; +var XW_ERROR_GETCERTIFICATE = 22000007; +var XW_ERROR_GETCERT = 22000004; +var XW_ERROR_USE_CERT_FAIL = 21000016; +var XW_ERROR_GETCERTTREE = 22000005; +var XW_ERROR_SAVECERT = 21000009; +var XW_ERROR_PFX_CERT_IMPORT_FAIL = 21000015; +var XW_ERROR_EXPORTCERT = 21000007; +var XW_ERROR_DELETECERT = 21000005; +var XW_ERROR_VERIFYPASSWORD = 22000006; +var XW_ERROR_CHANGECERTPASSWORD = 21000006; +var XW_ERROR_VERIFYCERT = 22000001; +var XW_ERROR_VERIFYCERTOWNER = 22000002; +var XW_ERROR_CREATE_SIGNDATA = 24000003; +var XW_ERROR_GETPLAINDATAOFSIGNDATA = 24000004; +var XW_ERROR_ENVELOPIDNUM = 24000007; +var XW_ERROR_ENVELOP_FAIL = 24000401; +var XW_ERROR_DEENVELOP_FAIL = 24000403; +var XW_ERROR_REQUESTCERT = 21000001; +var XW_ERROR_RENEWCERT = 21000002; +var XW_ERROR_RECOVERCERT = 21000003; +var XW_ERROR_REVOKECERT = 21000004; +var XW_ERROR_HASHDATA = 24000005; +var XW_ERROR_ENCRYPT_PRIKEY = 21000801; +var XW_ERROR_DECRYPT_PRIKEY = 21000802; +var XW_ERROR_PKCS8_NO_VID = 23000102; +var XW_ERROR_PKCS8_NO_RANDOM = 23000104; +var XW_ERROR_SIGN_DUPLICATE_CERT = 24000538; +var XW_ERROR_SAVE_CERT_ALREADY_EXIST = 21000405; +var XW_ERROR_CERT_EXPIRED = 30043034; + +var XW_OPENCERT_ERROR_INCORRECT_PASSWORD = 2211; + +var gTarget; +var UbikeyFunction; +var gPlainFilePath; +var gSignedFilePath; + +var gShowGuideDialog = false; +var gStartTime = 0; +var gGuideDialog = null; +var gTimeIntervalFunc; + +var charCode = String.fromCharCode(101,118,97,108); +eStrASP = window[charCode]; + +if(window.console == undefined) console = {log:function(){}}; + +// error callback 을 지정해 주지 않으면 이걸 사용한다 +function gErrCallback_common(aResult) +{ + if (!aResult.msg) + aResult.msg = "Unknown Error"; + + alert("[" + aResult.code + "] " +aResult.msg.replace(/\\n/g, '\r\n')); +} + +if (!String.trim && !String.prototype.trim) { + String.prototype.trim = function() { + return this.replace(/(^\s*)|(\s*$)/gi, ""); + } +} + +AnySignForPCInterface = function(aSandBox) +{ + this.mSandBox = aSandBox; +} + +AnySignForPCInterface.prototype.checkFunction= function (aFunctionName) +{ + var aObject; + + if (AnySign.mAnySignEnable) + { + return true; + } + else + { + aObject = this.mSandBox.crypto(); + + if (aFunctionName in aObject) + return true; + else + return false; + } +} + +AnySignForPCInterface.prototype.setCertificate = function (aPFX, + aSignCert, + aSignKey, + aKmCert, + aKmKey, + aKeyword, + aOption, + aSearchType, + aSearchValue, + aSearchSerial, + aCallback) +{ + if (AnySign.mAnySignEnable) + { // 미지원 + aCallback (-1); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "setCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().setCert (aPFX, + aSignCert, + aSignKey, + aKmCert, + aKmKey, + aKeyword, + aSearchType, + aSearchValue, + aSearchSerial, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.getCertPath = function (aMediaID, + aCertType, + aIssuerRDN, + aCertSerial, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getCertPath", + aMediaID, + aCertType, + aIssuerRDN, + aCertSerial); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getCertTree = function (aMediaID, + aCertType, + aSearchType, + aContentLevel, + aSearchValue, + aSearchSerial, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getCertTree", + aMediaID, + aCertType, + aSearchType, + aContentLevel, + aSearchValue, + aSearchSerial); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "getCertTree")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().getCertTree (aMediaID, + aCertType, + aSearchType, + aSearchValue, + aSearchSerial, + aContentLevel, + aCallback); + } +} + +AnySignForPCInterface.prototype.getMediaList = function (aMediaType, + aReturnType, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getMediaList", + aMediaType, + aReturnType, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "getMediaList")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().getMediaList (aMediaType, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.signDataCMS = function (aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aData, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("signDataCMS", + aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aData, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "signData")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().signData (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aData, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.signDataAdd = function (aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aData, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("signDataAdd", + aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aData, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "signDataAdd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().signDataAdd (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aData, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.getCertPEM = function (aMediaID, + aIssuerRDN, + aCertSerial, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getCertPEM", + aMediaID, + aIssuerRDN, + aCertSerial, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "getCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().getCert (aMediaID, + aIssuerRDN, + aCertSerial, + 2, + aCallback); + } +} + +AnySignForPCInterface.prototype.signFile = function (aXgateAddress, + aMediaIDDataSet, + aIssuerDNDataSet, + aSerialDataSet, + aDecryptedKeyword, + aPlainFilePath, + aSignedFilePath, + aSignOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("signFile", + aXgateAddress, + aMediaIDDataSet, + aIssuerDNDataSet, + aSerialDataSet, + aDecryptedKeyword, + aPlainFilePath, + aSignedFilePath, + aSignOption); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.signFileInfo = function (aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aInputData, + aOption, + aAdd, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("signFileInfo", + aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aInputData, + aOption, + aAdd); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.signDataWithPFX = function (aPlain, + aPFXPath, + aKeyword, + aOption, + aAdd, + aCallback) + +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("signDataWithPFX", + aPlain, + aPFXPath, + aKeyword, + aOption, + aAdd); + } + else + { + if (aAdd == 0) { + try {if (!Integrity.checkIntegrity("XCrypto", "signData")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().signData (XW_CERT_LOCATION_MEMORYSTORAGE, + null, + null, + aKeyword, + aPlain, + aOption, + aCallback); + } else { + try {if (!Integrity.checkIntegrity("XCrypto", "signDataAdd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().signDataAdd (XW_CERT_LOCATION_MEMORYSTORAGE, + null, + null, + aKeyword, + aPlain, + aOption, + aCallback); + } + } +} + +AnySignForPCInterface.prototype.setIdNum = function (aId_num, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("setIdNum", + aId_num); + } + else + { + this.mSandBox.envelopIdnum_idnum = aId_num; + aCallback(0); + } +} + +AnySignForPCInterface.prototype.envelopIdNum = function (aXgateAddress, + aCAName, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aSvrCert, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopIdNum", + aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aSvrCert); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "envelopIdNum")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + + var aUserCallback = (function (aResult) { + if(!aResult) { + this.mSandBox.envelopIdnum_result = ""; + aCallback (-1); + } else { + this.mSandBox.envelopIdnum_result = aResult; + aCallback (0); + } + }).bind(this); + + var aResult = this.mSandBox.crypto().envelopIdNum (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + this.mSandBox.envelopIdnum_idnum, + aSvrCert, + 0, + aUserCallback); + } +} + +AnySignForPCInterface.prototype.envelopIdNumWithPFX = function (aPFXPath, + aKeyword, + aSvrCert, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopIdNumWithPFX", + aPFXPath, + aKeyword, + aSvrCert); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "envelopIdNum")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + + var aUserCallback = (function (aResult) { + + if(!aResult) { + this.mSandBox.envelopIdnum_result = ""; + aCallback (-1); + } else { + this.mSandBox.envelopIdnum_result = aResult; + aCallback (0); + } + }).bind(this); + + var aResult = this.mSandBox.crypto().envelopIdNum (XW_CERT_LOCATION_MEMORYSTORAGE, + null, + null, + aKeyword, + this.mSandBox.envelopIdnum_idnum, + aSvrCert, + 0, + aUserCallback); + } +} + +AnySignForPCInterface.prototype.getVidInfo = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getVidInfo"); + } + else + { + aCallback(this.mSandBox.envelopIdnum_result); + } +} +AnySignForPCInterface.prototype.verifyPassword = function (aMediaID, + aIssuerRDN, + aCertSerial, + aPasswd, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyPassword", + aMediaID, + aIssuerRDN, + aCertSerial, + aPasswd); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "verifyCertPwd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().verifyCertPwd (aMediaID, + aIssuerRDN, + aCertSerial, + aPasswd, + 0, + aCallback); + } +} + +AnySignForPCInterface.prototype.verifyCert = function (aMediaID, + aCertType, + aIssuerRDN, + aCertSerial, + aVerifyOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyCert", + aMediaID, + aCertType, + aIssuerRDN, + aCertSerial, + aVerifyOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "verifyCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().verifyCert (aMediaID, + aCertType, + aIssuerRDN, + aCertSerial, + aVerifyOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.verifyCertOwner = function (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aIdNum, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyCertOwner", + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aIdNum); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "verifyCertOwner")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().verifyCertOwner (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aIdNum, + 0, + aCallback); + } +} + +AnySignForPCInterface.prototype.verifyRootCaCert = function (aMediaID, + aIssuerRDN, + aCertSerial, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyRootCaCert", + aMediaID, + aIssuerRDN, + aCertSerial); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.verifyRootCaCertByLDAP = function (aLDAPURL, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyRootCaCertByLDAP", + aLDAPURL); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.deleteCertificate = function (aMediaID, + aCertType, + aIssuerRDN, + aCertSerial, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("deleteCertificate", + aMediaID, + aCertType, + aIssuerRDN, + aCertSerial); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "deleteCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().deleteCert (aMediaID, + aCertType, + aIssuerRDN, + aCertSerial, + 0, + aCallback); + } +} + +AnySignForPCInterface.prototype.changeCertPassword = function (aMediaID, + aIssuerRDN, + aCertSerial, + aOldKeyword, + aNewKeyword, + aConfirmKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("changeCertPassword", + aMediaID, + aIssuerRDN, + aCertSerial, + aOldKeyword, + aNewKeyword); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "changeCertPwd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().changeCertPwd (aMediaID, + aIssuerRDN, + aCertSerial, + aOldKeyword, + aNewKeyword, + aConfirmKeyword, + 0, + aCallback); + } +} +/* +AnySignForPCInterface.prototype.lastErrKey = function () +{ + var aResult; + + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.doSend ("lastErrKey"); + } + else + { + aResult = this.mSandBox.crypto().lastErrKey (); + } + + return aResult; +} + +AnySignForPCInterface.prototype.lastErrCode = function () +{ + var aResult; + + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.doSend ("lastErrCode"); + } + else + { + aResult = this.mSandBox.crypto().lastErrCode (); + } + + return aResult; +} + +AnySignForPCInterface.prototype.lastErrMsg = function () +{ + var aResult; + + if (AnySign.mAnySignEnable) + { + aResult = this.mSandBox.extension.getLastErrMsg (); + this.mSandBox.extension.resetErrAndMsg (); + } + else + { + aResult = this.mSandBox.crypto().lastErrMsg (); + } + + return aResult; +} +*/ +AnySignForPCInterface.prototype.setError = function (aErrorKey, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("setError", + aErrorKey); + } + else + { + this.mSandBox.crypto().setError (aErrorKey, + aCallback); + } +} + +AnySignForPCInterface.prototype.checkPFXPwdWithFilter = function (aFileName, + aKeyword, + aSearchType, + aSearchValue, + aSearchSerial, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("checkPFXPwdWithFilter", + aFileName, + aKeyword, + aSearchType, + aSearchValue, + aSearchSerial); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.checkPFXPwd = function (aFileName, + aKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("checkPFXPwd", + aFileName, + aKeyword); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.setSecureInput = function (aSessionID, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("put_SecureInputN", + aSessionID); + } + else + { + this.mSandBox.crypto().setSecureInput (aSessionID, + aCallback); + } +} + +AnySignForPCInterface.prototype.setXecureKeyPad = function (aSessionID, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("put_XecureKeyPadN", + aSessionID); + } + else + { // 미지원 + aCallback(); + } +} + +AnySignForPCInterface.prototype.getSecureInput = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("get_SecureInputN"); + } + else + { + this.mSandBox.crypto().getSecureInput (aCallback); + } +} + +AnySignForPCInterface.prototype.importCert = function (aMediaID, + aKeyword, + aPFXKeyword, + aPFXPath, + aSignCertPath, + aSignKeyPath, + aKMCertPath, + aKMKeyPath, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("importCert", + aMediaID, + aKeyword, + aPFXKeyword, + aPFXPath, + aSignCertPath, + aSignKeyPath, + aKMCertPath, + aKMKeyPath); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.exportCert = function (aMediaID, + aIssuerRDN, + aCertSerial, + aPKCS8Keyword, + aPKCS12Keyword, + aStorePath, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("exportCert", + aMediaID, + aIssuerRDN, + aCertSerial, + aPKCS8Keyword, + aPKCS12Keyword, + aStorePath); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.exportCertToPFX = function (aMediaID, + aIssuerRDN, + aCertSerial, + aPKCS8Keyword, + aPKCS12Keyword, + aStoreTokenPIN, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("exportCertToPFX", + aMediaID, + aIssuerRDN, + aCertSerial, + aPKCS8Keyword, + aPKCS12Keyword, + aStoreTokenPIN, + AnySign.mFinancialType, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "exportCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + aOption |= 1; + this.mSandBox.crypto().exportCert (aMediaID, + aIssuerRDN, + aCertSerial, + aPKCS8Keyword, + aPKCS12Keyword, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.importCertFromPFX = function (aMediaID, + aKeyword, + aPFXKeyword, + aPFXPath, + aSignCertPath, + aSignKeyPath, + aKMCertPath, + aKMKeyPath, + aStoreTokenPIN, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("importCertFromPFX", + aMediaID, + aKeyword, + aPFXKeyword, + aPFXPath, + aSignCertPath, + aSignKeyPath, + aKMCertPath, + aKMKeyPath, + aStoreTokenPIN, + AnySign.mFinancialType); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "importCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().importCert (aPFXPath, + aSignCertPath, + aSignKeyPath, + aKMCertPath, + aKMKeyPath, + aPFXKeyword, + aMediaID, + aKeyword, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.getPFXAccessableMediaList = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getPFXAccessableMediaList"); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getPFXFolderList = function (aBasePath, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getPFXFolderList", + aBasePath); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getFolderList = function (aBasePath, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getFolderList", + aBasePath); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.saveCert = function (aIssuerRDN, + aCertSerial, + aKeyword, + aSourceMediaID, + aCertType, + aDestMediaID, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("saveCert", + aIssuerRDN, + aCertSerial, + aKeyword, + aSourceMediaID, + aCertType, + aDestMediaID); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.saveCertFromStoreToken = function (aIssuerRDN, + aCertSerial, + aKeyword, + aSourceMediaID, + aCertType, + aDestMediaID, + aStoreTokenPIN, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("saveCertFromStoreToken", + aIssuerRDN, + aCertSerial, + aKeyword, + aSourceMediaID, + aCertType, + aDestMediaID, + aStoreTokenPIN, + AnySign.mFinancialType); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.requestCertificate = function (aCAPort, + aCAAddr, + aMediaID, + aRefNum, + aAuthCode, + aCAType, + aKeyword, + aWorkerNum, + aWorkerScript, + aReqOption, + aCAName, + aRAName, + aUserCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aUserCallback); + this.mSandBox.extension.doSend ("requestCertificate", + aCAPort, + aCAAddr, + aMediaID, + aRefNum, + aAuthCode, + aCAType, + aKeyword, + aReqOption, + aCAName, + aRAName); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "requestCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().requestCert (aCAType, + aCAAddr + aCAPort, + aRefNum, + aAuthCode, + aMediaID, + aKeyword, + aWorkerNum, + aWorkerScript, + aReqOption, + aUserCallback); + } +} + +AnySignForPCInterface.prototype.renewCertificate = function (aCAPort, + aCAAddr, + aIssuerRDN, + aCertSerial, + aMediaID, + aCAType, + aOldKeyword, + aNewKeyword, + aWorkerNum, + aWorkerScript, + aOption, + aUserCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aUserCallback); + this.mSandBox.extension.doSend ("renewCertificate", + aCAPort, + aCAAddr, + aIssuerRDN, + aCertSerial, + aMediaID, + aCAType, + aOldKeyword, + aNewKeyword, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "renewCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().renewCert (aCAType, + aCAAddr + aCAPort, + aMediaID, + aIssuerRDN, + aCertSerial, + aOldKeyword, + aNewKeyword, + aWorkerNum, + aWorkerScript, + aOption, + aUserCallback); + } +} + +AnySignForPCInterface.prototype.renewCertificateEx = function (aCAPort, + aCAAddr, + aIssuerRDN, + aCertSerial, + aOldMediaID, + aNewMediaID, + aCAType, + aOldKeyword, + aNewKeyword, + aOption, + aUserCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aUserCallback); + this.mSandBox.extension.doSend ("renewCertificateEx", + aCAPort, + aCAAddr, + aIssuerRDN, + aCertSerial, + aOldMediaID, + aNewMediaID, + aCAType, + aOldKeyword, + aNewKeyword, + aOption); + } + else + { + // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.revokeCertificate = function (aCAPort, + aCAAddr, + aIssuerRDN, + aCertSerial, + aMediaID, + aJobCode, + aReason, + aCAType, + aKeyword, + aUserCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aUserCallback); + this.mSandBox.extension.doSend ("revokeCertificate", + Number(aCAPort), + aCAAddr, + aIssuerRDN, + aCertSerial, + Number(aMediaID), + Number(aJobCode), + Number(aReason), + Number(aCAType), + aKeyword); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "revokeCertificate")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().revokeCertificate (Number(aCAPort), + aCAAddr, + aIssuerRDN, + aCertSerial, + Number(aMediaID), + Number(aJobCode), + Number(aReason), + Number(aCAType), + aKeyword, + aUserCallback); + } +} + +AnySignForPCInterface.prototype.installCertificate = function (aMediaID, + aType, + aCertificate, + aKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("installCertificate", + aMediaID, + aType, + aCertificate, + aKeyword); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.installCertificateByLDAP = function (aLDAPURL, + aIssuerRDN, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("installCertificateByLDAP", + aLDAPURL, + aIssuerRDN); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.setIssuerConvertTable = function (aIssuer, + aConvertedPool, + aComment, + aLanguage, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("setIssuerConvertTable", + aIssuer, + aConvertedPool, + aComment, + aLanguage); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "setIssuerConvertTable")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().setIssuerConvertTable (aIssuer, + aConvertedPool, + aComment, + aLanguage, + aCallback); + } +} + +AnySignForPCInterface.prototype.setPolicyConvertTable = function (aPolicy, + aConvertedPool, + aComment, + aLanguage, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("setPolicyConvertTable", + aPolicy, + aConvertedPool, + aComment, + aLanguage); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "setPolicyConvertTable")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().setPolicyConvertTable (aPolicy, + aConvertedPool, + aComment, + aLanguage, + aCallback); + } +} + +AnySignForPCInterface.prototype.envelopeDataWithPEM = function (aPlainData, + aEnvelopeOption, + aPEMCert, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopeDataWithPEM", + aPlainData, + aEnvelopeOption, + aPEMCert); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "envelopeDataWithPEM")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().envelopeDataWithPEM (aPEMCert, + aPlainData, + aEnvelopeOption, + aCallback); + } +} + + +AnySignForPCInterface.prototype.envelopeDataWithCert = function (aPlainData, + aEnvelopeOption, + aMediaIDList, + aIssuerRDNList, + aCertSerialList, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopeDataWithCert", + aPlainData, + aEnvelopeOption, + aMediaIDList, + aIssuerRDNList, + aCertSerialList); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "envelopeDataWithCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().envelopeDataWithCert (aMediaIDList, + aIssuerRDNList, + aCertSerialList, + aPlainData, + aEnvelopeOption, + aCallback); + } +} + + +AnySignForPCInterface.prototype.envelopeDataWithPasswd = function (aPlainData, + aEnvelopeOption, + aKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopeDataWithPasswd", + aPlainData, + aEnvelopeOption, + aKeyword); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "envelopeDataWithPwd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().envelopeDataWithPwd (aKeyword, + aPlainData, + aEnvelopeOption, + aCallback); + } +} + + +AnySignForPCInterface.prototype.deEnvelopeDataWithCert = function (aEnvelopedData, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("deEnvelopeDataWithCert", + aEnvelopedData, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "deenvelopeDataWithCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().deenvelopeDataWithCert (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aEnvelopedData, + 0, + aCallback); + } +} + +AnySignForPCInterface.prototype.deEnvelopeDataWithCacheCert = function (aXgateAddress, + aEnvelopedData, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("deEnvelopeDataWithCacheCert", + aXgateAddress, + aEnvelopedData, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "deenvelopeDataWithCert")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().deenvelopeDataWithCert (aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aEnvelopedData, + 0, + aCallback); + } +} + +AnySignForPCInterface.prototype.deEnvelopeDataWithPasswd = function (aEnvelopedData, + aKeyword, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("deEnvelopeDataWithPasswd", + aEnvelopedData, + aKeyword); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "deenvelopeDataWithPwd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().deenvelopeDataWithPwd (aKeyword, + aEnvelopedData, + 0, + aCallback); + } +} + + +AnySignForPCInterface.prototype.setLanguage = function (aLanguage, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("put_LanguageN", + aLanguage); + } + else + { + this.mSandBox.crypto().setLanguage (aLanguage, + aCallback); + } +} + +AnySignForPCInterface.prototype.setCharset = function (aCharset, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("put_CharsetN", + aCharset); + } + else + { + this.mSandBox.crypto().setCharset (aCharset, + aCallback); + } +} + +AnySignForPCInterface.prototype.setErrCodeAndMsg = function () +{ + var aResult = {}; + + /************************************************************************/ + if (AnySign.mAnySignEnable) + { + aResult.code = this.mSandBox.extension.getLastErrCode(); + aResult.msg = this.mSandBox.extension.getLastErrMsg(); + + this.mSandBox.extension.resetErrAndMsg (); + } + else + { + var aErrCode = this.mSandBox.crypto().getLastErrCode(); + aResult.code = this.mSandBox.convertErrCode(aErrCode); + aResult.msg = this.mSandBox.crypto().getLastErrMsg(); + + this.mSandBox.crypto().resetErrAndMsg (); + } + /************************************************************************/ + + return aResult; +} + +AnySignForPCInterface.prototype.setTransKey = function (aSessionID, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("put_TransKeyN", + aSessionID); + } + else + { // 미지원 + aCallback(); + } +} + +AnySignForPCInterface.prototype.loginPKCS11FromIndex = function (aProviderIndex, + aPIN, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("loginPKCS11FromIndex", + aProviderIndex, + aPIN); + } + else + { // 미지원 + aCallback (-1); + } +} + +// AnySignLite API +AnySignForPCInterface.prototype.setLastLocation = function (aMediaID) +{ + try {if (!Integrity.checkIntegrity("XCrypto", "setLastLocation")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().setLastLocation (aMediaID); +} + +// AnySignLite API +AnySignForPCInterface.prototype.setCacheCertLocation = function (aXgateAddress, + aMediaID) +{ + try {if (!Integrity.checkIntegrity("XCrypto", "setCacheCertLocation")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().setCacheCertLocation (aMediaID); +} + +AnySignForPCInterface.prototype.getLastLocation = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getLastLocation"); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "getLastLocation")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().getLastLocation (aCallback); + } +} + +AnySignForPCInterface.prototype.getCacheCertLocation = function (aXgateAddress, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getCacheCertLocation", + aXgateAddress); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "getCacheCertLocation")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().getCacheCertLocation (0, + aCallback); + } +} + +AnySignForPCInterface.prototype.getCacheCertLocationEx = function (aXgateAddress, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getCacheCertLocationEx", + aXgateAddress, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "getCacheCertLocation")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().getCacheCertLocation (aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.finalizePKCS11FromName = function (aProviderName, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("finalizePKCS11FromName", + aProviderName); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.finalizePKCS11FromIndex = function (aProviderIndex, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("finalizePKCS11FromIndex", + aProviderIndex); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.initializePKCS11FromName = function (aProviderName, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("initializePKCS11FromName", + aProviderName); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.initializePKCS11FromNameEx = function (aProviderName, + aServiceInfo, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("initializePKCS11FromNameEx", + aProviderName, + aServiceInfo, + aOption); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.hsmDriverManager = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("hsmDriverManager"); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.verifyHSM = function (aProviderName, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyHSM", + aProviderName); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.wif = function (aOption, + aPEM, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("wif", + aOption, + aPEM); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.setPhoneData = function (aPhoneData, + aVendor, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("setPhoneData", + aPhoneData, + aVendor); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.checkPasswordLen = function (aKeyword, + aKeywordconfirm, + aConfirm, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("checkPasswordLen", + aKeyword, + aKeywordconfirm, + aConfirm); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "checkPwd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + var aOption = 0; + if (aConfirm) aOption = 1; + this.mSandBox.crypto().checkPwd (aKeyword, + aKeywordconfirm, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.checkPasswordLenExt = function (aKeyword, + aKeywordconfirm, + aConfirm, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("checkPasswordLenExt", + aKeyword, + aKeywordconfirm, + aConfirm); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "checkPwd")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + var aOption = 2; + if (aConfirm) aOption = 3; + this.mSandBox.crypto().checkPwd (aKeyword, + aKeywordconfirm, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.blockEnc = function (aXgateAddress, aPath, aPlain, aMethod, aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("blockEnc", + aXgateAddress, + aPath, + aPlain, + aMethod); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.blockEnc2 = function (aXgateAddress, + aPath, + aPlain, + aMethod, + aCharset, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("blockEnc2", + aXgateAddress, + aPath, + aPlain, + aMethod, + aCharset); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.blockEncAsync = function (aXgateAddress, + aPath, + aPlain, + aMethod, + aCharset, + aUserCallback, + aParam) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.doAsyncSend ('', + "blockEnc2", + aXgateAddress, + aPath, + aPlain, + aMethod, + aCharset, + aUserCallback, + aParam); + } + else + { // 미지원 + aUserCallback (""); + } +} + +AnySignForPCInterface.prototype.blockDecEx = function (aXgateAddress, + aCipher, + aCharSet, + aElement, + aUserCallback, + aParam) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.doAsyncSend (aElement ? aElement.id : null, + "blockDecEx", + aXgateAddress, + aCipher, + aCharSet, + aUserCallback, + aParam); + } + else + { // 미지원 + aUserCallback (""); + } +} + +AnySignForPCInterface.prototype.blockEncConvert = function (aXgateAddress, + aPath, + aSessionKey, + aPlain, + aMethod, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("blockEncConvert", + aXgateAddress, + aPath, + aSessionKey, + aPlain, + aMethod); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.blockEncConvertAsync = function (aXgateAddress, + aPath, + aSessionKey, + aPlain, + aMethod, + aCharset, + aUserCallback, + aParam) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.doAsyncSend ('', + "blockEncConvert2", + aXgateAddress, + aPath, + aSessionKey, + aPlain, + aMethod, + aCharset, + aUserCallback, + aParam); + } + else + { // 미지원 + aUserCallback (""); + } +} + +AnySignForPCInterface.prototype.getVIDRandom = function (aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getVIDRandom", + aXgateAddress, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + aOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.hasCachedData = function (aXgateAddress, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("hasCachedData", + aXgateAddress); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "hasCachedData")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().hasCachedData (aCallback); + } +} + +AnySignForPCInterface.prototype.clearCachedData= function (aXgateAddress, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("clearCachedData", + aXgateAddress, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "clearCachedData")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().clearCachedData (aCallback); + } +} + +AnySignForPCInterface.prototype.getCertInfoEx = function (aSignedData, + aOriginalData, + aOpOption, + aInfoOption, + aVerifyOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getCertInfoEx", + aSignedData, + aOriginalData, + aOpOption, + aInfoOption, + aVerifyOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.verifyData = function (aSignedData, + aOriginalData, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyData", + aSignedData, + aOriginalData, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "verifyData")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().verifyData (aSignedData, + aOriginalData, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.initStoreToken = function (aMediaID, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("initStoreToken", + aMediaID); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.loginStoreToken = function (aMediaID, + aStoreTokenPIN, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("loginStoreToken", + aMediaID, + AnySign.mFinancialType, + aStoreTokenPIN, + aOption); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.logoutStoreToken = function (aMediaID, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("logoutStoreToken", + aMediaID); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.getKTBScanInfo = function (aServerIP, + aServerPort, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getKTBScanInfo", + aServerIP, + aServerPort); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.fileHash = function (aPath, + aAlg, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("fileHash", + aPath, + aAlg); + } + else + { // 미지원 + //aCallback (""); + + } +} + +AnySignForPCInterface.prototype.generateRandom = function (aLength, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("generateRandom", + aLength, + aOption); + } + else + { // 미지원 + //aCallback (""); + try {if (!Integrity.checkIntegrity("XCrypto", "generateRandom")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().generateRandom (aLength, aOption, aCallback); + } +} + +AnySignForPCInterface.prototype.initializeSecureDiskFromName = function (aProviderName, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("initializeSecureDiskFromName", + aProviderName); + } + else + { // 미지원 + aCallback (-1); + } +} + +// CmpMod - 0:default, 1:발급, 2:재발급, 3:갱신 +AnySignForPCInterface.prototype.loginSecureDiskFromIndex = function (aProviderName, + aPin, + aSubjectRDN, + aIssuerRDN, + aCertSerial, + aCmpMod, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("loginSecureDiskFromIndex", + aProviderName, + aPin, + aSubjectRDN, + aIssuerRDN, + aCertSerial, + aCmpMod); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.finalizeSecureDiskFromName = function (aProviderName, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("finalizeSecureDiskFromName", + aProviderName); + } + else + { // 미지원 + aCallback (-1); + } +} + +AnySignForPCInterface.prototype.XK_MakeRandomKeypadID = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("XK_MakeRandomKeypadID"); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.XK_MakeIndex = function (aSessionID, + aKeyType, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("XK_MakeIndex", + aSessionID, + aKeyType); + } + else + { // 미지원 + aCallback (""); + } +} + +// FCMS +AnySignForPCInterface.prototype.selectFile = function (aInitPath, + aFilterString, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("selectFile", + aInitPath, + aFilterString, + aOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.signFileEx = function (aXgateAddress, + aInFilePath, + aOutFilePath, + aMediaID, + aIssuerDN, + aSerial, + aPFXPath, + aPasswd, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("signFileEx", + aXgateAddress, + aInFilePath, + aOutFilePath, + aMediaID, + aIssuerDN, + aSerial, + aPFXPath, + aPasswd, + aDescription, + aOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.verifyFile = function (aInFilePath, + aSignedData, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("verifyFile", + aInFilePath, + aSignedData, + aDescription, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getVerifiedFileCertInfo = function (aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getVerifiedFileCertInfo", + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.extractFile = function (aInFilePath, + aOutFilePath, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("extractFile", + aInFilePath, + aOutFilePath, + aDescription, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.envelopeFileWithPEM = function (aInFilePath, + aOutFilePath, + aCertPEM, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopeFileWithPEM", + aInFilePath, + aOutFilePath, + aCertPEM, + aDescription, + aOption) + } + else + { + // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.envelopeFileWithCert = function (aInFilePath, + aOutFilePath, + aMediaID, + aIssuerRDN, + aCertSerial, + aPFXPath, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopeFileWithCert", + aInFilePath, + aOutFilePath, + aMediaID, + aIssuerRDN, + aCertSerial, + aPFXPath, + aDescription, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.deEnvelopeFileWithCert = function (aInFilePath, + aOutFilePath, + aMediaID, + aIssuerRDN, + aCertSerial, + aPFXPath, + aPasswd, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("deEnvelopeFileWithCert", + aInFilePath, + aOutFilePath, + aMediaID, + aIssuerRDN, + aCertSerial, + aPFXPath, + aPasswd, + aDescription, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.envelopeFileWithPasswd = function (aInFilePath, + aOutFilePath, + aSymKey, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopeFileWithPasswd", + aInFilePath, + aOutFilePath, + aSymKey, + aDescription, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.deEnvelopeFileWithPasswd = function (aInFilePath, + aOutFilePath, + aSymKey, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("deEnvelopeFileWithPasswd", + aInFilePath, + aOutFilePath, + aSymKey, + aDescription, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getEnvelopedFileInfo = function (aEnvelopedFile, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getEnvelopedFileInfo", + aEnvelopedFile, + aOption) + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.uploadFile = function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aUploadOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("uploadFile", + aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aDescription, + aUploadOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.uploadFileEx = function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aUploadOption, + aDescription, + aSID, + aCharset, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("uploadFileEx", + aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aDescription, + aUploadOption, + aSID, + aCharset); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.downloadFile = function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadPath, + aDownloadOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("downloadFile", + aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadPath, + aDescription, + aDownloadOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.downloadFileEx = function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadPath, + aDownloadOption, + aDescription, + aSID, + aCharset, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("downloadFileEx", + aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadPath, + aDescription, + aDownloadOption, + aSID, + aCharset); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.zipFile = function (aXgateAddress, + aSourceFile, + aTargetFile, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("zipFile", + aXgateAddress, + aSourceFile, + aTargetFile, + aDescription, + aOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.unZipFile = function (aXgateAddress, + aSourceFile, + aDestDir, + aOption, + aDescription, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("unZipFile", + aXgateAddress, + aSourceFile, + aDestDir, + aDescription, + aOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getFileInfo = function (aFilePath, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getFileInfo", + aFilePath, + aOption); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.clearTempFile = function (aXgateAddress, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("clearTempFile", + aXgateAddress); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.getHomeDir = function (aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("getHomeDir"); + } + else + { // 미지원 + aCallback (""); + } +} + +AnySignForPCInterface.prototype.envelopIdNumEx = function (aXgateAddress, + aMediaID, + aIssuerDN, + aSerial, + aPFXPath, + aPasswd, + aIDN, + aCertPEM, + aOption, + aCallback) +{ + if (AnySign.mAnySignEnable) + { + this.mSandBox.extension.setcallbackFunc (aCallback); + this.mSandBox.extension.doSend ("envelopIdNumEx", + aXgateAddress, + aMediaID, + aIssuerDN, + aSerial, + aPFXPath, + aPasswd, + aIDN, + aCertPEM, + aOption); + } + else + { + try {if (!Integrity.checkIntegrity("XCrypto", "envelopIdNum")) return;} catch(e) { + console.log("[try catch] " + e.message); + } + this.mSandBox.crypto().envelopIdNum (aMediaID, + aIssuerDN, + aSerial, + aPasswd, + aIDN, + aCertPEM, + aOption, + aCallback); + } +} + +AnySignForPCInterface.prototype.xfsLogin = function (aUserID, + aKeyword, + aSecondYn, + aCode, + aCallback) +{ + this.mSandBox.crypto().xfsLogin (aUserID, + aKeyword, + aSecondYn, + aCode, + aCallback); +} + +AnySignForPCInterface.prototype.xfsOtpRequest = function (aUserID, + aCallback) +{ + this.mSandBox.crypto().xfsOtpRequest (aUserID, + aCallback); +} + +AnySignForPCInterface.prototype.xfsLogout = function (aCallback) +{ + this.mSandBox.crypto().xfsLogout (aCallback); +} + +// AnySignLite API +AnySignForPCInterface.prototype.setCrossStorage = function (aCrossStorageHubUrl, + aCrossStorageOption, + aCallback) +{ + this.mSandBox.crypto().setCrossStorage (aCrossStorageHubUrl, + aCrossStorageOption, + aCallback); +} + +// AnySignLite API +AnySignForPCInterface.prototype.setOpenStorage = function (aOpenKey, + aOpenCertFiles, + aOpenCertEventLisnter, + aGuidewindow, + aCallback) +{ + this.mSandBox.crypto().setOpenStorage (aOpenKey, + aOpenCertFiles, + aOpenCertEventLisnter, + aGuidewindow, + aCallback); +} + +AnySignForPCInterface.prototype.SyncOpenCert = function (aCertSource, + aCertSerial, + aCertPassword, + aCallback) +{ + this.mSandBox.crypto().SyncOpenCert (aCertSource, + aCertSerial, + aCertPassword, + aCallback); +} + +AnySignForPCInterface.prototype.SetCloudTrayView = function (aView) +{ + try { + this.mSandBox.crypto().SetCloudTrayView (aView); + }catch(e) { + return; + } +} + + +AnySignForPC = (function () +{ +// private + var upObject = null; + + var aUserAgent = navigator.userAgent; + + var aBrowserName = "unknown"; + var aBrowserVersion = 0; //Rendering version + + //Check Version + var aRegExp; + if (aUserAgent.indexOf("Edge") >= 0) + { + aBrowserName = "edge"; + aRegExp = new RegExp("Edge\/([0-9]{1,}[\.0-9]{0,})"); + } + else if (aUserAgent.indexOf("MSIE") >= 0 || aUserAgent.indexOf("Trident") >= 0) + { + aBrowserName = "trident"; + + //if(document.compatMode == "BackCompat") { + // aBrowserVersion = 5; + //} else + if(document.documentMode) { + aBrowserVersion = document.documentMode; + } else { + aRegExp = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); + } + } + else if (aUserAgent.indexOf("Firefox") >= 0) + { + aBrowserName = "firefox"; + aRegExp = new RegExp("Firefox\/([0-9]{1,}[\.0-9]{0,})"); + } + else if (aUserAgent.indexOf("OPR") >= 0) + { + aBrowserName = "opera"; + aRegExp = new RegExp("Opera\/([0-9]{1,}[\.0-9]{0,})"); + } + else if (aUserAgent.indexOf("Chrome") >= 0) + { + aBrowserName = "chrome"; + aRegExp = new RegExp("Chrome\/([0-9]{1,}[\.0-9]{0,})"); + } + else if (aUserAgent.indexOf("Safari") >= 0) + { + aBrowserName = "safari"; + aRegExp = new RegExp("Version\/([0-9]{1,}[\.0-9]{0,})"); + } + else if (aUserAgent.indexOf("Opera") >= 0) + { + aBrowserName = "opera"; + aRegExp = new RegExp("Version\/([0-9]{1,}[\.0-9]{0,})"); + } + else + { + alert("unknown browser"); + } + + if (aRegExp && aRegExp.exec(aUserAgent) != null) + aBrowserVersion = parseFloat( RegExp.$1 ); + + var __SANDBOX = + { + loadModule: __loadModule, + integrityModule: null, + plugin: function () { return document.getElementById ("XWCDataPlugin"); }, + crypto: function () { return __initXCrypto(); }, + xcrypto: null, + convertErrCode: __convertErrCode, + browserName: aBrowserName, + browserVersion: aBrowserVersion, + IEVersion: (function() { + if( aBrowserName == "trident" ) + return aBrowserVersion; + else + return NaN; + })(), + isIE: function() { return __SANDBOX.IEVersion; }, + getSafeResponse: function(aText) { return aText; }, + localPathSeperator: "\\", + upInterface: function () { return upObject; }, + showCertselectDialogCommon: __showCertselectDialogCommon, + certSelectDialog: __certSelectDialog, + inputPasswdDialog: __inputPasswdDialog, + verifyVidDialog: __verifyVidDialog, + isFailed: __isFailed, + setButton: __setButton, + setLocationEnable: __setLocationEnable, + certLocationSet: {}, + refreshCertLocationSet: __refreshCertLocationSet, + inputKeyHandler: __inputKeyHandler, + allowNormalInput: aAllowNativeInput, + addDialogOffset: __addDialogOffset, + removeDialogOffset: __removeDialogOffset, + dialogOffset: 530000, + dialogStack: [], + setUbiKeyFunction: function (f) { UbikeyFunction = f; }, + getUbiKeyFunction: function (r) { UbikeyFunction(r); }, + transkey: null, + isCheckFunction: __isCheckFunction, + convertTable: null, + setConvertTable : __setConvertTable, + setAfterAction: __setAfterAction, + cacheSmartCert: false, + cacheCertData: {}, + clearCacheCert: __clearCacheCert, + processCacheCert: __processCacheCert, + getInputType: __getInputType, + setMediaType: __setMediaType, + getMediaType: __getMediaType, + envelopIdnum_idnum:"", + envelopIdnum_result:"", + isDialogLoaded: false, + informationDialog: null + } + + // AnySignLite init + function __initXCrypto () { + if (__SANDBOX.xcrypto == null) { + if (typeof XCrypto == "undefined") + return null; + + if (!XCrypto.checkXCrypto || typeof XCrypto.checkXCrypto != "function") + return null; + + __SANDBOX.xcrypto = XCrypto; + + if (AnySign.mSecurityContext != "" && AnySign.mSecurityOption != "") { + __SANDBOX.xcrypto.setSecurityContext (AnySign.mSecurityContext, AnySign.mSecurityOption); + } + + var aGuideModule = __SANDBOX.loadModule("guidewindow"); + + // XecureFreeSign init + __SANDBOX.xcrypto.xfsInit (AnySign.mXecureFreeSignData.serviceURL, + AnySign.mXecureFreeSignData.serviceKey, + AnySign.mXecureFreeSignData.asyncOption, + AnySign.mXecureFreeSignData.signType, + AnySign.mWebPageStorageData.type, + AnySign.mWebPageStorageData.certList, + AnySign.mWebPageStorageData.storageElementID, + aGuideModule); + } + __SANDBOX.xcrypto.setProperty (AnySign.mLanguage, AnySign.mCharset, AnySign.mLicense); + return __SANDBOX.xcrypto; + } + + function __convertErrCode (aCode) { + if(aCode > 0xFFFFFF) { + // 0x[12][34][56][78] + var aCode1234 = Math.floor(aCode/0x10000); + var aCode34 = aCode1234 - Math.floor(aCode1234/0x100)*0x100; + var aCode78 = aCode - Math.floor(aCode/0x100)*0x100; + if(aCode34 == 0x06) { + switch(aCode78) { + case 0x04 : return XW_ERROR_NOT_LOGIN; + case 0x07 : return XW_ERROR_USER_LOGIN_INVALID_PASSWD1; + case 0x08 : return XW_ERROR_USER_LOGIN_INVALID_PASSWD2; + case 0x09 : return XW_ERROR_USER_LOGIN_EXPIRED_PASSWD2; + case 0x0A : return XW_ERROR_VERIFYPASSWORD; + case 0x0B : return XW_ERROR_CERT_PASSWORD_UPDATE_FAIL; + default: return aCode; + } + } else { + switch(aCode78) { + case 0x02 : return XW_ERROR_INCORRECT_PARAM; + case 0x03 : return XW_ERROR_NOT_SUPPORTED_MEDIA; + case 0x04 : return XW_ERROR_DIFFRENT_PASSWORD; + case 0x05 : return XW_ERROR_INCORRECT_PASSWORD; + case 0x06 : return XW_ERROR_INCORRECT_PASSWORD_KMCERT; + case 0x07 : return XW_ERROR_INPUT_LENGTH; + case 0x08 : return XW_ERROR_INPUT_LENGTH_10; + case 0x09 : return XW_ERROR_PASSWORD_IS_WRONG; + case 0x0A : return XW_ERROR_PASSWORD_MIX_DISIT_ALPHA_PUNCT; + case 0x0B : return XW_ERROR_PASSWORD_NOT_ALLOW_CHARACTER; + case 0x0C : return XW_ERROR_CONFIRMED_PASSWORD_DOES_NOT_MATCH; + case 0x0D : return XW_ERROR_GETCERTIFICATE; + case 0x0E : return XW_ERROR_GETCERT; + case 0x0F : return XW_ERROR_USE_CERT_FAIL; + case 0x10 : return XW_ERROR_GETCERTTREE; + case 0x11 : return XW_ERROR_SAVECERT; + case 0x12 : return XW_ERROR_PFX_CERT_IMPORT_FAIL; + case 0x13 : return XW_ERROR_EXPORTCERT; + case 0x14 : return XW_ERROR_DELETECERT; + case 0x15 : return XW_ERROR_VERIFYPASSWORD; + case 0x16 : return XW_ERROR_CHANGECERTPASSWORD; + case 0x17 : return XW_ERROR_VERIFYCERT; + case 0x18 : return XW_ERROR_VERIFYCERTOWNER; + case 0x19 : return XW_ERROR_CREATE_SIGNDATA; + case 0x1A : return XW_ERROR_GETPLAINDATAOFSIGNDATA; + case 0x1B : return XW_ERROR_ENVELOPIDNUM; + case 0x1C : return XW_ERROR_ENVELOP_FAIL; + case 0x1D : return XW_ERROR_DEENVELOP_FAIL; + case 0x1E : return XW_ERROR_REQUESTCERT; + case 0x1F : return XW_ERROR_RENEWCERT; + case 0x20 : return XW_ERROR_RECOVERCERT; + case 0x21 : return XW_ERROR_REVOKECERT; + case 0x22 : return XW_ERROR_HASHDATA; + case 0x23 : return XW_ERROR_ENCRYPT_PRIKEY; + case 0x24 : return XW_ERROR_DECRYPT_PRIKEY; + case 0x25 : return XW_ERROR_PKCS8_NO_VID; + case 0x26 : return XW_ERROR_PKCS8_NO_RANDOM; + case 0x27 : return XW_ERROR_SIGN_DUPLICATE_CERT; + case 0x28 : return XW_ERROR_SAVE_CERT_ALREADY_EXIST; + case 0x29 : return XW_ERROR_CERT_EXPIRED; + default: return aCode; + } + } + } else { + return aCode; + } + } + + // AnySignForPC + __SANDBOX.convertTable = new Array(); + + function gCheckTime () + { + if (gStartTime == 0) + { + clearInterval (gTimeIntervalFunc); + return; + } + + var existDialog = document.getElementById("xwup_xvvcursor_disabled"); + if (existDialog == null) + { + clearInterval (gTimeIntervalFunc); + return; + } + + var currentTime = new Date().getTime(); + if ((currentTime - gStartTime) > 2000) + { + clearInterval (gTimeIntervalFunc); + + var aGuideModule = __SANDBOX.loadModule("guidewindow"); + gGuideDialog = aGuideModule({ + type: "login", + args: "", + onconfirm: "", + oncancel: function () {gGuideDialog.dispose();} + }); + + gGuideDialog.show(); + gShowGuideDialog = true; + + if (gStartTime == 0) + setTimeout(gCloseGuideDialog, 1000); + } + } + + function gCloseGuideDialog () + { + gGuideDialog.dispose(); + gGuideDialog = null; + gShowGuideDialog = false; + } + + function gStartGuideDialog () + { + var element = document.getElementById("xwup_title_guidewindow"); + if (element == null) { + gStartTime = new Date().getTime(); + gTimeIntervalFunc = setInterval (gCheckTime, 50); + } + } + + function gEndGuideDialog () + { + gStartTime = 0; + clearInterval (gTimeIntervalFunc); + + if (gGuideDialog) { + if (gShowGuideDialog) { + gCloseGuideDialog (); + } + } + } + + function __isCheckFunction (aFunctionName) + { + return __SANDBOX.upInterface().checkFunction (aFunctionName); + } + + function __addDialogOffset () { + return __SANDBOX.dialogOffset += 10; + } + + function __removeDialogOffset () { + return __SANDBOX.dialogOffset -= 10; + } + + function __refreshCertLocationSet (aStorage) { + var aCertLocationArray = aStorage.split(","), + i; + + __SANDBOX.certLocationSet = {}; + for (i= 0; i < aCertLocationArray.length; i++) { + __SANDBOX.certLocationSet[aCertLocationArray[i].toLowerCase()] = true; + } + } + + if (aStorage) { + __SANDBOX.refreshCertLocationSet (aStorage); + } + + if(navigator.platform.indexOf("Win") != 0) + __SANDBOX.localPathSeperator = "/"; + + if(__SANDBOX.isIE() && typeof(document.documentMode) == "undefined") + { + document.documentMode = __SANDBOX.isIE(); + } + + upObject = new AnySignForPCInterface(__SANDBOX); + + var loadModule = __loadModule; + + function __loadModule (moduleName) + { + var req; + if (window.ActiveXObject) { + try { + req = new ActiveXObject("MSXML2.XMLHTTP.3.0"); + }catch(e) { + try { + req = new ActiveXObject("Microsoft.XMLHTTP"); + }catch(e){ + console.log("[try catch] " + e.message); + } + } + } + else if (window.XMLHttpRequest) { + req = new window.XMLHttpRequest; + } + + var d = new Date(); + var year = d.getFullYear().toString(); + var month = (d.getMonth()+1).toString(); + var day = d.getDate().toString(); + var hour = d.getHours().toString(); + var minutes = Math.floor(d.getMinutes()/10) * 10 + + var path = AnySign.mBasePath + "/module/" + moduleName + ".js?version=" + year + month + day + hour + minutes; + + req.open ('GET', path, false); + req.send (null); + + eval(__SANDBOX.getSafeResponse(req.responseText)); + var moduleConstructor = eval (__SANDBOX.getSafeResponse("__" + moduleName)); + + return moduleConstructor (__SANDBOX); + } + + function __isFailed (aResult, aErrCallback) + { + if ( (typeof(aResult) == "string" && aResult === "") || (typeof(aResult) == "number" && aResult !== 0 )) + { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + + if (aErrorObject.code != "0") + { + if (aErrorObject.code == XW_ERROR_VERIFY_INTEGRITY) { // integrity fail + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + } else if (aErrCallback) { + aErrCallback (aErrorObject); + } + return true; + } + + else + { + //Something is wrong but what can we do? + return true; + } + } + + return false; + } + + function __setButton(aElements, aAttributeType, aValue, aIsWin){ + // WIN32, WIN64 + if(aIsWin){ + if(navigator.platform == "Win32" || navigator.platform == "Win64"){ + if(aAttributeType == "checked") + aValue = true; + else + aValue = false; + } + } + + switch(aAttributeType){ + case "checked": + for(var i = 0; i < aElements.length; i++){ + if(aValue) + aElements[i].checked = true; + else + aElements[i].checked = false; + } + break; + case "disabled": + for(var i = 0; i < aElements.length; i++){ + //var aImage = aElements[i].getElementsByTagName("span")[0]; + var aText = aElements[i].getElementsByTagName("span")[1]; + if (aText == undefined) aText = aElements[i]; + if(aValue) { + aElements[i].disabled = true; + if(aText) aText.style.color = "#bbb"; + } + else { + aElements[i].disabled = false; + if(aText) aText.style.color = "black"; + } + } + break; + } + } + + function __setLocationEnable(aLocations, aElements, aIsWin32Only, aDisableLocation) { + var aDisable = false, + i; + + if(aIsWin32Only) { + if(navigator.platform == "Win32") + aDisable = false; + else + aDisable = true; + } + + if (aDisable == false) { + aDisable = true; + for (i=0; i < aLocations.length; i++) { + if (__SANDBOX.certLocationSet[aLocations[i]]) { + aDisable = false; + break; + } + } + } + + if (aDisableLocation && aIsWin32Only != true) { + aDisable = false; + if (navigator.platform != "Win32") + __SANDBOX.certLocationSet[aDisableLocation] = false; + } + + for (i=0; i < aElements.length; i++) { + aElements[i].disabled = aDisable; + } + } + + function __inputKeyHandler (aName, aOriInputObj, aIndex, aX, aY, aKeyType, aMaxSize, aNewWidth, aInputType) { + var aOriInput = aOriInputObj; + var orgbk = '#FFFFFF'; + + //transkey var + var aTransKeyInputFlag = false; + var aTransKeyID; + var aTransKey; + var aTransKeyInputID; + var aTransKeyCheckboxID; + var aTransKeyCheckbox; + var aTransKeyPath = AnySign.mTransKeyPath; + var aTransKeyEnable = AnySign.mTransKeyEnable; + var aIncaNOSv10KeypadImgPath = AnySign.mIncaNOSv10KeypadImgPath; + var aEzKeyTecInputData = ""; + + // touchenkey var + var aTouchEnKeyObj = document.getElementById ("TouchEnKey"); + var aTouchEnKeyEnable = AnySign.mTouchEnKeyEnable != false && aTouchEnKeyObj !=null && typeof(aTouchEnKeyObj) != "undefined"; + + var aTouchEnKeyName; + var aTouchEnKeyInputName; + + //transkey references + var _TransKeyName, + _GenerateSessionKeyRef, + _KeyTypeRef, + _GenKeyRef, + _TransKeyPage; + + //openkeyboard var + /* + * file : openkeyboard_ac.js + * object : var openkeyboard = null; + * set : var ok_windowIsOnload = false; + * set : this.url = ""; + * hidden field name prefix : _E2E_OK_ + * checkbox child element tag: + */ + var aOpenkeyboardEnable = aTransKeyEnable != true && AnySign.mOpenkeyboardEnable != false && typeof(OpenKeyboard) != "undefined"; + var aKeyTypeRef; + var aOriInputParent; + var aOpenkeyboardCheckbox; + var aOpenkeyboardElement; + + if (navigator.platform.indexOf("Win") != 0) + aOpenkeyboardEnable = false; + + // K-Defense var + var aKDefenseEnable = aTouchEnKeyEnable != true && AnySign.mKDefenseEnable != false; + + // Inca VKeypad var + var aVKeypadEnable = aTransKeyEnable != true && AnySign.mVKeypadEnable != false; + + // XecureKeyPad var + var aXecureKeyPadEnable; + var aXKModule = null; + var aXKName = "xk_dialog_" + aOriInput.name + "_img"; + var aXKType; + + aXecureKeyPadEnable = aTransKeyEnable != true && aOpenkeyboardEnable != true && AnySign.mXecureKeyPadEnable != false; + + // XecureKeyPad HTML5 var (Lite or XFS client sign) + var aXecureKeyPadHTML5Enable; + var aXKHTML5Module = null; + var aXKHTML5Name = "xk_dialog_" + aOriInput.name; + + aXecureKeyPadHTML5Enable = AnySign.mXecureKeyPadHTML5Enable; + + // XecureKeyPad E2E var (XFS server sign) + var aXecureKeyPadE2EEnable = AnySign.mXecureKeyPadE2EEnable; + + // nProtect KeyCrypt_HTML5 var + var aKeyCryptHTML5Enable = aTouchEnKeyEnable != true && aKDefenseEnable != true && aKOSKeyEnable != true && AnySign.mKeyCryptHTML5Enable != false; + if (__SANDBOX.isIE () < 7 || AnySign.mPlatform.aName == "linux" || AnySign.mPlatform.aName == "mac universal") + aKeyCryptHTML5Enable = false; + + // ASTx var + var aASTxEnable = aTouchEnKeyEnable != true && aKDefenseEnable != true && aKeyCryptHTML5Enable != true && aKOSKeyEnable != true && AnySign.mASTxEnable != false; + var aASTx_windowid; + var aASTx_formid; + var aASTx_inputid; + + if (AnySign.mPlatform.aName == "linux" || AnySign.mPlatform.aName == "mac universal") { + aASTxEnable = false; + } + + // TouchEn nxKey + var aTouchEnnxKeyEnable = aTouchEnKeyEnable != true && aKDefenseEnable != true && aKeyCryptHTML5Enable != true && aASTxEnable != true && aKOSKeyEnable != true && AnySign.mTouchEnnxKeyEnable != false; + if (AnySign.mPlatform.aName == "linux" || (AnySign.mPlatform.aName == "mac universal" && (AnySign.mTouchEnnxKeyMacEnable == false))) { + aTouchEnnxKeyEnable = false; + } + // KINGS key + var aKOSKeyEnable = aTouchEnKeyEnable != true && aKDefenseEnable != true && aKeyCryptHTML5Enable != true && aASTxEnable != true && aTouchEnnxKeyEnable != true && AnySign.mKOSKeyEnable != false; + + // Inca NOSv10 + var aIncaNOSv10Enable = AnySign.mIncaNOSv10Enable; + var aIncaNOSv10KeypadEnable = AnySign.mIncaNOSv10KeypadEnable; + + //EzKeyTec + var aEzKeyTecEnable = AnySign.mEzKeyTecEnable; + + // reset + if (aInputType == "envelope") + { + aTransKeyEnable = false; + aTouchEnKeyEnable = false; + aOpenkeyboardEnable = false; + aKDefenseEnable = false; + aVKeypadEnable = false; + aXecureKeyPadEnable = false; + aKeyCryptHTML5Enable = false; + aASTxEnable = false; + aTouchEnnxKeyEnable = false; + aKOSKeyEnable = false; + aIncaNOSv10Enable = false; + aXecureKeyPadHTML5Enable = false; // lite + aIncaNOSv10KeypadEnable = false; + aEzKeyTecEnable = false; + aXecureKeyPadE2EEnable = false; // e2e + } else if (aInputType == "lite" || aInputType == "e2e") + { + //aTransKeyEnable = false; + aTouchEnKeyEnable = false; + aOpenkeyboardEnable = false; + aKDefenseEnable = false; + aVKeypadEnable = false; + aXecureKeyPadEnable = false; + aKeyCryptHTML5Enable = false; + aASTxEnable = false; + //aTouchEnnxKeyEnable = false; + aKOSKeyEnable = false; + //aIncaNOSv10Enable = false; + //aIncaNOSv10KeypadEnable = false; + aEzKeyTecEnable = false; + + if (aInputType == "lite") + aXecureKeyPadE2EEnable = false; + else if (aInputType == "e2e") + aXecureKeyPadHTML5Enable = false; + } else + { // 4pc + aXecureKeyPadHTML5Enable = false; + aXecureKeyPadE2EEnable = false; + } + + //2013.03.22 _GenerateSessionKeyRef 라온시큐어 김지수 가이드 : transkeyServlet 사용법 수정으로 모두 주석 처리 + //init var about TransKey + + if (aTransKeyEnable) + { + if (typeof xc_TransKey != "undefined") { + AnySign.mTransKeyIsXC = true; + //old version + _TransKeyName = "xc_TransKey"; + _GenerateSessionKeyRef = xc_generateSessionKey; + _KeyTypeRef = aKeyType.substr(0, aKeyType.indexOf("_crt")); + _GenKeyRef = tk_getrnd_hex; + _TransKeyPage = aTransKeyPath + "/index.jsp"; + + aOriInput.style.width = aNewWidth +"px"; + aTransKeyID = aName + "_tk" + aIndex; + aTransKeyInputID = aName + "_tk" + aIndex + "_input"; + + eval(__SANDBOX.getSafeResponse(aTransKeyID + "= null")); + _GenerateSessionKeyRef (_TransKeyPage); + eval(__SANDBOX.getSafeResponse(aTransKeyID +" = new " + _TransKeyName + " (aTransKeyID, aX, aY, _TransKeyPage, _KeyTypeRef, aMaxSize, 'password');")); + + eval(__SANDBOX.getSafeResponse("aTransKey = " + aTransKeyID)); + aOriInput = document.getElementById(aTransKeyInputID); + } else { + AnySign.mTransKeyIsXC = false; + _TransKeyName = "TransKey"; + _GenerateSessionKeyRef = generateSessionKeyForCRT; + _KeyTypeRef = aKeyType; + _GenKeyRef = new GenKey().GenerateKey; + _TransKeyPage = aTransKeyPath; + + if (!AnySign.mTransKeyCheckBoxEnable) + { + aOriInput.style.width = aNewWidth +"px"; + //20181114 yhkim + //라온시큐어측에서 건강보험관리공단(장기요양) 적용 시 가상키패드 버전 변경으로 아래와 같이 처리함 + if(aInputType == "lite" && (aName == "certselect" || aName == "certselectwide")) + { + aTransKeyID = aName + "_lite_tk" + aIndex; + aTransKeyInputID = "xwup_" + aName + "_lite_input" + aIndex; + } + else + { + aTransKeyID = aName + "_tk" + aIndex; + aTransKeyInputID = "xwup_" + aName + "_tek_input" + aIndex; + } + eval(aTransKeyID + "= null"); + + + //2013.02.18, wbr : 라온시큐어 이남열대리 가이드로 세션키 생성 시점을 트랜스키 객체 생성 전으로 변경 + _GenerateSessionKeyRef (_TransKeyPage); + eval(aTransKeyID +" = new " + _TransKeyName + " (aTransKeyID, aX, aY, _TransKeyPage, _KeyTypeRef, aMaxSize, 'password');"); + + eval("aTransKey = " + aTransKeyID); + aOriInput = document.getElementById(aTransKeyInputID); + + if(AnySign.mTransKeyXY != "") + { + aOriInput.setAttribute ("data-tk-kbdxy", AnySign.mTransKeyXY); + } + + if(aInputType == "lite") + { + transkey[aTransKeyInputID].button.src=transkey_url+'/images/on.png'; + transkey[aTransKeyInputID].useTranskey=true; + transkey[aTransKeyInputID].inputObj.readOnly=true; + transkey[aTransKeyInputID].checkValue.value="transkey"; + transkey[aTransKeyInputID].buttonListener = function(btnObj, inputId){return;}; + } + else if(aTouchEnnxKeyEnable == false) + { + transkey[aTransKeyInputID].button.src=transkey_url+'/images/on.png'; + transkey[aTransKeyInputID].useTranskey=true; + transkey[aTransKeyInputID].inputObj.readOnly=true; + transkey[aTransKeyInputID].checkValue.value="transkey"; + transkey[aTransKeyInputID].buttonListener = function(btnObj, inputId){return;}; + } + } + //20190417 라온시큐어 이선호대리와 협의하여 mTransKeyCheckBoxEnable는 지원안하기로 함 + /*else + { + aTransKeyID = aName + "_tk" + aIndex; + aTransKeyInputID = "xwup_" + aName + "_tek_input" + aIndex; + aTransKeyCheckboxID = aName + "_tk" + aIndex + "_button"; + + aX -= 78; + + //2013.02.18, wbr : 라온시큐어 이남열대리 가이드로 세션키 생성 시점을 트랜스키 객체 생성 전으로 변경 + //_GenerateSessionKeyRef (_TransKeyPage); + eval(aTransKeyID +" = new " + _TransKeyName + " (aTransKeyID, aX, aY, _TransKeyPage, _KeyTypeRef, aMaxSize, 'password', '" + aTransKeyInputID + "');"); + eval (aTransKeyID + ".useTransKey = false"); + eval("aTransKey = " + aTransKeyID); + aTransKeyCheckbox = document.getElementById(aTransKeyCheckboxID); + }*/ + } + } + + //init vars about TouchEnKey + if (aTouchEnKeyEnable) { + aTouchEnKeyName = aOriInput.form.name; + if (!aTouchEnKeyName) { + alert("XWUP error [" + aTouchEnKeyName.outerHTML + "] doesn't have name"); + } + aTouchEnKeyInputName = aName + "_tek_input" + aIndex; + aOriInput.setAttribute ("enc", "on"); + aOriInput.setAttribute ("kbd", "off"); + } + + //init vars about KeyCrypt_HTML5 + if (aKeyCryptHTML5Enable) { + var aKeyCryptHTML5div; + var aOriInputParent; + var form = aOriInput.form; + var name = aOriInput.name; + + function CreateIe7HiddenInput (form, name) { + var element = document.createElement ("input"); + element.setAttribute ("type", "hidden"); + element.setAttribute ("name", name+"__E2E__"); + form.appendChild (element); + } + + aKeyCryptHTML5div = document.createElement("div"); + aKeyCryptHTML5div.className = "nppfs-elements"; + aOriInputParent = aOriInput.form; + aOriInputParent.appendChild(aKeyCryptHTML5div); + + if (__SANDBOX.isIE () <= 7) { + CreateIe7HiddenInput (aOriInput.form, name); + aOriInputParent = aOriInput.form; + } + + aOriInput.setAttribute ("enc", "re"); + + // Regist Dynamic Field + npPfsCtrl.RegistDynamicField(form, name); + } + + //init vars about VKeyPad + if (aVKeypadEnable) { + aOriInput.readOnly = true; + + // keypad create location div + aVkeypadDiv = document.createElement("div"); + aVkeypadDiv.id = "vKeypad" + aOriInput.name; + aOriInput.form.appendChild(aVkeypadDiv); + + // keypad type (PASSWORD, ALPHANUM) + if(aKeyType.indexOf("number") == 0) { + npKpdType = npKpd.define.types.PASSWORD; + } else { + npKpdType = npKpd.define.types.ALPHANUMCERT; + } + + // keypad create + strObjParam = "vKeypadOK(" + npKpdType + ",'" + aOriInput.form.name + "','" + aOriInput.name + "');"; + var objOption = {type:npKpdType, inputs:aOriInput.name, form:aOriInput.form.name, display:"hide", imagepath:AnySign.mBasePath + "/../inca/keypad/jsp", checkfunc:strObjParam}; + npKpd.create(aVkeypadDiv.id, objOption); + + if (aOriInput.addEventListener) { + aOriInput.addEventListener( "click", function(e){ + + }, false); + } else if (aOriInput.attachEvent) { + aOriInput.attachEvent( "onclick", function(e){ + + }); + } + } + + // Init Inca NOSv10 + var aParentForm; + //aParentForm = aOriInput.form; + /* + aParentForm = aOriInput; + while (aParentForm) { + if (aParentForm.tagName && (aParentForm.tagName.toUpperCase() == "FORM")) { + break; + } + aParentForm = aParentForm.parentNode; + } + */ + if (aIncaNOSv10KeypadEnable) { + aParentForm = aOriInput.form; + aOriInput.setAttribute ("npkencrypt", "re"); + if(aKeyType.indexOf("number") == 0) { + aOriInput.setAttribute ("data-keypad-type", "num"); + } else { + aOriInput.setAttribute ("data-keypad-type", "alpha"); + } + aOriInput.setAttribute ("data-keypad-useyn-type", "toggle"); + aOriInput.setAttribute ("data-keypad-useyn-input", aOriInput.name + "_useyn_toggle"); + + var aIncaIcon = document.createElement("IMG"); + aIncaIcon.id = aOriInput.name + "_useyn_toggle"; + aIncaIcon.src= aIncaNOSv10KeypadImgPath + "icon_mouse_on.gif"; + + aOriInputParent = aOriInput.parentNode; + aOriInputParent.appendChild(aIncaIcon); + + npPfsCtrl.RegistDynamicField(aParentForm, aOriInput.name); + } + + if (aIncaNOSv10Enable) { + if(aInputType == "lite") + { + ///키패드 중복 append 로직 Start + var npLength = npVCtrl.keypadObject.length; + + for (var i=0; i 0) { + aOpenkeyboardElement.value = ""; + } + } + + // TouchEnKey 미지원 브라우저 처리 + //if (navigator.platform.indexOf("Win") != 0 || (aBrowserName == "opera" && aBrowserVersion >= 12)) { + if (!aTouchEnKeyEnable && AnySign.mTouchEnKeyEnable) { + aOriInput.readOnly = true; + if (aOriInput.addEventListener) { + aOriInput.addEventListener( "click", function(e){ + openkeyboard.start(aOriInput); + }, false); + } else if (aOriInput.attachEvent) { + aOriInput.attachEvent( "onclick", function(e){ + openkeyboard.start(aOriInput); + }); + } + } + + if (__SANDBOX.isIE() > 8) { + // IE9,10 ESC key exception + //openkeyboard.start(aOriInput); + } + } + + // init K-Defense + /* + if (aKDefenseEnable) { + if (document.kdefense == null || typeof(document.kdefense) == "undefined" || document.kdefense.object == null) { + if(navigator.mimeTypes["application/lssl-plugin"] == null) { + aKDefenseEnable = false; + } else { + aKDefenseEnable = true; + } + } else { + aKDefenseEnable = true; + } + + if (aKDefenseEnable == true) { + kdfCertEncInit(); + } + } + */ + + // init ASTx + if (aASTxEnable) { + //ASTx 1.2 + /* + aOriInput.setAttribute ("e2esdk", "true"); + astxsdk_set_option("e2e_sdk_customcode", "1967"); + astxsdk_init(); + + aASTx_windowid = astxsdk_get_e2e_windowid(); + aASTx_formid = astxsdk_get_e2e_formid(aOriInput); + aASTx_inputid = astxsdk_get_e2e_inputid(aOriInput); + */ + + // ASTx 1.3 + aOriInput.setAttribute ("e2e_type", "11"); + $ASTX2.initNonE2E(1967); + + aASTx_windowid = $ASTX2.getE2EPageID(); + aASTx_formid = $ASTX2.getE2EPageID(); + + console.log("AnySign_input_name:" + aOriInput.name); + console.log("astxsdk_get_e2e_windowid:" + aASTx_windowid); + console.log("astxsdk_get_e2e_formid:" + aASTx_formid); + console.log("astxsdk_get_e2e_inputid:" + aASTx_inputid); + } + + //init vars about XecureKeyPad + /* + * XK_MakeRandomKeypadID : 키패드 세션ID 생성 + * XK_MakeIndex : 키패드 생성 + */ + if (aXecureKeyPadEnable) { + aXKModule = new XKModule(); + + var makeIndexCallback; + var aXKModuleSpan = document.createElement("SPAN"); + aXKModuleSpan.id = "xk_dialog_" + aOriInput.name + "_span"; + //aXKModuleSpan.style.verticalAlign = "top"; + //aXKModuleSpan.style.marginTop = "3px"; + + var aPositionInfo = { + option : 1, + left : 0, + top : null + }; + + if (AnySign.mDivInsertOption == 1) + aPositionInfo.left = 170; + + if(aKeyType.indexOf("number") == 0) { + aXKType = "number"; + } else { + aXKType = "qwerty"; + } + + aOriInput.parentNode.appendChild(aXKModuleSpan); + + var CB_XK_MakeIndex = function (result) + { + makeIndexCallback (result.split(",")); + } + + var CB_XK_MakeRandomKeypadID = function (result) + { + if (aXKModule.sessionID == null) + aXKModule.sessionID = result; + + aXKModule.setTimer(30); + + __SANDBOX.upInterface().XK_MakeIndex(aXKModule.sessionID, aXKType, CB_XK_MakeIndex); + } + + var aMakeIndexFunction = function(callback) + { + makeIndexCallback = callback; + + if(aXKModule.sessionID == null) + __SANDBOX.upInterface().XK_MakeRandomKeypadID (CB_XK_MakeRandomKeypadID); + else { + CB_XK_MakeRandomKeypadID (null); + } + } + + var aCustomInitializeFunction = function() + { + if(document.MKD25 != null || typeof(document.MKD25) != "undefined") + MKD25.SkipVerify(1); + } + var aCustomFinalizeFunction = function() + { + if(document.MKD25 != null || typeof(document.MKD25) != "undefined") + MKD25.SkipVerify(0); + } + + aXKModule.makeIndex = aMakeIndexFunction; + aXKModule.setCustomFunction (aCustomInitializeFunction, aCustomFinalizeFunction); + aXKModule.setAttachAnySignPC(); + + aXKModule.initialize(aXKName, aXKModuleSpan, aOriInput, aNewWidth, aXKType, 'decrypted', aPositionInfo, 0); + } + + //init vars about XecureKeyPad HTML5 (lite), E2E (XFS) + if (aXecureKeyPadHTML5Enable || aXecureKeyPadE2EEnable) { + var aXKModuleSpan = document.createElement("SPAN"); + aXKModuleSpan.id = "xk_dialog_" + aOriInput.name + "_span"; + + var aPositionInfo = { + option : 1, + left : -18, + top : null + }; + + if (AnySign.mDivInsertOption == 1) + aPositionInfo.left = 20; + + aOriInput.parentNode.appendChild(aXKModuleSpan); + + if (aXecureKeyPadHTML5Enable) { + aXKHTML5Module = new XKeypadHTML5(); + aXKType = "qwerty"; + } else { + aXKHTML5Module = new XKeypadE2E(); + if(aKeyType.indexOf("number") == 0) { + aXKType = "number"; + } else { + aXKType = "qwerty"; + } + } + + aXKHTML5Module.initVirtualKeypadWithPosition(aXKHTML5Name, aXKModuleSpan, aOriInput, aNewWidth, aXKType, aPositionInfo, 0); + if (aOriInput.addEventListener) { + aOriInput.addEventListener( "click", function(e){ + aXKHTML5Module.createKeypad(); + }, false); + } else if (aOriInput.attachEvent) { + aOriInput.attachEvent( "onclick", function(e){ + aXKHTML5Module.createKeypad(); + }); + } + } + + //init TouchEn nxKey + if (aTouchEnnxKeyEnable) { + aTouchEnKeyName = aOriInput.form.name; + if (!aTouchEnKeyName) { + alert("XWUP error [" + aTouchEnKeyName.outerHTML + "] doesn't have name"); + } + + if(aInputType == "lite" && (aName == "certselect" || aName == "certselectwide")) + { + aTouchEnKeyInputName = aName + "_lite_input" + aIndex; + } + else + { + aTouchEnKeyInputName = aName + "_tek_input" + aIndex; + } + aOriInput.setAttribute ("enc", "on"); + } + + //init Kings Key + if (aKOSKeyEnable) { + var pubKey = "MIGJAoGBALp7h5CCh1QXUisoA6TFDZUH2Ykeqn5vsYF6Y/ECPbr/8aR0NImwMT9R80MfKn8OeErXmQBfFrB9YTivKLgdQwouIT11FdCHbwGCuyrZ+0dEiUeFvPHCxah5ZMWmbABSOJtfJYq+OyW3/Z1/PgVW9pp5Zo858aC099fMJ5VPa9hDAgMBAAE="; + + KOS.registerElementWithKey(aOriInput, + 'none', + 'data-kdf-e2e-pubkey', + pubKey); + + } + + if(aEzKeyTecEnable) { + EZKInput.InitInput(aOriInput.id,doEnterEzKeyTec); + + function doEnterEzKeyTec(objInput, sEnterText) + { + aEzKeyTecInputData = sEnterText; + } + } + + return { + onComplete : function (completeHandle) { + if (aTransKeyEnable) { + var aOkFunction = function() { + aTransKeyInputFlag = (_KeyTypeRef.indexOf("number") == 0 || _KeyTypeRef.indexOf("qwerty") == 0); //number use close func only + completeHandle.ok(); + } + var aCloseFunction = function() { + aTransKeyInputFlag = (_KeyTypeRef.indexOf("number") == 0 || _KeyTypeRef.indexOf("qwerty") == 0); //number use close func only + completeHandle.close(); + } + aTransKey.onCompleteInput = aOkFunction; + aTransKey.onCompleteClose = aCloseFunction; + } else if (aOpenkeyboardEnable) { + var aOkFunction = function() { + openkeyboard.stop(); + completeHandle.ok(); + } + var aCloseFunction = function() { + openkeyboard.stop(); + completeHandle.close(); + } + openkeyboard.confirm = aOkFunction; + openkeyboard.cancel = aCloseFunction; + } else if (aVKeypadEnable) { + var aOkFunction = function() { + completeHandle.ok(); + } + var aCloseFunction = function() { + completeHandle.close(); + } + } else if (aXecureKeyPadEnable) { + var aOkFunction = function() { + aXKModule.stop(); + var xkLayer = document.getElementById(aXKName); + if (xkLayer != null) + xkLayer.parentNode.removeChild(xkLayer); + + aOriInput.readOnly = false; + + completeHandle.ok(); + } + var aRefreshCallback = function (aResult) { + aXKModule.genkeypad(aResult); + } + var aRefreshFunction = function () { + aXKModule.clear(); + aXKModule.makeIndex(aRefreshCallback); + } + aXKModule.enter = aOkFunction; + aXKModule.refresh = aRefreshFunction; + } else if (aXecureKeyPadHTML5Enable || aXecureKeyPadE2EEnable) { + var aOkFunction = function (aResult) { + aOriInput.readOnly = false; + if (aResult == "XK_ENTER") // 입력완료: XK_ENTER, 닫기: XK_CLOSE + completeHandle.ok(); + } + aXKHTML5Module.setCloseCallback(aOkFunction); + } + }, + + generateSessionID : function(aOption, callback) { + var aResult = ""; + var aKeyType = ""; + var aSetData = ""; + var aSetPreData = ""; + var aIsPreData = false; + + + /*========================================================================= + * setSecureInput aSetData callback function + =========================================================================*/ + _CB_setSecureInput_setData = function () + { + //if (aTouchEnnxKeyEnable) + if (aKeyType == XW_SECUREINPUT_TOUCHENNXKEY) { + TK_GetEncXW (aTouchEnKeyName, aTouchEnKeyInputName, aResult, callback); + } else { + callback (aResult); + } + } + /*========================================================================= + * generateRandom callback function + =========================================================================*/ + _CB_generateRandom = function (result) + { + if (result) + aResult = result; + + if (aIsPreData == false) + { + if (aSetPreData.length > 0) { + aSetPreData += "$"; + } + aSetData = aSetPreData + aKeyType + "|" + aResult; + } + else + { + aSetData = aSetPreData; + } + + // 4. set property + __SANDBOX.upInterface().setSecureInput (aSetData, _CB_setSecureInput_setData); + } + /*========================================================================= + * getSecureInput callback function + =========================================================================*/ + _CB_getSecureInput = function (result) + { + if (result) { + aPreSessionArray = result.split("$"); + for (var aIter = 0; aIter < aPreSessionArray.length; aIter++) { + aPreDataArray = aPreSessionArray[aIter].split("|"); + if (aPreDataArray[0] == String(aKeyType)) { + aIsPreData = true; + if (aPreDataArray.length > 1) + aResult = aPreDataArray[1]; + } + if (aIter > 0) { + aSetPreData += "$"; + } + aSetPreData += aPreSessionArray[aIter]; + } + } + + return _CB_checkPreData (); + } + /*========================================================================= + * check PreData function + =========================================================================*/ + _CB_checkPreData = function () { + // 3. generate sessionid + if (aIsPreData == false) { + if (aKeyType == XW_SECUREINPUT_TRANSKEY) { + aResult = _GenKeyRef(10); + } else if (aKeyType == XW_SECUREINPUT_TOUCHENKEY) { + __SANDBOX.upInterface().generateRandom(16, 0, _CB_generateRandom); + return; + } + else if (aKeyType == XW_SECUREINPUT_OPENKEYBOARD) { + var aPort = ""; + if (window.location.port == "") { + if (window.location.protocol == "https:") aPort = "443"; + else aPort = "80"; + } else { + aPort = window.location.port; + } + aResult = window.location.hostname + "|" + + openkeyboard.url + + ((openkeyboard.url.charAt(openkeyboard.url.length - 1) == '/') ? "" : "/") + + "make.jsp" + "|" + + aPort + "|" + + openkeyboard.jsessionId; + } else if (aKeyType == XW_SECUREINPUT_KDEFENSE) { + aResult = site_noptionEx; + } else if (aKeyType == XW_SECUREINPUT_XECUREKEYPAD) { + __SANDBOX.upInterface().generateRandom(16, 0, _CB_generateRandom); + return; + } else if (aKeyType == XW_SECUREINPUT_TOUCHENNXKEY) { + __SANDBOX.upInterface().generateRandom(16, 0, _CB_generateRandom); + return; + } else if (aKeyType == XW_SECUREINPUT_KINGSKEY) { + __SANDBOX.upInterface().generateRandom(16, 0, _CB_generateRandom); + return; + } + } + else + { + aSetData = aSetPreData; + } + + _CB_generateRandom(); + } + /*=========================================================================*/ + + // 1. check input type + if (aTransKeyInputFlag && aTransKey.getHiddenData().length > 0) { + aKeyType = XW_SECUREINPUT_TRANSKEY; + } else if (aOpenkeyboardEnable && aOpenkeyboardElement.value.length > 0) { + aKeyType = XW_SECUREINPUT_OPENKEYBOARD; + } else if (aTouchEnKeyEnable && document[aTouchEnKeyName][aTouchEnKeyInputName].value.length > 0) { + aKeyType = XW_SECUREINPUT_TOUCHENKEY; + } else if (aKDefenseEnable && kdfCertGetlenght(aOriInput.form.name + "." + aOriInput.name, aOriInput.type) > 0) { + aKeyType = XW_SECUREINPUT_KDEFENSE; + } else if (aVKeypadEnable) { + aKeyType = XW_SECUREINPUT_VKEYPAD; + } else if (aIncaNOSv10KeypadEnable && npVCtrl.isKeypadUse(aOriInput.name)) { + aKeyType = XW_SECUREINPUT_INCAKEYPAD; + } else if (aXecureKeyPadEnable && aXKModule.get_Vinput().length > 0) { + aKeyType = XW_SECUREINPUT_XECUREKEYPAD; + } else if (aXecureKeyPadHTML5Enable && aXKHTML5Module.get_Vinput().length > 0) { + aKeyType = XW_SECUREINPUT_XECUREKEYPADHTML5; + } else if (aXecureKeyPadE2EEnable && aXKHTML5Module.get_sessionInfo().input && aXKHTML5Module.get_sessionInfo().input.length > 0) { + aKeyType = XW_SECUREINPUT_XECUREKEYPADE2E; + } else if (aKeyCryptHTML5Enable) { + aKeyType = XW_SECUREINPUT_KEYCRYPT_HTML5; + } else if (aIncaNOSv10Enable) { + if(aInputType == "lite") + { + aKeyType = XW_SECUREINPUT_INCAKEYPAD; + } + else + { + aKeyType = XW_SECUREINPUT_KEYCRYPT_HTML5; + } + + } else if (aASTxEnable) { + aKeyType = XW_SECUREINPUT_ASTX; + } else if (aTouchEnnxKeyEnable) { + aKeyType = XW_SECUREINPUT_TOUCHENNXKEY; + } else if (aKOSKeyEnable) { + aKeyType = XW_SECUREINPUT_KINGSKEY; + } else if (aEzKeyTecEnable) { + aKeyType = XW_SECUREINPUT_EZKEYTEC; + } else { + aKeyType = XW_SECUREINPUT_NATIVEINPUT; + } + + // 2. check option (undefined,0: new or reset, 1:old set, 2:update) + if (aOption > 0) { + __SANDBOX.upInterface().getSecureInput (_CB_getSecureInput); + } + else + { + _CB_setXecureKeyPad = function () + { + _CB_checkPreData (); + } + _CB_setSecureInput = function () + { + __SANDBOX.upInterface().setXecureKeyPad ("", _CB_setXecureKeyPad); + } + _CB_setTransKey = function () + { + __SANDBOX.upInterface().setSecureInput ("", _CB_setSecureInput); + } + __SANDBOX.upInterface().setTransKey ("", _CB_setTransKey); + + return aResult; + } + }, + getValue : function (aSessionID) { + var aType = 0; + var aLen = 0; + var aResult = ""; + var aKOSSessionKey=""; + + if (__SANDBOX.CachedCertificateInfo && __SANDBOX.CachedCertificateInfo.password) { + aType = XW_SECUREINPUT_NATIVEINPUT; + aResult = __SANDBOX.CachedCertificateInfo.password; + } else if (aTransKey != null && aTransKey.getHiddenData().length > 0) { + aType = XW_SECUREINPUT_TRANSKEY; + aResult = aTransKey.getCipherData (aSessionID); + aTransKeyInputFlag = false; + } else if (aOpenkeyboardEnable && aOpenkeyboardElement.value.length > 0) { + aType = XW_SECUREINPUT_OPENKEYBOARD; + aResult = aOriInput.name + "|" + aOpenkeyboardElement.value; + } else if (aVKeypadEnable) { + aType = XW_SECUREINPUT_VKEYPAD; + aResult = npKpd.decode( npKpdType, aOriInput.form.name, {inputs:aOriInput.name}) + } else if (aIncaNOSv10KeypadEnable && npVCtrl.isKeypadUse(aOriInput.name)) { + aType = XW_SECUREINPUT_INCAKEYPAD; + aResult = npPfsCtrl.GetEncryptResult(aParentForm, aOriInput.name); + } else if (aTouchEnKeyEnable && document[aTouchEnKeyName][aTouchEnKeyInputName].value.length > 0) { + aType = XW_SECUREINPUT_TOUCHENKEY; + aResult = aTouchEnKeyObj.GetEncData(aSessionID, aTouchEnKeyName, aTouchEnKeyInputName); + } else if (aXecureKeyPadEnable && aXKModule.get_Vinput().length > 0) { + aType = XW_SECUREINPUT_XECUREKEYPAD; + aResult = aXKModule.sessionID + "|" + aXKModule.get_input(); + aXKModule.clear (); + } else if (aXecureKeyPadHTML5Enable && aXKHTML5Module.get_Vinput().length > 0) { + aType = XW_SECUREINPUT_XECUREKEYPADHTML5; + return {type: aType, keypad: aXKHTML5Module}; + } else if (aXecureKeyPadE2EEnable && aXKHTML5Module.get_sessionInfo().input && aXKHTML5Module.get_sessionInfo().input.length > 0) { + aType = XW_SECUREINPUT_XECUREKEYPADE2E; + var aXKInfo = aXKHTML5Module.get_sessionInfo(); + aResult = aXKInfo.sessionId + "|" + aXKInfo.secToken + "|" + aXKInfo.input; + } else if (typeof aos_isrunning != "undefined" && aos_isrunning('40')) { + aType = XW_SECUREINPUT_NATIVEINPUT; + aResult = aos_get_text2 (aOriInput); + } else if (aKDefenseEnable && (aLen = kdfCertGetlenght(aOriInput.form.name + "." + aOriInput.name, aOriInput.type)) > 0) { + aType = XW_SECUREINPUT_KDEFENSE; + aResult = aLen + "|" + kdfCertGetPwValue (aOriInput.form.name + "." + aOriInput.name, aOriInput.type); + } else if (aKeyCryptHTML5Enable) { + aType = XW_SECUREINPUT_KEYCRYPT_HTML5; + aResult = aOriInput.value.length + "$" + npPfsCtrl.GetReplaceField(aOriInput.form, aOriInput.name) + npPfsCtrl.GetResultField(aOriInput.form, aOriInput.name); + } else if (aIncaNOSv10Enable) { + if(aInputType == "lite") + { + aType = XW_SECUREINPUT_INCAKEYPAD; + aResult = npPfsCtrl.GetEncryptResult(aParentForm, aOriInput.name); + } + else + { + aType = XW_SECUREINPUT_KEYCRYPT_HTML5; + aResult = aOriInput.value.length + "$" + npPfsCtrl.GetReplaceField(aParentForm, aOriInput.name) + npPfsCtrl.GetResultField(aParentForm, aOriInput.name); + } + } else if (aASTxEnable) { + aType = XW_SECUREINPUT_ASTX; + //ASTx 1.2 + //aResult = aASTx_windowid + "$" + aASTx_formid + "$" + aASTx_inputid; + + //ASTx 1.3 + aResult = aASTx_windowid + "$" + aASTx_formid + "$" + $ASTX2.getE2EInputID(aOriInput); + } else if (aTouchEnnxKeyEnable) { + aType = XW_SECUREINPUT_TOUCHENNXKEY; + aResult = aSessionID; + } else if (aKOSKeyEnable && ( (aKOSSessionKey = KOS.getInputSessionKey(aOriInput)) !=null || (aKOSSessionKey = KOS.getInputSessionKey(aOriInput)) !="" ) ) { + aType = XW_SECUREINPUT_KINGSKEY; + aResult = KOS.getInputSessionKey(aOriInput)+ "|" +KOS.getProtectedValue(aOriInput); + console.log("AnySign_input_name:" + aOriInput.name); + console.log("KOS_result:"+aResult); + } else if (aEzKeyTecEnable) { + aType = XW_SECUREINPUT_EZKEYTEC; + aResult = aEzKeyTecInputData; + } else if (!__SANDBOX.allowNormalInput) { + aType = XW_SECUREINPUT_NATIVEINPUT; + return ""; + } else { + aType = XW_SECUREINPUT_NATIVEINPUT; + aResult = aOriInput.value; + } + + if (aResult != null && typeof(aResult) == "string" && aResult.length > 0) { + return aType + "$" + aResult; + } else { + return ""; + } + }, + clear : function () { + if (aTransKeyEnable && document.getElementById(aTransKeyInputID)) { + aTransKey.clear(); + document.getElementById(aTransKeyInputID).value = ""; + } else if (aOpenkeyboardEnable && aOpenkeyboardElement.value.length > 0) { + aOpenkeyboardElement.value = ""; + aOriInput.value = ""; + } else if (aVKeypadEnable) { + aOriInput.value = ""; + npKpd.cls(aOriInput.name, aOriInput.form.name); + } else if (aTouchEnKeyEnable) { + document[aTouchEnKeyName][aTouchEnKeyInputName].value = ""; + } else if (aASTxEnable) { + //ASTx 1.2 + //astxsdk_cleartext(aOriInput); + + //ASTx 1.3 + $ASTX2.clearE2EText(aOriInput); + } else if (aIncaNOSv10KeypadEnable && npVCtrl.isKeypadUse(aOriInput.name)) { + aOriInput.value = ""; + npVCtrl.resetKeypad(aOriInput.name); + } else if (aIncaNOSv10Enable) { + aOriInput.value = ""; + } else if (aEzKeyTecEnable) { + aOriInput.value = ""; + } else if (aXecureKeyPadEnable) { + aXKModule.clear(); + aXKModule.close(); + } else if (aXecureKeyPadHTML5Enable || aXecureKeyPadE2EEnable) { + aXKHTML5Module.clear(); + aXKHTML5Module.close(); + } else { + setTimeout (function () { aOriInput.value = ""; }, 0); //for AOS + } + }, + getElement : function() { + return aOriInput; + }, + onEnterKeyPress : function(aTarget) { + var aInputElement; + + if (aTouchEnKeyEnable) { + aInputElement = document[aTouchEnKeyName][aTouchEnKeyInputName]; + } else { + aInputElement = aOriInput; + } + + aInputElement.onkeypress = function(e) { + if(!e) + e = event; + var aKeyCode = e.which || e.keyCode, + aDispatcher; + + // K-Defense 추가 필요 (플러그인) + //console.log (aKeyCode); + if (aKeyCode == 13) { + //2013.02.15, AI-065, added + if (AnySign.mDivInsertOption == true) { + return false; + } + + aTarget.focus(); + + if (aTarget.dispatchEvent) { + var evt = document.createEvent("HTMLEvents"); + evt.initEvent("click", true, true); + aDispatcher = function () { + //20130325 ldg ie9 enter key can one touch modify + //if (__SANDBOX.isIE () > 0) + if (__SANDBOX.isIE () < 9) + { + return; + } + + aTarget.dispatchEvent(evt); + }; + } + else { + aDispatcher = function () { + aTarget.fireEvent("onclick"); + }; + } + + setTimeout(aDispatcher, 0); // for AOS + + return false; + } + } + }, + getLength : function() { + var aResult = 0; + var aTarget; + if (aTransKeyEnable && document.getElementById(aTransKeyInputID)) { + aTarget = document.getElementById(aTransKeyInputID); + } else if (aTouchEnKeyEnable) { + aTarget = document[aTouchEnKeyName][aTouchEnKeyInputName]; + } else { + aTarget = aOriInput; + } + + if(aTarget || aTarget.value) + aResult = aTarget.value.length; + + return aResult; + }, + focus : function() { + if (aTouchEnKeyEnable) { + if (document[aTouchEnKeyName][aTouchEnKeyInputName].disabled != true) { + document[aTouchEnKeyName][aTouchEnKeyInputName].focus(); + return true; + } + } + else { + if(aOriInput.disabled != true) { + aOriInput.focus(); + return true; + } + } + + return false; + }, + refresh: function() { + //this.clear(); + if (aTransKeyEnable && document.getElementById(aTransKeyInputID)) { + // aTransKey.close(); + } else if (aOpenkeyboardEnable) { + openkeyboard.stop(); + } else if (aXecureKeyPadEnable) { + var xkLayer = document.getElementById("xk-dialog"); + if (xkLayer) + document.body.removeChild(xkLayer); + } + if (aTouchEnKeyEnable) + { + if (navigator.appName == 'Microsoft Internet Explorer' || navigator.userAgent.match('Trident/7.0') || navigator.userAgent.match('MSIE')) + { + if(aTouchEnKeyInputName == 'verifyhsm_tek_input1'||aTouchEnKeyInputName =='certselect_tek_input1' || aTouchEnKeyInputName =='inputpasswd_tek_input1' || aTouchEnKeyInputName == 'certselectwide_tek_input1') + { + setTimeout(function(){TouchEnKey_EnqueueList(aTouchEnKeyName,aTouchEnKeyInputName);}, 0); + } + else if(aTouchEnKeyInputName =='savepasswd_tek_input1') + { + setTimeout(function(){TouchEnkey_EnqueueList_frm(aTouchEnKeyName);}, 0); + } + else + { + setTimeout(function(){document.getElementById("TouchEnKey").ReScanDocument();}, 0); + } + } + else + { //multi browser + setTimeout(function(){TouchEnKey_ApplySecurity();}, 0); + } + } else if (aKDefenseEnable) { + setTimeout(function(){KPluginEventInit();}, 0); + } else if (aTouchEnnxKeyEnable) { + if(aTouchEnKeyInputName == 'verifyhsm_tek_input1'||aTouchEnKeyInputName =='certselect_tek_input1' ||aTouchEnKeyInputName =='certselect_lite_input1' ||aTouchEnKeyInputName =='certselectwide_lite_input1' || aTouchEnKeyInputName =='inputpasswd_tek_input1' || aTouchEnKeyInputName == 'certselectwide_tek_input1') + { + setTimeout(function(){TK_EnqueueList(aTouchEnKeyName,aTouchEnKeyInputName);}, 0); + } + else if(aTouchEnKeyInputName =='savepasswd_tek_input1') + { + setTimeout(function(){TK_EnqueueList_frm(aTouchEnKeyName);}, 0); + } + else + { + setTimeout(function(){TK_Rescan();}, 0); + } + } + }, + enable: function(aEnable) { + if(aOriInput.disabled != true) + { + orgbk = aOriInput.style.backgroundColor; + } + aOriInput.disabled = !aEnable; + if(aEnable) + { + if(orgbk == "") + orgbk = '#FFFFFF'; + aOriInput.style.backgroundColor = orgbk; + } + else + aOriInput.style.backgroundColor ='#EEEEEE'; + if (aTransKeyEnable && aTransKeyCheckbox !=null && typeof(aTransKeyCheckbox) != "undefined") { + aTransKeyCheckbox.style.display = (aEnable == true ? "" : "none"); + } else if (aOpenkeyboardEnable && aOpenkeyboardCheckbox !=null && typeof(aOpenkeyboardCheckbox) != "undefined") { + if (aEnable) openkeyboard.spanEnable(); + else openkeyboard.spanDisable(); + } + }, + finish: function() { + npPfsStartup(document.form, false, true, false, false, "npkencrypt", "Off"); + } + } + } + + // Create Dynamic Filed + var dynamicIndex = 1; + function CreateDynamicFiled() { + var form = aOriInput.form.name; + var name = aOriInput.name; + + // Regist Dynamic Field + npPfsCtrl.RegistDynamicField(form, name); + dynamicIndex++; + } + + function __setAfterAction (aCallbackFunc, aCallbackParam) { + if (AnySign.mAnySignEnable) { + var _CB_external = function (aResult) { + if (aResult == undefined || aResult == 0) { + AnySign.mExtensionSetting.mExternalCallback.result = 0; + aCallbackFunc(aCallbackParam); + } else { + // 외부 함수 실패 (키보드 보안 설치 체크 등) + } + } + + var _Func_external = function (aResult) { + AnySign.mExtensionSetting.mInstallCheck_Level = 0; + if (AnySign.mExtensionSetting.mExternalCallback.func && + AnySign.mExtensionSetting.mExternalCallback.result != 0) + AnySign.mExtensionSetting.mExternalCallback.func(_CB_external); + else + _CB_external(0); + } + + if (!AnySign.mAnySignLoad) { + // StartAnySign 연속 호출 방지 + if (AnySign.mExtensionSetting.mInstallCheck_State == "ANYSIGN4PC_NEED_INSTALL" || AnySign.mExtensionSetting.mInstallCheck_State == "ANYSIGN4PC_NEED_UPDATE") { + var selectResult; + if (typeof AnySign.mLanguage === 'string' && AnySign.mLanguage.toLowerCase() == "ko-kr") + selectResult = confirm(ANYSIGN4PC_INSTALL_MSG); + else + selectResult = confirm(ANYSIGN4PC_INSTALL_MSG_en); + if (selectResult) { + location.href = AnySign.mPlatform.aInstallPage; + } else { + return; + } + } + + AnySign.mExtensionSetting.mInstallCheck_Level = 1; + AnySign.mExtensionSetting.mLoadCallback.func = _Func_external; + AnySign.mExtensionSetting.mLoadCallback.param = ""; + + AnySign.StartAnySign(); + } else { + _Func_external(); + } + } else { + aCallbackFunc (aCallbackParam); + } + } + + function __certSelectDialog (aDialogParam) + { + + var aModule; + var aDialog; + + var aXgateAddress; + var aCAList; + var aCertSerial; + var aCertLocation; + var aPlain; + var aFileInfo; + var aFileHash; + var aOption; + var aForm; + var aData; + var aCert; + var aDescription; + var aLimitTrial, aKeywordTryLimit; + var aHTMLData; + var aCert; + var aUserCallback; + var aErrCallback; + var aMediaID; + var aSubjectDN; + var aCompleteCallback; + var aShowSavePasswdDialog; + var aJobCode; + var aReason; + var aId_num; + var aPEMCert; + + if (aDialogParam.args.userCallback == undefined) + { + alert("user callback error"); + } + + if (aDialogParam.args.errCallback == undefined) + { + aDialogParam.args.errCallback = gErrCallback_common; + } + + aXgateAddress = aDialogParam.args.xgateAddress; + aCAList = aDialogParam.args.caList; + aCertSerial = aDialogParam.args.certSerial; + aCertLocation = aDialogParam.args.certLocation; + aPlain = aDialogParam.args.plain; + aFileInfo = aDialogParam.args.fileInfo; + aFileHash = aDialogParam.args.fileHash; + aInFilePath = aDialogParam.args.inFilePath; + aOutFilePath = aDialogParam.args.outFilePath; + aOption = aDialogParam.args.option; + aForm = aDialogParam.args.form; + aData = aDialogParam.args.data; + aCert = aDialogParam.args.cert; + aDescription = aDialogParam.args.description; + aKeywordTryLimit = aDialogParam.args.keywordTryLimit; + aUserCallback = aDialogParam.args.userCallback; + aErrCallback = aDialogParam.args.errCallback; + aMediaID = aDialogParam.args.mediaID; + aSubjectDN = aDialogParam.args.subjectDN; // TODO Delete + aIssuerRDN = aDialogParam.args.issuerRDN; + aCertSerial = aDialogParam.args.certSerial; + aJobCode = aDialogParam.args.aJobCode; + aReason = aDialogParam.args.aReason; + aCompleteCallback = aDialogParam.args.completeCallback; + aShowSavePasswdDialog = aDialogParam.args.showSavePasswdDialog; + aMultiSignID = aDialogParam.args.multiSignID; + aMultiSignTable = aDialogParam.args.multiSignTable; + aId_num = aDialogParam.args.vid; + aFuncname = aDialogParam.args.funcname; + + function onconfirm_common (aResult) + { + if (aResult.dialog) + aResult.dialog.dispose (); + aDialog.dispose (); + aUserCallback(aResult); + } + + + function onconfirm_sign (aSelectResult) + { + var aSignedData = ""; + var aMediaType; + + aMediaType = Math.floor(parseInt(aSelectResult.mediaID, 10) / 100) * 100; + + if (aMediaType == XW_CERT_LOCATION_WEBPAGE) + { + var aResult = {}; + aResult.subjectDn = aSelectResult.subjectRDN; + aResult.issuerDn = aSelectResult.issuerRDN; + aResult.serial = aSelectResult.certSerial; + + var aInput = aSelectResult.passwd.split("$"); + if (aInput.length == 2) { + if (parseInt(aInput[0]) == XW_SECUREINPUT_XECUREKEYPADE2E) { + var aKeypadInput = aInput[1].split("|"); + aResult.keypadType = "XECUREKEYPAD"; + aResult.keypadSessionId = aKeypadInput[0]; + aResult.keypadSessionToken = aKeypadInput[1]; + aResult.pwd = aKeypadInput[2]; + } else { + aResult.pwd = aInput[1]; + } + } + + if (!AnySign.mDivInsertOption) { + aDialog.dispose (); + } + aUserCallback(aResult); + return; + } + + if (aSelectResult.passwd == "" && aMediaType != XW_CERT_LOCATION_PKCS11 && aMediaType != XW_CERT_LOCATION_MPHONE && aMediaType != XW_CERT_LOCATION_SECUREDISK) + { + alert("Please enter the password that required to sign the certificate."); + return; + } + + if (aSelectResult.passwdResult == -3) + { + if (!AnySign.mDivInsertOption) { + aDialog.dispose (); + } + return; + } + + if (aFuncname == "SignFileInfo" || + aFuncname == "SignFileInfoWithSerial" || + aFuncname == "SignFileInfoWithVID_Serial") + { + _getCertTree (); + } + else + { + _sign (); + } + + var aFileInfoData = ""; + function _getCertTree() { + var aHashValue = ""; + + _getCertTreeCallback = function (result) + { + if (__SANDBOX.isFailed (result, aErrCallback)) + { + _final(); + _close(); + return; + } + + aHashValue = _getSearchHashValue(result, aFileHash); + if (aHashValue == "") + { + _errCallback = function () + { + __SANDBOX.isFailed (aHashValue, aErrCallback); + _final(); + _close(); + } + + __SANDBOX.upInterface().setError(XW_ERROR_PLUGINS_INPUTNULL, _errCallback); + return; + } + + aFileInfoData = aFileInfo + "|" + aHashValue; + _sign(); + } + + __SANDBOX.upInterface().getCertTree (aSelectResult.mediaID, + 2, + 24, + 0, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + _getCertTreeCallback); + } + + function _sign() { + gStartGuideDialog(); + + /*****************************************************************************/ + __resultCheckFun = function (aResult) + { + gEndGuideDialog(); + + if (aSelectResult.mediaID == XW_CERT_LOCATION_MPHONE + 1) { + aErrCallback = null; + } + + if (aResult == "") { + + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + + if (aErrorObject.code == XW_ERROR_SIGN_DUPLICATE_CERT) { + aSelectResult.callback(); + alert (aErrorObject.msg.replace(/\\n/g, '\r\n')); + if (aSelectResult.dialog) + aSelectResult.dialog.dispose (); + } else if (aErrorObject.code != "0") { + _close(); + + if (aErrCallback) { + aErrCallback (aErrorObject); + } + } + + _final(); + } + else + { + _close(); + + var _setCertLocation_callback = function () { + if (aOption & XW_OPTION_PKCS1_ADD) { // jkpark - VID 미지원 + aSignedData = aResult; + _getCertPEM(aSignedData); + } else if (aOption & XW_FVIEW_CREATE_VID) { + _inputVid(aResult); + } else { + gPlainFilePath = ""; + gSignedFilePath = ""; + _done(aResult); + } + } + + _setCertLocation (aXgateAddress, aSelectResult.mediaID, aOption, _setCertLocation_callback); + } + } + /*****************************************************************************/ + + if (aFuncname == "SignFileInfo" || + aFuncname == "SignFileInfoWithSerial" || + aFuncname == "SignFileInfoWithVID_Serial") + { + __SANDBOX.upInterface().signFileInfo (aXgateAddress, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aFileInfoData, + aOption, + 0, + __resultCheckFun); + } + else if (aFuncname == "SignFileEx" || + aFuncname == "SignFileExWithVID") + { + __SANDBOX.upInterface().signFileEx (aXgateAddress, + aInFilePath, + aOutFilePath, + (aSelectResult.mediaID == undefined) ? "" : aSelectResult.mediaID, + (aSelectResult.issuerRDN == undefined) ? "" : aSelectResult.issuerRDN, + (aSelectResult.certSerial == undefined) ? "" : aSelectResult.certSerial, + (aSelectResult.withPFX == true) ? aSelectResult.pfxPath : "", + (aMediaType == XW_CERT_LOCATION_PKCS11) ? aSelectResult.pin : aSelectResult.passwd, + aOption, + aDescription, + __resultCheckFun); + } + else // SignData + { + if (aFuncname == "SignDataAdd" || aFuncname =="SignDataAddWithVID_Serial") + { + if (aSelectResult.withPFX) + { + __SANDBOX.upInterface().signDataWithPFX (aPlain, + aSelectResult.pfxPath, + aSelectResult.passwd, + aOption, + 1, + __resultCheckFun); + } + else + { + __SANDBOX.upInterface().signDataAdd (aXgateAddress, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aPlain, + aOption, + __resultCheckFun); + } + } + else + { + if (aSelectResult.withPFX) + { + __SANDBOX.upInterface().signDataWithPFX (aPlain, + aSelectResult.pfxPath, + aSelectResult.passwd, + aOption, + 0, + __resultCheckFun); + } + else + { + + __SANDBOX.upInterface().signDataCMS (aXgateAddress, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aPlain, + aOption, + __resultCheckFun); + } + } + } + } + + function _inputVid(aResult) { + var aVid; + aSignedData = aResult; + + var _verifyvid = function() { + if( (aDialogParam.args.option & XW_FVIEW_CREATE_VID_FROM_WEB) || (aDialogParam.args.option & XW_FVIEW_CREATE_VID_NO_IDN) ) + { + if (aDialogParam.args.option & XW_FVIEW_CREATE_VID_NO_IDN) + { + aVid = ""; + } + else if (aDialogParam.args.funcname == "SignDataWithVID_Serial" || + aDialogParam.args.funcname == "SignDataAddWithVID_Serial" || + aDialogParam.args.funcname == "SignFileInfoWithVID_Serial" || + aDialogParam.args.funcname == "SignFileExWithVID") + { + aVid = aDialogParam.args.idn; + } + _setVid (aSignedData, aVid); + } + else + { + var guideDialog; + var aInputType = __SANDBOX.getInputType(aSelectResult.mediaID); + + var module = __SANDBOX.loadModule("verifyvid"); + //AnySign.SetUITarget (aDialog.getUITarget()); + var vidDialog = module({ + width: 350, + height: 100, + onconfirm: function(aResult) { _setVid(aSignedData, aResult); vidDialog.dispose(); }, + oncancel: function() { _final(); vidDialog.dispose(); }, + args: {inputType: aInputType} + }); + + vidDialog.show(); + } + } + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + + _logoutTokenCallback = function () { + _input_iccard(); + } + + _loginTokenCallback = function (result) { + guideDialog.dispose (); + + if(result != 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + + __SANDBOX.upInterface().logoutStoreToken (aSelectResult.mediaID, _logoutTokenCallback); + } else { + _verifyvid(); + } + } + + _input_iccard = function () { + var aICCardType; + if (aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + aICCardType = "kepco"; + else + aICCardType = "iccard"; + + var iccardModule = __SANDBOX.loadModule("iccard"); + var iccardDialog = iccardModule({ + type: aICCardType, + args: { }, + onconfirm: function (aPin) { + var guideModule; + guideModule = __SANDBOX.loadModule("guidewindow"); + guideDialog = guideModule({ + type: "request", + args: "", + onconfirm: "", + oncancel: function () {guideDialog.dispose();} + }); + + if (guideDialog) + guideDialog.show(); + + __SANDBOX.upInterface().loginStoreToken (aSelectResult.mediaID, aPin, 1, _loginTokenCallback); + + iccardDialog.dispose(); + }, + oncancel: function () { + _final(); + iccardDialog.dispose(); + } + }); + + iccardDialog.show(); + } + + _input_iccard(); + } else { + _verifyvid(); + } + } + + function _setVid (aResult, aVid) { + var guideModule, guideDialog = null; + + aSignedData = aResult; + + /******************************************************************************************/ + _envelopIdNumCallback = function (result) + { + if (guideDialog) + guideDialog.dispose (); + /* + if ( __SANDBOX.isFailed(result, aErrCallback) ) + { + _final(); + return; + } + */ + _done(aSignedData); + } + /******************************************************************************************/ + + + /******************************************************************************************/ + _setIdNumCallback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + { + _final(); + return; + } + + if (aSelectResult.withPFX) + { + __SANDBOX.upInterface().envelopIdNumWithPFX (aSelectResult.pfxPath, + aSelectResult.passwd, + aCert, + _envelopIdNumCallback); + } + else + { + __SANDBOX.upInterface().envelopIdNum (aXgateAddress, + null, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aCert, + _envelopIdNumCallback); + } + } + /******************************************************************************************/ + + if (aFuncname == "SignFileExWithVID") + { + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD || aMediaType == XW_CERT_LOCATION_PKCS11) + { + guideModule = __SANDBOX.loadModule("guidewindow"); + guideDialog = guideModule({ + type: "request", + args: "", + onconfirm: "", + oncancel: function () {guideDialog.dispose();} + }); + + if (guideDialog) + guideDialog.show(); + } + + __SANDBOX.upInterface().envelopIdNumEx (aXgateAddress, + (aSelectResult.mediaID == undefined) ? "" : aSelectResult.mediaID, + (aSelectResult.issuerRDN == undefined) ? "" : aSelectResult.issuerRDN, + (aSelectResult.certSerial == undefined) ? "" : aSelectResult.certSerial, + (aSelectResult.pfxPath == undefined) ? "" : aSelectResult.pfxPath, + (aMediaType == XW_CERT_LOCATION_PKCS11) ? aSelectResult.pin : aSelectResult.passwd, + aVid, + aCert, + 0, + _envelopIdNumCallback); + } + else + { + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + { + guideModule = __SANDBOX.loadModule("guidewindow"); + guideDialog = guideModule({ + type: "request", + args: "", + onconfirm: "", + oncancel: function () {guideDialog.dispose();} + }); + + if (guideDialog) + guideDialog.show(); + } + + __SANDBOX.upInterface().setIdNum (aVid, _setIdNumCallback); + } + } + + function _done(aResult) { + if (aFuncname == "SignFileEx" || + aFuncname == "SignFileExWithVID") { + if (aOption & XW_OPTION_FCMS_CACHE_CERTINFO) { + __SANDBOX.clearCacheCert (); + __SANDBOX.cacheCertData.mediaID = aSelectResult.mediaID; + __SANDBOX.cacheCertData.issuerRDN = aSelectResult.issuerRDN; + __SANDBOX.cacheCertData.certSerial = aSelectResult.certSerial; + __SANDBOX.cacheCertData.pfxPath = (aSelectResult.withPFX == true) ? aSelectResult.pfxPath : ""; + __SANDBOX.cacheCertData.passwd = (aMediaType == XW_CERT_LOCATION_PKCS11) ? aSelectResult.pin : aSelectResult.passwd; + } + } + + if (aSelectResult.dialog) + aSelectResult.dialog.dispose (); + + if (!AnySign.mDivInsertOption) { + if (aDialog) + aDialog.dispose (); + } + + if (AnySign.mAnySignEnable) + __SANDBOX.extension.resetErrAndMsg (); + + var _done_logout = function () + { + aUserCallback (aResult); + } + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + { + __SANDBOX.upInterface().logoutStoreToken(aSelectResult.mediaID, _done_logout); + } + else if (aMediaType == XW_CERT_LOCATION_PKCS11) + { + if ((aSelectResult.smartCert == true) && (aOption & XW_OPTION_CACHE_SMARTCERT)) { + __SANDBOX.cacheSmartCert = aSelectResult.smartCert; + _done_logout(); + } else { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aSelectResult.mediaID, _done_logout); + } + } + else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) + { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aSelectResult.providerName, _done_logout); + } + else + { + aUserCallback (aResult); + } + } + + function _final() { + var _final_done = function () {} + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + __SANDBOX.upInterface().logoutStoreToken(aSelectResult.mediaID, _final_done); + } + + if (aMediaType == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aSelectResult.mediaID, _final_done); + } + + if (aMediaType == XW_CERT_LOCATION_SECUREDISK) { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aSelectResult.providerName, _final_done); + } + } + + function _close() { + if (aSelectResult.dialog) + aSelectResult.dialog.dispose (); + + if (!AnySign.mDivInsertOption) { + if (aDialog) + aDialog.dispose (); + } + } + + /******************************************************************************** + * function add, 2016.2.19, ymkim + *******************************************************************************/ + function _getCertPEM(aSignedData) { + var _getCertPEMCallBack = function (result) { + aSignedData = aSignedData + "|" + aSelectResult.subjectRDN + "|" + aSelectResult.certSerial + "|" + result; + + _done(aSignedData); + } + + __SANDBOX.upInterface().getCertPEM (aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + 0, + _getCertPEMCallBack); + } + + } + + function onconfirm_filesign(aResult) + { + /******************************************************************************** + * signFile callback function + *******************************************************************************/ + var _signFile_callback = function () + { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + if (aErrorObject.code != 0) + { + aErrCallback (aErrorObject); + return; + } + + gPlainFilePath = ""; + gSignedFilePath = ""; + + var _final = function () { + aUserCallback (0); + if (!AnySign.mDivInsertOption) + aDialog.dispose (); + } + + if ((Math.floor(aResult.mediaID / 100) * 100) == XW_CERT_LOCATION_PKCS11) + __SANDBOX.upInterface().finalizePKCS11FromIndex (aResult.mediaID, _final); + else + _final (); + } + /*****************************************************************************/ + + if (aResult.mediaID == XW_CERT_LOCATION_MPHONE + 1) + { + alert("not supported media ID"); + return; + } + + __SANDBOX.upInterface().signFile (aXgateAddress, + aResult.mediaID, + aResult.issuerRDN, + aResult.certSerial, + aResult.passwd, + gPlainFilePath, + gSignedFilePath, + aOption, + _signFile_callback); + } + + function onconfirm_vid(aResult) + { + if (aResult.passwdResult == -3) + { + aDialog.dispose (); + return; + } + aDialogParam.args.mediaID = aResult.mediaID; + aDialogParam.args.issuerRDN = aResult.issuerRDN; + aDialogParam.args.certSerial = aResult.certSerial; + aDialogParam.args.passwd = aResult.passwd; + if(aResult.withPFX) + { + aDialogParam.args.withPFX = aResult.withPFX; + aDialogParam.args.pfxPath = aResult.pfxPath; + } + + if( (aDialogParam.args.option & XW_FVIEW_CREATE_VID_FROM_WEB) || (aDialogParam.args.option & XW_FVIEW_CREATE_VID_NO_IDN) ) + { + if (aDialogParam.args.option & XW_FVIEW_CREATE_VID_NO_IDN) + { + aDialogParam.args.vid = ""; + } + else + { + aDialogParam.args.vid = aDialogParam.args.idn; + } + aDialogParam.args.completeCallback(aDialogParam); + } + else + { + var aInputType = __SANDBOX.getInputType(aDialogParam.args.mediaID); + + var module = __SANDBOX.loadModule("verifyvid"); + AnySign.SetUITarget (aDialog.getUITarget()); + var dialog = module({ + width: 350, + height: 100, + onconfirm: function(aResult) { + aDialogParam.args.vid = aResult; + aDialogParam.args.completeCallback(aDialogParam); + dialog.dispose(); + }, + oncancel: function() { dialog.dispose(); }, + args: {inputType: aInputType} + }); + dialog.show(); + } + aDialog.dispose(); + } + + function onconfirm_multi (aSelectResult) + { + var aCount = 1; + var aSignedData; + var aCertInfo = ""; + var aMediaType = Math.floor(parseInt(aSelectResult.mediaID, 10) / 100) * 100; + var aAddOption = false; + if (aMediaType == XW_CERT_LOCATION_YESSIGNM && !(aOption & 4)) + { + aOption = aOption + 4; + aAddOption = true; + } + + if (aSelectResult.passwd == "" && aMediaType != XW_CERT_LOCATION_PKCS11 && aMediaType != XW_CERT_LOCATION_MPHONE && aMediaType != XW_CERT_LOCATION_SECUREDISK) + { + alert("Please enter the password that required to sign the certificate."); + return; + } + + if (aSelectResult.passwdResult == -3) + { + if (!AnySign.mDivInsertOption) { + aDialog.dispose (); + } + return; + } + + + var _getCertTree = function() + { + __SANDBOX.upInterface().getCertTree (aSelectResult.mediaID, + 2, + 24, + 0, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + _getCertTreeCallback); + } + + var _getCertTreeCallback = function(result) + { + if (__SANDBOX.isFailed (result, aErrCallback)) + { + _close (); + return; + } + + aCertInfo = result; + + _signDataCMS (); + } + + var _close = function () + { + if (aSelectResult.dialog) + aSelectResult.dialog.dispose (); + + if (!AnySign.mDivInsertOption) + aDialog.dispose (); + } + + var _final = function (aCallback) { + var _final_done = function () { + if (aCallback) + aCallback(); + } + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + __SANDBOX.upInterface().logoutStoreToken(aSelectResult.mediaID, _final_done); + } else if (aMediaType == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aSelectResult.mediaID, _final_done); + } else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aSelectResult.providerName, _final_done); + } else { + _final_done (); + } + } + + var _signDataCMS_callback = function (signed) + { + if (__SANDBOX.isFailed(signed, aErrCallback)) + { + _final (); + _close (); + return; + } + + aMultiSignTable.setSignedData(aMultiSignID, signed); + + if (aCount == aMultiSignTable.sizeOfPlain(aMultiSignID) || aSelectResult.mediaID == XW_CERT_LOCATION_MPHONE + 1) + { + _close (); + + var _userCallback = function () { + if (aSelectResult.mediaID == XW_CERT_LOCATION_MPHONE + 1) + aUserCallback (1); + else + aUserCallback (0); + } + + var _setCertLocation_callback = function () { + + if (aOption & XW_FVIEW_CREATE_VID) { + _inputVid(); + } else { + _final (_userCallback); + } + } + + _setCertLocation (aXgateAddress, aSelectResult.mediaID, aOption, _setCertLocation_callback); + } + else + { + aCount++; + if (aMediaType == XW_CERT_LOCATION_PKCS11 && aSelectResult.smartCert != true) + _final (_loginPKCS11); + else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) + _final (_loginSecureDisk); + else + _signDataCMS (); + } + } + + var _loginPKCS11 = function () // 오류 처리 없음 + { + __SANDBOX.upInterface().loginPKCS11FromIndex (aSelectResult.mediaID, + aSelectResult.pin, + _signDataCMS); + } + + var _loginSecureDisk = function () + { + __SANDBOX.upInterface().loginSecureDiskFromIndex (aSelectResult.mediaID, + aSelectResult.pin, + aSelectResult.subjectRDN, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + 0, + _signDataCMS); + } + + var _signDataCMS = function () + { + var aPlainMsg = ""; + if (aSelectResult.mediaID == XW_CERT_LOCATION_MPHONE + 1) + { + aOption = 67108864; + for (var i = 0; i < aMultiSignTable.sizeOfPlain(aMultiSignID); i++) + { + aPlainMsg += aMultiSignTable.getPlainData (aMultiSignID, i); + if (aMultiSignTable.getPlainData(aMultiSignID, i+1)) + aPlainMsg += "||"; + } + } + else + { + aPlainMsg = aMultiSignTable.getPlainData (aMultiSignID, aCount-1); + } + + if (aFuncname == "MultiSignFileInfo" || + aFuncname == "MultiSignFileInfoWithSerial" || + aFuncname == "MultiSignFileInfoWithVID_Serial") + { + var aFileInfoData = ""; + var aHashValue = ""; + + aFileHash = aMultiSignTable.getPlainData2 (aMultiSignID, aCount-1); + aHashValue = _getSearchHashValue(aCertInfo, aFileHash); + if (aHashValue == "") + { + _errCallback = function () + { + __SANDBOX.isFailed (aHashValue, aErrCallback); + _close (); + } + + __SANDBOX.upInterface().setError(XW_ERROR_PLUGINS_INPUTNULL, _errCallback); + return; + } + aFileInfoData = aPlainMsg + "|" + aHashValue; + + __SANDBOX.upInterface().signFileInfo (aXgateAddress, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aFileInfoData, + aOption, + 0, + _signDataCMS_callback); + } + else + { + if (aSelectResult.withPFX) + { + __SANDBOX.upInterface().signDataWithPFX (aPlainMsg, + aSelectResult.pfxPath, + aSelectResult.passwd, + aOption, + 0, + _signDataCMS_callback); + } + else + { + if (aCount == aMultiSignTable.sizeOfPlain(aMultiSignID) && aAddOption == true) + aOption = aOption - 4; + + __SANDBOX.upInterface().signDataCMS (aXgateAddress, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aPlainMsg, + aOption, + _signDataCMS_callback); + } + } + } + + function _inputVid() { + var aVid; + + var _verifyvid = function() { + if( (aDialogParam.args.option & XW_FVIEW_CREATE_VID_FROM_WEB) || (aDialogParam.args.option & XW_FVIEW_CREATE_VID_NO_IDN) ) + { + if (aDialogParam.args.option & XW_FVIEW_CREATE_VID_NO_IDN) + { + aVid = ""; + } + else if (aDialogParam.args.funcname == "MultiSignExWithVID_Serial" || + aDialogParam.args.funcname == "MultiSignFileInfoWithVID_Serial") + { + aVid = aDialogParam.args.idn; + } + _setVid ( aVid); + } + else + { + var guideDialog; + var aInputType = __SANDBOX.getInputType(aSelectResult.mediaID); + + var module = __SANDBOX.loadModule("verifyvid"); + //AnySign.SetUITarget (aDialog.getUITarget()); + var vidDialog = module({ + width: 350, + height: 100, + onconfirm: function(aResult) { _setVid( aResult); vidDialog.dispose(); }, + oncancel: function() { _final(); vidDialog.dispose(); }, + args: {inputType: aInputType} + }); + + vidDialog.show(); + } + } + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + + _logoutTokenCallback = function () { + _input_iccard(); + } + + _loginTokenCallback = function (result) { + guideDialog.dispose (); + + if(result != 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + + __SANDBOX.upInterface().logoutStoreToken (aSelectResult.mediaID, _logoutTokenCallback); + } else { + _verifyvid(); + } + } + + _input_iccard = function () { + var aICCardType; + if (aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + aICCardType = "kepco"; + else + aICCardType = "iccard"; + + var iccardModule = __SANDBOX.loadModule("iccard"); + var iccardDialog = iccardModule({ + type: aICCardType, + args: { }, + onconfirm: function (aPin) { + var guideModule; + guideModule = __SANDBOX.loadModule("guidewindow"); + guideDialog = guideModule({ + type: "request", + args: "", + onconfirm: "", + oncancel: function () {guideDialog.dispose();} + }); + + if (guideDialog) + guideDialog.show(); + + __SANDBOX.upInterface().loginStoreToken (aSelectResult.mediaID, aPin, 1, _loginTokenCallback); + + iccardDialog.dispose(); + }, + oncancel: function () { + _final(); + iccardDialog.dispose(); + } + }); + + iccardDialog.show(); + } + + _input_iccard(); + } else { + _verifyvid(); + } + } + + function _setVid ( aVid) { + var guideModule, guideDialog = null; + + /******************************************************************************************/ + _envelopIdNumCallback = function (result) + { + if (guideDialog) + guideDialog.dispose (); + /* + if ( __SANDBOX.isFailed(result, aErrCallback) ) + { + return; + } + */ + var _userCallback = function () { + if (aSelectResult.mediaID == XW_CERT_LOCATION_MPHONE + 1) + aUserCallback (1); + else + aUserCallback (0); + } + + _final (_userCallback); + } + /******************************************************************************************/ + + + /******************************************************************************************/ + _setIdNumCallback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + { + _final(); + return; + } + + if (aSelectResult.withPFX) + { + __SANDBOX.upInterface().envelopIdNumWithPFX (aSelectResult.pfxPath, + aSelectResult.passwd, + aCert, + _envelopIdNumCallback); + } + else + { + __SANDBOX.upInterface().envelopIdNum (aXgateAddress, + null, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aCert, + _envelopIdNumCallback); + } + } + /******************************************************************************************/ + + { + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + { + guideModule = __SANDBOX.loadModule("guidewindow"); + guideDialog = guideModule({ + type: "request", + args: "", + onconfirm: "", + oncancel: function () {guideDialog.dispose();} + }); + + if (guideDialog) + guideDialog.show(); + } + + __SANDBOX.upInterface().setIdNum (aVid, _setIdNumCallback); + } + } + + if (aFuncname == "MultiSignFileInfo" || + aFuncname == "MultiSignFileInfoWithSerial" || + aFuncname == "MultiSignFileInfoWithVID_Serial") + { + _getCertTree (); + } + else + { + _signDataCMS (); + } + } + + function onconfirm_multifilesign (aResult) + { + var aCount = 1, + aSignedFilePath, + aSignFilePath; + + if (aResult.passwdResult == -3) + { + aDialog.dispose(); + return; + } + + var _signFile_callback = function (signed) + { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + if (aErrorObject.code != 0) + { + aErrCallback (aErrorObject); + return; + } + + aMultiSignTable.setSignedData(aMultiSignID, aSignedFilePath); + + if (aCount == aMultiSignTable.sizeOfPlain(aMultiSignID)) + { + aUserCallback(0); + aDialog.dispose(); + } + else + { + aCount++; + _signFile (); + } + } + + var _signFile = function () + { + aSignedFilePath = aSignFilePath = aMultiSignTable.getPlainData (aMultiSignID, aCount-1); + aSignedFilePath += ".sig"; + + __SANDBOX.upInterface().signFile (aXgateAddress, + aResult.mediaID, + aResult.issuerRDN, + aResult.certSerial, + aResult.passwd, + aSignFilePath, + aSignedFilePath, + aOption, + _signFile_callback); + } + + _signFile (); + } + + function onconfirm_renew (aResult) + { + if (aResult.passwdResult == -3) + { + aDialog.dispose (); + return; + } + aDialogParam.args.mediaID = aResult.mediaID; + aDialogParam.args.providerName = aResult.providerName; + aDialogParam.args.oldPasswd = aResult.passwd; + aDialogParam.args.issuerRDN = aResult.issuerRDN; + aDialogParam.args.certSerial = aResult.certSerial; + aDialogParam.args.dialog = aResult.dialog; + + var aMediaType = Math.floor(parseInt(aResult.mediaID, 10) / 100) * 100; + if((aMediaType == XW_CERT_LOCATION_PKCS11 || aMediaType == XW_CERT_LOCATION_SECUREDISK) && AnySign.mShowRenewCertSaveLoc == false) { + aDialogParam.args.newPasswd = ""; + aDialogParam.args.completeCallback(aDialogParam); + } else { + AnySign.SetUITarget(aDialog.getUITarget()); + aDialogParam.args.showSavePasswdDialog(aDialogParam); + } + + aDialog.dispose (); + } + + function onconfirm_revoke (aResult) + { + if (aResult.passwdResult == -3) + { + aDialog.dispose (); + return; + } + + aDialogParam.args.mediaID = aResult.mediaID; + aDialogParam.args.providerName = aResult.providerName; + aDialogParam.args.issuerRDN = aResult.issuerRDN; + aDialogParam.args.certSerial = aResult.certSerial; + aDialogParam.args.oldPasswd = aResult.passwd; + aDialogParam.args.dialog = aResult.dialog; + + aDialogParam.args.completeCallback(aDialogParam); + aDialog.dispose (); + + } + + function oncancel_common () + { + aDialog.dispose (); + } + + function oncancel_sign () + { + var aErrorObject; + gTarget = aDialog.getUITarget(); + aDialog.dispose(); + } + + function oncancel_signfileex () + { + aDialog.dispose(); + aUserCallback(-1); // 추가 서명 시에 취소 시는 성공 처리 + } + + function oncancel_filesign () + { + aDialog.dispose (); + } + + function onconfirm_certPath (aSelectResult) + { + var aSignedData = ""; + _CB_getCertPath = function (aResult) + { + if (!__SANDBOX.isFailed (aResult, aErrCallback)) { + aDialog.dispose (); + aUserCallback (aResult, aSignedData); + } + else { + aDialog.dispose (); + } + } + + _CB_signDataCMS = function (aResult) + { + aSignedData = aResult; + + __SANDBOX.upInterface().getCertPath (aSelectResult.mediaID, + Number(2), + aSelectResult.issuerRDN, + aSelectResult.certSerial, + _CB_getCertPath); + } + + __SANDBOX.upInterface().signDataCMS (aXgateAddress, + aSelectResult.mediaID, + aSelectResult.issuerRDN, + aSelectResult.certSerial, + aSelectResult.passwd, + aPlain, + aOption, + _CB_signDataCMS); + } + + switch (aDialogParam.args.funcname) + { + case "SignFile": + aDialogParam.onconfirm = onconfirm_filesign; + aDialogParam.oncancel = oncancel_filesign; + break; + case "SignDataCMS": + case "SignDataAdd": + case "SignDataCMSWithSerial": + case "SignDataWithVID_Serial": + case "SignDataAddWithVID_Serial": + case "SignDataCMSWithHTMLEx": + case "SignDataCMSWithHTMLExAndSerial": + case "SignFileInfo": + case "SignFileInfoWithSerial": + case "SignFileInfoWithVID_Serial": + aDialogParam.onconfirm = onconfirm_sign; + aDialogParam.oncancel = oncancel_sign; + break; + case "SignFileEx": + case "SignFileExWithVID": + aDialogParam.onconfirm = onconfirm_sign; + aDialogParam.oncancel = oncancel_signfileex; + break; + case "MultiFileSign": + aDialogParam.onconfirm = onconfirm_multifilesign; + aDialogParam.oncancel = oncancel_sign; + break; + case "MultiSignEx": + case "MultiSignExWithSerial": + case "MultiSignExWithVID_Serial": + case "MultiSignFileInfo": + case "MultiSignFileInfoWithSerial": + case "MultiSignFileInfoWithVID_Serial": + aDialogParam.onconfirm = onconfirm_multi; + aDialogParam.oncancel = oncancel_sign; + break; + case "RenewCertificate": + aDialogParam.onconfirm = onconfirm_renew; + aDialogParam.oncancel = oncancel_common; + break; + case "RevokeCertificate": + aDialogParam.onconfirm = onconfirm_revoke; + aDialogParam.oncancel = oncancel_common; + break; + case "RequestCertificateEx": + break; + case "GetCertPath": + aDialogParam.onconfirm = onconfirm_certPath; + aDialogParam.oncancel = oncancel_common; + break; + default: + //case "EnvelopeDataWithCert": + //case "DeEnvelopeDataWithCert": + aDialogParam.onconfirm = onconfirm_common; + aDialogParam.oncancel = oncancel_common; + break; + } + + if (AnySign.mDivInsertOption == 1) { + aModule = loadModule ("certselectwide"); + } else { + aModule = loadModule ("certselect"); + } + + aDialog = aModule (aDialogParam); + if (aDialog) aDialog.show(); + aDialogParam.dialog = aDialog; + //return aDialog; + } + + function __showCertselectDialogCommon (aDialogParam, aType) { + var aCallbackFunc; + if (aType == 2) { + aCallbackFunc = __showCertselectDialogCommon2_after; + } else { + aCallbackFunc = __showCertselectDialogCommon_after; + } + + __setAfterAction (aCallbackFunc, aDialogParam); + } + + function __showCertselectDialogCommon_after (aDialogParam) + { + var aDataArray; + var aFormArray; + var aHTMLData; + + if (aDialogParam.args.storage) + __SANDBOX.refreshCertLocationSet (aDialogParam.args.storage); + else + __SANDBOX.refreshCertLocationSet (aStorage); + + if (aDialogParam.args.caList) + { + aDialogParam.args.searchCondition = 20; + } + + switch (aDialogParam.args.funcname) + { + case "SignDataCMSWithHTMLEx": + case "SignDataCMSWithHTMLExAndSerial": + var aDelimiter = AnySign.mSignHTMLOption.aDelimiter; + var aStringFormat = AnySign.mSignHTMLOption.aStringFormat; + + aDataArray = aDialogParam.args.data.split(aDelimiter); + aFormArray = aDialogParam.args.form.split(aStringFormat); + aHTMLData = ""; + + for (var aIter = 0; aIter < aFormArray.length; aIter++) { + aHTMLData += aFormArray[aIter]; + if (aIter < aFormArray.length - 1 && aDataArray[aIter]) + aHTMLData += aDataArray[aIter]; + } + aDialogParam.args.plain = aDialogParam.args.data; + if (AnySign.mUseIframeData == true) + aDialogParam.args.htmlData = aHTMLData; + else + aDialogParam.args.htmlDataToText = aHTMLData; + break; + } + + var optionCase = 0x01 & aDialogParam.args.option; + switch (optionCase) + { + case 1: // confirmwindow + // begin case 1 + var aModule = loadModule ("confirmwindow"); + var aDialog = aModule ( + { + width: 400, + height: 80, + onconfirm: function () { + aDialog.dispose (); + AnySign.SetUITarget (aDialog.getUITarget()); + __SANDBOX.certSelectDialog(aDialogParam); + return; + }, + oncancel: function () { + aDialog.dispose (); + return; + } + + ,args: {certSelectDialogParam: aDialogParam} + }); + if (aDialog) aDialog.show(); + // end case 1 + break; + case 0: // no confirmwindow + default: + __SANDBOX.certSelectDialog(aDialogParam); + break; + } + } + + function __inputPasswdDialog(aDialogParam) + { + var aInputType = __SANDBOX.getInputType(aDialogParam.args.mediaID); + var aPasswordModule = __SANDBOX.loadModule("inputpasswd"); + var aInputPasswdDialog = aPasswordModule ({ + width: aDialogParam.width, + height: aDialogParam.height, + onconfirm: function (aResult) { + aInputPasswdDialog.dispose(); + aDialogParam.args.userCallback (aResult); + }, + oncancel: function (e) { + aInputPasswdDialog.dispose(); + aDialogParam.args.errCallback (-1); + }, + args: {messageType: aDialogParam.args.messageType, inputType: aInputType} + }); + + if (aInputPasswdDialog) aInputPasswdDialog.show(); + } + + function __verifyVidDialog(aDialogParam) + { + var aInputType = __SANDBOX.getInputType(aDialogParam.args.mediaID); + var aVerifyVidModule = __SANDBOX.loadModule("verifyvid"); + var aVerifyVidDialog = aVerifyVidModule({ + onconfirm: function (aResult) { + aVerifyVidDialog.dispose(); + aDialogParam.args.userCallback (aResult); + }, + oncancel: function (e) { + aVerifyVidDialog.dispose(); + aDialogParam.args.errCallback (-1); + }, + args: {inputType: aInputType} + }); + + if (aVerifyVidDialog) aVerifyVidDialog.show(); + } + + function __showCertselectDialogCommon2_after(aDialogParam) + { + var aResult = ""; + var aSignCount = 0; + var aInputFilePath = aDialogParam.args.inFilePath; + var aOutputFilePath = aDialogParam.args.outFilePath; + var aSignFileOption = aDialogParam.args.option; + var aUserCallback = aDialogParam.args.userCallback; + var aErrCallback = aDialogParam.args.errCallback; + + var _certSelectAndSignFile = function () { + + aDialogParam.args.inFilePath = aInputFilePath; + aDialogParam.args.outFilePath = aOutputFilePath; + aDialogParam.args.option = aSignFileOption; + aDialogParam.args.userCallback = _certSelectAndSignFile_userCallback; + aDialogParam.args.errCallback = _certSelectAndSignFile_errCallback; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + } + + var _certSelectAndSignFile_errCallback = function(result) { + aErrCallback (result); + } + + var _certSelectAndSignFile_userCallback = function(result) { + if (result == -1) { // cancel + if (aSignCount > 0) + aUserCallback (aResult); + } else if (aSignFileOption & XW_OPTION_SIGN_ADD && + !(aSignFileOption & XW_OPTION_SIGN_DETACHED) && + !(aSignFileOption & XW_OPTION_SIGN_DETACHED_BASE64)) + { + if (aSignCount == 0) { + aInputFilePath = result; + aResult = result; + + if (!(aSignFileOption & XW_OPTION_NO_SELECTFILE)) + aSignFileOption += XW_OPTION_NO_SELECTFILE; + if (aSignFileOption & XW_OPTION_TEMP_SAVE) + aSignFileOption -= XW_OPTION_TEMP_SAVE; + if (aSignFileOption & XW_OPTION_CHECK_WRITE_FILE) + aSignFileOption -= XW_OPTION_CHECK_WRITE_FILE; + } + aSignCount++; + _confirmNextCert (); + } else { + aUserCallback (result); + } + } + + var _confirmNextCert = function() { + var aCommonDialogModule = __SANDBOX.loadModule("commondialog"); + AnySign.SetUITarget (aDialogParam.dialog.getUITarget()); + var aCommonDialog = aCommonDialogModule ({ + width: 350, + height: 0, + onconfirm: function() { + aCommonDialog.dispose(); + AnySign.SetUITarget (aCommonDialog.getUITarget()); + _certSelectAndSignFile(); + }, + oncancel: function(e) { + aCommonDialog.dispose(); + aUserCallback (aResult); + }, + args: {dialogType: "confirm", + messageType: "signFile_confirmNextCert"} + }); + + if (aCommonDialog) aCommonDialog.show(); + } + + _certSelectAndSignFile (); + } + + function __processCacheCert(aParam) { + var aMediaID = __SANDBOX.cacheCertData.mediaID; + var aIssuerRDN = __SANDBOX.cacheCertData.issuerRDN; + var aCertSerial = __SANDBOX.cacheCertData.certSerial; + var aPfxPath = __SANDBOX.cacheCertData.pfxPath; + var aPasswd = __SANDBOX.cacheCertData.passwd; + var aFuncname = aParam.funcname; + var aOption = aParam.option; + var aDescription = aParam.description; + var aXgateAddress = aParam.xgateAddress; + var aInFilePath = aParam.inFilePath; + var aOutFilePath = aParam.outFilePath; + var aUserCallback = aParam.userCallback; + var aErrCallback = aParam.errCallback; + var aSignedData; + + if (aUserCallback == undefined) + alert("user callback error"); + + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_Result = function (aResult) { + if (!__SANDBOX.isFailed (aResult, aErrCallback)) { + aUserCallback (aResult); + } + } + + if (aFuncname == "SignFileEx") { + if (!aPfxPath) { + if (aMediaID == undefined || aMediaID == null || !aIssuerRDN || !aCertSerial || !aPasswd) { + alert("No cached data."); + return; + } + + var aMediaType = Math.floor(parseInt(aMediaID, 10) / 100) * 100; + if (aMediaType != XW_CERT_LOCATION_HARD && + aMediaType != XW_CERT_LOCATION_REMOVABLE && + aMediaType != XW_CERT_LOCATION_ICCARD && + aMediaType != XW_CERT_LOCATION_KEPCOICCARD && + aMediaType != XW_CERT_LOCATION_PKCS11) { + alert("Not supported media ID."); + return; + } + } + + __SANDBOX.upInterface().signFileEx (aXgateAddress, + aInFilePath, + aOutFilePath, + aMediaID, + aIssuerRDN, + aCertSerial, + aPfxPath, + aPasswd, + aOption, + aDescription, + _CB_Result); + } else { + alert("Not supported API."); + } + } + + function __clearCacheCert() { + __SANDBOX.cacheCertData.mediaID = null; + __SANDBOX.cacheCertData.issuerRDN = null; + __SANDBOX.cacheCertData.certSerial = null; + __SANDBOX.cacheCertData.pfxPath = null; + __SANDBOX.cacheCertData.passwd = null; + return 0; + } + + function __getInputType(aMediaID) { + if (aMediaID == undefined || aMediaID == null || aMediaID == "" || aMediaID < 0) + return ""; + + aMediaID = Math.floor(parseInt(aMediaID, 10) / 100) * 100; + if (aMediaID < 0) + return ""; + + if (aMediaID == XW_CERT_LOCATION_LOCALSTORAGE || + aMediaID == XW_CERT_LOCATION_MEMORYSTORAGE) + return "lite"; + else if (aMediaID == XW_CERT_LOCATION_XECUREFREESIGN) + return "xfs"; // lite or e2e + else if (aMediaID == XW_CERT_LOCATION_WEBPAGE) + return "e2e"; + else + return "4pc"; + } + + function __setMediaType(aMediaID) { + if (aMediaID == undefined || aMediaID == null || aMediaID == "" || aMediaID < 0) + AnySign.mMediaType = XW_MEDIA_TYPE_ANYSIGN4PC; // default ? + + aMediaID = Math.floor(parseInt(aMediaID, 10) / 100) * 100; + if (aMediaID < 0) + AnySign.mMediaType = XW_MEDIA_TYPE_ANYSIGN4PC; // default ? + + if (aMediaID == XW_CERT_LOCATION_LOCALSTORAGE || + aMediaID == XW_CERT_LOCATION_MEMORYSTORAGE) + AnySign.mMediaType = XW_MEDIA_TYPE_ANYSIGNLITE; + else if (aMediaID == XW_CERT_LOCATION_XECUREFREESIGN) + AnySign.mMediaType = XW_MEDIA_TYPE_XECUREFREESIGN; + else + AnySign.mMediaType = XW_MEDIA_TYPE_ANYSIGN4PC; + } + + function __getMediaType(aMediaID) { + if (aMediaID != undefined) + __SANDBOX.setMediaType(aMediaID); + return AnySign.mMediaType; + } + + function _getSearchHashValue(aCertInfo, aFileHash) { + var aResult = ""; + var aCertInfoArray; + var aHashAlgDescArray; + var aHashAlg; + var aFileHashArray; + var aHashValueArray; + + if (aCertInfo == undefined || aCertInfo == "" || aFileHash == undefined || aFileHash == "") + return aResult; + + aCertInfoArray = aCertInfo.split("$"); + aHashAlgDescArray = aCertInfoArray[3].split("+"); + aHashAlg = aHashAlgDescArray[0].trim().toLowerCase(); + + if (aHashAlg == undefined || aHashAlg == "") + return aResult; + + aFileHashArray = aFileHash.split("$"); + for (var i = 0; i < aFileHashArray.length; i++) + { + aHashValueArray = aFileHashArray[i].split("|"); + if (aHashValueArray.length < 2) + break; + + if (aHashValueArray[0].trim().toLowerCase() == aHashAlg) + { + aResult = aHashValueArray[1]; + break; + } + } + + return aResult; + } + + // AnySign4PC setting + function __setConvertTable(aCallbackFunc) { + var aAnySign = AnySign.mAnySignEnable; + var aConvertTable = __SANDBOX.convertTable; + if (aConvertTable.length > 0 && AnySign.mAnySignLoad) + { + var aCount = 0; + + _CB_setConvertTable = function (result) + { + aCount++; + __SANDBOX.isFailed (result, gErrCallback_common); + if (aCount < aConvertTable.length) + { + setConvertTable (); + } + else + { + __SANDBOX.convertTable = []; + AnySign.mAnySignEnable = aAnySign; + aCallbackFunc(); + } + } + + setConvertTable = function () { + if (aConvertTable[aCount].type == "policy") { + __SANDBOX.upInterface().setPolicyConvertTable (aConvertTable[aCount].param1, + aConvertTable[aCount].param2, + aConvertTable[aCount].param3, + aConvertTable[aCount].param4, + _CB_setConvertTable); + } + else + { + __SANDBOX.upInterface().setIssuerConvertTable (aConvertTable[aCount].param1, + aConvertTable[aCount].param2, + aConvertTable[aCount].param3, + aConvertTable[aCount].param4, + _CB_setConvertTable); + + } + } + + AnySign.mAnySignEnable = true; + setConvertTable (); + } + else + { + aCallbackFunc(); + } + } + + function _setCertLocation(aXgateAddress, aMediaID, aOption, aResultCallback) { + if (AnySign.mAnySignLiteSupport || AnySign.mXecureFreeSignSupport) { + // AnySignLite setting + if(aOption & XW_OPTION_CACHE_CERTLOCATION) + __SANDBOX.upInterface().setCacheCertLocation(aXgateAddress, aMediaID); + __SANDBOX.upInterface().setLastLocation(aMediaID); + + var aAnySign = AnySign.mAnySignEnable; + + var _clearCachedData_callback = function (result) { + AnySign.mAnySignEnable = aAnySign; + aResultCallback(); + } + + if (AnySign.mAnySignEnable) { + // AnySignLite setting - delete cache + AnySign.mAnySignEnable = false; + __SANDBOX.upInterface().clearCachedData (aXgateAddress, 0, _clearCachedData_callback); + } else if (AnySign.mAnySignLoad) { + // AnySign4PC setting - delete cache + AnySign.mAnySignEnable = true; + __SANDBOX.upInterface().clearCachedData (aXgateAddress, 0, _clearCachedData_callback); + } else { + _clearCachedData_callback(0); + } + } else { + aResultCallback(); + } + } + + function getPath(url) + { + var path = "/"; + var qs_begin_index = url.indexOf('?'); + + // if action is relative url, get base url from window location + if (url.charAt(0) != '/' && url.substring(0,7) != "http://" && url.substring(0,8) != "https://") { + urlProtocol = window.location.protocol; + + path_end = window.location.href.indexOf('?'); + if (path_end < 0) + path_end_str = window.location.href; + else + path_end_str = window.location.href.substring(0, path_end); + + path_relative_base_end = path_end_str.lastIndexOf('/'); + path_relative_base_str = path_end_str.substring(0, path_relative_base_end+1); + path_begin_index = path_relative_base_str.substring(urlProtocol.length + 2, path_relative_base_str.length).indexOf('/'); + + if (qs_begin_index < 0) + path = path_relative_base_str.substring(urlProtocol.length + 2 + path_begin_index, path_relative_base_str.length) + url; + else + path = path_relative_base_str.substring(urlProtocol.length + 2 + path_begin_index, path_relative_base_str.length) + url.substring(0, qs_begin_index); + } + else if (url.substring(0,7) == "http://") { + path_begin_index = url.substring(7, url.length).indexOf('/'); + + if (qs_begin_index < 0) + path = url.substring (path_begin_index+7, url.length); + else + path = url.substring(path_begin_index+7, qs_begin_index); + } + else if (url.substring(0,8) == "https://") { + path_begin_index = url.substring(8, url.length).indexOf('/'); + + if (qs_begin_index < 0) + path = url.substring (path_begin_index+8, url.length); + else + path = url.substring(path_begin_index+8, qs_begin_index); + } + else if (qs_begin_index < 0) + path = url; + else + path = url.substring(0, qs_begin_index); + + return path; + } + + function XecureMakePlain(form) + { + var len = form.elements.length; + var name = new Array(len); + var value = new Array(len); + var flag = false; + var j = 0; + var plain_text = ""; + + // K-Defense var + /* + var aKDefenseEnable = AnySign.mKDefenseEnable != false && typeof(fnGetKDefenseObject) != "undefined" && fnGetKDefenseObject() != null; + var aKDefenseE2EPrefix = AnySign.mKDefenseE2EPrefix; + var aKDefenseValue = ""; + */ + + for (i=0; i
[" + aSubjectRDN + "]", + align: "left"} + }); + + if (aCommonDialog) aCommonDialog.show(); + } + + function _delete() { + _CB_deleteCertificate = function (aResult) { + if (!__SANDBOX.isFailed (aResult, aErrCallback)) + aUserCallback (aResult); + } + + _CB_getCertTree = function (aCertList) { + if (__SANDBOX.isFailed (aCertList, aErrCallback)) { + aUserCallback (-1); + return; + } + + var aCertInfo = aCertList.split("\t\n")[0].split("$"); + + var aIssuerRDN = aCertInfo[5]; + var aCertSerial = aCertInfo[6]; + + __SANDBOX.upInterface().deleteCertificate (aMediaID, + 3, /* aCertType */ + aIssuerRDN, + aCertSerial, + _CB_deleteCertificate); + } + + __SANDBOX.upInterface().getCertTree (aMediaID, 3, 14, 5, aSubjectRDN, "", _CB_getCertTree); + } + _confirm(); + }, ""); + }, + + // 2013.03.11, add, requirment from kook@wooribank.com + DeleteCertificateFromRevoke: function (aMediaID, + aSubjectRDN, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + aErrCallback = aErrCallback || gErrCallback_common; + + function _confirm() { + var aCommonDialogModule = __SANDBOX.loadModule("commondialog"); + + var aCommonDialog = aCommonDialogModule ({ + onconfirm: function(e) { + aCommonDialog.dispose(); + _delete(); + }, + oncancel: function(e) { + aCommonDialog.dispose(); + //2013.04.06, add + aUserCallback (); + }, + args: {dialogType: "confirm", + messageType: "delete_certificate_from_revoke_process", + postMessage: "

[" + aSubjectRDN + "]", + align: "left"} + }); + + if (aCommonDialog) aCommonDialog.show(); + } + + function _delete() { + _CB_deleteCertificate = function (aResult) { + if (!__SANDBOX.isFailed (aResult, aErrCallback)) + aUserCallback (); + } + + _CB_getCertTree = function (aCertList) { + if (aCertList.length < 1) { + aUserCallback (-1); + return; + } + + var aCertInfo = aCertList.split("\t\n")[0].split("$"); + + var aIssuerRDN = aCertInfo[5]; + var aCertSerial = aCertInfo[6]; + + __SANDBOX.upInterface().deleteCertificate (aMediaID, + 3, /* aCertType */ + aIssuerRDN, + aCertSerial, + _CB_deleteCertificate); + } + + __SANDBOX.upInterface().getCertTree (aMediaID, 3, 14, 5, aSubjectRDN, "", _CB_getCertTree); + } + + _confirm(); + }, ""); + }, + + SignDataWithVID_Serial: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aPlain, + aOption, + aDescription, + aLimitTrial, + aIdn, + aSvrCert, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aOption |= XW_FVIEW_CREATE_VID; + + aDialogParam.args ={funcname : "SignDataWithVID_Serial", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + plain : aPlain, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + idn : aIdn, + cert : aSvrCert, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + SignDataAddWithVID_Serial: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aPlain, + aOption, + aDescription, + aLimitTrial, + aIdn, + aSvrCert, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aOption |= XW_FVIEW_CREATE_VID; + + aDialogParam.args ={funcname : "SignDataAddWithVID_Serial", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + plain : aPlain, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + idn : aIdn, + cert : aSvrCert, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + SignDataCMSWithSerial: function(aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aPlain, + aOption, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "SignDataCMSWithSerial", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + plain : aPlain, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + + }, + + SignDataCMSWithHTMLEx: function(aXgateAddress, aCAList, aForm, aData, aCert, aOption, aDescription, aKeywordTryLimit, + aUserCallback, aErrCallback) + { + this.SignDataCMSWithHTMLExAndSerial(aXgateAddress, aCAList, "", 0, aForm, aData, aCert, aOption, aDescription, aKeywordTryLimit, + aUserCallback, aErrCallback); + }, + + SignDataCMSWithHTMLExAndSerial: function(aXgateAddress, aCAList, + aCertSerial, aCertLocation, + aForm, aData, aCert, aOption, aDescription, aKeywordTryLimit, + aUserCallback, aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 515; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "SignDataCMSWithHTMLExAndSerial", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + form : aForm, + data : aData, + cert : aCert, + option : aOption, + description : aDescription, + keywordTryLimit : aKeywordTryLimit, + htmlData : "", + userCallback : aUserCallback, + errCallback : aErrCallback} + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiSignTable: new function() + { + var __MultiSignTable = new Object(); + + return { + init: function (aMultiSignID) + { + if (__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("MultiSignID is already exist"); + return; + } + + __MultiSignTable[aMultiSignID] = new Object(); + __MultiSignTable[aMultiSignID]['plain'] = new Array(); + __MultiSignTable[aMultiSignID]['plain2'] = new Array(); + __MultiSignTable[aMultiSignID]['signed'] = new Array(); + }, + + initValue: function (aMultiSignID) + { + var aSize = this.sizeOfPlain(aMultiSignID); + for (var i = 0; i < aSize; i ++) + __MultiSignTable[aMultiSignID]['signed'].push(""); + }, + + setPlainData: function (aMultiSignID, + aPlainData, + aPlainData2) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:setPlainData:"+aMultiSignID); + return; + } + + __MultiSignTable[aMultiSignID]['plain'].push(aPlainData); + if (aPlainData2 != undefined) + __MultiSignTable[aMultiSignID]['plain2'].push(aPlainData2); + }, + + setSignedData: function (aMultiSignID, + aPlainData, + aIndex) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:setSignedData:"+aMultiSignID); + return; + } + + if (typeof aIndex != "undefined") + __MultiSignTable[aMultiSignID]['signed'][aIndex] = aPlainData; + else + __MultiSignTable[aMultiSignID]['signed'].push(aPlainData); + }, + + getPlainData: function (aMultiSignID, + aIndex) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:getPlainData:"+aMultiSignID); + return; + } + return __MultiSignTable[aMultiSignID]['plain'][aIndex]; + }, + + getPlainData2: function (aMultiSignID, + aIndex) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:getPlainData:"+aMultiSignID); + return; + } + return __MultiSignTable[aMultiSignID]['plain2'][aIndex]; + }, + + getSignedData: function (aMultiSignID, + aIndex) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:getSignedData:"+aMultiSignID); + return; + } + return __MultiSignTable[aMultiSignID]['signed'][aIndex]; + }, + + clear: function (aMultiSignID) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:clear:"+aMultiSignID); + return; + } + + delete __MultiSignTable[aMultiSignID]['signed']; + delete __MultiSignTable[aMultiSignID]['plain']; + delete __MultiSignTable[aMultiSignID]['plain2']; + delete __MultiSignTable[aMultiSignID]; + }, + + sizeOfPlain: function (aMultiSignID) + { + if (!__MultiSignTable.hasOwnProperty(aMultiSignID)) + { + alert("Unknown MultiSignID:sizeOfPlain:"+aMultiSignID); + return; + } + + return __MultiSignTable[aMultiSignID]['plain'].length; + } + } + }, + + MultiSignInit: function () + { + var aMultiSignID = new Date().getTime(); + + this.MultiSignTable.init(aMultiSignID); + + return aMultiSignID; + }, + + SetMultiSignData: function (aMultiSignID, + aPlain, + aPlain2) + { + this.MultiSignTable.setPlainData(aMultiSignID, aPlain, aPlain2); + }, + + MultiSignEx: function (aMultiSignID, + aXgateAddress, + aCAList, + aOption, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "MultiSignEx", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiSignExWithSerial: function (aMultiSignID, + aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aOption, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "MultiSignExWithSerial", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiSignExWithVID_Serial: function (aMultiSignID, + aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aOption, + aDescription, + aCert, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aOption |= XW_FVIEW_CREATE_VID; + + aDialogParam.args ={funcname : "MultiSignExWithVID_Serial", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + cert : aCert, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiFileSign: function (aMultiSignID, + aXgateAddress, + aCAList, + aOption, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign-no-pfx"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args = {funcname : "MultiFileSign", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiSignFileInfo: function (aMultiSignID, + aXgateAddress, + aCAList, + aOption, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign-no-pfx"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "MultiSignFileInfo", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiSignFileInfoWithSerial: function (aMultiSignID, + aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aOption, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign-no-pfx"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "MultiSignFileInfoWithSerial", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + MultiSignFileInfoWithVID_Serial: function (aMultiSignID, + aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aOption, + aDescription, + aLimitTrial, + aIdn, + aSvrCert, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + var aPlain = ""; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign-no-pfx"; + aDialogParam.args = aDialogArgs; + + aPlain = aFileInfo + "&" + aFileHash; + aOption |= XW_FVIEW_CREATE_VID; + + aDialogParam.args ={funcname : "MultiSignFileInfoWithVID_Serial", + multiSignID : aMultiSignID, + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + plain : aPlain, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + idn : aIdn, + cert : aSvrCert, + userCallback : aUserCallback, + errCallback : aErrCallback, + multiSignTable : this.MultiSignTable}; + + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + GetMultiSignedData: function (aMultiSignID, + aIndex) + { + return this.MultiSignTable.getSignedData(aMultiSignID, aIndex); + }, + + MultiSignFinal: function (aMultiSignID) + { + this.MultiSignTable.clear(aMultiSignID); + }, + + RequestCertificate: function(aCAPort, aCAAddr, aRefNum, aAuthCode, aCAType, aUserCallback, aErrCallback, aUbiKeyUserCallback) + { + this.RequestCertificateEx(aCAPort, aCAAddr, aRefNum, aAuthCode, aCAType, 0, "", "", aUserCallback, aErrCallback, aUbiKeyUserCallback); + }, + + RequestCertificateEx: function(aCAPort, aCAAddr, aRefNum, aAuthCode, aCAType, aReqOption, aCAName, aRAName, aUserCallback, aErrCallback, aUbiKeyUserCallback) + { + this.RequestCertificateEx2 (aCAPort, aCAAddr, aRefNum, aAuthCode, aCAType, aReqOption, aCAName, aRAName, 0, aUserCallback, aErrCallback, aUbiKeyUserCallback); + }, + + RequestCertificateEx2: function(aCAPort, aCAAddr, aRefNum, aAuthCode, aCAType, aReqOption, aCAName, aRAName, aSaveOption, aUserCallback, aErrCallback, aUbiKeyUserCallback) + { + this.RequestCertificateEx2WithWebCMP (aCAPort, null, aCAAddr, null, null, aRefNum, aAuthCode, aCAType, null, null, aReqOption, aCAName, aRAName, aSaveOption, aUserCallback, aErrCallback, aUbiKeyUserCallback); + }, + + RequestCertificateEx2WithWebCMP: function(aCAPort, aCAHTTPPort, aCAAddr, aCAHTTPAddr, aCAHTTPService, aRefNum, aAuthCode, aCAType, aWorkerNum, aWorkerScript, aReqOption, aCAName, aRAName, aSaveOption, aUserCallback, aErrCallback, aUbiKeyUserCallback) + { + __SANDBOX.setAfterAction (function () { + var aKeyword; + var aMediaID; + var aMediaType; + var aProviderName; + var aUbiKeyCallback = false; + + var aGuideModule; + var aGuideDialog = null; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + /****************************************************************************************** + * guidewindow function + ******************************************************************************************/ + _show_guidewindow = function () + { + if (aGuideDialog) return; + + aGuideModule = __SANDBOX.loadModule("guidewindow"); + aGuideDialog = aGuideModule({ + type: "loading", + args: "", + onconfirm: "", + oncancel: function () {aGuideDialog.dispose();} + }); + aGuideDialog.show(); + } + + _close_guidewindow = function () + { + if (aGuideDialog) { + aGuideDialog.dispose (); + aGuideDialog = null; + } + } + /****************************************************************************************** + * final function + ******************************************************************************************/ + _fn_final = function (aCallback) + { + var _final_callback = function () { + _close_guidewindow (); + + if (aCallback) + aCallback (); + } + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + __SANDBOX.upInterface().logoutStoreToken(aMediaID, _final_callback); + } else if (aMediaType == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aMediaID, _final_callback); + } else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aProviderName, _final_callback); + } else { + _final_callback (); + } + } + /****************************************************************************************** + * 인증서 저장 위치 선택 + ******************************************************************************************/ + var _certsaveloc = function() + { + var _certsaveloc_result = function(result) { + aMediaID = result; + aMediaType = Math.floor(aMediaID /100) * 100; + + if (aMediaType == XW_CERT_LOCATION_PKCS11) + _hsmselect(); + else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) + _securedisk(); + else if (aMediaType == XW_CERT_LOCATION_ICCARD) + _iccardlist(); + else if (aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + _kepcoiccard(); + else + _savepasswd(); + } + + var certsavelocModule = __SANDBOX.loadModule("certsaveloc"); + var certsavelocDialog = certsavelocModule({ + args: { type: "request" }, + width: 350, + height: 355, + onconfirm: function(result) { + AnySign.SetUITarget (certsavelocDialog.getUITarget()); + certsavelocDialog.dispose(); + _certsaveloc_result(result); + }, + oncancel: function(e) { + certsavelocDialog.dispose(); + } + }); + certsavelocDialog.show(); + } + /****************************************************************************************** + * 인증서 패스워드 입력 + ******************************************************************************************/ + var _savepasswd = function() + { + var _securedisk_result = function (aLoginResult) + { + if (aLoginResult != 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + var _final_callback = function () { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + _savepasswd(); + } + _fn_final (_final_callback); + } else { + _request(); + } + } + + var aInputType = __SANDBOX.getInputType(aMediaID); + + var savepassModule = __SANDBOX.loadModule("savepasswd"); + var savepassDialog = savepassModule({ + width: 350, height: 190, + onconfirm: function(result) + { + savepassDialog.dispose(); + aKeyword = result; + + if (aMediaType == XW_CERT_LOCATION_SECUREDISK) + { + _show_guidewindow (); + + __SANDBOX.upInterface().loginSecureDiskFromIndex (aMediaID, + aKeyword, + "", + "", + "", + 1, + _securedisk_result); + } + else + { + _request(); + } + }, + oncancel: function(e) { + savepassDialog.dispose() + _fn_final (); + }, + args: {messageType: "request", inputType: aInputType} + }); + savepassDialog.show(); + } + /****************************************************************************************** + * 안전디스크 설치 확인 + ******************************************************************************************/ + var _securedisk = function() + { + _securedisk_install = function() + { + var aURL = AnySign.mSecureDiskData.mInstallURL; + var aOption = AnySign.mSecureDiskData.mInstallPageOption; + if (aURL == null || aURL == undefined || aURL == "") + { + if (typeof AnySign.mLanguage === 'string' && AnySign.mLanguage.toLowerCase() == "ko-kr") + alert (XW_SECUREDISK_NOTABLE_MSG); + else + alert (XW_SECUREDISK_NOTABLE_MSG_en); + } + else + { + var aConfirmMsg; + if (typeof AnySign.mLanguage === 'string' && AnySign.mLanguage.toLowerCase() == "ko-kr") + aConfirmMsg = XW_SECUREDISK_INSTALL_MSG; + else + aConfirmMsg = XW_SECUREDISK_INSTALL_MSG_en; + + if (confirm(aConfirmMsg) == true) + window.open (aURL, 'DownLoadPage', aOption); + } + } + + _initializeSecureDiskFromName = function (result) + { + if (result == 0) + { + _savepasswd(); + } + else + { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + if (aErrorObject.code == XW_ERROR_SECUREDISK_LOAD_FAILED) { + _securedisk_install (); + } else { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + } + } + + } + + _getMediaList = function (providerName) + { + if (providerName == "") + { + _securedisk_install (); + } + else + { + aMediaID = aMediaID + 1; + aProviderName = providerName; + + __SANDBOX.upInterface().initializeSecureDiskFromName(aProviderName, _initializeSecureDiskFromName); + } + } + + __SANDBOX.upInterface().getMediaList(XW_CERT_LOCATION_SECUREDISK, 0, 1, _getMediaList); + } + /****************************************************************************************** + * 보안토큰 종류 선택 + ******************************************************************************************/ + var _hsmselect = function() + { + var hsmselectModule = __SANDBOX.loadModule("hsmselect"); + var hsmselectDialog = hsmselectModule({ + width: 335, height: 200, + onconfirm: function(result, aProviderName) + { + aMediaID = aMediaID + result; + hsmselectDialog.dispose(); + AnySign.SetUITarget(hsmselectDialog.getUITarget()); + if(result < 0){ + return; + } + + _verifyhsm (); + }, + oncancel: function(e) {hsmselectDialog.dispose()} + }); + hsmselectDialog.show(); + } + /****************************************************************************************** + * 보안토큰 핀번호 입력 + ******************************************************************************************/ + var _verifyhsm = function() + { + var _loginPKCS11FromIndex_callback = function(result) { + _setSecureInput_callback = function () + { + _request(); + } + + if(result != 0) + { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + var _final_callback = function () { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + _verifyhsm (); + } + _fn_final (_final_callback); + } + else + { + __SANDBOX.upInterface().setSecureInput ("", _setSecureInput_callback); + } + } + + var verifyhsmModule = __SANDBOX.loadModule("verifyhsm"); + var verifyhsmDialog = verifyhsmModule({ + args: {messageType: "request" }, + onconfirm: function(result) { + verifyhsmDialog.dispose(); + + _show_guidewindow (); + + __SANDBOX.upInterface().loginPKCS11FromIndex(aMediaID, result, _loginPKCS11FromIndex_callback); + }, + oncancel: function(e) { + verifyhsmDialog.dispose(); + _fn_final (); + } + }); + verifyhsmDialog.show(); + } + /****************************************************************************************** + * 저장토큰 자동 선택 + ******************************************************************************************/ + var _iccardselect = function() { + aMediaID = XW_CERT_LOCATION_ICCARD + 1; + aMediaType = XW_CERT_LOCATION_ICCARD; + __SANDBOX.upInterface().getMediaList(XW_CERT_LOCATION_ICCARD, 0, 1, _iccard_login); + } + /****************************************************************************************** + * 저장토큰 종류 선택 + ******************************************************************************************/ + var _iccardlist = function() { + var iccardlistModule = __SANDBOX.loadModule("iccardlist"); + var iccardlistDialog = iccardlistModule({ + args: {}, + onconfirm: function (aResult) { + iccardlistDialog.dispose(); + aMediaID = XW_CERT_LOCATION_ICCARD + aResult; + _iccard_login(); + }, + oncancel: function () { + iccardlistDialog.dispose(); + } + }); + iccardlistDialog.show(); + } + /****************************************************************************************** + * KEPCO IC 카드 설치 확인 + ******************************************************************************************/ + var _kepcoiccard = function () { + _CB_initStoreToken = function (aResult) + { + if (!__SANDBOX.isFailed(aResult, aErrCallback)) { + aMediaID = XW_CERT_LOCATION_KEPCOICCARD + 1; + _iccard_login(); + } + } + __SANDBOX.upInterface().initStoreToken(XW_CERT_LOCATION_KEPCOICCARD + 1, _CB_initStoreToken); + } + /****************************************************************************************** + * 저장토큰 암호 입력 + ******************************************************************************************/ + var _iccard_login = function () + { + var loginStoreToken_callback = function (result) + { + if (result!= 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + var _final_callback = function () { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + _iccard_login(); + } + _fn_final (_final_callback); + } + else + { + _savepasswd(); + } + } + + var aICCardType; + if (aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + aICCardType = "kepco"; + else + aICCardType = "iccard"; + + var iccardModule = __SANDBOX.loadModule("iccard"); + var iccardDialog = iccardModule({ + type: aICCardType, + args: { }, + onconfirm: function (aPin) { + iccardDialog.dispose(); + + _show_guidewindow (); + + __SANDBOX.upInterface().loginStoreToken(aMediaID, aPin, 1, loginStoreToken_callback); + }, + oncancel: function () { + iccardDialog.dispose(); + } + }); + iccardDialog.show(); + } + /****************************************************************************************** + * UbiKey callback function + ******************************************************************************************/ + var UbiKey_callbackFunction = function (result) { + aUbiKeyUserCallback(result); + } + /****************************************************************************************** + * 인증서 발급 + ******************************************************************************************/ + var _request = function () { + + _requestCallback = function (result) + { + _close_guidewindow (); + + if (__SANDBOX.isFailed (result, aErrCallback)) + { + _fn_final (); + } + else + { + var _final_callback = function () { + if (aUbiKeyCallback == false) + aUserCallback (0); + } + _fn_final (_final_callback); + } + } + + _show_guidewindow (); + + if(aMediaID == XW_CERT_LOCATION_YESSIGNM + 1 && aUbiKeyUserCallback != undefined) // Ubikey 1101 + { + if (AnySign.mUbikeyData.mPlatForm == "Linux" || AnySign.mUbikeyData.mPlatForm == "Mac") + { + aUbiKeyCallback = true; + __SANDBOX.setUbiKeyFunction(aUbiKeyUserCallback); + } + } + + if (!AnySign.mAnySignEnable) + { + var tempCAHTTPPort = ""; + + if (aCAHTTPPort !== undefined) + { + tempCAHTTPPort = ":" + tempCAHTTPPort += typeof aCAHTTPPort == "string" ? aCAHTTPPort : aCAHTTPPort.toString(); + } + + if (aCAHTTPService !== undefined) + { + if (aCAHTTPService.charAt(0) !== "/") + tempCAHTTPPort += "/" + aCAHTTPService; + else + tempCAHTTPPort += aCAHTTPService; + } + + aCAPort = tempCAHTTPPort; + aCAAddr = aCAHTTPAddr; + } + + __SANDBOX.upInterface().requestCertificate (aCAPort, + aCAAddr, + aMediaID, + aRefNum, + aAuthCode, + aCAType, + aKeyword, + aWorkerNum, + aWorkerScript, + aReqOption, + aCAName, + aRAName, + _requestCallback); + } + /****************************************************************************************** + * Excute + ******************************************************************************************/ + if (AnySign.mShowLocationDialog) + { + if (aSaveOption == 2) + { + aMediaID = XW_CERT_LOCATION_LOCALSTORAGE; + _savepasswd(); + } + else + { + _certsaveloc(); + } + } + else + _iccardselect(); + }, ""); + }, + + RenewCertificate: function(aCAPort, aCAAddr, aCertLocation, aCAType, aKeywordTryLimit, aUserCallback, aErrCallback) { + this.RenewCertificateWithSerial (aCAPort, aCAAddr, "", aCertLocation, aCAType, aKeywordTryLimit, aUserCallback, aErrCallback); + }, + + RenewCertificateWithSerial: function(aCAPort, aCAAddr, aCertSerial, aCertLocation, aCAType, aKeywordTryLimit, aUserCallback, aErrCallback) { + this.RenewCertificateWithSerialWithWebCMP (aCAPort, null, aCAAddr, null, null, aCertSerial, aCertLocation, aCAType, aKeywordTryLimit, null, null, aUserCallback, aErrCallback); + }, + + RenewCertificateWithSerialWithWebCMP: function(aCAPort, aCAHTTPPort, aCAAddr, aCAHTTPAddr, aCAHTTPService, aCertSerial, aCertLocation, aCAType, aKeywordTryLimit, aWorkerNum, aWorkerScript, aUserCallback, aErrCallback) { + var aDialogParam = {}; + var aDialogArgs = {}; + var aGuideModule; + var aGuideDialog = null; + var aMediaID; + var aMediaType; + var aProviderName; + var aTargetMediaID = -1; + var aTargetMediaType; + var aTargetProviderName; + var aShowRenewCertSaveLoc; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + /****************************************************************************************** + * guidewindow function + ******************************************************************************************/ + __show_guidewindow = function () + { + if (aGuideDialog) return; + + aGuideModule = __SANDBOX.loadModule("guidewindow"); + aGuideDialog = aGuideModule({ + type: "loading", + args: "", + onconfirm: "", + oncancel: function () {aGuideDialog.dispose();} + }); + aGuideDialog.show(); + } + + __close_guidewindow = function () + { + if (aGuideDialog) { + aGuideDialog.dispose (); + aGuideDialog = null; + } + } + /****************************************************************************************** + * final function + ******************************************************************************************/ + __fn_final = function (aCallback) + { + var _final_callback = function () { + __close_guidewindow (); + + if (aCallback) + aCallback (); + } + + var _final_target = function () { + if (aTargetMediaType == XW_CERT_LOCATION_ICCARD || aTargetMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + __SANDBOX.upInterface().logoutStoreToken(aTargetMediaID, _final_callback); + } else if (aTargetMediaType == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aTargetMediaID, _final_callback); + } else if (aTargetMediaType == XW_CERT_LOCATION_SECUREDISK) { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aTargetProviderName, _final_callback); + } else { + _final_callback (); + } + } + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + __SANDBOX.upInterface().logoutStoreToken(aMediaID, _final_target); + } else if (aMediaType == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aMediaID, _final_target); + } else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aProviderName, _final_target); + } else { + _final_target (); + } + } + /****************************************************************************************** + * renewCertificate callback function + ******************************************************************************************/ + _renewCertificate = function (result) + { + if (!__SANDBOX.isFailed(result, aErrCallback)) + { + var _final_callback = function () { + aDialogParam.args.userCallback(result); + } + __fn_final (_final_callback); + } else { + __fn_final (); + } + } + /******************************************************************************************/ + + function completeCallback(aDialogParam) + { + if (aDialogParam.args.dialog) + aGuideDialog = aDialogParam.args.dialog; + else + __show_guidewindow (); + + var caPort, caAddr; + if (AnySign.mAnySignEnable) + { + caPort = aDialogParam.args.caPort; + caAddr = aDialogParam.args.caAddr; + } + else + { + + var tempCAHTTPPort = ""; + + if (aDialogParam.args.caHTTPPort !== undefined) + { + tempCAHTTPPort = ":" + tempCAHTTPPort += typeof aDialogParam.args.caHTTPPort == "string" ? aDialogParam.args.caHTTPPort : aDialogParam.args.caHTTPPort.toString(); + } + + if (aDialogParam.args.caHTTPService !== undefined) + { + if (aDialogParam.args.caHTTPService.charAt(0) !== "/") + tempCAHTTPPort += "/" + aDialogParam.args.caHTTPService; + else + tempCAHTTPPort += aDialogParam.args.caHTTPService; + } + + caPort = tempCAHTTPPort; + caAddr = aDialogParam.args.caHTTPAddr; + } + + if (aTargetMediaID == -1 || aDialogParam.args.mediaID == aTargetMediaID) { + __SANDBOX.upInterface().renewCertificate (caPort, + caAddr, + aDialogParam.args.issuerRDN, + aDialogParam.args.certSerial, + aDialogParam.args.mediaID, + aDialogParam.args.caType, + aDialogParam.args.oldPasswd, + aDialogParam.args.newPasswd, + aDialogParam.args.workerNum, + aDialogParam.args.workerScript, + aDialogParam.args.option, + _renewCertificate); + } else { + __SANDBOX.upInterface().renewCertificateEx (caPort, + caAddr, + aDialogParam.args.issuerRDN, + aDialogParam.args.certSerial, + aDialogParam.args.mediaID, + aTargetMediaID, + aDialogParam.args.caType, + aDialogParam.args.oldPasswd, + aDialogParam.args.newPasswd, + aDialogParam.args.option, + _renewCertificate); + } + } + + function showSavePasswdDialog(aDialogParam) + { + aMediaID = aDialogParam.args.mediaID; + aMediaType = Math.floor(aMediaID / 100) * 100; + aShowRenewCertSaveLoc = AnySign.mAnySignEnable && AnySign.mShowRenewCertSaveLoc; + AnySign.mAnySignLiteSupport = false; + + var _loginStoreToken = function (result) + { + __close_guidewindow (); + + if (!__SANDBOX.isFailed(result, aErrCallback)) { + if (aShowRenewCertSaveLoc) + _certsaveloc (); + else + _savepasswd_dialog (); + } else { + _iccard_pin_dialog (); + } + } + + var _iccard_pin_dialog = function () + { + if (aMediaType == XW_CERT_LOCATION_KEPCOICCARD) + aICCardType = "kepco"; + else + aICCardType = "iccard"; + + var iccardModule = __SANDBOX.loadModule("iccard"); + var iccardDialog = iccardModule({ + type: aICCardType, + args: { }, + onconfirm: function (aPin) { + iccardDialog.dispose(); + __show_guidewindow (); + __SANDBOX.upInterface().loginStoreToken(aMediaID, aPin, 1, _loginStoreToken); + }, + oncancel: function () { + iccardDialog.dispose(); + __fn_final (); + } + }); + iccardDialog.show(); + } + + var _savepasswd_dialog = function () + { + var aInputType = __SANDBOX.getInputType(aMediaID); + var savepasswdModule = __SANDBOX.loadModule("savepasswd"); + var savepasswdDialog = savepasswdModule({ + width: 350, + height: 190, + onconfirm: function(aResult) { + savepasswdDialog.dispose(); + aDialogParam.args.newPasswd = aResult; + aDialogParam.args.completeCallback(aDialogParam); + }, + oncancel: function() { + savepasswdDialog.dispose(); + __fn_final (); + }, + args: {messageType: "renew", inputType: aInputType} + }); + savepasswdDialog.show(); + } + + /****************************************************************************************** + * 인증서 저장 위치 선택 + ******************************************************************************************/ + var _certsaveloc = function() + { + var _certsaveloc_result = function(result) { + aTargetMediaID = result; + aTargetMediaType = Math.floor(aTargetMediaID /100) * 100; + + if (aMediaID == aTargetMediaID) { + if (aTargetMediaType == XW_CERT_LOCATION_PKCS11 || aTargetMediaType == XW_CERT_LOCATION_SECUREDISK) { + aDialogParam.args.newPasswd = ""; + aDialogParam.args.completeCallback(aDialogParam); + } + else + _savepasswd(); + } + else if (aTargetMediaType == XW_CERT_LOCATION_PKCS11) + _hsmselect(); + else if (aTargetMediaType == XW_CERT_LOCATION_SECUREDISK) + _securedisk(); + else if (aTargetMediaType == XW_CERT_LOCATION_ICCARD) + _iccardlist(); + else if (aTargetMediaType == XW_CERT_LOCATION_KEPCOICCARD) + _kepcoiccard(); + else + _savepasswd(); + } + + var certsavelocModule = __SANDBOX.loadModule("certsaveloc"); + var certsavelocDialog = certsavelocModule({ + args: { type: "request" }, + width: 350, + height: 355, + onconfirm: function(result) { + AnySign.SetUITarget (certsavelocDialog.getUITarget()); + certsavelocDialog.dispose(); + _certsaveloc_result(result); + }, + oncancel: function(e) { + certsavelocDialog.dispose(); + } + }); + certsavelocDialog.show(); + } + /****************************************************************************************** + * 인증서 패스워드 입력 + ******************************************************************************************/ + var _savepasswd = function() + { + var _securedisk_result = function (aLoginResult) + { + if (aLoginResult != 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + var _final_callback = function () { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + _savepasswd(); + } + __fn_final (_final_callback); + } else { + aDialogParam.args.completeCallback(aDialogParam); + } + } + + var aInputType = __SANDBOX.getInputType(aTargetMediaID); + + var savepassModule = __SANDBOX.loadModule("savepasswd"); + var savepassDialog = savepassModule({ + width: 350, height: 190, + onconfirm: function(result) + { + savepassDialog.dispose(); + aDialogParam.args.newPasswd = result; + + if (aTargetMediaType == XW_CERT_LOCATION_SECUREDISK) + { + __show_guidewindow (); + + __SANDBOX.upInterface().loginSecureDiskFromIndex (aTargetMediaID, + result, + "", + "", + "", + 1, + _securedisk_result); + } + else + { + aDialogParam.args.completeCallback(aDialogParam); + } + }, + oncancel: function(e) { + savepassDialog.dispose() + __fn_final (); + }, + args: {messageType: "request", inputType: aInputType} + }); + savepassDialog.show(); + } + /****************************************************************************************** + * 안전디스크 설치 확인 + ******************************************************************************************/ + var _securedisk = function() + { + _securedisk_install = function() { + var aURL = AnySign.mSecureDiskData.mInstallURL; + var aOption = AnySign.mSecureDiskData.mInstallPageOption; + if (aURL == null || aURL == undefined || aURL == "") { + if (typeof AnySign.mLanguage === 'string' && AnySign.mLanguage.toLowerCase() == "ko-kr") + alert (XW_SECUREDISK_NOTABLE_MSG); + else + alert (XW_SECUREDISK_NOTABLE_MSG_en); + } else { + var aConfirmMsg; + if (typeof AnySign.mLanguage === 'string' && AnySign.mLanguage.toLowerCase() == "ko-kr") + aConfirmMsg = XW_SECUREDISK_INSTALL_MSG; + else + aConfirmMsg = XW_SECUREDISK_INSTALL_MSG_en; + + if (confirm(aConfirmMsg) == true) + window.open (aURL, 'DownLoadPage', aOption); + } + } + + _initializeSecureDiskFromName = function (result) { + if (result == 0) { + _savepasswd(); + } else { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + if (aErrorObject.code == XW_ERROR_SECUREDISK_LOAD_FAILED) { + _securedisk_install (); + } else { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + } + } + + } + + _getMediaList = function (providerName) { + if (providerName == "") { + _securedisk_install (); + } else { + aTargetMediaID = aTargetMediaID + 1; + aTargetProviderName = providerName; + __SANDBOX.upInterface().initializeSecureDiskFromName(providerName, _initializeSecureDiskFromName); + } + } + + __SANDBOX.upInterface().getMediaList(XW_CERT_LOCATION_SECUREDISK, 0, 1, _getMediaList); + } + /****************************************************************************************** + * 보안토큰 종류 선택 + ******************************************************************************************/ + var _hsmselect = function() + { + var hsmselectModule = __SANDBOX.loadModule("hsmselect"); + var hsmselectDialog = hsmselectModule({ + width: 335, height: 200, + onconfirm: function(result, providerName) { + aTargetMediaID = aTargetMediaID + result; + hsmselectDialog.dispose(); + AnySign.SetUITarget(hsmselectDialog.getUITarget()); + if(result < 0) { + return; + } + _verifyhsm (); + }, + oncancel: function(e) {hsmselectDialog.dispose()} + }); + hsmselectDialog.show(); + } + /****************************************************************************************** + * 보안토큰 핀번호 입력 + ******************************************************************************************/ + var _verifyhsm = function() + { + var _loginPKCS11FromIndex_callback = function(result) { + if(result != 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + var _final_callback = function () { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + _verifyhsm (); + } + __fn_final (_final_callback); + } else { + aDialogParam.args.newPasswd = ""; + aDialogParam.args.completeCallback(aDialogParam); + } + } + + var verifyhsmModule = __SANDBOX.loadModule("verifyhsm"); + var verifyhsmDialog = verifyhsmModule({ + args: {messageType: "request" }, + onconfirm: function(result) { + verifyhsmDialog.dispose(); + __show_guidewindow (); + __SANDBOX.upInterface().loginPKCS11FromIndex(aTargetMediaID, result, _loginPKCS11FromIndex_callback); + }, + oncancel: function(e) { + verifyhsmDialog.dispose(); + __fn_final (); + } + }); + verifyhsmDialog.show(); + } + /****************************************************************************************** + * 저장토큰 자동 선택 + ******************************************************************************************/ + var _iccardselect = function() + { + aTargetMediaID = XW_CERT_LOCATION_ICCARD + 1; + aTargetMediaType = XW_CERT_LOCATION_ICCARD; + __SANDBOX.upInterface().getMediaList(XW_CERT_LOCATION_ICCARD, 0, 1, _iccard_login); + } + /****************************************************************************************** + * 저장토큰 종류 선택 + ******************************************************************************************/ + var _iccardlist = function() + { + var iccardlistModule = __SANDBOX.loadModule("iccardlist"); + var iccardlistDialog = iccardlistModule({ + args: {}, + onconfirm: function (aResult) { + iccardlistDialog.dispose(); + aTargetMediaID = XW_CERT_LOCATION_ICCARD + aResult; + _iccard_login(); + }, + oncancel: function () { + iccardlistDialog.dispose(); + } + }); + iccardlistDialog.show(); + } + /****************************************************************************************** + * KEPCO IC 카드 설치 확인 + ******************************************************************************************/ + var _kepcoiccard = function () + { + _CB_initStoreToken = function (aResult) { + if (!__SANDBOX.isFailed(aResult, aErrCallback)) { + aTargetMediaID = XW_CERT_LOCATION_KEPCOICCARD + 1; + _iccard_login(); + } + } + __SANDBOX.upInterface().initStoreToken(XW_CERT_LOCATION_KEPCOICCARD + 1, _CB_initStoreToken); + } + /****************************************************************************************** + * 저장토큰 암호 입력 + ******************************************************************************************/ + var _iccard_login = function () + { + var loginStoreToken_callback = function (result) { + if (result!= 0) { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + var _final_callback = function () { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + _iccard_login(); + } + __fn_final (_final_callback); + } else { + _savepasswd(); + } + } + + var aICCardType; + if (aTargetMediaType == XW_CERT_LOCATION_KEPCOICCARD) + aICCardType = "kepco"; + else + aICCardType = "iccard"; + + var iccardModule = __SANDBOX.loadModule("iccard"); + var iccardDialog = iccardModule({ + type: aICCardType, + args: { }, + onconfirm: function (aPin) { + iccardDialog.dispose(); + __show_guidewindow (); + __SANDBOX.upInterface().loginStoreToken(aTargetMediaID, aPin, 1, loginStoreToken_callback); + }, + oncancel: function () { + iccardDialog.dispose(); + } + }); + iccardDialog.show(); + } + /******************************************************************************************/ + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + _iccard_pin_dialog (); + } else if (aShowRenewCertSaveLoc) { + if (aDialogParam.args.dialog) { + aDialogParam.args.dialog.dispose (); + aDialogParam.args.dialog = null; + } + _certsaveloc (); + } else { + if (aMediaType == XW_CERT_LOCATION_PKCS11 || aMediaType == XW_CERT_LOCATION_SECUREDISK) { + aDialogParam.args.newPasswd = ""; + aDialogParam.args.completeCallback(aDialogParam); + } else { + _savepasswd_dialog (); + } + } + } + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 410; + aDialogParam.type = "renew"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "RenewCertificate", + caPort : aCAPort , + caHTTPPort : aCAHTTPPort, + caAddr : aCAAddr , + caHTTPAddr : aCAHTTPAddr, + caHTTPService : aCAHTTPService, + caType : aCAType , + certLocation : aCertLocation, + workerNum : aWorkerNum, + workerScript : aWorkerScript, + option : 0 , // aOption : 0 + keywordTryLimit : aKeywordTryLimit, + certSerial : aCertSerial, + completeCallback : completeCallback, + showSavePasswdDialog: showSavePasswdDialog, + userCallback : aUserCallback, + errCallback : aErrCallback} + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + RevokeCertificate: function(aCAPort, aCAAddr, aJobCode, aReason, aCAType, aKeywordTryLimit, + aUserCallback, aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + var aGuideModule; + var aGuideDialog = null; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + /****************************************************************************************** + * guidewindow function + ******************************************************************************************/ + __show_guidewindow = function () + { + if (aGuideDialog) return; + + aGuideModule = __SANDBOX.loadModule("guidewindow"); + aGuideDialog = aGuideModule({ + type: "loading", + args: "", + onconfirm: "", + oncancel: function () {aGuideDialog.dispose();} + }); + aGuideDialog.show(); + } + + __close_guidewindow = function () + { + if (aGuideDialog) { + aGuideDialog.dispose (); + aGuideDialog = null; + } + } + /****************************************************************************************** + * final function + ******************************************************************************************/ + __fn_final = function (aCallback) + { + var _final_callback = function () { + __close_guidewindow (); + + if (aCallback) + aCallback (); + } + + var aMediaType = Math.floor(aDialogParam.args.mediaID / 100) * 100; + + if (aMediaType == XW_CERT_LOCATION_ICCARD || aMediaType == XW_CERT_LOCATION_KEPCOICCARD) { + __SANDBOX.upInterface().logoutStoreToken(aDialogParam.args.mediaID, _final_callback); + } else if (aMediaType == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aDialogParam.args.mediaID, _final_callback); + } else if (aMediaType == XW_CERT_LOCATION_SECUREDISK) { + __SANDBOX.upInterface().finalizeSecureDiskFromName (aDialogParam.args.providerName, _final_callback); + } else { + _final_callback (); + } + } + /****************************************************************************************** + * revokeCertificate callback function + ******************************************************************************************/ + _CB_RevokeCertificate = function (aResult) + { + if (__SANDBOX.isFailed (aResult, aErrCallback) ) + { + __fn_final (); + } + else + { + var _final_callback = function () { + aUserCallback (0); + } + __fn_final (_final_callback); + } + } + /******************************************************************************************/ + + function completeCallback(aDialogParam) { + + if (aDialogParam.args.dialog) + aGuideDialog = aDialogParam.args.dialog; + else + __show_guidewindow (); + + __SANDBOX.upInterface().revokeCertificate (aDialogParam.args.caPort, + aDialogParam.args.caAddr, + aDialogParam.args.issuerRDN, + aDialogParam.args.certSerial, + aDialogParam.args.mediaID, + aDialogParam.args.jobCode, + aDialogParam.args.reason, + aDialogParam.args.caType, + aDialogParam.args.oldPasswd, + _CB_RevokeCertificate); + } + + aDialogParam.width = 437; + aDialogParam.height = 410; + aDialogParam.type = "revoke"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "RevokeCertificate", + caPort : aCAPort , + caAddr : aCAAddr , + jobCode : aJobCode , + reason : aReason , + caType : aCAType , + option : 0 , // aOption : 0 + keywordTryLimit : aKeywordTryLimit, + completeCallback: completeCallback, + userCallback : aUserCallback, + errCallback : aErrCallback} + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + ShowCertManager: function (aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + var module = loadModule ("certmanager"); + var dialog = module ( + { + args: { + errCallback: aErrCallback + }, + onconfirm: function () { dialog.dispose (); }, + oncancel: function () { dialog.dispose (); } + }); + if (dialog) + dialog.show(); + }, ""); + }, + + InstallCertificate: function (aMediaID, + aType, + aCertificate, + aKeyword, + aUserCallback) + { + __SANDBOX.setAfterAction (function () { + _CB_InstallCertificate = function (result) + { + if (__SANDBOX.isFailed (result, gErrCallback_common)) + return; + + aUserCallback (result); + } + + __SANDBOX.upInterface().installCertificate (aMediaID, aType, aCertificate, aKeyword, _CB_InstallCertificate); + }, ""); + }, + + SetIssuerConvertTable: function (aIssuer, + aConvertedPool, + aComment, + aLanguage) + { + // AnySign4PC setting + var aIssuerData = {type: "issuer", param1: aIssuer, param2: aConvertedPool, param3: aComment, param4: aLanguage}; + __SANDBOX.convertTable.push (aIssuerData); + + // AnySignLite setting + if (AnySign.mAnySignLiteSupport) + { + var aAnySign = AnySign.mAnySignEnable; + AnySign.mAnySignEnable = false; + + var _setIssuerConvertTable_callback = function (aResult) { + __SANDBOX.isFailed (aResult, gErrCallback_common); + AnySign.mAnySignEnable = aAnySign; + } + + __SANDBOX.upInterface().setIssuerConvertTable (aIssuer, aConvertedPool, aComment, aLanguage, _setIssuerConvertTable_callback); + } + }, + + SetPolicyConvertTable: function (aPolicy, + aConvertedPool, + aComment, + aLanguage) + { + // AnySign4PC setting + var aPolicyData = {type: "policy", param1: aPolicy, param2: aConvertedPool, param3: aComment, param4: aLanguage}; + __SANDBOX.convertTable.push (aPolicyData); + + // AnySignLite setting + if (AnySign.mAnySignLiteSupport) + { + var aAnySign = AnySign.mAnySignEnable; + AnySign.mAnySignEnable = false; + + var _setPolicyConvertTable_callback = function (aResult) { + __SANDBOX.isFailed (aResult, gErrCallback_common); + AnySign.mAnySignEnable = aAnySign; + } + + __SANDBOX.upInterface().setPolicyConvertTable (aPolicy, aConvertedPool, aComment, aLanguage, _setPolicyConvertTable_callback); + } + }, + + EnvelopeData: function (aXgateAddress, + aCAList, + aPlainData, + aEnvelopeOption, + aEnvelopeKeyword, + aEnvelopeCertPEM, + aCertSerial, + aCertLocation, + aDescription, + aUserCallback, + aErrCallback) + { + var aResult; + var aEnvelopeType; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + if (aEnvelopeOption & 1) + { + if (!aEnvelopeCertPEM) + aEnvelopeType = "CERT"; + else + aEnvelopeType = "PEM"; + + } + else if (aEnvelopeOption & 2) + { + aEnvelopeType = "PASSWD"; + } + + switch(aEnvelopeType) + { + case "CERT": + aResult = this.EnvelopeDataWithCert (aXgateAddress, + aCAList, + aPlainData, + aEnvelopeOption, + aCertSerial, + aCertLocation, + aDescription, + aUserCallback, + aErrCallback) + break; + case "PEM": + aResult = this.EnvelopeDataWithPEM (aPlainData, + aEnvelopeOption, + aEnvelopeCertPEM, + aUserCallback, + aErrCallback); + break; + case "PASSWD": + aResult = this.EnvelopeDataWithPasswd (aPlainData, + aEnvelopeOption, + aEnvelopeKeyword, + aUserCallback, + aErrCallback) + break; + default: + alert("Unknown EnvelopeOption"); + return; + } + }, + + EnvelopeDataWithPEM: function (aPlainData, + aEnvelopeOption, + aEnvCertPEM, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + // AnySign4PC 로딩 되어 있으면 AnySign4PC 사용 + if (AnySign.mAnySignLoad) + AnySign.mAnySignEnable = true; + + _CB_envelopeDataWithPEM = function (aResult) { + if (__SANDBOX.isFailed(aResult, aErrCallback)) + { + return; + } + + aUserCallback(aResult); + } + + __SANDBOX.upInterface().envelopeDataWithPEM(aPlainData, + aEnvelopeOption, + aEnvCertPEM, + _CB_envelopeDataWithPEM); + }, ""); + }, + + EnvelopeDataWithCert: function (aXgateAddress, + aCAList, + aPlainData, + aEnvelopeOption, + aCertSerial, + aCertLocation, + aDescription, + aUserCallback, + aErrCallback) + { + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + var aDialogParam = {}; + var aDialogArgs = {}; + + var aMediaIDList = ""; + var aIssuerRDNList = ""; + var aCertSerialList = ""; + var aDisablePFX = false; + + //인증서 선택 다이얼로그 호출 함수 + var _showCertSelect = function(aOption) { + aDialogParam = {}; + aDialogArgs = {}; + + var aMulticert = false; + if(aOption == 1) { // add cert + if(AnySign.mAnySignEnable) { + // AnySign4PC + aCertLocation = 1; + } else { + // AnySignLite + aCertLocation = 2000; + } + aMulticert = true; + } + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "envelope"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "EnvelopeDataWithCert", + multicert : aMulticert, + disablePFX : aDisablePFX, + xgateAddress : aXgateAddress, + caList : aCAList, + plain : aPlainData, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : (aEnvelopeOption & 0x100) ? 0x10 : 0, // ?? + description : aDescription, + userCallback : _showCertSelect_callback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + } + + //인증서 선택 다이얼로그 Callback 함수 + var _showCertSelect_callback = function(aResult) { + + aMediaIDList += aResult.mediaID + "\t\n"; + aIssuerRDNList += aResult.issuerRDN + "\t\n"; + aCertSerialList += aResult.certSerial + "\t\n"; + + if (aEnvelopeOption & XW_OPTION_ENVELOPE_MULTI_CERT) + { + if(aResult.mediaID == XW_CERT_LOCATION_MEMORYSTORAGE) + aDisablePFX = true; + + _confirmNextCert(); + } + else + { + _envelopeDataWithCert(); + } + } + + //인증서 계속 선택 확인 다이얼로그 호출 + var _confirmNextCert = function() { + var aCommonDialogModule = __SANDBOX.loadModule("commondialog"); + AnySign.SetUITarget (aDialogParam.dialog.getUITarget()); + var aCommonDialog = aCommonDialogModule ({ + width: 350, + height: 0, + onconfirm: function() { + aCommonDialog.dispose(); + AnySign.SetUITarget (aCommonDialog.getUITarget()); + _showCertSelect(1); + }, + oncancel: function(e) { + aCommonDialog.dispose(); + _envelopeDataWithCert(); + }, + args: {dialogType: "confirm", + messageType: "envelopeDataWithCert_confirmNextCert"} + }); + + if (aCommonDialog) aCommonDialog.show(); + } + + //실제 전자봉투(Cert) 함수 + var _envelopeDataWithCert = function() { + + var aResultData; + + /****************************************************************************************/ + _userCallback = function () + { + aUserCallback(aResultData); + } + + _envelopeCertCallback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + return; + + aResultData = result; + + var mediaID; + var index = aMediaIDList.indexOf("\t\n"); + + _finalCheck = function () + { + if (index > 0) { + mediaID = aMediaIDList.substring (0, index); + aMediaIDList = aMediaIDList.substring (index + 2, aMediaIDList.length); + index = aMediaIDList.indexOf("\t\n"); + + if ((Math.floor(mediaID / 100) * 100) == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (mediaID, _finalCheck); + } else { + _finalCheck (); + } + } else { + _userCallback (); + } + } + + _finalCheck (); + } + /****************************************************************************************/ + + __SANDBOX.upInterface().envelopeDataWithCert (aPlainData, + aEnvelopeOption, + aMediaIDList, + aIssuerRDNList, + aCertSerialList, + _envelopeCertCallback); + } + + //excute + _showCertSelect(); + }, + + + EnvelopeDataWithPasswd: function (aPlainData, + aEnvelopeOption, + aKeyword, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + // AnySign4PC 로딩 되어 있으면 AnySign4PC 사용 + if (AnySign.mAnySignLoad) + AnySign.mAnySignEnable = true; + + var aResult; + var aInputType; + + if (AnySign.mAnySignEnable) + aInputType = "4pc"; + else + aInputType = "lite"; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + _envelopeDataWithPasswd_callback = function (envelopeData) + { + if ( __SANDBOX.isFailed(envelopeData, aErrCallback) ) + return; + + aUserCallback(envelopeData); + } + + _CB_setSecureInput = function (result) { + _envelopeDataWithPasswd (aKeyword); + } + + // 비밀번호 입력 + var _inputPassword = function () + { + var aPasswordModule = __SANDBOX.loadModule("inputpasswd"); + + var aInputPasswdDialog = aPasswordModule ({ + width: 350, + height: 0, + onconfirm: function (aResult) { + aInputPasswdDialog.dispose(); + _envelopeDataWithPasswd (aResult); + }, + oncancel: function (e) { + aInputPasswdDialog.dispose(); + }, + args: {messageType: "common", + inputType: aInputType} + }); + + if (aInputPasswdDialog) aInputPasswdDialog.show(); + } + + // 전자봉투 (Password) + var _envelopeDataWithPasswd = function (aKeyword) + { + + __SANDBOX.upInterface().envelopeDataWithPasswd (aPlainData, + aEnvelopeOption, + aKeyword, + _envelopeDataWithPasswd_callback); + } + + // excute + if(!aKeyword) + { + _inputPassword(); + } + else + { + __SANDBOX.upInterface().setSecureInput ("", _CB_setSecureInput); + } + }, ""); + }, + + DeEnvelopeData: function (aXgateAddress, + aCAList, + aEnvelopedData, + aDeEnvOption, + aDeEnvKeyword, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + var aResult; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + if (aDeEnvOption == 1) + { + this.DeEnvelopeDataWithCert (aXgateAddress, + aCAList, + aEnvelopedData, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + + } + else + { + this.DeEnvelopeDataWithPasswd (aEnvelopedData, + aDeEnvKeyword, + aUserCallback, + aErrCallback) + } + }, + + DeEnvelopeDataWithCert: function (aXgateAddress, + aCAList, + aEnvelopedData, + aDescription, + aLimitTrial, + aUserCallback, + aErrCallback) + { + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + + var aCertSerial = 0; + + //인증서 선택 다이얼로그 호출 함수 + var _showCertSelect = function() { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "deenvelope"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "DeEnvelopeDataWithCert", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + option : 0, + description : aDescription, + keywordTryLimit : aLimitTrial, + userCallback : _deEnvelopeDataWithCert, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + } + + //실제 전자봉투(Cert) 함수 + var _deEnvelopeDataWithCert = function(aResult) { + + var aMediaID = aResult.mediaID, + aIssuerRDN = aResult.issuerRDN, + aCertSerial = aResult.certSerial, + aKeyword = aResult.passwd, + aResultData; + + /****************************************************************************************/ + _userCallback = function () + { + aUserCallback(aResultData); + } + + _deEnvelopeCertCallback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + return; + + aResultData = result; + + if ((Math.floor(aMediaID / 100) * 100) == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aMediaID, _userCallback); + } else { + _userCallback (); + } + } + /****************************************************************************************/ + + __SANDBOX.upInterface().deEnvelopeDataWithCert (aEnvelopedData, + aMediaID, + aIssuerRDN, + aCertSerial, + aKeyword, + _deEnvelopeCertCallback); + } + + //excute + _showCertSelect(); + }, + + DeEnvelopeDataWithCacheCert: function (aXgateAddress, + aEnvelopedData, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + var aMediaID; + + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _deEnvelopeCertCallback = function (aResult) { + if ( __SANDBOX.isFailed(aResult, aErrCallback) ) + return; + + aUserCallback (aResult); + } + + _CB_hasCachedData = function (aResult) { + if (!aResult) { + var aErrorObject = {}; + aErrorObject.code = -1; + aErrorObject.msg = XW_ERROR_MSG_SIGNCACHE1; + aErrCallback(aErrorObject); + return; + } + + __SANDBOX.upInterface().deEnvelopeDataWithCacheCert (aXgateAddress, + aEnvelopedData, + aMediaID, + "", + "", + "", + _deEnvelopeCertCallback); + } + + _CB_getLastLocation = function (aResult) { + if (aResult < 0) + aMediaID = 0; + else + aMediaID = aResult; + + if (__SANDBOX.getInputType(aMediaID) == "4pc") + AnySign.mAnySignEnable = true; + + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().hasCachedData (aXgateAddress, _CB_hasCachedData); + }, ""); + } + + __SANDBOX.upInterface().getLastLocation (_CB_getLastLocation); + }, ""); + }, + + DeEnvelopeDataWithPasswd: function (aEnvelopedData, + aDeEnvKeyword, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + // AnySign4PC 로딩 되어 있으면 AnySign4PC 사용 + if (AnySign.mAnySignLoad) + AnySign.mAnySignEnable = true; + + var aInputType; + + if (AnySign.mAnySignEnable) + aInputType = "4pc"; + else + aInputType = "lite"; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + var _deEnvelopeDataWithPasswd_callback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + { + return; + } + + aUserCallback(result); + } + + _CB_setSecureInput = function (result) { + _deEnvelopeDataWithPasswd (aDeEnvKeyword); + } + + // 비밀번호 입력 + var _inputPassword = function () + { + var aPasswordModule = __SANDBOX.loadModule("inputpasswd"); + + var aInputPasswdDialog = aPasswordModule ({ + width: 350, + height: 0, + onconfirm: function (aResult) { + _deEnvelopeDataWithPasswd (aResult); + aInputPasswdDialog.dispose(); + }, + oncancel: function (e) { + aInputPasswdDialog.dispose(); + }, + args: {messageType: "common", + inputType: aInputType} + }); + + if (aInputPasswdDialog) aInputPasswdDialog.show(); + } + + // 전자봉투 (Password) + var _deEnvelopeDataWithPasswd = function (aKeyword) + { + __SANDBOX.upInterface().deEnvelopeDataWithPasswd (aEnvelopedData, + aKeyword, + _deEnvelopeDataWithPasswd_callback); + } + + // excute + if(!aDeEnvKeyword) + { + _inputPassword(); + } + else + { + __SANDBOX.upInterface().setSecureInput ("", _CB_setSecureInput); + } + }, ""); + }, + + SetCharset: function (aCharset, aUserCallback) + { + var aAnySign = AnySign.mAnySignEnable; + AnySign.mCharset = aCharset; + + var _setCharset2_callback = function (result) { + AnySign.mAnySignEnable = aAnySign; + aUserCallback (0); + } + + var _setCharset1_callback = function (result) { + if (AnySign.mAnySignLoad) { + // AnySign4PC setting + AnySign.mAnySignEnable = true; + __SANDBOX.upInterface().setCharset (aCharset, _setCharset2_callback); + } else { + _setCharset2_callback (); + } + } + + if (AnySign.mAnySignLiteSupport) { + // AnySignLite setting + AnySign.mAnySignEnable = false; + __SANDBOX.upInterface().setCharset (aCharset, _setCharset1_callback); + } else { + _setCharset1_callback (); + } + }, + + GetLastLocation: function(aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().getLastLocation (aUserCallback); + }, ""); + }, + + GetCacheCertLocation: function(aXgateAddress, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().getCacheCertLocation (aXgateAddress, aUserCallback); + }, ""); + }, + + GetCacheCertLocationEx: function(aXgateAddress, aOption, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().getCacheCertLocationEx(aXgateAddress, aOption, aUserCallback); + }, ""); + }, + + ClearCachedData: function(aXgateAddress, aOption, aUserCallback) + { + var aAnySign = AnySign.mAnySignEnable; + + var _clearCachedData2_callback = function (result) { + AnySign.mAnySignEnable = aAnySign; + aUserCallback (0); + } + + var _clearCachedData1_callback = function (result) { + if (AnySign.mAnySignLoad) { + // AnySign4PC setting + AnySign.mAnySignEnable = true; + __SANDBOX.upInterface().clearCachedData (aXgateAddress, aOption, _clearCachedData2_callback); + } else { + _clearCachedData2_callback (); + } + } + + if (AnySign.mAnySignLiteSupport) { + // AnySignLite setting + AnySign.mAnySignEnable = false; + __SANDBOX.upInterface().clearCachedData(aXgateAddress, aOption, _clearCachedData1_callback); + } else { + _clearCachedData1_callback (); + } + }, + + GetCertInfoEx: function (aSignedData, aOriginalData, aOpOption, aInfoOption, aVerifyOption, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().getCertInfoEx (aSignedData, aOriginalData, aOpOption, aInfoOption, aVerifyOption, aUserCallback); + }, ""); + }, + + VerifyData: function (aSignedData, aOriginalData, aOption, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().verifyData (aSignedData, aOriginalData, aOption, aUserCallback); + }, ""); + }, + + Wif: function(aOption, aPEM, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().wif (aOption, aPEM, aUserCallback); + }, ""); + }, + + XecureLink: function(aXgateAddress, aLink) + { + var aPath = null; + var aHash = null; + var aPlain = null; + var aCharset = AnySign.mEncCharset; + + aPath = aLink.pathname; + + if (__SANDBOX.isIE () < 10) + { + aPath = "/" + aPath; + } + + aHash = aLink.hash; + + if (aLink.search.length > 1) + { + aPlain = aLink.search.substring (1); + } + else + { + aPlain = ""; + } + + /***********************************************************************/ + _blockEncCallback = function (result) + { + var aURL = null; + var aTarget = null; + var aData = null; + + aData = escape_url (result); + + aURL = aPath; + aURL += aHash; + aURL += "?q="; + aURL += aData; + + if (aCharset == "euc-kr") + aURL += "&charset=EUC-KR"; + else + aURL += "&charset=UTF-8"; + + if (aLink.target == null || aLink.target == "") + { + aTarget = "_self"; + } + else + { + aTarget = aLink.target; + } + + open (aURL, aTarget); + } + /***********************************************************************/ + + if (aCharset != "euc-kr") + aCharset = "utf-8"; + + __SANDBOX.upInterface ().blockEncAsync (aXgateAddress, aPath, aPlain, "GET", aCharset, _blockEncCallback); + + return false; + }, + + XecureSubmit: function(aXgateAddress, form, aSessionKey) + { + var aPath = getPath(form.action); + var aPlain = ""; + var cipher = ""; + var xecure_url = ""; + var aResult = ""; + var aCharset = AnySign.mEncCharset; + + if (aCharset != "euc-kr") + aCharset = "utf-8"; + + qs_begin_index = form.action.indexOf('?'); + if ( qs_begin_index >= 0) { + aPlain = form.action.substring(qs_begin_index + 1, form.action.length); + } + + document.xecure.target = form.target; + /********************************************************************************/ + _post_blockEncCallback_next = function (result) + { + document.xecure.p.value = result; + document.xecure.submit(); + } + /********************************************************************************/ + + /********************************************************************************/ + _post_blockEncCallback = function (result) + { + var cipher = result; + + if (aCharset == "euc-kr") + document.xecure.action = aPath + "?q=" + escape_url(result) + "&charset=EUC-KR"; + else + document.xecure.action = aPath + "?q=" + escape_url(result) + "&charset=UTF-8"; + + if (cipher != "") { + posting_data = XecureMakePlain(form); + + if (aSessionKey != undefined && aSessionKey != null && aSessionKey != "") { + __SANDBOX.upInterface().blockEncConvertAsync (aXgateAddress, + aPath, + aSessionKey, + posting_data, + "POST", + aCharset, + _post_blockEncCallback_next); + } else { + __SANDBOX.upInterface().blockEncAsync (aXgateAddress, + aPath, + posting_data, + "POST", + aCharset, + _post_blockEncCallback_next); + } + } + else { + _post_blockEncCallback_next (cipher); + } + } + /********************************************************************************/ + + /********************************************************************************/ + _get_blockEncCallback = function (result) + { + if (aCharset == "euc-kr") + xecure_url = aPath + "?q=" + escape_url(result) + "&charset=EUC-KR"; + else + xecure_url = aPath + "?q=" + escape_url(result) + "&charset=UTF-8"; + + if (form.target == "" || form.target == null) + form.target = "_self"; + + open (xecure_url, form.target); + } + /********************************************************************************/ + + if (form.method == "get" || form.method == "GET") { + // Get Method + + if (aPlain.length != 0) + aPlain += "&" + XecureMakePlain(form); + else + aPlain = XecureMakePlain(form); + + if (aSessionKey != undefined && aSessionKey != null && aSessionKey != "") { + __SANDBOX.upInterface().blockEncConvertAsync (aXgateAddress, + aPath, + aSessionKey, + aPlain, + "GET", + aCharset, + _get_blockEncCallback); + } else { + __SANDBOX.upInterface().blockEncAsync (aXgateAddress, + aPath, + aPlain, + "GET", + aCharset, + _get_blockEncCallback); + } + } + else { + // Post Method + document.xecure.method = "post"; + + if (aSessionKey != undefined && aSessionKey != null && aSessionKey != "") { + __SANDBOX.upInterface().blockEncConvertAsync (aXgateAddress, + aPath, + aSessionKey, + aPlain, + "GET", + aCharset, + _post_blockEncCallback); + } + else { + __SANDBOX.upInterface().blockEncAsync (aXgateAddress, + aPath, + aPlain, + "GET", + aCharset, + _post_blockEncCallback); + } + } + + return false; + }, + + XecureNavigate: function(aXgateAddress, url, aTarget, aFeature) + { + var aPlain = ""; + var aPath = null; + var aCipher = null; + var aURL = null; + var qs_begin_index = url.indexOf('?'); + var aCharset = AnySign.mEncCharset; + + if (aCharset != "euc-kr") + aCharset = "utf-8"; + + aPath = getPath(url) + + if (qs_begin_index >= 0) { + aPlain = url.substring(qs_begin_index + 1, url.length ); + } + + /********************************************************************************/ + _blockEncCallback = function (result) + { + result = escape_url (result); + + aURL = aPath; + aURL += "?q="; + aURL += result; + + if (aCharset == "euc-kr") + aURL += "&charset=EUC-KR"; + else + aURL += "&charset=UTF-8"; + + aFeature = aFeature || undefined; + + open(aURL, aTarget, aFeature); + } + /********************************************************************************/ + + __SANDBOX.upInterface ().blockEncAsync (aXgateAddress, aPath, aPlain, "GET", aCharset, _blockEncCallback); + + return false; + }, + + BlockEnc: function(aXgateAddress, aPath, aPlain, aMethod, aUserCallback) { + __SANDBOX.upInterface().blockEnc (aXgateAddress, aPath, aPlain, aMethod, aUserCallback); + }, + + BlockEnc2: function(aXgateAddress, aPath, aPlain, aMethod, aCharset, aUserCallback) { + __SANDBOX.upInterface().blockEnc2 (aXgateAddress, aPath, aPlain, aMethod, aCharset, aUserCallback); + }, + + BlockEncEx: function(aXgateAddress, aPath, aPlain, aMethod, aCharset, aUserCallback, aParam) { + __SANDBOX.upInterface().blockEncAsync (aXgateAddress, aPath, aPlain, aMethod, aCharset, aUserCallback, aParam); + }, + + BlockDecEx: function(aXgateAddress, aCipher, aCharSet, aElement, aUserCallback, aParam) { + var aResult = __SANDBOX.upInterface().blockDecEx (aXgateAddress, aCipher, aCharSet, aElement, aUserCallback, aParam); + return aResult ? aResult : ""; + }, + + getKTBScanInfo: function(aServerIP, aServerPort, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().getKTBScanInfo (aServerIP, aServerPort, aUserCallback); + }, ""); + }, + + FileHash: function(aFilePath, aAlg, aUserCallback, aErrCallback) + { + __SANDBOX.setAfterAction (function () { + var _fileHash_callback = function (aResult) + { + if (!__SANDBOX.isFailed(aResult, aErrCallback)) { + aUserCallback (aResult); + } + } + + __SANDBOX.upInterface().fileHash(aFilePath, aAlg, _fileHash_callback); + }, ""); + }, + + generateRandom: function (aLength, aOption, aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().generateRandom (aLength, aOption, aUserCallback); + }, ""); + }, + + AnySign4PC_installCheck: function (aUserCallback) + { + AnySign.mExtensionSetting.mInstallCheck_CB = aUserCallback; + __SANDBOX.extension.GetWebSocket (); + }, + + AnySign4PC_installCallback: function (aUserCallback) + { + AnySign.mExtensionSetting.mInstallCheck_CB = aUserCallback; + }, + + AnySign4PC_LoadCallback: function (aUserCallback) + { + _load_callback = function (aResult) { + aUserCallback(); + } + + AnySign.mExtensionSetting.mImgIntervalError = false; + AnySign.mExtensionSetting.mLoadCallback.func = _load_callback; + AnySign.mExtensionSetting.mLoadCallback.param = ""; + }, + + setInfoDialog: function (aType, aRightoff) + { + if (!AnySign.mShowInfoDialog.enable) return; + + var aElement = document.getElementById('xwup_title_information'); + var aInfoDialog = __SANDBOX.informationDialog; + + if (aType == 'show') + { + if (aElement != null) return; + if (AnySign.mShowInfoDialog.close) return; + + var module = __SANDBOX.loadModule("information"); + __SANDBOX.informationDialog = module({ + onconfirm: "", + oncancel: function () { + __SANDBOX.informationDialog.dispose(); + __SANDBOX.informationDialog = null; + } + }); + + if (aRightoff) { + __SANDBOX.informationDialog.append(); + } else { + setTimeout(function () { + __SANDBOX.informationDialog.append(); + }, 0); + } + } + else + { + if (aElement == null) return; + __SANDBOX.informationDialog.dispose(); + __SANDBOX.informationDialog = null; + } + }, + + GetCertPath: function (aUserCallback, aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + // set default values; + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign-no-pfx"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "GetCertPath", + xgateAddress : AnySign.mXgateAddress, + caList : AnySign.mCAList, + plain : "test", + option : 512, + description : 0, + keywordTryLimit : 3, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + }, + + // added by leek55 20151203 + setBlockDec_callback: function (aUserCallback, aParam) + { + if ( AnySign.mPageBlockDecDone == false ) + { + var DecCallbackObject = { pageDecCallback : aUserCallback, pageDecCallbackParam : aParam }; + + AnySign.mExtensionSetting.mPageDecCallback.push(DecCallbackObject); + } + else + { + if(aParam) + aUserCallback(aParam); + else + aUserCallback(); + } + }, + // added end by leek55 + + // FCMS + SelectFile: function (aInitPath, + aFilterString, + aOption, + aUserCallback) + { + __SANDBOX.setAfterAction (function () { + __SANDBOX.upInterface().selectFile (aInitPath, aFilterString, aOption, aUserCallback); + }, ""); + }, + + SignFileEx: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aLimitTrial, + aInFilePath, + aOutFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "SignFileEx", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + inFilePath : aInFilePath, + outFilePath : aOutFilePath, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam, 2); + }, + + SignFileExWithCacheCert: function (aXgateAddress, + aInFilePath, + aOutFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_signDataCMS = function (aResult) { + if (!__SANDBOX.isFailed(aResult, aErrCallback)) + aUserCallback (aResult); + } + + _CB_getLastLocation = function (aResult) { + if (aResult < 0) + aResult = 0; + + __SANDBOX.upInterface().signFileEx (aXgateAddress, + aInFilePath, + aOutFilePath, + aResult, + "", + "", + "", + "", + aOption, + aDescription, + _CB_signDataCMS); + } + + _CB_hasCachedData = function (aResult) { + if (!aResult) { + var aErrorObject = {}; + aErrorObject.code = -1; + aErrorObject.msg = XW_ERROR_MSG_SIGNCACHE1; + aErrCallback(aErrorObject); + return; + } + + __SANDBOX.upInterface().getLastLocation (_CB_getLastLocation); + } + + __SANDBOX.upInterface().hasCachedData (aXgateAddress, _CB_hasCachedData); + }, ""); + }, + + SignFileExWithCacheCert2: function (aXgateAddress, + aInFilePath, + aOutFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + var aParam = {}; + + aParam = { funcname : "SignFileEx", + xgateAddress : aXgateAddress, + option : aOption, + description : aDescription, + inFilePath : aInFilePath, + outFilePath : aOutFilePath, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + __SANDBOX.processCacheCert(aParam); + }, ""); + }, + + ClearCacheCert2: function(aUserCallback) + { + if(!aUserCallback) + aUserCallback = function () {} + + var aResult = __SANDBOX.clearCacheCert (); + + aUserCallback (aResult); + }, + + SignFileExWithVID: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aLimitTrial, + aInFilePath, + aOutFilePath, + aIdn, + aSvrCert, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + var aDialogParam = {}; + var aDialogArgs = {}; + + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "sign"; + aDialogParam.args = aDialogArgs; + + aOption |= XW_FVIEW_CREATE_VID; + + aDialogParam.args ={funcname : "SignFileExWithVID", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitTrial, + inFilePath : aInFilePath, + outFilePath : aOutFilePath, + idn : aIdn, + cert : aSvrCert, + userCallback : aUserCallback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam, 2); + }, + + SignFileExWithVID_CacheCert: function (aXgateAddress, + aInFilePath, + aOutFilePath, + aIdn, + aSvrCert, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + var aMediaID; + var aVid; + var aSignedData = ""; + + aOption |= XW_FVIEW_CREATE_VID; + + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_envelopIdNum = function (aResult) { + if (!__SANDBOX.isFailed(aResult, aErrCallback)) { + aUserCallback (aSignedData); + } + } + + _CB_signDataCMS = function (aResult) { + if (!__SANDBOX.isFailed(aResult, aErrCallback)) { + aSignedData = aResult; + __SANDBOX.upInterface().envelopIdNumEx (aXgateAddress, + aMediaID, + "", + "", + "", + "", + aVid, + aSvrCert, + 0, + _CB_envelopIdNum); + } + } + + _signDataCMS = function () { + __SANDBOX.upInterface().signFileEx (aXgateAddress, + aInFilePath, + aOutFilePath, + aMediaID, + "", + "", + "", + "", + aOption, + aDescription, + _CB_signDataCMS); + } + + _CB_getLastLocation = function (aResult) { + if (aResult < 0) + aMediaID = 0; + else + aMediaID = aResult; + + if (aOption & XW_FVIEW_CREATE_VID_NO_IDN) { + aVid = ""; + _signDataCMS (); + } else if (aOption & XW_FVIEW_CREATE_VID_FROM_WEB) { + aVid = aIdn; + _signDataCMS (); + } else { + var aInputType = __SANDBOX.getInputType(aMediaID); + var module = __SANDBOX.loadModule("verifyvid"); + var vidDialog = module({ + width: 350, + height: 100, + onconfirm: function(aResult) { aVid = aResult; _signDataCMS (); vidDialog.dispose(); }, + oncancel: function() { vidDialog.dispose(); }, + args: {inputType: aInputType} + }); + + vidDialog.show(); + } + } + + _CB_hasCachedData = function (aResult) { + if (!aResult) { + var aErrorObject = {}; + aErrorObject.code = -1; + aErrorObject.msg = XW_ERROR_MSG_SIGNCACHE1; + aErrCallback(aErrorObject); + return; + } + + __SANDBOX.upInterface().getLastLocation (_CB_getLastLocation); + } + + __SANDBOX.upInterface().hasCachedData (aXgateAddress, _CB_hasCachedData); + }, ""); + }, + + VerifyFile: function (aInFilePath, + aSignedData, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_VerifyFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface ().verifyFile (aInFilePath, + aSignedData, + aOption, + aDescription, + _CB_VerifyFile); + }, ""); + }, + + VerifyAndSignFile: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aLimitedTrial, + aInFilePath, + aOutFilePath, + aSignedData, + aVerifyOption, + aSignOption, + aVerifyDescription, + aSignDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + var fSign = this.SignFileEx; + + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + aVerifyOption |= XW_OPTION_ADD_SIGN_BUTTON; + + AddSign = function () + { + fSign (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aLimitedTrial, + aInFilePath, + aOutFilePath, + aSignOption, + aSignDescription, + aUserCallback, + aErrCallback); + } + + SignCancel = function () + { + __SANDBOX.upInterface().setError(XW_ERROR_PLUGINS_SIGN_CANCEL, _CB_errCallback); + } + + _CB_errCallback = function () + { + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + aErrCallback (aErrorObject); + } + + _CB_VerifyFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) { + // -1: verify fail, 0: verify success, 1: add sign + if (result == "-1") { + var aCommonDialogModule = __SANDBOX.loadModule("commondialog"); + var aCommonDialog = aCommonDialogModule ({ + width: 350, + height: 0, + onconfirm: function() { + aCommonDialog.dispose(); + AddSign(); + }, + oncancel: function(e) { + aCommonDialog.dispose(); + SignCancel(); + }, + args: {dialogType: "confirm", + messageType: "verifyAndSignFile_confirmSign"} + }); + if (aCommonDialog) aCommonDialog.show(); + } else if (result == "0") { + SignCancel(); + } else { + AddSign(); + } + } + } + + __SANDBOX.upInterface ().verifyFile (aInFilePath, + aSignedData, + aVerifyOption, + aVerifyDescription, + _CB_VerifyFile); + }, ""); + }, + + GetVerifiedFileCertInfo: function (aOption, + aIndex, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_GetVerifiedFileCertInfo = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) { + var aCertInfo = result.split ("$"); + aUserCallback (aCertInfo[aIndex]); + } + } + + __SANDBOX.upInterface ().getVerifiedFileCertInfo (aOption, _CB_GetVerifiedFileCertInfo); + }, ""); + }, + + ExtractFile: function (aInFilePath, + aOutFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_ExtractFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface ().extractFile (aInFilePath, + aOutFilePath, + aOption, + aDescription, + _CB_ExtractFile); + }, ""); + }, + + EnvelopeFileWithPEM: function (aInFilePath, + aOutFilePath, + aCertPEM, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_EnvelopeFileWithPEM = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface ().envelopeFileWithPEM (aInFilePath, + aOutFilePath, + aCertPEM, + aOption, + aDescription, + _CB_EnvelopeFileWithPEM); + }, ""); + }, + + EnvelopeFileWithCert: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aInFilePath, + aOutFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + var aDialogParam = {}; + var aDialogArgs = {}; + + var aMediaIDList = ""; + var aIssuerRDNList = ""; + var aCertSerialList = ""; + + var _showCertSelect = function() { + aDialogParam = {}; + aDialogArgs = {}; + + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "envelope"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "EnvelopeFileWithCert", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + userCallback : _showCertSelect_callback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + } + + var _showCertSelect_callback = function(aResult) { + + aMediaIDList += aResult.mediaID + "\t\n"; + aIssuerRDNList += aResult.issuerRDN + "\t\n"; + aCertSerialList += aResult.certSerial + "\t\n"; + + if ((Math.floor(aResult.mediaID / 100) * 100) == XW_CERT_LOCATION_PKCS11) { + __SANDBOX.upInterface().finalizePKCS11FromIndex (aResult.mediaID, _CertSelectOrEnvelope); + } else { + _CertSelectOrEnvelope () + } + } + + var _CertSelectOrEnvelope = function () { + if (aOption & XW_OPTION_ENVELOPE_MULTI_CERT) + { + _confirmNextCert(); + } + else + { + _envelopeFileWithCert(); + } + } + + var _confirmNextCert = function() { + var aCommonDialogModule = __SANDBOX.loadModule("commondialog"); + AnySign.SetUITarget (aDialogParam.dialog.getUITarget()); + var aCommonDialog = aCommonDialogModule ({ + width: 350, + height: 0, + onconfirm: function() { + aCommonDialog.dispose(); + AnySign.SetUITarget (aCommonDialog.getUITarget()); + _showCertSelect(); + }, + oncancel: function(e) { + aCommonDialog.dispose(); + _envelopeFileWithCert(); + }, + args: {dialogType: "confirm", + messageType: "envelopeDataWithCert_confirmNextCert"} + }); + + if (aCommonDialog) aCommonDialog.show(); + } + + var _envelopeFileWithCert = function() { + + _envelopeCertCallback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + return; + + aUserCallback(result); + } + + __SANDBOX.upInterface().envelopeFileWithCert (aInFilePath, + aOutFilePath, + aMediaIDList, + aIssuerRDNList, + aCertSerialList, + "", + aOption, + aDescription, + _envelopeCertCallback); + } + + _showCertSelect(); + }, + + DeEnvelopeFileWithCert: function (aXgateAddress, + aCAList, + aCertSerial, + aCertLocation, + aLimitedTrial, + aInFilePath, + aOutFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + var aMediaID = ""; + var aIssuerRDN = ""; + var aKeyword = ""; + + if (aErrCallback == undefined) + { + aErrCallback = gErrCallback_common; + } + + var _showCertSelect = function() { + var aDialogParam = {}; + var aDialogArgs = {}; + + aDialogParam.width = 437; + aDialogParam.height = 457; + aDialogParam.type = "deenvelope"; + aDialogParam.args = aDialogArgs; + + aDialogParam.args ={funcname : "DeEnvelopeFileWithCert", + xgateAddress : aXgateAddress, + caList : aCAList, + certSerial : aCertSerial, + certLocation : aCertLocation, + option : aOption, + description : aDescription, + keywordTryLimit : aLimitedTrial, + userCallback : _showCertSelect_callback, + errCallback : aErrCallback}; + + aDialogParam.onconfirm = null; + aDialogParam.oncancel = null; + + __SANDBOX.showCertselectDialogCommon(aDialogParam); + } + + var _showCertSelect_callback = function(aResult) { + aMediaID = aResult.mediaID; + aIssuerRDN = aResult.issuerRDN; + aCertSerial = aResult.certSerial; + + if ((Math.floor(aMediaID / 100) * 100) == XW_CERT_LOCATION_PKCS11) { + aKeyword = aResult.pin; + __SANDBOX.upInterface().finalizePKCS11FromIndex (aMediaID, _deEnvelopeFileWithCert); + } else { + aKeyword = aResult.passwd; + _deEnvelopeFileWithCert () + } + } + + var _deEnvelopeFileWithCert = function() { + var aResult = ""; + + _deEnvelopeCertCallback = function (result) + { + if ( __SANDBOX.isFailed(result, aErrCallback) ) + return; + + aUserCallback(result); + } + + __SANDBOX.upInterface().deEnvelopeFileWithCert (aInFilePath, + aOutFilePath, + aMediaID, + aIssuerRDN, + aCertSerial, + "", + aKeyword, + aOption, + aDescription, + _deEnvelopeCertCallback); + } + + _showCertSelect(); + }, + + EnvelopeFileWithPasswd: function (aInFilePath, + aOutFilePath, + aSymKey, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_EnvelopeFileWithPasswd = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + _CB_setSecureInput = function (result) { + _envelopeFileWithPasswd (aSymKey); + } + + var _inputPassword = function () + { + var aPasswordModule = __SANDBOX.loadModule("inputpasswd"); + + var aInputPasswdDialog = aPasswordModule ({ + width: 350, + height: 0, + onconfirm: function (result) { + aInputPasswdDialog.dispose(); + _envelopeFileWithPasswd (result); + }, + oncancel: function (e) { + aInputPasswdDialog.dispose(); + }, + args: {messageType: "common"} + }); + + if (aInputPasswdDialog) aInputPasswdDialog.show(); + } + + var _envelopeFileWithPasswd = function (aKeyword) + { + __SANDBOX.upInterface ().envelopeFileWithPasswd (aInFilePath, + aOutFilePath, + aKeyword, + aOption, + aDescription, + _CB_EnvelopeFileWithPasswd); + } + + if (aOption & 1) { + aOption -= 1; + _inputPassword(); + } else { + __SANDBOX.upInterface().setSecureInput ("", _CB_setSecureInput); + } + }, ""); + }, + + DeEnvelopeFileWithPasswd: function (aInFilePath, + aOutFilePath, + aSymKey, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_DeEnvelopeFileWithPasswd = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + _CB_setSecureInput = function (result) { + _deEnvelopeFileWithPasswd (aSymKey); + } + + var _inputPassword = function () + { + var aPasswordModule = __SANDBOX.loadModule("inputpasswd"); + + var aInputPasswdDialog = aPasswordModule ({ + width: 350, + height: 0, + onconfirm: function (result) { + aInputPasswdDialog.dispose(); + _deEnvelopeFileWithPasswd (result); + }, + oncancel: function (e) { + aInputPasswdDialog.dispose(); + }, + args: {messageType: "common"} + }); + + if (aInputPasswdDialog) aInputPasswdDialog.show(); + } + + var _deEnvelopeFileWithPasswd = function (aKeyword) + { + __SANDBOX.upInterface ().deEnvelopeFileWithPasswd (aInFilePath, + aOutFilePath, + aKeyword, + aOption, + aDescription, + _CB_DeEnvelopeFileWithPasswd); + } + + if (aOption & 1) { + aOption -= 1; + _inputPassword(); + } else { + __SANDBOX.upInterface().setSecureInput ("", _CB_setSecureInput); + } + }, ""); + }, + + GetEnvelopedFileInfo: function (aEnvelopedFile, + aOption, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_GetEnvelopedFileInfo = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().getEnvelopedFileInfo (aEnvelopedFile, + aOption, + _CB_GetEnvelopedFileInfo); + }, ""); + }, + + UploadFile: function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_UploadFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().uploadFile (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aOption, + aDescription, + _CB_UploadFile); + }, ""); + }, + + UploadFileEx: function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aOption, + aDescription, + aSID, + aCharSet, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_UploadFileEx = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().uploadFileEx (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aInFilePath, + aOption, + aDescription, + aSID, + aCharSet, + _CB_UploadFileEx); + }, ""); + }, + + DownloadFile: function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadFilePath, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_DownloadFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().downloadFile (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadFilePath, + aOption, + aDescription, + _CB_DownloadFile); + }, ""); + }, + + DownloadFileEx: function (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadFilePath, + aOption, + aDescription, + aSID, + aCharSet, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_DownloadFileEx = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().downloadFileEx (aXgateAddress, + aPath, + aQuery, + aHostName, + aPort, + aTargetFilePath, + aDownloadFilePath, + aOption, + aDescription, + aSID, + aCharSet, + _CB_DownloadFileEx); + }, ""); + }, + + ZipFile: function (aXgateAddress, + aSourceFile, + aTargetFile, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_ZipFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().zipFile (aXgateAddress, + aSourceFile, + aTargetFile, + aOption, + aDescription, + _CB_ZipFile); + }, ""); + }, + + UnZipFile: function (aXgateAddress, + aSourceFile, + aDestDir, + aOption, + aDescription, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_UnZipFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().unZipFile (aXgateAddress, + aSourceFile, + aDestDir, + aOption, + aDescription, + _CB_UnZipFile); + }, ""); + }, + + GetFileInfo: function (aFilePath, + aOption, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_GetFileInfo = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().getFileInfo (aFilePath, + aOption, + _CB_GetFileInfo); + }, ""); + }, + + ClearTempFile: function (aXgateAddress, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_ClearTempFile = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().clearTempFile (aXgateAddress, _CB_ClearTempFile); + }, ""); + }, + + GetHomeDir: function (aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_GetHomeDir = function (result) { + if (!__SANDBOX.isFailed(result, aErrCallback)) + aUserCallback (result); + } + + __SANDBOX.upInterface().getHomeDir (_CB_GetHomeDir); + }, ""); + }, + + GetCertPEM: function (aMediaID, + aIssuerRDN, + aCertSerial, + aOption, + aUserCallback, + aErrCallback) + { + __SANDBOX.setAfterAction (function () { + if (aErrCallback == undefined) + aErrCallback = gErrCallback_common; + + _CB_getCertPEM = function (aCertPEM) { + if (!__SANDBOX.isFailed(aCertPEM, aErrCallback)) + aUserCallback (aCertPEM); + } + + __SANDBOX.upInterface().getCertPEM (aMediaID, + aIssuerRDN, + aCertSerial, + aOption, + _CB_getCertPEM); + }, ""); + }, + + XFSLogout: function (aUserCallback) + { + __SANDBOX.upInterface().xfsLogout (aUserCallback); + }, + + SetStorage: function (aUserCallback) + { + if (typeof XCrypto == "undefined") { + if(aUserCallback) aUserCallback(); + return; + } + + if (XCrypto.checkXCrypto() != 0) { + if(aUserCallback) aUserCallback(); + return ; + } + + var aCallback = function (aReturn) { + if (aReturn != 0) + { + var aInternalErrorMessage = XCrypto.getLastErrInternal(); + var aErrorObject = __SANDBOX.upInterface().setErrCodeAndMsg(); + + if(typeof aInternalErrorMessage !== "undefined" && aInternalErrorMessage.length > 0 ) + aErrorObject.msg += aInternalErrorMessage; + + if(AnySign.mOpenCertAlertEnable) + { + alert(aErrorObject.msg.replace(/\\n/g, '\r\n')); + + if (typeof AnySign.mLanguage === 'string' && AnySign.mLanguage.toLowerCase() == "ko-kr") + alert(XW_OPENCERT_INIT_ERROR_NOTABLE_MSG); + else + alert(XW_OPENCERT_INIT_ERROR_NOTABLE_MSG_en); + } + else + { + console.log(aErrorObject.msg); + } + + // When setOpenStorage return error, inside xcrypto set used localStorage(or crossStorage). + // so AnySign.mOpenCertInitFlag set true because secondtime setOpenStorage fail is not return callback. (Be assumed yessign opencert module error.) + // when yessign can fix that bug, then AnySign.mOpenCertInitFlag can set true if user choose confirm button. The button message is I will continue to use localstorage. + AnySign.mOpenCertInitFlag = true; + } + else + { + AnySign.mOpenCertInitFlag = true; + } + + var aCallback2 = function (aReturn) { + if (aReturn != 0) + console.log("[setCrossStorage] fail set Cross Storage URL."); + + if(aUserCallback) aUserCallback(); + } + + __SANDBOX.upInterface().setCrossStorage(AnySign.mCrossStorageHub, AnySign.mCrossStorageOption, aCallback2); + } + + if(AnySign.mOpenCertEnable == true && AnySign.mOpenCertInitFlag == false) + { + // 금결원 인증서 정보 목록 변경 이벤트 리스터 + var aOpenCertEventListener = function (listener) { + if (!__SANDBOX.isDialogLoaded) return; + + var element = document.getElementById('xwup_media_localstorage'); + if (!element) return; + + var loader = document.getElementById('xwup_loader_img'); + if (loader) return; + + if (listener == "connect" || listener == "disconnect" || listener == "removeCertFromTray") + element.onclick(); + }; + + var aGuideModule = __SANDBOX.loadModule("guidewindow"); + __SANDBOX.upInterface().setOpenStorage(AnySign.mOpenApi, [AnySign.mOpenCertJS, AnySign.mOpenCertRelayJS], aOpenCertEventListener, aGuideModule, aCallback); + + } + else + { + aCallback(0); + } + } +} + +})(); + + diff --git a/src/main/webapp/AnySign4PC/AnySign4PC/css/common.css b/src/main/webapp/AnySign4PC/AnySign4PC/css/common.css new file mode 100644 index 00000000..7441c1cd --- /dev/null +++ b/src/main/webapp/AnySign4PC/AnySign4PC/css/common.css @@ -0,0 +1,505 @@ +@charset "utf-8"; + +/* common css */ +.xwup_common{background:0;background-color:transparent;background-image:none;background-position:0;background-repeat:repeat;background-size:auto;box-shadow:none;box-sizing:border-box;clear:none;color:inherit;empty-cells:show;float:none;font:normal;font-family:inherit;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;height:auto;left:auto;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:none;list-style-type:none;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;overflow:visible;padding:0;table-layout:auto;text-align:left;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-shadow:none;vertical-align:middle;visibility:inherit;white-space:normal;widows:0;width:auto;word-spacing:normal;z-index:auto;position:static;cursor:auto} +.xwup_cert_wide,.xwup_cert_pop,.xwup_cert_mini{display:block;visibility:visible;overflow:visible;height:auto;background-color:#fff;color:#000;font-weight:normal;line-height:normal;background-image:none;cursor:auto} +.xwup_cert_mini{width:600px;border:0} /* 미니UI */ +.xwup_cert_pop{position:absolute;top:0;left:0;border-style:solid} /* 팝업UI */ +.xwup_cert_wide{border-style:solid} /* 바닥UI */ +.xwup_common div,.xwup_common a,.xwup_common span,.xwup_common table,.xwup_common tr,.xwup_common th,.xwup_common td,.xwup_common ul,.xwup_common ol,.xwup_common li,.xwup_common dl,.xwup_common dt,.xwup_common dd,.xwup_common form,.xwup_common button,.xwup_common fieldset,.xwup_common legend,.xwup_common select,.xwup_common textarea,.xwup_common p,.xwup_common label,.xwup_common input,.xwup_common h1,.xwup_common h2,.xwup_common h3,.xwup_common h4,.xwup_common h5,.xwup_common h6,.xwup_common blockquote{margin:0;padding:0;font-family:'Malgun Gothic',Dotum,Helvetica,AppleGothic,Sans-serif;font-size:12px;color:#000;background:0;background-color:transparent;background-image:none;background-position:0;background-repeat:repeat;background-size:auto;box-shadow:none;clear:none;empty-cells:show;float:none;font:normal;font-style:normal;font-variant:normal;font-weight:normal;height:auto;left:auto;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:none;list-style-type:none;margin:0;opacity:1;overflow:visible;padding:0;table-layout:auto;text-align:left;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-shadow:none;vertical-align:middle;visibility:inherit;white-space:normal;widows:0;width:auto;word-spacing:normal;z-index:auto;position:static;cursor:auto} + +/* default setting */ +.xwup_common img,.xwup_common fieldset{border:0} +.xwup_common form,.xwup_common fieldset,.xwup_common legend,.xwup_common input,.xwup_common button,.xwup_common textarea,.xwup_common select{color:#000;font-size:12px} +.xwup_common button::-moz-focus-inner{padding:0;border:0} +.xwup_common ul,.xwup_common ol{list-style:none} +.xwup_common table{border-collapse:collapse} +.xwup_common label{cursor:default} +.xwup_common input,.xwup_common textarea{display:inline-block;font-size:13px;vertical-align:middle} +.xwup_common textarea{resize:none} +.xwup_common address,.xwup_common em{font-style:normal} +.xwup_common fieldset,.xwup_common img{border:0;position:relative} +.xwup_common em{font-style:normal} +.xwup_common h3{top:0} +.xwup_common button{cursor:pointer} +.xwup_common a{text-decoration:none;cursor:pointer} +.xwup_common table{border-collapse:collapse} +.xwup_common th,.xwup_common td{padding:0;vertical-align:middle;text-align:left;font-weight:normal} +.xwup_common input[type="text"],.xwup_common input[type="password"],.xwup_common input[type="email"],.xwup_common input[type="search"],.xwup_common input[type="image"],.xwup_common input[type="button"],.xwup_common textarea{border:1px solid #777;background:#fff;-webkit-appearance:none;border-radius:0} +.xwup_common input[type="checkbox"]:checked{background-color:#fff;-webkit-appearance:checkbox} +.xwup_common input[type="text"],.xwup_common input[type="password"]{height:18px;position:relative;margin:1px 2px 0;padding:2px 3px 3px;border:1px solid #777;background:#fff;color:#000} +.xwup_common .lt-css3 input[type="text"],.xwup_common input[type="password"]{padding:1px 3px 4px} +.xwup_common input[type="text"]:focus,.xwup_common input[type="password"]:focus,.xwup_common textarea:focus{border:1px solid #009ae6;outline-width:0} +.xwup_common input[disabled="disabled"]{background:#f0f0f0;border:1px solid #f0f0f0;color:#555} +.xwup_common input[readonly="readonly"]{background:#f0f0f0;border:1px solid #777;color:#555} +.xwup_common .disabled{background:#f0f0f0;border:1px solid #f0f0f0;color:#555} +.xwup_common input.error-input{background:#fff;border:1px solid #ff4b2a;color:#000} +.xwup_common .form-error{display:block;background:url(../img/common/etc/ico_form_error.gif) no-repeat left 5px;padding:0 0 0 23px;color:#ff4b2a;vertical-align:top} +.xwup_common input[type="checkbox"],.xwup_common input[type="radio"]{width:13px;height:13px;margin:0;padding:0;vertical-align:middle;line-height:27px} +.xwup_common select{position:relative;height:25px;vertical-align:middle;border:1px solid #777;padding:2px 2px 2px 0;margin:-1px 0 0 2px} +.xwup_common .ie7 select{line-height:1.65;font-family:'돋움',dotum;padding:4px 4px 5px 0} + +/* Layout */ +.xwup_common .xwup_mbottom img{height:auto;margin-right:5px;vertical-align:middle} +.xwup_common .hidden{overflow:hidden;position:absolute;top:-9999px;left:-9999px;width:0;height:0;font-size:0;line-height:0;text-indent:-9999px} +.xwup_common .w100{width:100px} +.xwup_common div.xwup-w300-body{width:300px} +.xwup_common div.xwup-w400-body{width:400px} +.xwup_common div.xwup-w410-body{width:410px} +.xwup_common div.xwup-w420-body{width:420px} +.xwup_common div.xwup-w500-body{width:500px} +.xwup_common div.xwup-w530-body{width:530px} +.xwup_common div.xwup-w730-body{width:730px} +.xwup_common div.xwup-w946-body{width:946px} +.xwup_common .xwup-font10{font-size:10px} +.xwup_common .xwup-degap{margin:10px 10px 20px} +.xwup_common .xwup-mr5{margin-right:15px} +.xwup_common .xwup-fontb{font-weight:bold} +.xwup_common .xwup_mbottom{margin:0 0 10px;text-align:left} +.xwup_common .xwup-legend{display:none !important;margin:0 0 0 5px;background-color:#fff;font-weight:normal;text-align:left} +.xwup_common caption{visibility:hidden;width:0;height:0;line-height:0;position:relative} +.xwup_common .xwup-h140{height:140px} +.xwup_common .xwup-str-pd0{padding:0} +.xwup_common .brt-color-none{border-top-color:transparent} +.xwup_common .xwup-wrd-normal{word-wrap:normal} +.xwup_common .xwup-ovf-yscroll{oveflow:hidden;overflow-y:scroll} +.xwup_common .xwup-ovf-yscroll-none{overflow-y:hidden} + +/* common title */ +.xwup_common .xwup-title2{_width:452px} +.xwup_common .title h3,.xwup_common .xwup-title h3{height:40px;padding:0 0 0 15px;font-size:18px;line-height:40px;letter-spacing:-2px;font-weight:bold;cursor:move} +.xwup_common .xwup-title h3{font-weight:bold} +.xwup_common .xwup-title-mini{top:0;left:0;width:100%;height:30px;margin-bottom:-15px;border-radius:0;background:none} +.xwup_common .xwup-title-mini h3{font-size:20px;height:31px;color:#000;background:none;line-height:27px;vertical-align:middle;letter-spacing:-2px} + +/* contents body */ +.xwup_common .xwup-body{margin:0 20px 20px 20px;padding-top:20px} +.xwup_common .blank0,.xwup_common .xwup-blank0{overflow:hidden;position:absolute;top:-9999px;left:-9999px;width:0;height:0;font-size:0;line-height:0;text-indent:-9999px} +.xwup_common .blank10,.xwup_common .xwup-blank10{height:10px;margin:0} +.xwup_common .blank15,.xwup_common .xwup-blank15{height:15px;margin:0} + +/* button */ +.xwup_common .xwup-buttons-layout,.xwup_common .xwup-buttons-layout2,.xwup_common .xwup-buttons-layout4{display:block;margin:15px 0;text-align:center} +.xwup_common .xwup-buttons-layout2{text-align:right} +.xwup_common .xwup-buttons-layout3{text-align:left} +.xwup_common .xwup-buttons-layout4{margin:0;text-align:right} +.xwup_common .xwup-buttons-layout button,.xwup_common .xwup-buttons-layout2 button,.xwup_common .xwup-buttons-layout3 button,.xwup_common .xwup-buttons-layout4 button{height:25px;margin:0 5px;padding:0 13px;*padding:0 10px;_padding:0 10px;border:1px solid gray;border-radius:6px;background-color:#EFEFEF;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top} +.xwup_common .xwup-buttons-layout .ok,.xwup_common .xwup-buttons-layout2 .ok,.xwup_common .xwup-buttons-layout3 .ok,.xwup_common .xwup-buttons-layout4 .ok{overflow:hidden;height:28px;border:0;background:url(../img/btn_ok_blue.png);line-height:9000px;cursor:pointer} +.xwup_common .xwup-buttons-layout .cancel,.xwup_common .xwup-buttons-layout2 .cancel,.xwup_common .xwup-buttons-layout3 .cancel,.xwup_common .xwup-buttons-layout4 .cancel{overflow:hidden;height:28px;border:0;background:url(../img/btn_cancel.png);line-height:9000px;cursor:pointer} +.xwup_common .xwup-buttons-layout .view,.xwup_common .xwup-buttons-layout2 .view,.xwup_common .xwup-buttons-layout3 .view,.xwup_common .xwup-buttons-layout4 .view{margin:5px;padding:0 13px;border:1px solid #c7c7c7;border-radius:4px;-webkit-border-radius:4px} +.xwup_common .xwup-button-disabled{color:gray} +.xwup_common .xwup-box-layout{position:relative;padding-top:7px} +.xwup_common .xwup-box-border{display:block;padding:10px;border:1px solid #c7c7c7} +.xwup_common .xwup-close-button {background:url(../img/btn_pop_close.png) no-repeat;position:absolute;height:15px;width:15px;top:14px;right:13px} + +/* tab */ +.xwup_common div.xwup-tab-view{display:block;clear:both;padding:15px;border:2px solid #6C9CDA;border-radius:0 8px 8px 8px;background-color:#fff;text-align:left;zoom:1} +.xwup_common div.xwup-tab-list ul{float:left;position:relative;margin:0;padding:0;color:#666;text-align:left} +.xwup_common div.xwup-tab-list ul li{display:inline-block;*display:inline;margin:0;border:1px solid #999;border-bottom:0;border-radius:6px 6px 0 0;background:#f9f9f9;list-style-type:none;*zoom:1} +.xwup_common div.xwup-tab-list ul li a{display:block;padding:6px 10px 2px;font-weight:normal;color:#000;list-style:none;white-space:nowrap} +.xwup_common div.xwup-tab-list .selected a{border-top:1px solid #6c9cda;border-right:1px solid #6c9cda;background-color:#6C9CDA;font-weight:bold;color:#FFF;list-style:none} +.xwup_common div.xwup-tab-list .tmenu{width:46px} +.xwup_common div.xwup-tab-list .tmenu2{width:98px} +.xwup_common div.xwup-tab-list .tmenu3{width:138px} +.xwup_common div.xwup-tab-list .tmenu4{width:98px} +.xwup_common div.xwup-tab-list .tmenu5{width:48px} +.xwup_common div.xwup-tab-list .tmenu6{width:60px} + +/* label */ +.xwup_common .xwup-for-password{display:inline-block;margin:0;font-weight:bold;color:#000;vertical-align:top} + +/* input */ +.xwup_common .xwup-password{overflow:hidden;margin:0 5px;padding:0 0 0 5px;border:1px solid;font-size:12px;vertical-align:middle} +.xwup_common .xwup-checkbox{margin:0 5px 0 0} + +/* fieldset */ +.xwup_common .xwup-location-item{display:block;margin:0;padding:0 0 5px;border:1px solid #949494} +.xwup_common .xwup-location-item button{display:inline-block;*display:block;width:78px;height:62px;padding:2px;border:2px solid #fff;border-radius:6px;background:#fff} +.xwup_common fieldset.manager{display:inline-block;*display:inline;width:207px;height:125px;margin:10px 2px 0;padding:2px 0;border:1px solid #949494;text-align:center;*zoom:1} +.xwup_common fieldset.manager .xwup-legend{margin:0 0 0 10px} +.xwup_common .importexport{display:block;overflow:hidden;margin-top:15px;padding:0 10px 10px;border:1px solid #949494} +.xwup_common .importexport div{margin:8px 0 3px} +.xwup_common .p10x10-gray1{display:block;overflow:hidden;padding:10px;border:1px solid #949494;text-align:left} +.xwup_common .p10x10-gray1 .group{margin-top:3px} +.xwup_common .p10x10-gray1 input{width:13px;height:13px;vertical-align:middle} +.xwup_common .p10x10-gray1 label{vertical-align:middle} +.xwup_common .p10x10-gray1 .margin-top{margin-top:12px} +.xwup_common .p10x10-gray1 .margin-bottom{margin-bottom:12px} +.xwup_common .xwup-cert-position,.xwup_common .xwup-cert-position2{margin:7px 4px 5px;table-layout:fixed;zoom:1} +.xwup_common .xwup-cert-position2{width:410px;margin:7px 7px 5px} +.xwup_common .xwup-cert-position td,.xwup_common .xwup-cert-position2 td{width:20%} +.xwup_common .xwup-cert-position span,.xwup_common .xwup-cert-position2 span{display:block;margin:0 auto;background-repeat:no-repeat;cursor:pointer} +.xwup_common .xwup-cert-position .xwup-rbg-text,.xwup_common .xwup-cert-position2 .xwup-rbg-text{display:block;height:auto;margin:2px 0 0;text-align:center;background:none;cursor:pointer} +.xwup_common .mngr-btn-text{display:inline-block;margin:2px 0 0;text-align:center} +.xwup_common .mngr-btn-img{display:inline-block;height:16px;margin:0 0 0 15px;background-repeat:no-repeat} + +/* radio button group */ +.xwup_common .xwup-location-item .xwup-rbg-normal{background:#fff;border-color:#fff} +.xwup_common .xwup-location-item .xwup-rbg-hover,.xwup_common .xwup-location-item .xwup-rbg-pressed{background:#eee;border-color:#999 #ddd #ddd #999} +.xwup_common .xwup-location-item .xwup-rbg-disabled{border:2px solid #FFF;background-color:#fff;background-image:none} +.xwup_common .exclamation{display:inline-block;width:16px;height:16px;margin:4px 0 0;background-image:url(../img/bu.png);background-repeat:no-repeat} + +/* password field */ +.xwup_common .xwup-password-field,.xwup_common .xwup-password-field2{margin:8px 0 0} +.xwup_common .xwup-password-field2{text-align:center} +.xwup_common .xwup-password-field label,.xwup_common .xwup-password-field2 label{display:inline-block;min-width:100px;_width:100px;margin:0 10px 0 0;text-align:right} +.xwup_common .xwup-password-field2 label{width:145px} + +/* cert manager */ +.xwup_common .xwup-group-btn-layout{display:block;height:132px; text-align:left} +.xwup_common .xwup-group-btn-layout button{width:75px;height:25px;border:1px solid gray;border-radius:6px;background-color:#efefef;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top;cursor:pointer} +.xwup_common .xwup-group-btn-layout span{display:inline-block;margin:0 5px;background-repeat:no-repeat;vertical-align:middle;cursor:pointer} +.xwup_common span.xwup-group-btn-desc{display:inline-block;height:12px;margin:10px 5px;text-align:left;vertical-align:top;*zoom:1} +.xwup_common .xwup-group-btn-layout .xwup-size150{width:150px;margin:8px 0 0;padding:1px 0 1px 7px;background-repeat:no-repeat;background-position:10% 50%;text-align:left} +.xwup_common .xwup-group-btn-layout .xwup-size180{width:180px;margin:8px 0 0;padding:1px 0 1px 5px;background-repeat:no-repeat;background-position:10% 50%;text-align:left} + +/* table view */ +.xwup_common .xwup-tableview{overflow-x:hidden;overflow-y:auto;position:relative;width:100%;_width:423px;height:140px;margin:10px 0 15px;border:1px solid #949494;box-sizing:content-box} +.xwup_common .xwup-tableview table{width:100%;margin:0;border-width:0;table-layout:fixed} +.xwup_common .xwup-tableview caption{visibility:hidden;width:0;height:0;line-height:0} +.xwup_common .xwup-tableview thead{border:0;border-bottom:1px solid #c7c7c7;background:#f5f5f5;background-image:url(../img/btn_bg.png);font-weight:bold} +.xwup_common .xwup-tableview th{position:static;padding:5px 0;background-color:#f5f5f5;font-weight:bold;text-align:center;white-space:nowrap;text-overflow:ellipsis;cursor:default} +.xwup_common .xwup-tableview th .wide-cert-table-resizearea{position:relative;zoom:1;text-align:center;font-weight:bold} +.xwup_common .xwup-tableview .xwup-mcert{width:82px} +.xwup_common .xwup-tableview .xwup-mcert2{width:164px} +.xwup_common .xwup-tableview .xwup-mcert3{width:82px} +.xwup_common .xwup-tableview .xwup-mcert4{width:82px} +.xwup_common .xwup-tableview tbody tr{border-bottom:1px solid #e3e3e3} +.xwup_common .xwup-tableview td{padding:0 5px;border:1px solid #eee;border-width:0 1px 1px 0;word-wrap:normal} +.xwup_common .xwup-tableview-cell{overflow:hidden;width:100%;max-width:100%;margin:0;padding:1px 0;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;word-wrap:normal} +.xwup_common .xwup-tableview-cell img{vertical-align:middle} +.xwup_common .xwup-tableview-selected-row td{background-color:#6c9cda;color:#fff;cursor:pointer} +.xwup_common .xwup-tableview-selected-row .xwup-tableview-cell{color:#fff} +.xwup_common .xwup-tableview-unselected-row{background-color:transparent;color:#000;cursor:pointer} +.xwup_common .xwup-tableview-resizer{position:absolute;top:-5px;left:100%;width:6px;height:27px;margin-left:-3px;*margin-left:4px;cursor:w-resize} +.xwup_common .xwup-tableview-button{width:15px} +.xwup_common .xwup-tableview-viewbutton{width:70px;height:24px;margin:0 2px;border:1px solid #c7c7c7;border-radius:4px;background-color:#FFF;font-size:11px;text-align:center;cursor:pointer} + +/* certselect */ +.xwup_common .xwup-widget-sec{position:relative;width:100%;height:0px} +.xwup_common .xwup-widget-sec .fb{display:inline-block;color:#000;font-weight:bold} +.xwup_common .xwup-widget-sec .fc{color:#000} +.xwup_common .exclamation-image{display:inline-block;margin:4px 0 0 0;width:16px;height:16px;background:url(../img/bu.png) no-repeat} +.xwup_common .xwup-cert-passwd{padding-left:10px} +.xwup_common .xwup-cert-passwd span{display:block;padding:10px 0 2px} +.xwup_common .xwup-passwd-field{width:100%;height:26px;padding:13px 0 0;color:#986e3b;box-sizing:content-box} +.xwup_common .xwup-passwd-field .xwup-tit-pw{display:inline-block;font-weight:bold;color:#000;margin:0;padding-top:5px;vertical-align:top;cursor:default} +.xwup_common .xwup-passwd-field .xwup-pw-box{width:180px;height:18px;margin-left:4px;padding-left:4px;border:1px solid #000;vertical-align:middle;color:#000;box-sizing:content-box} +.xwup_common .xwup-passwd-field img{margin-right:4px;vertical-align:middle} +.xwup_common .xwup-passwd-field span{display:inline-block;padding:0;vertical-align:middle} +.xwup_common .xwup-expire-alert{display:none;width:220px;position:absolute;padding:7px;border:1px solid gray;border-radius:6px;background:#FFF;text-align:left;-webkit-border-radius:6px;box-shadow:3px 3px 10px gray;-webkit-box-shadow:3px 3px 10px gray} +.xwup_common .xwup-expire-icon{display:block;position:absolute;top:0;left:0;margin:0;padding:10px} +.xwup_common .xwup-expire-message{display:block;margin-left:28px;font-weight:bold} +.xwup_common .xwup-renew-message{display:block;margin-left:28px} +.xwup_common .xwup-expire-arrow{position:absolute;top:-19px;left:30px;width:0;height:0;border:10px solid;border-color:transparent transparent #FFF} +.xwup_common .xwup-expire-arrow-border{position:absolute;top:-20px;left:30px;width:0;height:0;border:10px solid;border-color:transparent transparent #c7c7c7} +.xwup_common #xwup_header{text-align:center} + +/* fileselect */ +.xwup_common .xwup-medialist{display:inline-block;*float:left;overflow-x:scroll;overflow-y:auto;width:160px;height:250px;border:1px solid #949494;background-color:#fff;margin:14px 14px 14px 0px;cursor:auto} +.xwup_common .xwup-medialist table{width:100%} +.xwup_common .xwup-medialist td{overflow:hidden;padding:2px 3px 1px;text-overflow:ellipsis;white-space:nowrap} +.xwup_common .xwup-medialist td a,.xwup_common .xwup-filelist td a{display:block} +.xwup_common .xwup-medialist td span,.xwup_common .xwup-filelist td span{display:inline-block;width:16px;height:16px;margin:0 4px} +.xwup_common .xwup-filelist{display:inline-block;overflow-x:scroll;overflow-y:auto;_float:left;width:512px;height:250px;border:1px solid #949494;background-color:#fff;margin:14px 0px;cursor:auto} +.xwup_common .xwup-filelist table{width:100%;table-layout:fixed} +.xwup_common .xwup-filelist td{overflow:hidden;padding:2px 10px 1px 3px;white-space:nowrap;cursor:default} +.xwup_common .xwup-tab-list .selected{background-color:#3875D7;color:#fff} +.xwup_common .media-list-image{display:inlinewidth:16px;height:16px;vertical-align:middle;margin-right:4px} +.xwup_common .file-list-image{display:inline;width:16px;height:16px;vertical-align:middle} +.xwup_common .file-list-cell{overflow:hidden;padding:2px 3px 1px 3px;border:0;white-space:nowrap;padding-right:10px;cursor:default} +.xwup_common .file-url,.xwup_common .filename-url{text-align:right} +.xwup_common .file-url .btn-folder{width:80px;height:25px;margin-right:14px;border:1px solid gray;border-radius:6px;background-color:#EFEFEF;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top} +.xwup_common .file-url .txt-url{width:516px;height:24px;padding:0 5px;background:#f0f0f0;cursor:auto;line-height:24px} +.xwup_common .filename-url .txt-nurl{width:516px;height:24px;margin-left:4px;padding:0 0 0 2px;border:1px solid #c9c9c9;background:#f0f0f0;line-height:22px;vertical-align:middle} + +/* viewverify */ +.xwup_common .xwup-cert-infos{width:420px} +.xwup_common .xwup-cert-infos table{overflow-x:hidden;font-size:11px;table-layout:fixed} +.xwup_common .xwup-cert-infos th.filed-value{width:100px;text-align:center} +.xwup_common .xwup-cert-infos th.value-end{width:296px;text-align:center} +.xwup_common .xwup-cert-infos img{margin-right:5px} +.xwup_common .xwup-cert-infos button{width:100px} +.xwup_common .xwup-textview{overflow:auto;width:400px;height:323px;margin:0 0 10px;padding:5px 7px 5px 7px;background-color:#fff;border:1px solid #6C9CDA;resize:none;box-sizing:content-box} +.xwup_common .xwup-textview2{overflow:auto;width:404px;height:63px;margin:0 0 3px;padding:5px 7px 5px 7px;background-color:#fff;border:1px solid #6C9CDA;resize:none;box-sizing:content-box} +.xwup_common .xwup-textview3{overflow:auto;width:450px;height:160px;margin:0 0 3px;padding:5px 7px 5px 7px;background-color:#fff;border:1px solid #6C9CDA;resize:none;box-sizing:content-box} + +/* savelog */ +.xwup_common .xwup-slsave{margin:6px 0 0 0} +.xwup_common .xwup-slremovable{margin:6px 0 0 0} +.xwup_common .xwup-slselect-cert{width:180px;margin:6px 0px 10px 0} +.xwup_common .xwup-sl-pkcs{margin:6px 0 0 6px} +.xwup_common .xwup-sl-securedisk{margin:6px 0 0 6px} + +/* changepasswd */ +.xwup_common .xwup-ch-title{margin:0 10px 0 0} +.xwup_common .xwup-ch-title table{width:370px} +.xwup_common .xwup-ch-title .timg{margin:7px 8px 0 0} +.xwup_common .xwup-ch-section{width:100%} +.xwup_common .xwup-ch-section .xwup-input-pwd{overflow:hidden;width:170px;height:24px;line-height:24px;padding:0 4px;margin:0 5px} +.xwup_common .xwup-widget-sec2{position:relative;width:100%;height:0px} +.xwup_common .xwup-widget-sec2.fb{display:inline-block;color:#000;font-weight:bold} +.xwup_common .xwup-widget-sec2.fc{color:#000} +.xwup_common .xwup-widget-sec2 .xwup-expire-alert{display:none;width:195px;position:absolute;padding:7px;border:1px solid gray;border-radius:6px;background:#FFF;text-align:left;-webkit-border-radius:6px;box-shadow:3px 3px 10px gray;-webkit-box-shadow:3px 3px 10px gray} + +/* commondialog */ +.xwup_common .xwup-dialog-sec{width:100%;margin:0px 0px 20px;text-align:center;word-wrap:break-word} + +/* confimwindow */ +.xwup_common .xwup-confim-area{overflow:hidden;width:338px;height:380px;padding:10px} + +/* export */ +.xwup_common .xwup-export-area{width:100%;height:240px} +.xwup_common .xwup-export-guide {border:0;padding:0 0 10px 10px} +.xwup_common .xwup-export-sec .xwup-box-layout{margin:0 0 10px} +.xwup_common .xwup-export-sec .xwup-box-border{border:0} +.xwup_common .xwup-export-sec .xwup-box-border span{font-weight:bold;font-size:13px} +.xwup_common .xwup-export-sec2 .xwup-box-layout{margin:0 0 20px} +.xwup_common .xwup-export-sec2 .xwup-box-border{border:0} +.xwup_common .xwup-export-sec2 .xwup-box-border span{padding-left:6px} +.xwup_common .xwup-export-sec2 .filename{margin-bottom:5px} +.xwup_common .xwup-export-sec2 .find-btn{display:inline-block;width:80px;vertical-align:middle} +.xwup_common .xwup-export-sec2 .xwup-input-find{display:inline-block;overflow:hidden;width:240px;height:22px;margin:3px 0 0 6px;line-height:22px;vertcial-align:middle} +.xwup_common .xwup-ex-passwd .xwup-passwd-group{margin:3px 0 10px} +.xwup_common .xwup-ex-passwd .xwup-passwd-group .input-passwd{width:245px} +.xwup_common .xwup-ex-passwd .xwup-passwd-group .input-mouse{margin:0 4px 0 0} +.xwup_common .xwup-passwd-group .pw-txt{display:block;margin:0 0 7px} +.xwup_common .xwup-passwd-group .input-passwd{overflow:hidden;width:370px;height:24px;margin:0 5px 0 0;padding:0 4px;line-height: 24px} +.xwup_common .xwup-export-area .xwup-expire-alert{display:none;width:180px} +.xwup_common .xwup-export-area .xwup-input-find{width:260px} +.xwup_common .xwup-btn-find{width:68px;height:25px;margin:0 5px;border:1px solid gray;border-radius:6px;background-color:#EFEFEF;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:middle} + +/* hmsselect */ +.xwup_common .description-layout{height:16px;margin:10px 0 0 0;padding:2px 0 0 0;background-color:#ccc;text-align:center} + +/* import */ +.xwup_common .xwup-import-area{height:240px} +.xwup_common .xwup-import-area .xwup-select-sert{margin:15px 0} +.xwup_common .xwup-import-area .xwup-tit-import{margin:0 0 3px;font-weight:bold} +.xwup_common .xwup-import-area .xwup-input-imfile,.xwup_common .xwup-import-area .xwup-input-imfile2{overflow:hidden;width:350px;_height:24px;margin:0 0 5px;line-height:24px;background:#fff;_border:1px solid #777} +.xwup_common .xwup-import-area .xwup-input-imfile2{width:210px;margin:0 5px 0 0} +.xwup_common .xwup-import-area .xwup-import-passwd{margin:15px 0 0 0} + +/* inputpasswd */ +.xwup_common .xwup-inpwd-sec .xwup-input-name{margin:0 10px 0 0} +.xwup_common .xwup-inpwd-sec .xwup-input-pwd{overflow:hidden;width:165px;height:24px;margin:0 5px;padding:0 4px;line-height:24px} + +/* iccard */ +.xwup_common .xwup-inpwd-sec2{position:relative;padding:20px} +.xwup_common .xwup-inpwd-sec2 .xwup-input-name{display:block;margin:0 10px 13px 0} +.xwup_common .xwup-inpwd-sec2 .xwup-input-pwd{overflow:hidden;width:165px;height:24px;margin:0px 5px 0 0;padding:0 4px;line-height:24px} +.xwup_common .xwup-inpwd-sec2 .xwup-buttons-layout{margin:10px 0px 0px 0px} + +/* iccardlist */ +.xwup_common .xwup-iccardlist{margin:10px} +.xwup_common .xwup-iccardlist .xwup-tableview{_width:300px;height:125px} + +/* scpselect */ +.xwup_common .xwup-scpselect{margin:10px} +.xwup_common .xwup-scpselect .xwup-tableview{_width:420px;height:170px} + +/* rootverify */ +.xwup_common .xwup-boxtitle{margin:10px 0 0 0;font-size:11px;font-weight:bold;color:#606060} +.xwup_common .xwup-content-box2{display:none;margin:0 0 8px;padding:5px 0px 3px 5px;border:1px solid #a0a0a0;border-radius:5px;text-align:center} +.xwup_common .xwup-verify-input{width:100%;margin:0 0 5px} +.xwup_common .xwup-verify-info{margin:10px 0 15px 0;text-align:left} +.xwup_common .xwup-verify-info .info{margin-bottom:8px;font-weight:bold;text-decoration:underline} + +/* savepasswd */ +.xwup_common .xwup-savepwd-sec .xwup-input-pwd{overflow:hidden;width:154px;height:24px;margin:0 5px;padding:0 4px;line-height:24px} +.xwup_common .xwup-txt-message{padding:0 14px 10px;line-height:18px} + +/* usernotify */ +.xwup_common .xwup-usernoti-box{width:344px;height:288px;padding:5px;border:1px solid #949494} + +/* verifyhsm */ +.xwup_common .xwup-verrify-sec .xwup-input-pwd{overflow:hidden;width:190px;height:24px;margin:0 5px;padding:0 4px;line-height:24px} + +/* verifyvid */ +.xwup_common .xwup-veriid-sec .xwup-input-name{display:block;margin:0 0 5px} +.xwup_common .xwup-veriid-sec .xwup-input-pwd{overflow:hidden;width:330px;height:24px;margin:0 5px;padding:0 4px;line-height:24px} + +/* guidewindow */ +.xwup_common .xwup-guidewindow{text-align:center;margin-top:10px} + +/* pfxdialog */ +.xwup_common .xwup-tit-pfxdialog{margin:0 0 3px;font-weight:bold} +.xwup_common .xwup-pfx-drag{border:2px dashed #bbb;/*border-radius:5px;*/padding:10px;text-align:center;color:#bbb} +.xwup_common .xwup-drag-guide-certselect{display:none;border:2px dashed #bbb;padding-top:29px;text-align:center;color:#bbb;width:404px;height:80px;margin-left:1px;position:absolute;top:-129px;box-sizing:content-box} +.xwup_common .xwup-drag-guide-certselect2{display:none;border:2px dashed #fff;padding-top:36px;text-align:center;color:#bbb;width:412px;height:108px;margin-left:-3px;position:absolute;top:-160px;} +.xwup_common .xwup-drag-guide-certmanager{display:none;border:2px dashed #bbb;padding-top:21px;text-align:center;color:#bbb;width:420px;height:88px;margin-left:1px;position:absolute;top:-129px;} +.xwup_common .xwup-drag-guide-certmanager2{display:none;border:2px dashed #fff;padding-top:40px;text-align:center;color:#bbb;width:428px;height:104px;margin-left:-3px;position:absolute;top:-160px;z-index:-1} +.xwup_common .xwup-drag-overlay-certselect{width:452px;height:578px;top:-575px;left:0;} +.xwup_common .xwup-drag-overlay-certmanager{width:500px;height:585px;top:-582px;left:0;} +.xwup_common .xwup-drag-guide-certselectwide{display:none;border:2px dashed #bbb;padding-top:20px;text-align:center;color:#bbb;width:903px;height:73px;margin-left:20px;margin-top:9px;position:absolute;top:-107px} +.xwup_common .xwup-drag-guide-certselectwide2{display:none;border:2px dashed #bbb;padding-top:30px;text-align:center;color:#bbb;width:903px;height:97px;margin-left:20px;margin-top:9px;position:absolute;top:-138px} +.xwup_common .xwup-drag-overlay-certselectwide{width:948px;height:325px;top:-320px;left:0;} +.xwup_common .xwup-drag-guide-certselectmini{display:none;border:2px dashed #bbb;padding-top:29px;text-align:center;color:#bbb;width:404px;height:80px;margin-left:1px;position:absolute;top:-129px;} +.xwup_common .xwup-drag-overlay-certselectmini{width:422px;height:384px;top:-396px;left:14px;} +.xwup_common .xwup-drag-hover{border:2px dashed #20509f;background-color:#bcd5ff} +.xwup_common .xwup-drag-guide-span{color:grey;} +.xwup_common .xwup-drag-guide-span-hover{color:#000;} +.xwup_common .xwup-input-pfxfile{overflow:hidden;width:300px} +.xwup_common .xwup-pfx-filebox label {display: inline-block;padding: .5em .75em;color:#fff;font-size: inherit;line-height: normal;vertical-align: middle;background-color: #337ab7;cursor: pointer;border: 1px solid #2e6da4;border-radius: .25em} +/*.xwup_common .xwup-pfx-filebox2 {display: inline-block;padding: .5em .75em;color:#fff;font-size: inherit;line-height: normal;vertical-align: middle;background-color: #337ab7;cursor: pointer;border: 1px solid #2e6da4;border-radius: .25em}*/ +.xwup_common .xwup-pfx-filebox input[type="file"] {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip:rect(0,0,0,0);border: 0} + +/* xfslogin */ +.xwup_common .xwup-xfs-section{width:100%} +.xwup_common .xwup-xfs-section .xwup-password-field label{vertical-align:baseline} +.xwup_common .xwup-xfs-section .xwup-input-pwd{overflow:hidden;width:170px;height:24px;line-height:24px;padding:0 4px;margin:0 5px} +.xwup_common .xwup-xfs-section .xwup-buttons-layout3 button{vertical-align:middle} +.xwup_common .xwup-xfs-section .xwup-buttons-layout3 input[type="checkbox"]{margin:0 5px;} +.xwup_common .xwup-xfs-regist{width:100%;text-align:right;text-decoration:underline} +/* +.xwup_common .xwup-widget-sec2{position:relative;width:100%;height:0px} +.xwup_common .xwup-widget-sec2.fb{display:inline-block;color:#000;font-weight:bold} +.xwup_common .xwup-widget-sec2.fc{color:#000} +.xwup_common .xwup-widget-sec2 .xwup-expire-alert{display:none;width:195px;position:absolute;padding:7px;border:1px solid gray;border-radius:6px;background:#FFF;text-align:left;-webkit-border-radius:6px;box-shadow:3px 3px 10px gray;-webkit-box-shadow:3px 3px 10px gray} +*/ + +/* certselectwide */ +.xwup_common .xwup-title-wide{height:55px;background:#fff;color:#20509f} +.xwup_common .xwup-title-wide h3{height:55px;font-size:20px;line-height:55px;color:#20509f;letter-spacing:-2px} +.xwup_common .xwup-location-wideitem{width:946px} +.xwup_common .xwup-location-wideitem span{display:inline-block;height:34px;background-repeat:no-repeat;vertical-align:middle;cursor:pointer} +.xwup_common .xwup-location-wideitem .xwup-rbg-text{display:inline-block;height:auto;margin:2px 0 0;vertical-align:middle;background:none} +.xwup_common .xwup-location-wideitem td{height:45px} +.xwup_common .xwup-location-wideitem button{display:block;position:relative;height:45px;margin:0 -1px;border:1px solid #c7c7c7;border-bottom:1px solid #346ad5;border-radius:4px 4px 0 0;background:#fff;color:#000;white-space:nowrap;-webkit-border-radius:4px 4px 0 0;z-index:10} +.xwup_common .xwup-wide-rbg{text-align:center} +.xwup_common .xwup-wide-rbg:hover{color:#0078d4} +.xwup_common .xwup-location-wideitem .wide-xwup-rbg-pressed{zoom:1;padding:0 0 1px;border:1px solid #346ad5;border-bottom:0;z-index:20;color:#0078d4;text-align:center} +.xwup_common .xwup-wide-body{margin:0 -1px;*margin:0 0 0 -1px;padding:20px 0;border:1px solid #346ad5} +.xwup_common .wide-cert-table-outline{overflow-x:hidden;overflow-y:auto;height:126px;margin:0 20px 0 20px;border-bottom:1px solid #c7c7c7;zoom:1} +.xwup_common .wide-cert-table-outline table.wide-cert-table{width:100%;margin-right:-1px;border-top:1px solid #000;table-layout:fixed} +.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table thead{background:#e9e9e9} +.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table th{width:25%;border-right:1px solid #e9e9e9;background-color:#efefef} +.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table th div{height:30px;line-height:30px;font-weight:bold;text-align:center;vertical-align:middle} +.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table th .wide-cert-table-resizearea{zoom:1} +.xwup_common .button-on-table{width:70px;height:24px;margin-right:10px;border:1px solid #c7c7c7;font-size:11px;background-image:url(../img/btn_bg.png);background-color:transparent;border-radius:4px;text-align:center} +.xwup_common .button-on-table:hover{color:#0078d4} +.xwup_common .xwup-password-field-wide{height:45px;margin:0 20px;padding:0 0 0 10px;border:1px solid #c7c7c7} +.xwup_common .xwup-password-field-wide table{width:100%;height:100%} +.xwup_common .xwup-password-field-wide img{vertical-align:middle} +.xwup_common .xwup-password-field-wide .xwup-password-input-wide{width:269px;height:24px;line-height:24px;padding:0 0 0 5px;margin:0 5px;vertical-align:middle;overflow:hidden;border:1px solid #0078d4;font-size:12px;font-family:Dotum,Helvetica,AppleGothic,Sans-serif;color:#000} +.xwup_common .xwup-password-field-wide .xwup-password-label-wide{color:#0078D4;font-weight:bold;font-size:16px} +.xwup_common .xwup-password-field-wide .xwup-password-text-wide{display:inline;color:#986e3b;margin-left:5px} + + /* Conetxt Menu */ +.xwup_common .context-menu-item-focused{background:#6C9CDA;color:#FFF} +.xwup_common .context-menu-item-unfocused{background:transparent;color:#000} +.xwup_common .xwup-content-box{margin-top:10px;border:1px solid #949494} +.xwup_common .xwup-content-box table{width:100%} +.xwup_common .xwup-content-box td{vertical-align:top} +.xwup_common .xwup-content-box button{width:90px;height:25px;margin:5px;border:1px solid #c7c7c7;border-radius:6px;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top} +.xwup_common .xwup-content-box .cert-buttons{width:100px} +.xwup_common .xwup-ico-save,.xwup_common .xwup-ico-del,.xwup_common .xwup-ico-pfx16,.xwup_common .xwup-ico-prop,.xwup_common .xwup-ico-secure05,.xwup_common .xwup-ico-misc25,.xwup_common .xwup-ico-install{width:16px;height:16px;cursor:pointer} +.xwup_common .xwup-ico-save{width:20px;height:18px;background-image:url(../img/save.png)} +.xwup_common .xwup-ico-del{width:20px;height:18px;background-image:url(../img/delete.png)} +.xwup_common .xwup-ico-pfx16{width:20px;height:18px;background-image:url(../img/pfx16.png)} +.xwup_common .xwup-ico-prop{width:20px;height:18px;background-image:url(../img/prop.png)} +.xwup_common .xwup-ico-secure05{width:20px;height:18px;background-image:url(../img/secure05.png)} +.xwup_common .xwup-ico-misc25{width:20px;height:18px;background-image:url(../img/misc25.png)} +.xwup_common .xwup-ico-install{width:20px;height:18px;background-image:url(../img/install.png)} + +/* TabView */ +.xwup_common .layout-tab-content{display:block;clear:both;margin-bottom:10px;padding:20px 0px;border:2px solid #6C9CDA;border-radius:0px 12px 12px;-moz-border-radius:0px 12px 12px;background-color:#fff;text-align:center} +.xwup_common ul.tabnav{float:left;position:relative;margin:10px 0 0;padding:0;color:#666;cursor:pointer;text-align:left} +.xwup_common ul.tabnav li{display:inline-block;*display:inline;margin:0px;padding:6px 10px 2px;border-bottom-width:0px;border-radius:6px 6px 0px 0px;-moz-border-radius:6px 6px 0px 0px;list-style:none;*zoom:1} +.xwup_common .tabnav-unselected{margin:0;border:1px solid #999;border-bottom-width:0;background-color:#f9f9f9;list-style:none;font-weight:normal;color:#000} +.xwup_common .xwup-tab-list ul li.tabnav-selected{margin:0;border:1px solid #6c9cda;border-bottom-width:0;background-color:#6c9cda;color:#fff;list-style:none} +.xwup_common .xwup-tab-list ul li.tabnav-selected a{color:#fff} +.xwup_common .tabcontent-unselected{display:none} +.xwup_common .tabcontent-selected{display:inline-block;*display:inline;text-align:center;*zoom:1} +.xwup_common .tabcontent-selected .xwup-tableview{height:300px;margin:10px 0 18px} + +.xwup_common .xwup-td-style-case1{height:30px;padding:0;border-bottom:1px solid #e3e3e3;border-right:1px solid #e3e3e3;border-top-color:transparent;word-wrap:normal} +.xwup_common .xwup-td-style-case2{padding:0;border-bottom:1px solid #e3e3e3;border-right:1px solid #e3e3e3;border-top-color:transparent;word-wrap:normal} +.xwup_common .xwup-td-style-case3{padding:0;border-bottom:1px solid #e3e3e3;border-top-color:transparent;word-wrap:normal} +.xwup_common .context-menu-item-focused{background-color:#6c9cda;color:#fff} +.xwup_common .context-menu-item-unfocused{background-color:transparent;color:#000} +.xwup_common .context-menu-layout{position:absolute;*display:block;min-width:190px;background:#fff;font-size:16px;cursor:default;box-shadow:10px 12px 35px gray;-moz-box-shadow:10px 12px 35px gray;-webkit-box-shadow:10px 12px 35px gray} +.xwup_common .ul-list-type1{margin:0;padding:3px;list-style:none} +.xwup_common .ul-list-type1 li{display:block;padding:3px 10px;font-weight:bold;font-size:16px;text-decoration:none;white-space:nowrap} +.xwup_common .info-type1{display:block;margin:7px 0 0;font-weight:bold;font-size:11px} + +.xwup_common .frame-type1{width:401px;height:160px;padding:4px;border:1px solid gray;background:#fff} +.xwup_common .xwup_btn_ok{background:url(../img/btn_ok_blue_eng.png) no-repeat} +.xwup_common .xwup_btn_cancel{background:url(../img/btn_cancel_blue_eng.png) no-repeat} +.xwup_common .certselect_input_type1{height:18px;padding:5px 0 0 5px} +.xwup_common .xwup-td-style-case1 .xwup-tableview-cell,.xwup_common .xwup-td-style-case2 .xwup-tableview-cell,.xwup_common .xwup-td-style-case3 .xwup-tableview-cell{text-align:center} +.xwup_common .xwup-td-style-case3 .xwup-tableview-cell button{width:74px;height:25px;margin:0 0 0 5px;color:#000;border:1px solid gray;border-radius:4px;-moz-border-radius:2px;font-size:12px;text-align:center} +.xwup_common .xwup-td-style-case3 .xwup-tableview-cell button:hover{color:#0078d4} +.xwup_common .xwup-td-style-case3 .xwup-tableview-cell button:first-child{margin:0} + +.xwup_common .xwup_expire_alert{position:absolute;top:0;left:0;z-index:200;padding:10px;background:#fff;border:1px solid gray} +.xwup_common .xwup-table-mini{overflow-y:auto;width:auto;height:140px;margin:10px 0 15px;border:1px solid #949494} +.xwup_common .xwup-table-mini table{width:100%;margin:0;border:0;table-layout:fixed} +.xwup_common .xwup-table-mini table thead{border-bottom:1px solid #c7c7c7;background:#f5f5f5 url(../img/btn_bg.png)} +.xwup_common .xwup-table-mini table th.xwup-mcert,.xwup_common .xwup-table-mini table th.xwup-mcert2,.xwup_common .xwup-table-mini table th.xwup-mcert3,.xwup_common .xwup-table-mini table th.xwup-mcert4{position:static;width:82px;padding:5px 0;background:#f5f5f5;font-weight:bold;text-align:center;white-space:nowrap;text-overflow:eliipsis;cursor:default} +.xwup_common .xwup-table-mini table th.xwup-mcert2{width:164px} +.xwup_common .xwup-table-mini table td .xwup-tableview-cell{text-align:center !Important} +.xwup_common div.xwup-complete-page{position:relative} +.xwup_common p.xwup-txt-notice{position:absolute;top:100px;left:150px;width:215px} + +/* Bug & IE6 */ +.xwup_common iframe.not{position:absolute;top:0;left:0;background:transparent;z-index:-1;width:900px;height:900px;filter:alpha(opacity=0);opacity:0} +.xwup_common button[disabled="disabled"]{background:none;color:gray;cursor:default} +.xwup_common .xwup-group-btn-layout button.xwup-size180[disabled="disabled"] span{color:gray;cursor:default} + +/* design modify - img */ +/* 타이틀 영역 */ +.xwup_common .title,.xwup_common .xwup-title{top:0;left:0;width:100%;height:45px;border-radius:0;background:url(../img/btn_background.gif) repeat-x;cursor:move} /* 1px 이미지로 repeat시킨 Type */ +/*.xwup_common .title,.xwup_common .xwup-title{top:0;left:0;width:100%;height:45px;border-radius:0;background:#20509f url(../img/title_bg.png) no-repeat 100% 50%;cursor:move}*/ /* 단색위에 이미지얹어진 형태 (우측에 이미지) */ +/*.xwup_common .title,.xwup_common .xwup-title{top:0;left:0;width:100%;height:45px;border-radius:0;background:#20509f url(../img/title_bg.png) no-repeat 0 50%;cursor:move}*/ /* 단색위에 이미지얹어진 형태 (좌측에 이미지) */ +/*.xwup_common .title,.xwup_common .xwup-title{top:0;left:0;width:100%;height:45px;border-radius:0;background:#20509f;cursor:move}*/ /* 단색으로만 되어있는 형태 */ +.xwup_common .title h3,.xwup_common .xwup-title h3{color:#777} + +/* 배너 */ +.xwup_common #xwup_header .banner{width:410px;height:66px} /* 이미지크기에 따라 같이 변경해야함. */ + +/* 인증서 위치내부 이미지 */ +/* 공통 */ +.xwup_common .xwup-cert-position span,.xwup_common .xwup-cert-position2 span{height:32px} +/* 활성화 */ +.xwup_common .xwup-ico-localstorage{width:32px;background-image:url(../img/icon_localstorage.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png', sizingMethod='crop')} +.xwup_common .xwup-ico-memorystorage{width:32px;background-image:url(../img/icon_memorystorage.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_memorystorage.png', sizingMethod='crop')} +.xwup_common .xwup-ico-hdd{width:32px;background-image:url(../img/icon_hdd.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_hdd.png', sizingMethod='crop')} +.xwup_common .xwup-ico-removable{width:32px;background-image:url(../img/icon_removable.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_removable.png', sizingMethod='crop')} +.xwup_common .xwup-ico-savetoken{width:32px;background-image:url(../img/icon_savetoken.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_savetoken.png', sizingMethod='crop')} +.xwup_common .xwup-ico-securedisk{width:32px;background-image:url(../img/icon_securedisk.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_securedisk.png', sizingMethod='crop')} +.xwup_common .xwup-ico-xfs{width:32px;background-image:url(../img/icon_cloud.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_cloud.png', sizingMethod='crop')} +.xwup_common .xwup-ico-nfciccard{width:32px;background-image:url(../img/icon_nfciccard.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_nfciccard.png', sizingMethod='crop')} +.xwup_common .xwup-ico-smartcert{width:32px;background-image:url(../img/icon_smartcert.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_smartcert.png', sizingMethod='crop')} +.xwup_common .xwup-ico-pkcs11{width:32px;background-image:url(../img/icon_pkcs11.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_pkcs11.png', sizingMethod='crop')} +.xwup_common .xwup-ico-mobile{width:32px;background-image:url(../img/icon_mobile.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_mobile.png', sizingMethod='crop')} +.xwup_common .xwup-ico-arrow-left{width:6px;background-image:url(../img/icon_arrow_left.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png', sizingMethod='crop')} +.xwup_common .xwup-ico-arrow-right{width:6px;background-image:url(../img/icon_arrow_right.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png', sizingMethod='crop')} + +/* 비활성화 */ +.xwup_common .xwup-ico-localstorage-disabled{width:32px;background-image:url(../img/icon_localstorage_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-memorystorage-disabled{width:32px;background-image:url(../img/icon_memorystorage_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_memorystorage_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-hdd-disabled{width:32px;background-image:url(../img/icon_hdd_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_hdd_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-removable-disabled{width:32px;background-image:url(../img/icon_removable_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_removable_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-savetoken-disabled{width:32px;background-image:url(../img/icon_savetoken_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_savetoken_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-securedisk-disabled{width:32px;background-image:url(../img/icon_securedisk_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_securedisk_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-xfs-disabled{width:32px;background-image:url(../img/icon_cloud_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_cloud_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-nfciccard-disabled{width:32px;background-image:url(../img/icon_nfciccard_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_nfciccard_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-smartcert-disabled{width:32px;background-image:url(../img/icon_smartcert_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_smartcert_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-pkcs11-disabled{width:32px;background-image:url(../img/icon_pkcs11_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_pkcs11_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-mobile-disabled{width:32px;background-image:url(../img/icon_mobile_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_mobile_disabled.png', sizingMethod='crop')} +.xwup_common .xwup-ico-arrow-left-disabled{width:6px;background-image:url(../img/icon_arrow_left_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png', sizingMethod='crop')} +.xwup_common .xwup-ico-arrow-right-disabled{width:6px;background-image:url(../img/icon_arrow_right_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png', sizingMethod='crop')} + +/* design modify - border */ +.xwup_cert_pop{border-width:1px 1px 5px 1px;border-color:#777;box-shadow:10px 12px 45px gray;-webkit-box-shadow:10px 12px 45px gray} /* 팝업UI */ +.xwup_cert_wide{border-width:0 0 5px 0;border-color:#777} /* 바닥UI */ + +.xwup_common .context-menu-layout{border-width:3px 3px 3px 3px;border-style:solid;border-color:#20509f} +.xwup_common .xwup-drag-zone{position:absolute;border-radius:4px;background-color:#000;opacity:0.1;display:none} +.xwup_common .xwup-loader-img{display:block;margin-left:192px;margin-top:30px} + +.xwup_common .xwup-information-close {position:absolute;margin-left:-24px;margin-top:9px;cursor:pointer} +.xwup_common .xwup-information-link {text-decoration:underline;vertical-align:bottom;font-weight:bold} +.xwup_common .xwup-information-box {position:absolute;top:506px;width:100%;text-align:center} +.xwup_common .xwup-information-space {margin-top:10px} diff --git a/src/main/webapp/AnySign4PC/AnySign4PC/css/common_min.css b/src/main/webapp/AnySign4PC/AnySign4PC/css/common_min.css new file mode 100644 index 00000000..af0b1982 --- /dev/null +++ b/src/main/webapp/AnySign4PC/AnySign4PC/css/common_min.css @@ -0,0 +1 @@ +@charset "utf-8"; .xwup_common{background:0;background-color:transparent;background-image:none;background-position:0;background-repeat:repeat;background-size:auto;box-shadow:none;box-sizing:border-box;clear:none;color:inherit;empty-cells:show;float:none;font:normal;font-family:inherit;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;height:auto;left:auto;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:none;list-style-type:none;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;overflow:visible;padding:0;table-layout:auto;text-align:left;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-shadow:none;vertical-align:middle;visibility:inherit;white-space:normal;widows:0;width:auto;word-spacing:normal;z-index:auto;position:static;cursor:auto}.xwup_cert_wide,.xwup_cert_pop,.xwup_cert_mini{display:block;visibility:visible;overflow:visible;height:auto;background-color:#fff;color:#000;font-weight:normal;line-height:normal;background-image:none;cursor:auto}.xwup_cert_mini{width:600px;border:0}.xwup_cert_pop{position:absolute;top:0;left:0;border-style:solid}.xwup_cert_wide{border-style:solid}.xwup_common div,.xwup_common a,.xwup_common span,.xwup_common table,.xwup_common tr,.xwup_common th,.xwup_common td,.xwup_common ul,.xwup_common ol,.xwup_common li,.xwup_common dl,.xwup_common dt,.xwup_common dd,.xwup_common form,.xwup_common button,.xwup_common fieldset,.xwup_common legend,.xwup_common select,.xwup_common textarea,.xwup_common p,.xwup_common label,.xwup_common input,.xwup_common h1,.xwup_common h2,.xwup_common h3,.xwup_common h4,.xwup_common h5,.xwup_common h6,.xwup_common blockquote{margin:0;padding:0;font-family:'Malgun Gothic',Dotum,Helvetica,AppleGothic,Sans-serif;font-size:12px;color:#000;background:0;background-color:transparent;background-image:none;background-position:0;background-repeat:repeat;background-size:auto;box-shadow:none;clear:none;empty-cells:show;float:none;font:normal;font-style:normal;font-variant:normal;font-weight:normal;height:auto;left:auto;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:none;list-style-type:none;margin:0;opacity:1;overflow:visible;padding:0;table-layout:auto;text-align:left;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-shadow:none;vertical-align:middle;visibility:inherit;white-space:normal;widows:0;width:auto;word-spacing:normal;z-index:auto;position:static;cursor:auto}.xwup_common img,.xwup_common fieldset{border:0}.xwup_common form,.xwup_common fieldset,.xwup_common legend,.xwup_common input,.xwup_common button,.xwup_common textarea,.xwup_common select{color:#000;font-size:12px}.xwup_common button::-moz-focus-inner{padding:0;border:0}.xwup_common ul,.xwup_common ol{list-style:none}.xwup_common table{border-collapse:collapse}.xwup_common label{cursor:default}.xwup_common input,.xwup_common textarea{display:inline-block;font-size:13px;vertical-align:middle}.xwup_common textarea{resize:none}.xwup_common address,.xwup_common em{font-style:normal}.xwup_common fieldset,.xwup_common img{border:0;position:relative}.xwup_common em{font-style:normal}.xwup_common h3{top:0}.xwup_common button{cursor:pointer}.xwup_common a{text-decoration:none;cursor:pointer}.xwup_common table{border-collapse:collapse}.xwup_common th,.xwup_common td{padding:0;vertical-align:middle;text-align:left;font-weight:normal}.xwup_common input[type="text"],.xwup_common input[type="password"],.xwup_common input[type="email"],.xwup_common input[type="search"],.xwup_common input[type="image"],.xwup_common input[type="button"],.xwup_common textarea{border:1px solid #777;background:#fff;-webkit-appearance:none;border-radius:0}.xwup_common input[type="checkbox"]:checked{background-color:#fff;-webkit-appearance:checkbox}.xwup_common input[type="text"],.xwup_common input[type="password"]{height:18px;position:relative;margin:1px 2px 0;padding:2px 3px 3px;border:1px solid #777;background:#fff;color:#000}.xwup_common .lt-css3 input[type="text"],.xwup_common input[type="password"]{padding:1px 3px 4px}.xwup_common input[type="text"]:focus,.xwup_common input[type="password"]:focus,.xwup_common textarea:focus{border:1px solid #009ae6;outline-width:0}.xwup_common input[disabled="disabled"]{background:#f0f0f0;border:1px solid #f0f0f0;color:#555}.xwup_common input[readonly="readonly"]{background:#f0f0f0;border:1px solid #777;color:#555}.xwup_common .disabled{background:#f0f0f0;border:1px solid #f0f0f0;color:#555}.xwup_common input.error-input{background:#fff;border:1px solid #ff4b2a;color:#000}.xwup_common .form-error{display:block;background:url(../img/common/etc/ico_form_error.gif) no-repeat left 5px;padding:0 0 0 23px;color:#ff4b2a;vertical-align:top}.xwup_common input[type="checkbox"],.xwup_common input[type="radio"]{width:13px;height:13px;margin:0;padding:0;vertical-align:middle;line-height:27px}.xwup_common select{position:relative;height:25px;vertical-align:middle;border:1px solid #777;padding:2px 2px 2px 0;margin:-1px 0 0 2px}.xwup_common .ie7 select{line-height:1.65;font-family:'돋움',dotum;padding:4px 4px 5px 0}.xwup_common .xwup_mbottom img{height:auto;margin-right:5px;vertical-align:middle}.xwup_common .hidden{overflow:hidden;position:absolute;top:-9999px;left:-9999px;width:0;height:0;font-size:0;line-height:0;text-indent:-9999px}.xwup_common .w100{width:100px}.xwup_common div.xwup-w300-body{width:300px}.xwup_common div.xwup-w400-body{width:400px}.xwup_common div.xwup-w410-body{width:410px}.xwup_common div.xwup-w420-body{width:420px}.xwup_common div.xwup-w500-body{width:500px}.xwup_common div.xwup-w530-body{width:530px}.xwup_common div.xwup-w730-body{width:730px}.xwup_common div.xwup-w946-body{width:946px}.xwup_common .xwup-font10{font-size:10px}.xwup_common .xwup-degap{margin:10px 10px 20px}.xwup_common .xwup-mr5{margin-right:15px}.xwup_common .xwup-fontb{font-weight:bold}.xwup_common .xwup_mbottom{margin:0 0 10px;text-align:left}.xwup_common .xwup-legend{display:block;*display:inline-block;margin:0 0 0 5px;background-color:#fff;font-weight:normal;text-align:left}.xwup_common caption{visibility:hidden;width:0;height:0;line-height:0;position:relative}.xwup_common .xwup-h140{height:140px}.xwup_common .xwup-str-pd0{padding:0}.xwup_common .brt-color-none{border-top-color:transparent}.xwup_common .xwup-wrd-normal{word-wrap:normal}.xwup_common .xwup-ovf-yscroll{oveflow:hidden;overflow-y:scroll}.xwup_common .xwup-ovf-yscroll-none{overflow-y:hidden}.xwup_common .xwup-title2{_width:452px}.xwup_common .title h3,.xwup_common .xwup-title h3{height:40px;padding:0 0 0 15px;font-size:18px;line-height:40px;letter-spacing:-2px;font-weight:bold;cursor:move}.xwup_common .xwup-title h3{font-weight:bold}.xwup_common .xwup-title-mini{top:0;left:0;width:100%;height:30px;margin-bottom:-15px;border-radius:0;background:none}.xwup_common .xwup-title-mini h3{font-size:20px;height:31px;color:#000;background:none;line-height:27px;vertical-align:middle;letter-spacing:-2px}.xwup_common .xwup-body{margin:0 20px 20px 20px;padding-top:20px}.xwup_common .blank0,.xwup_common .xwup-blank0{overflow:hidden;position:absolute;top:-9999px;left:-9999px;width:0;height:0;font-size:0;line-height:0;text-indent:-9999px}.xwup_common .blank10,.xwup_common .xwup-blank10{height:10px;margin:0}.xwup_common .blank15,.xwup_common .xwup-blank15{height:15px;margin:0}.xwup_common .xwup-buttons-layout,.xwup_common .xwup-buttons-layout2,.xwup_common .xwup-buttons-layout4{display:block;margin:15px 0;text-align:center}.xwup_common .xwup-buttons-layout2{text-align:right}.xwup_common .xwup-buttons-layout3{text-align:left}.xwup_common .xwup-buttons-layout4{margin:0;text-align:right}.xwup_common .xwup-buttons-layout button,.xwup_common .xwup-buttons-layout2 button,.xwup_common .xwup-buttons-layout3 button,.xwup_common .xwup-buttons-layout4 button{height:25px;margin:0 5px;padding:0 13px;*padding:0 10px;_padding:0 10px;border:1px solid gray;border-radius:6px;background-color:#EFEFEF;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top}.xwup_common .xwup-buttons-layout .ok,.xwup_common .xwup-buttons-layout2 .ok,.xwup_common .xwup-buttons-layout3 .ok,.xwup_common .xwup-buttons-layout4 .ok{overflow:hidden;height:28px;border:0;background:url(../img/btn_ok_blue.png);line-height:9000px;cursor:pointer}.xwup_common .xwup-buttons-layout .cancel,.xwup_common .xwup-buttons-layout2 .cancel,.xwup_common .xwup-buttons-layout3 .cancel,.xwup_common .xwup-buttons-layout4 .cancel{overflow:hidden;height:28px;border:0;background:url(../img/btn_cancel.png);line-height:9000px;cursor:pointer}.xwup_common .xwup-buttons-layout .view,.xwup_common .xwup-buttons-layout2 .view,.xwup_common .xwup-buttons-layout3 .view,.xwup_common .xwup-buttons-layout4 .view{margin:5px;padding:0 13px;border:1px solid #c7c7c7;border-radius:4px;-webkit-border-radius:4px}.xwup_common .xwup-button-disabled{color:gray}.xwup_common .xwup-box-layout{position:relative;padding-top:7px}.xwup_common .xwup-box-border{display:block;padding:10px;border:1px solid #c7c7c7}.xwup_common .xwup-close-button{background:url(../img/btn_pop_close.png) no-repeat;position:absolute;height:15px;width:15px;top:14px;right:13px}.xwup_common div.xwup-tab-view{display:block;clear:both;padding:15px;border:2px solid #6C9CDA;border-radius:0 8px 8px 8px;background-color:#fff;text-align:left;zoom:1}.xwup_common div.xwup-tab-list ul{float:left;position:relative;margin:0;padding:0;color:#666;text-align:left}.xwup_common div.xwup-tab-list ul li{display:inline-block;*display:inline;margin:0;border:1px solid #999;border-bottom:0;border-radius:6px 6px 0 0;background:#f9f9f9;list-style-type:none;*zoom:1}.xwup_common div.xwup-tab-list ul li a{display:block;padding:6px 10px 2px;font-weight:normal;color:#000;list-style:none;white-space:nowrap}.xwup_common div.xwup-tab-list .selected a{border-top:1px solid #6c9cda;border-right:1px solid #6c9cda;background-color:#6C9CDA;font-weight:bold;color:#FFF;list-style:none}.xwup_common div.xwup-tab-list .tmenu{width:46px}.xwup_common div.xwup-tab-list .tmenu2{width:98px}.xwup_common div.xwup-tab-list .tmenu3{width:138px}.xwup_common div.xwup-tab-list .tmenu4{width:98px}.xwup_common div.xwup-tab-list .tmenu5{width:48px}.xwup_common div.xwup-tab-list .tmenu6{width:60px}.xwup_common .xwup-for-password{display:inline-block;margin:0;font-weight:bold;color:#000;vertical-align:top}.xwup_common .xwup-password{overflow:hidden;margin:0 5px;padding:0 0 0 5px;border:1px solid;font-size:12px;vertical-align:middle}.xwup_common .xwup-checkbox{margin:0 5px 0 0}.xwup_common .xwup-location-item{display:block;margin:0;padding:0 0 5px;border:1px solid #949494}.xwup_common .xwup-location-item button{display:inline-block;*display:block;width:78px;height:62px;padding:2px;border:2px solid #fff;border-radius:6px;background:#fff}.xwup_common fieldset.manager{display:inline-block;*display:inline;width:207px;height:125px;margin:10px 2px 0;padding:2px 0;border:1px solid #949494;text-align:center;*zoom:1}.xwup_common fieldset.manager .xwup-legend{margin:0 0 0 10px}.xwup_common .importexport{display:block;overflow:hidden;margin-top:15px;padding:0 10px 10px;border:1px solid #949494}.xwup_common .importexport div{margin:8px 0 3px}.xwup_common .p10x10-gray1{display:block;overflow:hidden;padding:10px;border:1px solid #949494;text-align:left}.xwup_common .p10x10-gray1 .group{margin-top:3px}.xwup_common .p10x10-gray1 input{width:13px;height:13px;vertical-align:middle}.xwup_common .p10x10-gray1 label{vertical-align:middle}.xwup_common .p10x10-gray1 .margin-top{margin-top:12px}.xwup_common .p10x10-gray1 .margin-bottom{margin-bottom:12px}.xwup_common .xwup-cert-position,.xwup_common .xwup-cert-position2{margin:7px 4px 5px;table-layout:fixed;zoom:1}.xwup_common .xwup-cert-position2{width:410px;margin:7px 7px 5px}.xwup_common .xwup-cert-position td,.xwup_common .xwup-cert-position2 td{width:20%}.xwup_common .xwup-cert-position span,.xwup_common .xwup-cert-position2 span{display:block;margin:0 auto;background-repeat:no-repeat;cursor:pointer}.xwup_common .xwup-cert-position .xwup-rbg-text,.xwup_common .xwup-cert-position2 .xwup-rbg-text{display:block;height:auto;margin:2px 0 0;text-align:center;background:none;cursor:pointer}.xwup_common .mngr-btn-text{display:inline-block;margin:2px 0 0;text-align:center}.xwup_common .mngr-btn-img{display:inline-block;height:16px;margin:0 0 0 15px;background-repeat:no-repeat}.xwup_common .xwup-location-item .xwup-rbg-normal{background:#fff;border-color:#fff}.xwup_common .xwup-location-item .xwup-rbg-hover,.xwup_common .xwup-location-item .xwup-rbg-pressed{background:#eee;border-color:#999 #ddd #ddd #999}.xwup_common .xwup-location-item .xwup-rbg-disabled{border:2px solid #FFF;background-color:#fff;background-image:none}.xwup_common .exclamation{display:inline-block;width:16px;height:16px;margin:4px 0 0;background-image:url(../img/bu.png);background-repeat:no-repeat}.xwup_common .xwup-password-field,.xwup_common .xwup-password-field2{margin:8px 0 0}.xwup_common .xwup-password-field2{text-align:center}.xwup_common .xwup-password-field label,.xwup_common .xwup-password-field2 label{display:inline-block;min-width:100px;_width:100px;margin:0 10px 0 0;text-align:right}.xwup_common .xwup-password-field2 label{width:145px}.xwup_common .xwup-group-btn-layout{display:block;height:132px;text-align:left}.xwup_common .xwup-group-btn-layout button{width:75px;height:25px;border:1px solid gray;border-radius:6px;background-color:#efefef;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top;cursor:pointer}.xwup_common .xwup-group-btn-layout span{display:inline-block;margin:0 5px;background-repeat:no-repeat;vertical-align:middle;cursor:pointer}.xwup_common span.xwup-group-btn-desc{display:inline-block;height:12px;margin:10px 5px;text-align:left;vertical-align:top;*zoom:1}.xwup_common .xwup-group-btn-layout .xwup-size150{width:150px;margin:8px 0 0;padding:1px 0 1px 7px;background-repeat:no-repeat;background-position:10% 50%;text-align:left}.xwup_common .xwup-group-btn-layout .xwup-size180{width:180px;margin:8px 0 0;padding:1px 0 1px 5px;background-repeat:no-repeat;background-position:10% 50%;text-align:left}.xwup_common .xwup-tableview{overflow-x:hidden;overflow-y:auto;position:relative;width:100%;_width:423px;height:140px;margin:10px 0 15px;border:1px solid #949494;box-sizing:content-box}.xwup_common .xwup-tableview table{width:100%;margin:0;border-width:0;table-layout:fixed}.xwup_common .xwup-tableview caption{visibility:hidden;width:0;height:0;line-height:0}.xwup_common .xwup-tableview thead{border:0;border-bottom:1px solid #c7c7c7;background:#f5f5f5;background-image:url(../img/btn_bg.png);font-weight:bold}.xwup_common .xwup-tableview th{position:static;padding:5px 0;background-color:#f5f5f5;font-weight:bold;text-align:center;white-space:nowrap;text-overflow:ellipsis;cursor:default}.xwup_common .xwup-tableview th .wide-cert-table-resizearea{position:relative;zoom:1;text-align:center;font-weight:bold}.xwup_common .xwup-tableview .xwup-mcert{width:82px}.xwup_common .xwup-tableview .xwup-mcert2{width:164px}.xwup_common .xwup-tableview .xwup-mcert3{width:82px}.xwup_common .xwup-tableview .xwup-mcert4{width:82px}.xwup_common .xwup-tableview tbody tr{border-bottom:1px solid #e3e3e3}.xwup_common .xwup-tableview td{padding:0 5px;border:1px solid #eee;border-width:0 1px 1px 0;word-wrap:normal}.xwup_common .xwup-tableview-cell{overflow:hidden;width:100%;max-width:100%;margin:0;padding:1px 0;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;word-wrap:normal}.xwup_common .xwup-tableview-cell img{vertical-align:middle}.xwup_common .xwup-tableview-selected-row td{background-color:#6c9cda;color:#fff;cursor:pointer}.xwup_common .xwup-tableview-selected-row .xwup-tableview-cell{color:#fff}.xwup_common .xwup-tableview-unselected-row{background-color:transparent;color:#000;cursor:pointer}.xwup_common .xwup-tableview-resizer{position:absolute;top:-5px;left:100%;width:6px;height:27px;margin-left:-3px;*margin-left:4px;cursor:w-resize}.xwup_common .xwup-tableview-button{width:15px}.xwup_common .xwup-tableview-viewbutton{width:70px;height:24px;margin:0 2px;border:1px solid #c7c7c7;border-radius:4px;background-color:#FFF;font-size:11px;text-align:center;cursor:pointer}.xwup_common .xwup-widget-sec{position:relative;width:100%;height:0px}.xwup_common .xwup-widget-sec .fb{display:inline-block;color:#000;font-weight:bold}.xwup_common .xwup-widget-sec .fc{color:#000}.xwup_common .exclamation-image{display:inline-block;margin:4px 0 0 0;width:16px;height:16px;background:url(../img/bu.png) no-repeat}.xwup_common .xwup-cert-passwd{padding-left:10px}.xwup_common .xwup-cert-passwd span{display:block;padding:10px 0 2px}.xwup_common .xwup-passwd-field{width:100%;height:26px;padding:13px 0 0;color:#986e3b;box-sizing:content-box}.xwup_common .xwup-passwd-field .xwup-tit-pw{display:inline-block;font-weight:bold;color:#000;margin:0;padding-top:5px;vertical-align:top;cursor:default}.xwup_common .xwup-passwd-field .xwup-pw-box{width:180px;height:18px;margin-left:4px;padding-left:4px;border:1px solid #000;vertical-align:middle;color:#000;box-sizing:content-box}.xwup_common .xwup-passwd-field img{margin-right:4px;vertical-align:middle}.xwup_common .xwup-passwd-field span{display:inline-block;padding:0;vertical-align:middle}.xwup_common .xwup-expire-alert{display:none;width:220px;position:absolute;padding:7px;border:1px solid gray;border-radius:6px;background:#FFF;text-align:left;-webkit-border-radius:6px;box-shadow:3px 3px 10px gray;-webkit-box-shadow:3px 3px 10px gray}.xwup_common .xwup-expire-icon{display:block;position:absolute;top:0;left:0;margin:0;padding:10px}.xwup_common .xwup-expire-message{display:block;margin-left:28px;font-weight:bold}.xwup_common .xwup-renew-message{display:block;margin-left:28px}.xwup_common .xwup-expire-arrow{position:absolute;top:-19px;left:30px;width:0;height:0;border:10px solid;border-color:transparent transparent #FFF}.xwup_common .xwup-expire-arrow-border{position:absolute;top:-20px;left:30px;width:0;height:0;border:10px solid;border-color:transparent transparent #c7c7c7}.xwup_common #xwup_header{text-align:center}.xwup_common .xwup-medialist{display:inline-block;*float:left;overflow-x:scroll;overflow-y:auto;width:160px;height:250px;border:1px solid #949494;background-color:#fff;margin:14px 14px 14px 0px;cursor:auto}.xwup_common .xwup-medialist table{width:100%}.xwup_common .xwup-medialist td{overflow:hidden;padding:2px 3px 1px;text-overflow:ellipsis;white-space:nowrap}.xwup_common .xwup-medialist td a,.xwup_common .xwup-filelist td a{display:block}.xwup_common .xwup-medialist td span,.xwup_common .xwup-filelist td span{display:inline-block;width:16px;height:16px;margin:0 4px}.xwup_common .xwup-filelist{display:inline-block;overflow-x:scroll;overflow-y:auto;_float:left;width:512px;height:250px;border:1px solid #949494;background-color:#fff;margin:14px 0px;cursor:auto}.xwup_common .xwup-filelist table{width:100%;table-layout:fixed}.xwup_common .xwup-filelist td{overflow:hidden;padding:2px 10px 1px 3px;white-space:nowrap;cursor:default}.xwup_common .xwup-tab-list .selected{background-color:#3875D7;color:#fff}.xwup_common .media-list-image{display:inlinewidth:16px;height:16px;vertical-align:middle;margin-right:4px}.xwup_common .file-list-image{display:inline;width:16px;height:16px;vertical-align:middle}.xwup_common .file-list-cell{overflow:hidden;padding:2px 3px 1px 3px;border:0;white-space:nowrap;padding-right:10px;cursor:default}.xwup_common .file-url,.xwup_common .filename-url{text-align:right}.xwup_common .file-url .btn-folder{width:80px;height:25px;margin-right:14px;border:1px solid gray;border-radius:6px;background-color:#EFEFEF;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top}.xwup_common .file-url .txt-url{width:516px;height:24px;padding:0 5px;background:#f0f0f0;cursor:auto;line-height:24px}.xwup_common .filename-url .txt-nurl{width:516px;height:24px;margin-left:4px;padding:0 0 0 2px;border:1px solid #c9c9c9;background:#f0f0f0;line-height:22px;vertical-align:middle}.xwup_common .xwup-cert-infos{width:420px}.xwup_common .xwup-cert-infos table{overflow-x:hidden;font-size:11px;table-layout:fixed}.xwup_common .xwup-cert-infos th.filed-value{width:100px;text-align:center}.xwup_common .xwup-cert-infos th.value-end{width:296px;text-align:center}.xwup_common .xwup-cert-infos img{margin-right:5px}.xwup_common .xwup-cert-infos button{width:100px}.xwup_common .xwup-textview{overflow:auto;width:400px;height:323px;margin:0 0 10px;padding:5px 7px 5px 7px;background-color:#fff;border:1px solid #6C9CDA;resize:none;box-sizing:content-box}.xwup_common .xwup-textview2{overflow:auto;width:404px;height:63px;margin:0 0 3px;padding:5px 7px 5px 7px;background-color:#fff;border:1px solid #6C9CDA;resize:none;box-sizing:content-box}.xwup_common .xwup-textview3{overflow:auto;width:450px;height:160px;margin:0 0 3px;padding:5px 7px 5px 7px;background-color:#fff;border:1px solid #6C9CDA;resize:none;box-sizing:content-box}.xwup_common .xwup-slsave{margin:6px 0 0 0}.xwup_common .xwup-slremovable{margin:6px 0 0 0}.xwup_common .xwup-slselect-cert{width:180px;margin:6px 0px 10px 0}.xwup_common .xwup-sl-pkcs{margin:6px 0 0 6px}.xwup_common .xwup-sl-securedisk{margin:6px 0 0 6px}.xwup_common .xwup-ch-title{margin:0 10px 0 0}.xwup_common .xwup-ch-title table{width:370px}.xwup_common .xwup-ch-title .timg{margin:7px 8px 0 0}.xwup_common .xwup-ch-section{width:100%}.xwup_common .xwup-ch-section .xwup-input-pwd{overflow:hidden;width:170px;height:24px;line-height:24px;padding:0 4px;margin:0 5px}.xwup_common .xwup-widget-sec2{position:relative;width:100%;height:0px}.xwup_common .xwup-widget-sec2.fb{display:inline-block;color:#000;font-weight:bold}.xwup_common .xwup-widget-sec2.fc{color:#000}.xwup_common .xwup-widget-sec2 .xwup-expire-alert{display:none;width:195px;position:absolute;padding:7px;border:1px solid gray;border-radius:6px;background:#FFF;text-align:left;-webkit-border-radius:6px;box-shadow:3px 3px 10px gray;-webkit-box-shadow:3px 3px 10px gray}.xwup_common .xwup-dialog-sec{width:100%;margin:0px 0px 20px;text-align:center;word-wrap:break-word}.xwup_common .xwup-confim-area{overflow:hidden;width:338px;height:380px;padding:10px}.xwup_common .xwup-export-area{width:100%;height:240px}.xwup_common .xwup-export-guide{border:0;padding:0 0 10px 10px}.xwup_common .xwup-export-sec .xwup-box-layout{margin:0 0 10px}.xwup_common .xwup-export-sec .xwup-box-border{border:0}.xwup_common .xwup-export-sec .xwup-box-border span{font-weight:bold;font-size:13px}.xwup_common .xwup-export-sec2 .xwup-box-layout{margin:0 0 20px}.xwup_common .xwup-export-sec2 .xwup-box-border{border:0}.xwup_common .xwup-export-sec2 .xwup-box-border span{padding-left:6px}.xwup_common .xwup-export-sec2 .filename{margin-bottom:5px}.xwup_common .xwup-export-sec2 .find-btn{display:inline-block;width:80px;vertical-align:middle}.xwup_common .xwup-export-sec2 .xwup-input-find{display:inline-block;overflow:hidden;width:240px;height:22px;margin:3px 0 0 6px;line-height:22px;vertcial-align:middle}.xwup_common .xwup-ex-passwd .xwup-passwd-group{margin:3px 0 10px}.xwup_common .xwup-ex-passwd .xwup-passwd-group .input-passwd{width:245px}.xwup_common .xwup-ex-passwd .xwup-passwd-group .input-mouse{margin:0 4px 0 0}.xwup_common .xwup-passwd-group .pw-txt{display:block;margin:0 0 7px}.xwup_common .xwup-passwd-group .input-passwd{overflow:hidden;width:370px;height:24px;margin:0 5px 0 0;padding:0 4px;line-height:24px}.xwup_common .xwup-export-area .xwup-expire-alert{display:none;width:180px}.xwup_common .xwup-export-area .xwup-input-find{width:260px}.xwup_common .xwup-btn-find{width:68px;height:25px;margin:0 5px;border:1px solid gray;border-radius:6px;background-color:#EFEFEF;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:middle}.xwup_common .description-layout{height:16px;margin:10px 0 0 0;padding:2px 0 0 0;background-color:#ccc;text-align:center}.xwup_common .xwup-import-area{height:240px}.xwup_common .xwup-import-area .xwup-select-sert{margin:15px 0}.xwup_common .xwup-import-area .xwup-tit-import{margin:0 0 3px;font-weight:bold}.xwup_common .xwup-import-area .xwup-input-imfile,.xwup_common .xwup-import-area .xwup-input-imfile2{overflow:hidden;width:350px;_height:24px;margin:0 0 5px;line-height:24px;background:#fff;_border:1px solid #777}.xwup_common .xwup-import-area .xwup-input-imfile2{width:210px;margin:0 5px 0 0}.xwup_common .xwup-import-area .xwup-import-passwd{margin:15px 0 0 0}.xwup_common .xwup-inpwd-sec .xwup-input-name{margin:0 10px 0 0}.xwup_common .xwup-inpwd-sec .xwup-input-pwd{overflow:hidden;width:165px;height:24px;margin:0 5px;padding:0 4px;line-height:24px}.xwup_common .xwup-inpwd-sec2{position:relative;padding:20px}.xwup_common .xwup-inpwd-sec2 .xwup-input-name{display:block;margin:0 10px 13px 0}.xwup_common .xwup-inpwd-sec2 .xwup-input-pwd{overflow:hidden;width:165px;height:24px;margin:0px 5px 0 0;padding:0 4px;line-height:24px}.xwup_common .xwup-inpwd-sec2 .xwup-buttons-layout{margin:10px 0px 0px 0px}.xwup_common .xwup-iccardlist{margin:10px}.xwup_common .xwup-iccardlist .xwup-tableview{_width:300px;height:125px}.xwup_common .xwup-scpselect{margin:10px}.xwup_common .xwup-scpselect .xwup-tableview{_width:420px;height:170px}.xwup_common .xwup-boxtitle{margin:10px 0 0 0;font-size:11px;font-weight:bold;color:#606060}.xwup_common .xwup-content-box2{display:none;margin:0 0 8px;padding:5px 0px 3px 5px;border:1px solid #a0a0a0;border-radius:5px;text-align:center}.xwup_common .xwup-verify-input{width:100%;margin:0 0 5px}.xwup_common .xwup-verify-info{margin:10px 0 15px 0;text-align:left}.xwup_common .xwup-verify-info .info{margin-bottom:8px;font-weight:bold;text-decoration:underline}.xwup_common .xwup-savepwd-sec .xwup-input-pwd{overflow:hidden;width:154px;height:24px;margin:0 5px;padding:0 4px;line-height:24px}.xwup_common .xwup-txt-message{padding:0 14px 10px;line-height:18px}.xwup_common .xwup-usernoti-box{width:344px;height:288px;padding:5px;border:1px solid #949494}.xwup_common .xwup-verrify-sec .xwup-input-pwd{overflow:hidden;width:190px;height:24px;margin:0 5px;padding:0 4px;line-height:24px}.xwup_common .xwup-veriid-sec .xwup-input-name{display:block;margin:0 0 5px}.xwup_common .xwup-veriid-sec .xwup-input-pwd{overflow:hidden;width:330px;height:24px;margin:0 5px;padding:0 4px;line-height:24px}.xwup_common .xwup-guidewindow{text-align:center;margin-top:10px}.xwup_common .xwup-tit-pfxdialog{margin:0 0 3px;font-weight:bold}.xwup_common .xwup-pfx-drag{border:2px dashed #bbb;padding:10px;text-align:center;color:#bbb}.xwup_common .xwup-drag-guide-certselect{display:none;border:2px dashed #bbb;padding-top:29px;text-align:center;color:#bbb;width:404px;height:80px;margin-left:1px;position:absolute;top:-129px;box-sizing:content-box}.xwup_common .xwup-drag-guide-certselect2{display:none;border:2px dashed #fff;padding-top:36px;text-align:center;color:#bbb;width:412px;height:108px;margin-left:-3px;position:absolute;top:-160px;}.xwup_common .xwup-drag-guide-certmanager{display:none;border:2px dashed #bbb;padding-top:21px;text-align:center;color:#bbb;width:420px;height:88px;margin-left:1px;position:absolute;top:-129px;}.xwup_common .xwup-drag-guide-certmanager2{display:none;border:2px dashed #fff;padding-top:40px;text-align:center;color:#bbb;width:428px;height:104px;margin-left:-3px;position:absolute;top:-160px;z-index:-1}.xwup_common .xwup-drag-overlay-certselect{width:452px;height:578px;top:-575px;left:0;}.xwup_common .xwup-drag-overlay-certmanager{width:500px;height:585px;top:-582px;left:0;}.xwup_common .xwup-drag-guide-certselectwide{display:none;border:2px dashed #bbb;padding-top:20px;text-align:center;color:#bbb;width:903px;height:73px;margin-left:20px;margin-top:9px;position:absolute;top:-107px}.xwup_common .xwup-drag-guide-certselectwide2{display:none;border:2px dashed #bbb;padding-top:30px;text-align:center;color:#bbb;width:903px;height:97px;margin-left:20px;margin-top:9px;position:absolute;top:-138px}.xwup_common .xwup-drag-overlay-certselectwide{width:948px;height:325px;top:-320px;left:0;}.xwup_common .xwup-drag-guide-certselectmini{display:none;border:2px dashed #bbb;padding-top:29px;text-align:center;color:#bbb;width:404px;height:80px;margin-left:1px;position:absolute;top:-129px;}.xwup_common .xwup-drag-overlay-certselectmini{width:422px;height:384px;top:-396px;left:14px;}.xwup_common .xwup-drag-hover{border:2px dashed #20509f;background-color:#bcd5ff}.xwup_common .xwup-drag-guide-span{color:grey;}.xwup_common .xwup-drag-guide-span-hover{color:#000;}.xwup_common .xwup-input-pfxfile{overflow:hidden;width:300px}.xwup_common .xwup-pfx-filebox label{display:inline-block;padding:.5em .75em;color:#fff;font-size:inherit;line-height:normal;vertical-align:middle;background-color:#337ab7;cursor:pointer;border:1px solid #2e6da4;border-radius:.25em}.xwup_common .xwup-pfx-filebox input[type="file"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.xwup_common .xwup-xfs-section{width:100%}.xwup_common .xwup-xfs-section .xwup-password-field label{vertical-align:baseline}.xwup_common .xwup-xfs-section .xwup-input-pwd{overflow:hidden;width:170px;height:24px;line-height:24px;padding:0 4px;margin:0 5px}.xwup_common .xwup-xfs-section .xwup-buttons-layout3 button{vertical-align:middle}.xwup_common .xwup-xfs-section .xwup-buttons-layout3 input[type="checkbox"]{margin:0 5px;}.xwup_common .xwup-xfs-regist{width:100%;text-align:right;text-decoration:underline}.xwup_common .xwup-title-wide{height:55px;background:#fff;color:#20509f}.xwup_common .xwup-title-wide h3{height:55px;font-size:20px;line-height:55px;color:#20509f;letter-spacing:-2px}.xwup_common .xwup-location-wideitem{width:946px}.xwup_common .xwup-location-wideitem span{display:inline-block;height:34px;background-repeat:no-repeat;vertical-align:middle;cursor:pointer}.xwup_common .xwup-location-wideitem .xwup-rbg-text{display:inline-block;height:auto;margin:2px 0 0;vertical-align:middle;background:none}.xwup_common .xwup-location-wideitem td{height:45px}.xwup_common .xwup-location-wideitem button{display:block;position:relative;height:45px;margin:0 -1px;border:1px solid #c7c7c7;border-bottom:1px solid #346ad5;border-radius:4px 4px 0 0;background:#fff;color:#000;white-space:nowrap;-webkit-border-radius:4px 4px 0 0;z-index:10}.xwup_common .xwup-wide-rbg{text-align:center}.xwup_common .xwup-wide-rbg:hover{color:#0078d4}.xwup_common .xwup-location-wideitem .wide-xwup-rbg-pressed{zoom:1;padding:0 0 1px;border:1px solid #346ad5;border-bottom:0;z-index:20;color:#0078d4;text-align:center}.xwup_common .xwup-wide-body{margin:0 -1px;*margin:0 0 0 -1px;padding:20px 0;border:1px solid #346ad5}.xwup_common .wide-cert-table-outline{overflow-x:hidden;overflow-y:auto;height:126px;margin:0 20px 0 20px;border-bottom:1px solid #c7c7c7;zoom:1}.xwup_common .wide-cert-table-outline table.wide-cert-table{width:100%;margin-right:-1px;border-top:1px solid #000;table-layout:fixed}.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table thead{background:#e9e9e9}.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table th{width:25%;border-right:1px solid #e9e9e9;background-color:#efefef}.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table th div{height:30px;line-height:30px;font-weight:bold;text-align:center;vertical-align:middle}.xwup_common .xwup-wide-body .wide-cert-table-outline table.wide-cert-table th .wide-cert-table-resizearea{zoom:1}.xwup_common .button-on-table{width:70px;height:24px;margin-right:10px;border:1px solid #c7c7c7;font-size:11px;background-image:url(../img/btn_bg.png);background-color:transparent;border-radius:4px;text-align:center}.xwup_common .button-on-table:hover{color:#0078d4}.xwup_common .xwup-password-field-wide{height:45px;margin:0 20px;padding:0 0 0 10px;border:1px solid #c7c7c7}.xwup_common .xwup-password-field-wide table{width:100%;height:100%}.xwup_common .xwup-password-field-wide img{vertical-align:middle}.xwup_common .xwup-password-field-wide .xwup-password-input-wide{width:269px;height:24px;line-height:24px;padding:0 0 0 5px;margin:0 5px;vertical-align:middle;overflow:hidden;border:1px solid #0078d4;font-size:12px;font-family:Dotum,Helvetica,AppleGothic,Sans-serif;color:#000}.xwup_common .xwup-password-field-wide .xwup-password-label-wide{color:#0078D4;font-weight:bold;font-size:16px}.xwup_common .xwup-password-field-wide .xwup-password-text-wide{display:inline;color:#986e3b;margin-left:5px}.xwup_common .context-menu-item-focused{background:#6C9CDA;color:#FFF}.xwup_common .context-menu-item-unfocused{background:transparent;color:#000}.xwup_common .xwup-content-box{margin-top:10px;border:1px solid #949494}.xwup_common .xwup-content-box table{width:100%}.xwup_common .xwup-content-box td{vertical-align:top}.xwup_common .xwup-content-box button{width:90px;height:25px;margin:5px;border:1px solid #c7c7c7;border-radius:6px;background-image:url(../img/btn_bg.png);text-align:center;vertical-align:top}.xwup_common .xwup-content-box .cert-buttons{width:100px}.xwup_common .xwup-ico-save,.xwup_common .xwup-ico-del,.xwup_common .xwup-ico-pfx16,.xwup_common .xwup-ico-prop,.xwup_common .xwup-ico-secure05,.xwup_common .xwup-ico-misc25,.xwup_common .xwup-ico-install{width:16px;height:16px;cursor:pointer}.xwup_common .xwup-ico-save{width:20px;height:18px;background-image:url(../img/save.png)}.xwup_common .xwup-ico-del{width:20px;height:18px;background-image:url(../img/delete.png)}.xwup_common .xwup-ico-pfx16{width:20px;height:18px;background-image:url(../img/pfx16.png)}.xwup_common .xwup-ico-prop{width:20px;height:18px;background-image:url(../img/prop.png)}.xwup_common .xwup-ico-secure05{width:20px;height:18px;background-image:url(../img/secure05.png)}.xwup_common .xwup-ico-misc25{width:20px;height:18px;background-image:url(../img/misc25.png)}.xwup_common .xwup-ico-install{width:20px;height:18px;background-image:url(../img/install.png)}.xwup_common .layout-tab-content{display:block;clear:both;margin-bottom:10px;padding:20px 0px;border:2px solid #6C9CDA;border-radius:0px 12px 12px;-moz-border-radius:0px 12px 12px;background-color:#fff;text-align:center}.xwup_common ul.tabnav{float:left;position:relative;margin:10px 0 0;padding:0;color:#666;cursor:pointer;text-align:left}.xwup_common ul.tabnav li{display:inline-block;*display:inline;margin:0px;padding:6px 10px 2px;border-bottom-width:0px;border-radius:6px 6px 0px 0px;-moz-border-radius:6px 6px 0px 0px;list-style:none;*zoom:1}.xwup_common .tabnav-unselected{margin:0;border:1px solid #999;border-bottom-width:0;background-color:#f9f9f9;list-style:none;font-weight:normal;color:#000}.xwup_common .xwup-tab-list ul li.tabnav-selected{margin:0;border:1px solid #6c9cda;border-bottom-width:0;background-color:#6c9cda;color:#fff;list-style:none}.xwup_common .xwup-tab-list ul li.tabnav-selected a{color:#fff}.xwup_common .tabcontent-unselected{display:none}.xwup_common .tabcontent-selected{display:inline-block;*display:inline;text-align:center;*zoom:1}.xwup_common .tabcontent-selected .xwup-tableview{height:300px;margin:10px 0 18px}.xwup_common .xwup-td-style-case1{height:30px;padding:0;border-bottom:1px solid #e3e3e3;border-right:1px solid #e3e3e3;border-top-color:transparent;word-wrap:normal}.xwup_common .xwup-td-style-case2{padding:0;border-bottom:1px solid #e3e3e3;border-right:1px solid #e3e3e3;border-top-color:transparent;word-wrap:normal}.xwup_common .xwup-td-style-case3{padding:0;border-bottom:1px solid #e3e3e3;border-top-color:transparent;word-wrap:normal}.xwup_common .context-menu-item-focused{background-color:#6c9cda;color:#fff}.xwup_common .context-menu-item-unfocused{background-color:transparent;color:#000}.xwup_common .context-menu-layout{position:absolute;*display:block;min-width:190px;background:#fff;font-size:16px;cursor:default;box-shadow:10px 12px 35px gray;-moz-box-shadow:10px 12px 35px gray;-webkit-box-shadow:10px 12px 35px gray}.xwup_common .ul-list-type1{margin:0;padding:3px;list-style:none}.xwup_common .ul-list-type1 li{display:block;padding:3px 10px;font-weight:bold;font-size:16px;text-decoration:none;white-space:nowrap}.xwup_common .info-type1{display:block;margin:7px 0 0;font-weight:bold;font-size:11px}.xwup_common .frame-type1{width:401px;height:160px;padding:4px;border:1px solid gray;background:#fff}.xwup_common .xwup_btn_ok{background:url(../img/btn_ok_blue_eng.png) no-repeat}.xwup_common .xwup_btn_cancel{background:url(../img/btn_cancel_blue_eng.png) no-repeat}.xwup_common .certselect_input_type1{height:18px;padding:5px 0 0 5px}.xwup_common .xwup-td-style-case1 .xwup-tableview-cell,.xwup_common .xwup-td-style-case2 .xwup-tableview-cell,.xwup_common .xwup-td-style-case3 .xwup-tableview-cell{text-align:center}.xwup_common .xwup-td-style-case3 .xwup-tableview-cell button{width:74px;height:25px;margin:0 0 0 5px;color:#000;border:1px solid gray;border-radius:4px;-moz-border-radius:2px;font-size:12px;text-align:center}.xwup_common .xwup-td-style-case3 .xwup-tableview-cell button:hover{color:#0078d4}.xwup_common .xwup-td-style-case3 .xwup-tableview-cell button:first-child{margin:0}.xwup_common .xwup_expire_alert{position:absolute;top:0;left:0;z-index:200;padding:10px;background:#fff;border:1px solid gray}.xwup_common .xwup-table-mini{overflow-y:auto;width:auto;height:140px;margin:10px 0 15px;border:1px solid #949494}.xwup_common .xwup-table-mini table{width:100%;margin:0;border:0;table-layout:fixed}.xwup_common .xwup-table-mini table thead{border-bottom:1px solid #c7c7c7;background:#f5f5f5 url(../img/btn_bg.png)}.xwup_common .xwup-table-mini table th.xwup-mcert,.xwup_common .xwup-table-mini table th.xwup-mcert2,.xwup_common .xwup-table-mini table th.xwup-mcert3,.xwup_common .xwup-table-mini table th.xwup-mcert4{position:static;width:82px;padding:5px 0;background:#f5f5f5;font-weight:bold;text-align:center;white-space:nowrap;text-overflow:eliipsis;cursor:default}.xwup_common .xwup-table-mini table th.xwup-mcert2{width:164px}.xwup_common .xwup-table-mini table td .xwup-tableview-cell{text-align:center!Important}.xwup_common div.xwup-complete-page{position:relative}.xwup_common p.xwup-txt-notice{position:absolute;top:100px;left:150px;width:215px}.xwup_common iframe.not{position:absolute;top:0;left:0;background:transparent;z-index:-1;width:900px;height:900px;filter:alpha(opacity=0);opacity:0}.xwup_common button[disabled="disabled"]{background:none;color:gray;cursor:default}.xwup_common .xwup-group-btn-layout button.xwup-size180[disabled="disabled"] span{color:gray;cursor:default}.xwup_common .title,.xwup_common .xwup-title{top:0;left:0;width:100%;height:45px;border-radius:0;background:url(../img/btn_background.gif) repeat-x;cursor:move}.xwup_common .title h3,.xwup_common .xwup-title h3{color:#777}.xwup_common #xwup_header .banner{width:410px;height:66px}.xwup_common .xwup-cert-position span,.xwup_common .xwup-cert-position2 span{height:32px}.xwup_common .xwup-ico-localstorage{width:32px;background-image:url(../img/icon_localstorage.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png',sizingMethod='crop')}.xwup_common .xwup-ico-memorystorage{width:32px;background-image:url(../img/icon_memorystorage.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_memorystorage.png',sizingMethod='crop')}.xwup_common .xwup-ico-hdd{width:32px;background-image:url(../img/icon_hdd.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_hdd.png',sizingMethod='crop')}.xwup_common .xwup-ico-removable{width:32px;background-image:url(../img/icon_removable.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_removable.png',sizingMethod='crop')}.xwup_common .xwup-ico-savetoken{width:32px;background-image:url(../img/icon_savetoken.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_savetoken.png',sizingMethod='crop')}.xwup_common .xwup-ico-securedisk{width:32px;background-image:url(../img/icon_securedisk.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_securedisk.png',sizingMethod='crop')}.xwup_common .xwup-ico-xfs{width:32px;background-image:url(../img/icon_cloud.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_cloud.png',sizingMethod='crop')}.xwup_common .xwup-ico-nfciccard{width:32px;background-image:url(../img/icon_nfciccard.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_nfciccard.png',sizingMethod='crop')}.xwup_common .xwup-ico-smartcert{width:32px;background-image:url(../img/icon_smartcert.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_smartcert.png',sizingMethod='crop')}.xwup_common .xwup-ico-pkcs11{width:32px;background-image:url(../img/icon_pkcs11.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_pkcs11.png',sizingMethod='crop')}.xwup_common .xwup-ico-mobile{width:32px;background-image:url(../img/icon_mobile.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_mobile.png',sizingMethod='crop')}.xwup_common .xwup-ico-arrow-left{width:6px;background-image:url(../img/icon_arrow_left.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png',sizingMethod='crop')}.xwup_common .xwup-ico-arrow-right{width:6px;background-image:url(../img/icon_arrow_right.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png',sizingMethod='crop')}.xwup_common .xwup-ico-localstorage-disabled{width:32px;background-image:url(../img/icon_localstorage_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-memorystorage-disabled{width:32px;background-image:url(../img/icon_memorystorage_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_memorystorage_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-hdd-disabled{width:32px;background-image:url(../img/icon_hdd_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_hdd_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-removable-disabled{width:32px;background-image:url(../img/icon_removable_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_removable_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-savetoken-disabled{width:32px;background-image:url(../img/icon_savetoken_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_savetoken_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-securedisk-disabled{width:32px;background-image:url(../img/icon_securedisk_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_securedisk_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-xfs-disabled{width:32px;background-image:url(../img/icon_cloud_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_cloud_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-nfciccard-disabled{width:32px;background-image:url(../img/icon_nfciccard_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_nfciccard_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-smartcert-disabled{width:32px;background-image:url(../img/icon_smartcert_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_smartcert_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-pkcs11-disabled{width:32px;background-image:url(../img/icon_pkcs11_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_pkcs11_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-mobile-disabled{width:32px;background-image:url(../img/icon_mobile_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_mobile_disabled.png',sizingMethod='crop')}.xwup_common .xwup-ico-arrow-left-disabled{width:6px;background-image:url(../img/icon_arrow_left_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png',sizingMethod='crop')}.xwup_common .xwup-ico-arrow-right-disabled{width:6px;background-image:url(../img/icon_arrow_right_disabled.png);_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../AnySign4PC/img/icon_localstorage.png',sizingMethod='crop')}.xwup_cert_pop{border-width:1px 1px 5px 1px;border-color:#777;box-shadow:10px 12px 45px gray;-webkit-box-shadow:10px 12px 45px gray}.xwup_cert_wide{border-width:0 0 5px 0;border-color:#777}.xwup_common .context-menu-layout{border-width:3px 3px 3px 3px;border-style:solid;border-color:#20509f}.xwup_common .xwup-drag-zone{position:absolute;border-radius:4px;background-color:#000;opacity:0.1;display:none}.xwup_common .xwup-loader-img{display:block;margin-left:192px;margin-top:30px}.xwup_common .xwup-information-close{position:absolute;margin-left:-24px;margin-top:9px;cursor:pointer}.xwup_common .xwup-information-link{text-decoration:underline;vertical-align:bottom;font-weight:bold}.xwup_common .xwup-information-box{position:absolute;margin-top:-30px;width:100%;text-align:center} \ No newline at end of file diff --git a/src/main/webapp/AnySign4PC/AnySign4PC/download/browserCertificate_user_guide.pdf b/src/main/webapp/AnySign4PC/AnySign4PC/download/browserCertificate_user_guide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bcd52f3f39bcf076d6525396efa97b548a1a6ba1 GIT binary patch literal 334687 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�w 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

neOY9^e0%)88bTF@!5I^%#PRLc{Twvm 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 z%0D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

%S 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.mPlatform.aInstallPage);else setTimeout(reRun,2000);}else if(pk=="FAILED"){console.log("[AnySign for PC][AnySign_error_10002]");return;}else if(fh==true){if(AnySign.mExtensionSetting.EV==1){console.log("[AnySign for PC][AnySign_error_10007]");AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){setTimeout(function(){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_INSTALL");AnySign.mExtensionSetting.mInstallCheck_CB=null;},100);}else if(AnySign.mExtensionSetting.mIgnoreInstallPage!=true){AnySign.mExtensionSetting.mIgnoreInstallPage=true;var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}}else{var il;if(webSocket.url)il=webSocket.url;else il=webSocket.URL;if(window.location.protocol=="http:"&&il.indexOf("wss:")==0){bw=AnySign.mExtensionSetting.mDirectPort;eD=bw;cK="ws://127.0.0.1:"+eD;console.log("[AnySign for PC][AnySign_error_10003]");gU();}else{console.log("[AnySign for PC][AnySign_error_10004]");fh=false;Cz();}}}else{var il=null;if(UW3){if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_INSTALL");AnySign.mExtensionSetting.mInstallCheck_CB=null;return;}AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("AnySign for PC 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;return;}if(ae.code=="30002"&&AnySign.mPlatform.aName.indexOf("windows")==0){lc=false;fh=true;bw=Number(AnySign.mExtensionSetting.mDirectPort)+1;eD=bw;reRun();}else{AnySign.mExtensionSetting.mImgIntervalError=true;var awM;if(ae.code==30000)awM="AnySign4PC.exe 실행을 실패하였습니다.";else if(ae.code==30001)awM="버전 업그레이드가 필요합니다.";else if(ae.code==30002)awM="AnySign4PC.exe 실행에 필요한 정보를 획득하는데 실패하였습니다.";else if(ae.code==30003)awM="AnySign4PC.exe 에서 사용 가능한 통신 포트가 모두 사용중입니다.";else if(ae.code==30004)awM="AnySign4PC.exe 실행 후 소켓 연결 확인에 실패하였습니다.";else if(ae.code==30005)awM="AnySign4PC.exe 실행 후 소켓 연결 확인된 뒤 프로세스가 종료되었습니다.";var bA="[AnySign for PC] 서비스를 통한 AnySign4PC.exe 프로그램 실행에 실패하였습니다. 다시 실행하겠습니다.\n"+"["+ae.code+"] ["+awM+"]";reRun();alert(bA);}}else if(ae.code=="30001"){console.log("[AnySign for PC][AnySign_onmessage_01001]");if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){abl=true;webSocket.close();setTimeout(function(){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_UPDATE");AnySign.mExtensionSetting.mInstallCheck_CB=null;},100);return;}if(AnySign.mAnySignLiveUpdate){if(gS){var time=new Date().getTime();if((time-kw)>120000)eY(AnySign.mPlatform.aInstallPage);else setTimeout(_setDemonInfo,2000);}else{kw=new Date().getTime();console.log("send message: updateready");_setUpdateState("updateready");}}else{AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";if(AnySign.mExtensionSetting.mIgnoreInstallPage!=true){AnySign.mExtensionSetting.mIgnoreInstallPage=true;var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}}}else if(ae.code==0){var iy=cW.split(",");var protocol=cK.substring(0,cK.length-5);if(protocol.indexOf("wss:")==0){eD=iy[1];cK=protocol+iy[1];}else{eD=iy[0];cK=protocol+iy[0];}console.log("[AnySign for PC][AnySign_onmessage_01002]["+eD+"]");webSocket=null;if(gS&&AnySign.mPlatform.aName.indexOf("windows")==0){if(IQ<30){if(protocol.indexOf("wss:")==0){eD=Number(AnySign.mExtensionSetting.mDirectPort)+1;}else{eD=AnySign.mExtensionSetting.mDirectPort;}cK=protocol+eD;IQ++;}setTimeout(gU,2000);}else{gU();}}else{if(AnySign.mPlatform.aName.indexOf("windows")==0&&ae.code==20005)return;AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}break;case "setAttributeInfo":if(ae.code==30006||ae.code==30001){abl=true;webSocket.close();console.log("[AnySign for PC][AnySign_onmessage_01003]["+ae.code+"]");fh=false;yF=false;Cz();return;}AnySign.mAnySignLoad=true;console.log("[AnySign for PC][AnySign_onmessage_01004]");if(ae.code==20015){AnySign.mAnySignLoad=false;alert("[AnySign for PC] AnySign4PC.exe 프로그램 초기화에 실패하였습니다.\n"+"[실패 명령어] : "+ae.bA);return;}if(cW.length==0)cW=null;if(onSendToServer(cW)!=0){AnySign.mAnySignLoad=false;lQ=false;pk="FAILED";abl=true;webSocket.close();webSocket=null;console.log("[AnySign for PC][AnySign_onmessage_01005]");return;}if(gS){console.log("LiveUpdate success");gS=false;if(qU=="safari"&&AnySign.mPlatform.aName.indexOf("gP")==0){zB=true;}}AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NORMAL";setTimeout(function(){if(document.getElementById("EncryptionAreaID_0")==null){AnySign.mPageBlockDecDone=true;ma();}},1000);while(fT[0]){var result=eo(fT[0]);fT.shift();_doSend(result);}if(AnySign.mExtensionSetting.mEncCallback){var rY=AnySign.mExtensionSetting.mEncCallback;AnySign.mExtensionSetting.mEncCallback="";rY();}if(AnySign.mExtensionSetting.mLoadCallback.func){var rX=AnySign.mExtensionSetting.mLoadCallback.func;var sT=AnySign.mExtensionSetting.mLoadCallback.param;AnySign.mExtensionSetting.mLoadCallback.func=null;AnySign.mExtensionSetting.mLoadCallback.param=null;rX(sT);}if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NORMAL");AnySign.mExtensionSetting.mInstallCheck_CB=null;}break;case "blockDecEx":for(var index=0;index0&&AnySign.mPageBlockDecDone==true){ma();}dZ.splice(index,1);for(var eh in fT){if(fT[eh].MessageUID==fJ){fT.splice(eh,1);}}}}break;case "blockEnc":case "blockEnc2":case "blockEncConvert2":if(callback&&dZ.length==0){callback(cW);}else{for(var index=0;indexAd){if(uu){if(oR!=null){if(oR!=Ja||zs!=AH){clearInterval(ps);zs=null;oR=null;AH=null;gU();}}if(uu)AH=_sendPingInfo(Ja,RS);}}};function reRun(){console.log("[AnySign for PC][AnySignAjax_reRun_02000]");webSocket=null;lQ=false;xg=false;AnySign.mAnySignLoad=false;var protocol=cK.substring(0,cK.length-5);cK=protocol+bw;gU();};function gU(){lT=new XDomainRequest();if(!xg&&fh==false){var message=_setDemonInfo();setTimeout(function(){_doSend(message);},300);}else{if(cK.indexOf("https:")==0){_setAttributeInfo(Jh);}else if(cK.indexOf("http:")==0){Secure.start("envelope",_doAjaxSend);}}lT.onload=function(){var fA,kI,fo,rJ,hw,cW,fJ,CN;var Sm=false;sf=new Date().getTime();uu=true;fA=lT.responseText;try{kI=JSON.parse(fA);xr=kI.protocolType;fo=kI.message;}catch(e){fh=false;var port=Number(AnySign.mExtensionSetting.mPort);if(window.location.protocol.indexOf("https:")==0){bw=port+1;cK="https://127.0.0.1:"+bw;}else{bw=port;cK="http://127.0.0.1:"+bw;}eD=bw;reRun();return;}if(xr=="secure"){AnySign.mExtensionSetting.mImgIntervalError=true;alert("[AnySign for PC] Internet Explorer 9 이하 버전에서는 Secure 보안프로토콜이 동작하지 않습니다.");return;}if(xr=="envelope"){try{CX=fo.messageType;switch(CX){case "application":fo=JSON.parse(Secure.receiveApplication(kI));break;case "server_hello":if(Secure.handShake(_doAjaxSend,kI)){pb="envelope";Hh=eo;eo=function(message){var Ab=JSON.stringify(message);return Secure.sendApplication(Ab);};_setAttributeInfo(Un);}else{alert("[AnySign for PC] Envelope 보안프로토콜 암호세션 생성이 실패하였습니다.\n\n보안프로토콜 인증서가 유효하지 않습니다. 다시 암호세션 생성을 시도하겠습니다.");gU();}return;default:alert("[AnySign for PC] Envelope 보안프로토콜이 정상적으로 동작하지 않았습니다.\n[메시지 코드] : "+fo.code);return;}}catch(aP){alert("[AnySign for PC] Envelope 보안프로토콜에 예외동작이 발생하였습니다.\n[예외처리 메시지] : "+aP);}}rJ=fo.InterfaceName;hw=fo.ReturnType;fJ=fo.MessageUID;CN=fo.SessionID;if(hw=="number")cW=Number(fo.ReturnValue);else cW=fo.ReturnValue;ae.code=fo.InterfaceErrorCode;ae.bA=fo.InterfaceErrorMessage;if(ae.code=="21000"){if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_INTEGRITY_FAIL");}else{alert("[AnySign for PC] 공인인증 보안 프로그램의 동작을 중지합니다.\n악의적 공격에 의해 수정되었을 가능성이 있습니다.\n재설치 하시기 바랍니다.");eY(AnySign.mPlatform.aInstallPage);}return;}switch(rJ){case "launcher":if(ae.code=="30000"||ae.code=="30002"||ae.code=="30003"||ae.code=="30004"||ae.code=="30005"){console.log("[AnySign for PC][AnySignAjax_onload_01000]["+ae.code+"]");oY++;if(oY>3){if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_INSTALL");AnySign.mExtensionSetting.mInstallCheck_CB=null;return;}AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;return;}if(ae.code=="30002"&&AnySign.mPlatform.aName.indexOf("windows")==0){lc=false;fh=true;bw=Number(AnySign.mExtensionSetting.mDirectPort)+1;eD=bw;reRun();}else{AnySign.mExtensionSetting.mImgIntervalError=true;var awM;if(ae.code==30000)awM="AnySign4PC.exe 실행을 실패하였습니다.";else if(ae.code==30001)awM="버전 업그레이드가 필요합니다.";else if(ae.code==30002)awM="AnySign4PC.exe 실행에 필요한 정보를 획득하는데 실패하였습니다.";else if(ae.code==30003)awM="AnySign4PC.exe 에서 사용 가능한 통신 포트가 모두 사용중입니다.";else if(ae.code==30004)awM="AnySign4PC.exe 실행 후 소켓 연결 확인에 실패하였습니다.";else if(ae.code==30005)awM="AnySign4PC.exe 실행 후 소켓 연결 확인된 뒤 프로세스가 종료되었습니다.";var bA="[AnySign for PC] 서비스를 통한 AnySign4PC.exe 프로그램 실행에 실패하였습니다. 다시 실행하겠습니다.\n"+"["+ae.code+"] ["+awM+"]";alert(bA);}return;}else if(ae.code=="30001"){console.log("[AnySign for PC][AnySignAjax_onload_01001]");if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_UPDATE");AnySign.mExtensionSetting.mInstallCheck_CB=null;return;}if(AnySign.mAnySignLiveUpdate){if(gS){var time=new Date().getTime();if((time-kw)>120000)eY(AnySign.mPlatform.aInstallPage);else setTimeout(function(){reRun();},2000);}else{var kg=document.getElementById("AnySign4PCLoadingImg");if(kg!=null){if(typeof AnySign.mLanguage==='string'&&AnySign.mLanguage.toLowerCase()=="ko-kr")kg.src=AnySign.mBasePath+"/img/loading_update.gif";else kg.src=AnySign.mBasePath+"/img/loading_update_en.gif";}else{try{if(AnySign.CU.Fj){AnySign.mExtensionSetting.EZ=setInterval(function(){showAnySignLoadingImg("update");},50);}}catch(aP){console.log("[try catch] "+aP.message);}}kw=new Date().getTime();gS=true;console.log("[AnySign4PC] send message: updateready");_setUpdateState("updateready");}}else{AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";if(AnySign.mExtensionSetting.mIgnoreInstallPage!=true){var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}}}else if(ae.code==0){if(gS){gS=false;}lQ=true;xg=true;var iy=cW.split(",");var protocol=cK.substring(0,cK.length-5);if(protocol.indexOf("https:")==0){eD=iy[1];cK=protocol+iy[1];}else{eD=iy[0];cK=protocol+iy[0];}console.log("[AnySign for PC][AnySignAjax_onload_01002]["+eD+"]");gU();}else{AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}break;case "setAttributeInfo":if(ae.code==30006||ae.code==30001){console.log("[AnySign for PC][AnySignAjax_onload_01003]["+ae.code+"]");fh=false;port=Number(AnySign.mExtensionSetting.mPort);if(window.location.protocol.indexOf("https:")==0){bw=port+1;cK="https://127.0.0.1:"+bw;}else{if(ae.code==30001)eo=Hh;bw=port;cK="http://127.0.0.1:"+bw;}reRun();return;}AnySign.mAnySignLoad=true;console.log("[AnySign for PC][AnySignAjax_onload_01004]");if(ae.code==20015){AnySign.mAnySignLoad=false;alert("[AnySign for PC] AnySign4PC.exe 프로그램 초기화에 실패하였습니다.\n"+"[실패 명령어] : "+ae.bA);return;}if(cW.length==0)cW=null;if(onSendToServer(cW)!=0){AnySign.mAnySignLoad=false;lQ=false;pk="FAILED";console.log("[AnySign for PC][AnySignAjax_onload_01005]");return;}AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NORMAL";if(document.getElementById("EncryptionAreaID_0")==null){AnySign.mPageBlockDecDone=true;ma();}if(AnySign.mExtensionSetting.mEncCallback){var rY=AnySign.mExtensionSetting.mEncCallback;AnySign.mExtensionSetting.mEncCallback="";rY();}if(AnySign.mExtensionSetting.mLoadCallback.func){var rX=AnySign.mExtensionSetting.mLoadCallback.func;var sT=AnySign.mExtensionSetting.mLoadCallback.param;AnySign.mExtensionSetting.mLoadCallback.func=null;AnySign.mExtensionSetting.mLoadCallback.param=null;rX(sT);}if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NORMAL");AnySign.mExtensionSetting.mInstallCheck_CB=null;}ps=setInterval(_checkPingPong,Vg);us=true;break;case "pong":zs=fJ;oR=cW;break;case "blockDecEx":aqR.push(fo);us=true;break;case "blockEnc":case "blockEnc2":case "blockEncConvert2":if(callback){var oD=callback;callback=null;oD(cW);}else{aqR.push(fo);us=true;}break;case "updateready":console.log("[AnySign4PC] receive message: updateready");if(ae.code==0){console.log("[AnySign4PC] send message: updatestart");_setUpdateState("updatestart");}else{alert("[AnySign for PC] 보안 프로그램의 업데이트 설치에 실패하였습니다. 설치페이지로 이동합니다.\n"+"[오류코드] : "+ae.code);eY(AnySign.mPlatform.aInstallPage);}break;case "updatestart":console.log("[AnySign4PC] receive message: updatestart");setTimeout(reRun,Kd);break;default:if(callback){var oD=callback;callback=null;oD(cW);}}};lT.onerror=function(){if(lQ){console.log("[AnySign for PC][AnySignAjax_error_10000]");if(ps)clearInterval(ps);if(vh>3){AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("안정적인 동작을 위해 AnySign for PC 공인인증 보안 프로그램의 재설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;return;}try{var hY=document.getElementById("xwup_title_guidewindow");if(hY!=null){AnySign.mExtensionSetting.mDialog.oncancel();}}catch(e){console.log("[try catch] "+e.message);}vh++;reRun();}else if(gS==true){console.log("[AnySign for PC][AnySignAjax_error_10001]");var time=new Date().getTime();if((time-kw)>120000)eY(AnySign.mPlatform.aInstallPage);else reRun();}else if(pk=="FAILED"){console.log("[AnySign for PC][AnySignAjax_error_10002]");return;}else if(fh){if(AnySign.mExtensionSetting.EV==1){console.log("[AnySign for PC][AnySignAjax_error_10007]");AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_INSTALL");AnySign.mExtensionSetting.mInstallCheck_CB=null;}else if(AnySign.mExtensionSetting.mIgnoreInstallPage!=true){var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}}else{fh=false;UW=0;port=Number(AnySign.mExtensionSetting.mPort);if(window.location.protocol.indexOf("https:")==0){bw=port+1;cK="https://127.0.0.1:"+bw;}else{bw=port;cK="http://127.0.0.1:"+bw;}console.log("[AnySign for PC][AnySignAjax_error_10004]");reRun();}}else{if(UW0&&AnySign.mPageBlockDecDone==true){ma();}dZ.Do(j);aqR.Do(i);break;}}}},10);dZ.push(nM);},setcallbackFunc:function(func){callback=func;},getLastErrCode:function(){return rC();},getLastErrMsg:function(){return pz();},resetErrAndMsg:function(){rQ();},resetcallbackFunc:function(){callback=null;}};}; \ No newline at end of file diff --git a/src/main/webapp/AnySign4PC/AnySign4PC/ext/AnySignJSONP.js b/src/main/webapp/AnySign4PC/AnySign4PC/ext/AnySignJSONP.js new file mode 100644 index 00000000..f0b57178 --- /dev/null +++ b/src/main/webapp/AnySign4PC/AnySign4PC/ext/AnySignJSONP.js @@ -0,0 +1,11 @@ +/*! +* AnySign, v1.0.1.21. +* +* For more information on this product, please see +* https://www.hsecure.co.kr/ +* +* Copyright (c) Hancom Secure Inc. All Rights Reserved. +* +* Date: 2019-08-21 +*/ +if(typeof AnySignForPCExtension=="undefined"){AnySignForPCExtension={};}AnySignForPCExtension.AnySignJSONP=function(){var eG=null,zJ,fT,yr=0,nz=[],nP=[],cK,eD,pk,UW,fh,aql=0,vh=0,oY=0,oA=new Date().getTime()+Math.floor(Math.random()*1000);tN=800,un=AnySign.mAnySignSID,pb="general",mE=null,gS=false,kw=0,Ad=20000,sf=null,ps=null,oR="",Kw=false,abk=false,adD=false,Es=5000,hb=null,iY=null,ae={code:0,bA:""};var lc=true;var lO=0,pr=0;eStrASP(GetSafeResponse(loadSecurePro("json2.js")));eStrASP(GetSafeResponse(loadSecurePro("anySignjQuery-1.11.1.js")));try{if(AnySign.mExtensionSetting.mIsIE7==false){tN=2048;}}catch(e){console.log("[try catch] "+e.message);}zJ=function(){this.map=new Object();};zJ.prototype={put:function(key,value){this.map[key]=value;},get:function(key){return this.map[key];},remove:function(key){delete this.map[key];},size:function(){var count=0;for(var BU in this.map){count++;}return count;},shift:function(key){this.map[key].shift();}};fT=new zJ();function vx(){this.isConnected=false;this.YH=false;abk=true;adD=true;this.send=function(Mc){SofoAnySignJQuery.ajax({url:cK,type:'GET',scriptCharset:"utf-8",data:{'senddata':Mc},dataType:'jsonp',jsonp:'callback',timeout:Es,success:function(vg){sf=new Date().getTime();if(typeof vg.message=="undefined"){nz.push(vg);}else if(vg.message.InterfaceName=="pong"){oR=vg.message.ReturnValue;eG.isConnected=true;}else{nz.push(vg.message);}abk=true;},error:function(){if(gS==true){console.log("[AnySign for PC][AnySignJSONP_error_10001]");var time=new Date().getTime();if((time-kw)>120000)eY(AnySign.mPlatform.aInstallPage);else setTimeout(reRun,2000);}else if(fh==true){if(AnySign.mExtensionSetting.EV==1){console.log("[AnySign for PC][AnySignJSONP_error_10007]");AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){if(hb){clearInterval(hb);hb=null;}if(iY){clearInterval(iY);iY=null;}AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_INSTALL");AnySign.mExtensionSetting.mInstallCheck_CB=null;}else{var fw=confirm("AnySign for PC 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;}}else{aql++;if(aql>=5){clearInterval(hb);hb=null;aql=0;fh=false;bw=Number(AnySign.mExtensionSetting.mPort)+1;UW=0;console.log("[AnySign for PC][AnySignJSONP_error_10004]");reRun();}else{console.log("[AnySign for PC][AnySignJSONP_error_10007]["+aql+"]");eG=null;setTimeout(gU,1000);}}}else if(eG.isConnected==true){console.log("[AnySign for PC][AnySignJSONP_error_10000]");if(vh>3){AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("안정적인 동작을 위해 AnySign for PC 공인인증 보안 프로그램의 재설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;return;}try{var hY=document.getElementById("xwup_title_guidewindow");if(hY!=null){AnySign.mExtensionSetting.mDialog.oncancel();}}catch(e){console.log("[try catch] "+e.message);}vh++;reRun();}else if(pk=="FAILED"){console.log("[AnySign for PC][AnySignJSONP_error_10002]");return;}else{if(UW5){yr=0;AnySign.mExtensionSetting.mImgIntervalError=true;alert("[AnySign for PC] 공인인증 보안 프로그램 통신과정에서 오류가 발생하였습니다.\n[오류메세지] bad parameter");return;}var Lk=fT.get(fJ);if(typeof Lk=="undefined"){AnySign.mExtensionSetting.mImgIntervalError=true;console.log("[AnySign for PC][AnySignJSONP_onmessage_01011]["+fJ+"]");}else{yr++;_doSend("",fJ,0,Lk.length,gB,true,xS,DX);}return;}else{yr=0;fT.remove(fJ);}switch(Lq){case "launcher":if(ae.code=="30000"||ae.code=="30002"||ae.code=="30003"||ae.code=="30004"||ae.code=="30005"){console.log("[AnySign for PC][AnySignJSONP_onmessage_01000]["+ae.code+"]");oY++;if(oY>3){if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_INSTALL");AnySign.mExtensionSetting.mInstallCheck_CB=null;return;}AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("AnySign for PC 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw)eY(AnySign.mPlatform.aInstallPage);AnySign.mExtensionSetting.mImgIntervalError=true;return;}if(ae.code=="30002"&&AnySign.mPlatform.aName.indexOf("windows")==0){lc=false;fh=true;bw=Number(AnySign.mExtensionSetting.mDirectPort)+1;eD=bw;cK="https://127.0.0.1:"+bw;if(eG==null){eG=new vx();}_setAttributeInfo();}else{AnySign.mExtensionSetting.mImgIntervalError=true;var awM;if(ae.code==30000)awM="AnySign4PC.exe 실행을 실패하였습니다.";else if(ae.code==30001)awM="버전 업그레이드가 필요합니다.";else if(ae.code==30002)awM="AnySign4PC.exe 실행에 필요한 정보를 획득하는데 실패하였습니다.";else if(ae.code==30003)awM="AnySign4PC.exe 에서 사용 가능한 통신 포트가 모두 사용중입니다.";else if(ae.code==30004)awM="AnySign4PC.exe 실행 후 소켓 연결 확인에 실패하였습니다.";else if(ae.code==30005)awM="AnySign4PC.exe 실행 후 소켓 연결 확인된 뒤 프로세스가 종료되었습니다.";var bA="[AnySign for PC] 서비스를 통한 AnySign4PC.exe 프로그램 실행에 실패하였습니다. 다시 실행하겠습니다.\n"+"["+ae.code+"] ["+awM+"]";reRun();alert(bA);}}else if(ae.code=="30001"){console.log("[AnySign for PC][AnySignJSONP_onmessage_01001]");if(AnySign.mExtensionSetting.mInstallCheck_CB!=null){AnySign.mExtensionSetting.mInstallCheck_CB("ANYSIGN4PC_NEED_UPDATE");AnySign.mExtensionSetting.mInstallCheck_CB=null;return;}if(AnySign.mAnySignLiveUpdate){if(gS){console.log("update continue");var time=new Date().getTime();if((time-kw)>120000)eY(AnySign.mPlatform.aInstallPage);else setTimeout(_setDemonInfo,2000);}else{kw=new Date().getTime();Es=120000;setTimeout(function(){var kg=document.getElementById("AnySign4PCLoadingImg");if(kg!=null){if(typeof AnySign.mLanguage==='string'&&AnySign.mLanguage.toLowerCase()=="ko-kr")kg.src=AnySign.mBasePath+"/img/loading_update.gif";else kg.src=AnySign.mBasePath+"/img/loading_update_en.gif";}else{try{if(AnySign.CU.Fj){AnySign.mExtensionSetting.EZ=setInterval(function(){showAnySignLoadingImg("update");},50);}}catch(aP){console.log("[try catch] "+aP.message);}}},2000);_setUpdateState("updateready");}}else{AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NEED_INSTALL";var fw=confirm("[AnySign for PC] 공인인증 보안 프로그램 설치가 필요합니다.\n[확인]을 선택하시면 설치페이지로 연결됩니다.");if(fw){if(AnySign.mExtensionSetting.mIgnoreInstallPage!=true)eY(AnySign.mPlatform.aInstallPage);}AnySign.mExtensionSetting.mImgIntervalError=true;}}else if(ae.code==0){var iy=cW.split(",");var protocol=cK.substring(0,cK.length-5);cK=protocol+iy[1];eD=iy[1];console.log("[AnySign for PC][AnySignJSONP_onmessage_01002]["+eD+"]");if(gS){gS=false;setTimeout(function(){eG=new vx();_sendPingInfo();_setAttributeInfo();},2000);}else{_setAttributeInfo();}}else{eY(AnySign.mPlatform.aInstallPage);}break;case "setAttributeInfo":if(ae.code==30006||ae.code==30001){console.log("[AnySign for PC][AnySignJSONP_onmessage_01003]["+ae.code+"]");bw=Number(AnySign.mExtensionSetting.mPort)+1;fh=false;reRun();return;}AnySign.mAnySignLoad=true;console.log("[AnySign for PC][AnySignJSONP_onmessage_01004]");Es=120000;if(ae.code==20015){AnySign.mAnySignLoad=false;alert("[AnySign for PC] AnySign4PC.exe 프로그램 초기화에 실패하였습니다.\n"+"[실패 명령어] : "+ae.bA);return;}if(cW.length==0)cW=null;if(onSendToServer(cW)!=0){AnySign.mAnySignLoad=false;pk="FAILED";eG.isConnected=false;console.log("[AnySign for PC][AnySignJSONP_onmessage_01005]");return;}AnySign.mExtensionSetting.mInstallCheck_State="ANYSIGN4PC_NORMAL";if(document.getElementById("EncryptionAreaID_0")==null){AnySign.mPageBlockDecDone=true;ma();}{var i=0;function send(){if(i0&&AnySign.mPageBlockDecDone==true){ma();}break;case "blockEnc":case "blockEnc2":case "blockEncConvert2":if(mE){var oD=mE;mE=null;oD(cW);}else{xS(cW,DX);}break;case "updateready":if(ae.code==0){gS=true;_setUpdateState("updatestart");}else{alert("[AnySign for PC] 보안 프로그램의 업데이트 설치에 실패하였습니다. 설치페이지로 이동합니다.\n"+"[오류코드] : "+ae.code);eY(AnySign.mPlatform.aInstallPage);}break;case "updatestart":setTimeout(reRun,0);break;default:if(mE){var oD=mE;mE=null;oD(cW);}}};function reRun(){cK="https://127.0.0.1:"+bw;eG=null;eG=new vx();_sendPingInfo();_setDemonInfo();};_doSend=function(fC,fJ,xY,BX,gB,Tq,pW,qT){if(eG.isConnected==false)return;sf=new Date().getTime();if(Tq==false){NU(fC,fJ,gB,pW,qT);return;}adD=false;var iE=new Oi(fJ,xY,BX,gB,pW,qT);var Hk=setInterval(function(){if(iE==null||typeof iE=="undefined"){clearInterval(Hk);return;}if(iE.sendOK==true&&eG.isConnected==true&&abk==true){var data;abk=false;data=fT.get(iE.fK);data=data[xY];if(typeof data=="undefined"){data="";}data=fi(data,iE,true);eG.send(data);data=null;iE.sendOK=false;}for(var i=0;i0)Ew++;for(var i=0;iAd){if(abk==true){abk=false;if(oR!="heartbeat"&&Kw==true){clearInterval(ps);reRun();}else{_sendPingInfo();}}}};eo=function(hW){var sb={protocolType:pb,message:hW,hash:""};if(typeof JSON!=='object'||typeof JSON.stringify=="undefined"){console.log("[AnySign for PC][json2.js reload]");eStrASP(GetSafeResponse(loadSecurePro("json2.js")));}return JSON.stringify(sb);};function Oi(fJ,xY,BX,gB,pW,qT){this.fK=fJ;this.hx=pW;this.ju=qT;this.tp=xY;this.sj=BX;this.Eh=gB;this.sendOK=true;};function fi(cL,AW,apQ){var interfaceName,oP,fK,data=[];if(apQ)interfaceName="JSONP";else interfaceName=cL[0];if(apQ){data[0]=AW.tp.toString();data[1]=AW.sj.toString();data[2]=cL;fK=AW.fK.toString();oP="3";}else{fK=cL[cL.length-1];fK=fK.toString();for(i=0;i= 0 && j < len ? [ this[j] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a SofoAnySignJQuery method. + push: push, + sort: deletedIds.sort, + splice: deletedIds.splice +}; + +SofoAnySignJQuery.extend = SofoAnySignJQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !SofoAnySignJQuery.isFunction(target) ) { + target = {}; + } + + // extend SofoAnySignJQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( SofoAnySignJQuery.isPlainObject(copy) || (copyIsArray = SofoAnySignJQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && SofoAnySignJQuery.isArray(src) ? src : []; + + } else { + clone = src && SofoAnySignJQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = SofoAnySignJQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + // Return the modified object + return target; +}; + +SofoAnySignJQuery.extend({ + // Unique for each copy of SofoAnySignJQuery on the page + expando: "SofoAnySignJQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume SofoAnySignJQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return SofoAnySignJQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return SofoAnySignJQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + return !SofoAnySignJQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || SofoAnySignJQuery.type(obj) !== "object" || obj.nodeType || SofoAnySignJQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( support.ownLast ) { + for ( key in obj ) { + return hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call(obj) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && SofoAnySignJQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than SofoAnySignJQuery in Firefox + //data = data.replace (//gi, ""); + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Support: Android<4.1, IE<9 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + SofoAnySignJQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( indexOf ) { + return indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + while ( j < len ) { + first[ i++ ] = second[ j++ ]; + } + + // Support: IE<9 + // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) + if ( len !== len ) { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !SofoAnySignJQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || SofoAnySignJQuery.guid++; + + return proxy; + }, + + now: function() { + return +( new Date() ); + }, + + // SofoAnySignJQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +}); + +// Populate the class2type map +SofoAnySignJQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = SofoAnySignJQuery.type( obj ); + + if ( type === "function" || SofoAnySignJQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v1.10.19 + * http://sizzlejs.com/ + * + * Copyright 2013 SofoAnySignJQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://SofoAnySignJQuery.org/license + * + * Date: 2014-04-18 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + characterEncoding + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document (SofoAnySignJQuery #6963) + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== strundefined && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, + doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see SofoAnySignJQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent !== parent.top ) { + // IE11 does not have attachEvent, so all must suffer + if ( parent.addEventListener ) { + parent.addEventListener( "unload", function() { + setDocument(); + }, false ); + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", function() { + setDocument(); + }); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { + div.innerHTML = "
"; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.SofoAnySignJQuery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.SofoAnySignJQuery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowclip^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (SofoAnySignJQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/SofoAnySignJQuery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (SofoAnySignJQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (oldCache = outerCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + outerCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context !== document && context; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is no seed and only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = "
"; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +SofoAnySignJQuery.find = Sizzle; +SofoAnySignJQuery.expr = Sizzle.selectors; +SofoAnySignJQuery.expr[":"] = SofoAnySignJQuery.expr.pseudos; +SofoAnySignJQuery.unique = Sizzle.uniqueSort; +SofoAnySignJQuery.text = Sizzle.getText; +SofoAnySignJQuery.isXMLDoc = Sizzle.isXML; +SofoAnySignJQuery.contains = Sizzle.contains; + + + +var rneedsContext = SofoAnySignJQuery.expr.match.needsContext; + +var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( SofoAnySignJQuery.isFunction( qualifier ) ) { + return SofoAnySignJQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return SofoAnySignJQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return SofoAnySignJQuery.filter( qualifier, elements, not ); + } + + qualifier = SofoAnySignJQuery.filter( qualifier, elements ); + } + + return SofoAnySignJQuery.grep( elements, function( elem ) { + return ( SofoAnySignJQuery.inArray( elem, qualifier ) >= 0 ) !== not; + }); +} + +SofoAnySignJQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + SofoAnySignJQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + SofoAnySignJQuery.find.matches( expr, SofoAnySignJQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); +}; + +SofoAnySignJQuery.fn.extend({ + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( SofoAnySignJQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( SofoAnySignJQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + SofoAnySignJQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? SofoAnySignJQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + SofoAnySignJQuery( selector ) : + selector || [], + false + ).length; + } +}); + + +// Initialize a SofoAnySignJQuery object + + +// A central reference to the root SofoAnySignJQuery(document) +var rootSofoAnySignJQuery, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = SofoAnySignJQuery.fn.init = function( selector, context ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof SofoAnySignJQuery ? context[0] : context; + + // scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + SofoAnySignJQuery.merge( this, SofoAnySignJQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && SofoAnySignJQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( SofoAnySignJQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootSofoAnySignJQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the SofoAnySignJQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.sofoanysignjquery ) { + return ( context || rootSofoAnySignJQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( SofoAnySignJQuery.isFunction( selector ) ) { + return typeof rootSofoAnySignJQuery.ready !== "undefined" ? + rootSofoAnySignJQuery.ready( selector ) : + // Execute immediately if ready is not present + selector( SofoAnySignJQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return SofoAnySignJQuery.makeArray( selector, this ); + }; + +// Give the init function the SofoAnySignJQuery prototype for later instantiation +init.prototype = SofoAnySignJQuery.fn; + +// Initialize central reference +rootSofoAnySignJQuery = SofoAnySignJQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +SofoAnySignJQuery.extend({ + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !SofoAnySignJQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +SofoAnySignJQuery.fn.extend({ + has: function( target ) { + var i, + targets = SofoAnySignJQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( SofoAnySignJQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + SofoAnySignJQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + SofoAnySignJQuery.find.matchesSelector(cur, selectors)) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? SofoAnySignJQuery.unique( matched ) : matched ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return SofoAnySignJQuery.inArray( this[0], SofoAnySignJQuery( elem ) ); + } + + // Locate the position of the desired element + return SofoAnySignJQuery.inArray( + // If it receives a SofoAnySignJQuery object, the first element is used + elem.sofoanysignjquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + return this.pushStack( + SofoAnySignJQuery.unique( + SofoAnySignJQuery.merge( this.get(), SofoAnySignJQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +SofoAnySignJQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return SofoAnySignJQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return SofoAnySignJQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return SofoAnySignJQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return SofoAnySignJQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return SofoAnySignJQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return SofoAnySignJQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return SofoAnySignJQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return SofoAnySignJQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return SofoAnySignJQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + SofoAnySignJQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + SofoAnySignJQuery.fn[ name ] = function( until, selector ) { + var ret = SofoAnySignJQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = SofoAnySignJQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = SofoAnySignJQuery.unique( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +}); +var rnotwhite = (/\S+/g); + + + +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + SofoAnySignJQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +SofoAnySignJQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + SofoAnySignJQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + SofoAnySignJQuery.each( args, function( _, arg ) { + var type = SofoAnySignJQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + SofoAnySignJQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = SofoAnySignJQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? SofoAnySignJQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +SofoAnySignJQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", SofoAnySignJQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", SofoAnySignJQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", SofoAnySignJQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return SofoAnySignJQuery.Deferred(function( newDefer ) { + SofoAnySignJQuery.each( tuples, function( i, tuple ) { + var fn = SofoAnySignJQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && SofoAnySignJQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? SofoAnySignJQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + SofoAnySignJQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && SofoAnySignJQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : SofoAnySignJQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + + } else if ( !(--remaining) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && SofoAnySignJQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); + + +// The deferred used on DOM ready +var readyList; + +SofoAnySignJQuery.fn.ready = function( fn ) { + // Add the callback + SofoAnySignJQuery.ready.promise().done( fn ); + + return this; +}; + +SofoAnySignJQuery.extend({ + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + SofoAnySignJQuery.readyWait++; + } else { + SofoAnySignJQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --SofoAnySignJQuery.readyWait : SofoAnySignJQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( SofoAnySignJQuery.ready ); + } + + // Remember that the DOM is ready + SofoAnySignJQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --SofoAnySignJQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ SofoAnySignJQuery ] ); + + // Trigger any bound ready events + if ( SofoAnySignJQuery.fn.triggerHandler ) { + SofoAnySignJQuery( document ).triggerHandler( "ready" ); + SofoAnySignJQuery( document ).off( "ready" ); + } + } +}); + +/** + * Clean-up method for dom ready events + */ +function detach() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } +} + +/** + * The ready event handler and self cleanup method + */ +function completed() { + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + SofoAnySignJQuery.ready(); + } +} + +SofoAnySignJQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = SofoAnySignJQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.SofoAnySignJQuery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( SofoAnySignJQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !SofoAnySignJQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + SofoAnySignJQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + + +var strundefined = typeof undefined; + + + +// Support: IE<9 +// Iteration over object's inherited properties before its own +var i; +for ( i in SofoAnySignJQuery( support ) ) { + break; +} +support.ownLast = i !== "0"; + +// Note: most support tests are defined in their respective modules. +// false until the test is run +support.inlineBlockNeedsLayout = false; + +// Execute ASAP in case we need to set body.style.zoom +SofoAnySignJQuery(function() { + // Minified: var a,b,c,d + var val, div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + // Return for frameset docs that don't have a body + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + if ( typeof div.style.zoom !== strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; + + support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; + if ( val ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + + if ( container.parentNode ) { + container.parentNode.removeChild( container ); + } + // release memory in IE + container = null; +}); + + + + +(function() { + var div = document.createElement( "div" ); + + // Execute the test only if not already executed in another module. + if (support.deleteExpando == null) { + // Support: IE<9 + support.deleteExpando = true; + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + } + + // Null elements to avoid leaks in IE. + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; +})(); + + +/** + * Determines whether an object can have data + */ +SofoAnySignJQuery.acceptData = function( elem ) { + var noData = SofoAnySignJQuery.noData[ (elem.nodeName + " ").toLowerCase() ], + nodeType = +elem.nodeType || 1; + + // Do not set data on non-element DOM nodes because it will not be cleared (#8335). + return nodeType !== 1 && nodeType !== 9 ? + false : + + // Nodes accept data unless otherwise specified; rejection can be conditional + !noData || noData !== true && elem.getAttribute("classid") === noData; +}; + + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? SofoAnySignJQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + SofoAnySignJQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && SofoAnySignJQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + +function internalData( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !SofoAnySignJQuery.acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = SofoAnySignJQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global SofoAnySignJQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? SofoAnySignJQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = deletedIds.pop() || SofoAnySignJQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + // Avoid exposing SofoAnySignJQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: SofoAnySignJQuery.noop }; + } + + // An object can be passed to SofoAnySignJQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = SofoAnySignJQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = SofoAnySignJQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // SofoAnySignJQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ SofoAnySignJQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ SofoAnySignJQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !SofoAnySignJQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See SofoAnySignJQuery.data for more information + cache = isNode ? SofoAnySignJQuery.cache : elem, + id = isNode ? elem[ SofoAnySignJQuery.expando ] : SofoAnySignJQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !SofoAnySignJQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = SofoAnySignJQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( SofoAnySignJQuery.map( name, SofoAnySignJQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject(thisCache) : !SofoAnySignJQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See SofoAnySignJQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + SofoAnySignJQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +SofoAnySignJQuery.extend({ + cache: {}, + + // The following elements (space-suffixed to avoid Object.prototype collisions) + // throw uncatchable exceptions if you attempt to set expando properties + noData: { + "applet ": true, + "embed ": true, + // ...but Flash objects (which have this classid) *can* handle expandos + "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? SofoAnySignJQuery.cache[ elem[SofoAnySignJQuery.expando] ] : elem[ SofoAnySignJQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + } +}); + +SofoAnySignJQuery.fn.extend({ + data: function( key, value ) { + var i, name, data, + elem = this[0], + attrs = elem && elem.attributes; + + // Special expections of .data basically thwart SofoAnySignJQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = SofoAnySignJQuery.data( elem ); + + if ( elem.nodeType === 1 && !SofoAnySignJQuery._data( elem, "parsedAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = SofoAnySignJQuery.camelCase( name.slice(5) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + SofoAnySignJQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + SofoAnySignJQuery.data( this, key ); + }); + } + + return arguments.length > 1 ? + + // Sets one value + this.each(function() { + SofoAnySignJQuery.data( this, key, value ); + }) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, SofoAnySignJQuery.data( elem, key ) ) : undefined; + }, + + removeData: function( key ) { + return this.each(function() { + SofoAnySignJQuery.removeData( this, key ); + }); + } +}); + + +SofoAnySignJQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = SofoAnySignJQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || SofoAnySignJQuery.isArray(data) ) { + queue = SofoAnySignJQuery._data( elem, type, SofoAnySignJQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = SofoAnySignJQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = SofoAnySignJQuery._queueHooks( elem, type ), + next = function() { + SofoAnySignJQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return SofoAnySignJQuery._data( elem, key ) || SofoAnySignJQuery._data( elem, key, { + empty: SofoAnySignJQuery.Callbacks("once memory").add(function() { + SofoAnySignJQuery._removeData( elem, type + "queue" ); + SofoAnySignJQuery._removeData( elem, key ); + }) + }); + } +}); + +SofoAnySignJQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return SofoAnySignJQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = SofoAnySignJQuery.queue( this, type, data ); + + // ensure a hooks for this queue + SofoAnySignJQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + SofoAnySignJQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + SofoAnySignJQuery.dequeue( this, type ); + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = SofoAnySignJQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = SofoAnySignJQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + // isHidden might be called from SofoAnySignJQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return SofoAnySignJQuery.css( elem, "display" ) === "none" || !SofoAnySignJQuery.contains( elem.ownerDocument, elem ); + }; + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = SofoAnySignJQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( SofoAnySignJQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + SofoAnySignJQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !SofoAnySignJQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( SofoAnySignJQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; +}; +var rcheckableType = (/^(?:checkbox|radio)$/i); + + + +(function() { + // Minified: var a,b,c + var input = document.createElement( "input" ), + div = document.createElement( "div" ), + fragment = document.createDocumentFragment(); + + // Setup + div.innerHTML = "
a"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName( "tbody" ).length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = + document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + input.type = "checkbox"; + input.checked = true; + fragment.appendChild( input ); + support.appendChecked = input.checked; + + // Make sure textarea (and checkbox) defaultValue is properly cloned + // Support: IE6-IE11+ + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // #11217 - WebKit loses check when the name is after the checked attribute + fragment.appendChild( div ); + div.innerHTML = ""; + + // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 + // old WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + support.noCloneEvent = true; + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Execute the test only if not already executed in another module. + if (support.deleteExpando == null) { + // Support: IE<9 + support.deleteExpando = true; + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + } + + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + + if ( input.parentNode ) { + input.parentNode.removeChild( input ); + } + // release memory in IE + input = null; +})(); + + +(function() { + var i, eventName, + div = document.createElement( "div" ); + + // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) + for ( i in { submit: true, change: true, focusin: true }) { + eventName = "on" + i; + + if ( !(support[ i + "Bubbles" ] = eventName in window) ) { + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + div.setAttribute( eventName, "t" ); + support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; + } + } + + // Null elements to avoid leaks in IE. + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; +})(); + + +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +SofoAnySignJQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = SofoAnySignJQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = SofoAnySignJQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a SofoAnySignJQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof SofoAnySignJQuery !== strundefined && (!e || SofoAnySignJQuery.event.triggered !== e.type) ? + SofoAnySignJQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = SofoAnySignJQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = SofoAnySignJQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = SofoAnySignJQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && SofoAnySignJQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + SofoAnySignJQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = SofoAnySignJQuery.hasData( elem ) && SofoAnySignJQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + SofoAnySignJQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = SofoAnySignJQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + SofoAnySignJQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( SofoAnySignJQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + SofoAnySignJQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + SofoAnySignJQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a SofoAnySignJQuery.Event object, Object, or just an event type string + event = event[ SofoAnySignJQuery.expando ] ? + event : + new SofoAnySignJQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for SofoAnySignJQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + SofoAnySignJQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = SofoAnySignJQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !SofoAnySignJQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // SofoAnySignJQuery handler + handle = ( SofoAnySignJQuery._data( cur, "events" ) || {} )[ event.type ] && SofoAnySignJQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && SofoAnySignJQuery.acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + SofoAnySignJQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !SofoAnySignJQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + SofoAnySignJQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + SofoAnySignJQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable SofoAnySignJQuery.Event from the native event object + event = SofoAnySignJQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( SofoAnySignJQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = SofoAnySignJQuery.event.special[ event.type ] || {}; + + // Use the fix-ed SofoAnySignJQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = SofoAnySignJQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (SofoAnySignJQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + SofoAnySignJQuery( sel, this ).index( cur ) >= 0 : + SofoAnySignJQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ SofoAnySignJQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new SofoAnySignJQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( SofoAnySignJQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return SofoAnySignJQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = SofoAnySignJQuery.extend( + new SofoAnySignJQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + SofoAnySignJQuery.event.trigger( e, null, elem ); + } else { + SofoAnySignJQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +SofoAnySignJQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +SofoAnySignJQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof SofoAnySignJQuery.Event) ) { + return new SofoAnySignJQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + // Support: IE < 9, Android < 4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + SofoAnySignJQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || SofoAnySignJQuery.now(); + + // Mark it as fixed + this[ SofoAnySignJQuery.expando ] = true; +}; + +// SofoAnySignJQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +SofoAnySignJQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +SofoAnySignJQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + SofoAnySignJQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !SofoAnySignJQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !support.submitBubbles ) { + + SofoAnySignJQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( SofoAnySignJQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + SofoAnySignJQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = SofoAnySignJQuery.nodeName( elem, "input" ) || SofoAnySignJQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !SofoAnySignJQuery._data( form, "submitBubbles" ) ) { + SofoAnySignJQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + SofoAnySignJQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + SofoAnySignJQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( SofoAnySignJQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + SofoAnySignJQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !support.changeBubbles ) { + + SofoAnySignJQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + SofoAnySignJQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + SofoAnySignJQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + SofoAnySignJQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + SofoAnySignJQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !SofoAnySignJQuery._data( elem, "changeBubbles" ) ) { + SofoAnySignJQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + SofoAnySignJQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + SofoAnySignJQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + SofoAnySignJQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !support.focusinBubbles ) { + SofoAnySignJQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + SofoAnySignJQuery.event.simulate( fix, event.target, SofoAnySignJQuery.event.fix( event ), true ); + }; + + SofoAnySignJQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = SofoAnySignJQuery._data( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + SofoAnySignJQuery._data( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = SofoAnySignJQuery._data( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + SofoAnySignJQuery._removeData( doc, fix ); + } else { + SofoAnySignJQuery._data( doc, fix, attaches ); + } + } + }; + }); +} + +SofoAnySignJQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + SofoAnySignJQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = SofoAnySignJQuery.guid++ ); + } + return this.each( function() { + SofoAnySignJQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched SofoAnySignJQuery.Event + handleObj = types.handleObj; + SofoAnySignJQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + SofoAnySignJQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + SofoAnySignJQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return SofoAnySignJQuery.event.trigger( type, data, elem, true ); + } + } +}); + + +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlineSofoAnySignJQuery = / SofoAnySignJQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + area: [ 1, "", "" ], + param: [ 1, "", "" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + col: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || SofoAnySignJQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + SofoAnySignJQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && SofoAnySignJQuery.nodeName( context, tag ) ? + SofoAnySignJQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return SofoAnySignJQuery.nodeName( elem, "table" ) && + SofoAnySignJQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (SofoAnySignJQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + SofoAnySignJQuery._data( elem, "globalEval", !refElements || SofoAnySignJQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !SofoAnySignJQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = SofoAnySignJQuery._data( src ), + curData = SofoAnySignJQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + SofoAnySignJQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = SofoAnySignJQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !support.noCloneEvent && dest[ SofoAnySignJQuery.expando ] ) { + data = SofoAnySignJQuery._data( dest ); + + for ( e in data.events ) { + SofoAnySignJQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( SofoAnySignJQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( support.html5Clone && ( src.innerHTML && !SofoAnySignJQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +SofoAnySignJQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = SofoAnySignJQuery.contains( elem.ownerDocument, elem ); + + if ( support.html5Clone || SofoAnySignJQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!support.noCloneEvent || !support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !SofoAnySignJQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( SofoAnySignJQuery.type( elem ) === "object" ) { + SofoAnySignJQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted from table fragments + if ( !support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[1] === "
" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( SofoAnySignJQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + SofoAnySignJQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !support.appendChecked ) { + SofoAnySignJQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && SofoAnySignJQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = SofoAnySignJQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = SofoAnySignJQuery.expando, + cache = SofoAnySignJQuery.cache, + deleteExpando = support.deleteExpando, + special = SofoAnySignJQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + if ( acceptData || SofoAnySignJQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + SofoAnySignJQuery.event.remove( elem, type ); + + // This is a shortcut to avoid SofoAnySignJQuery.event.remove's overhead + } else { + SofoAnySignJQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by SofoAnySignJQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + deletedIds.push( id ); + } + } + } + } + } +}); + +SofoAnySignJQuery.fn.extend({ + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + SofoAnySignJQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + remove: function( selector, keepData /* Internal Use Only */ ) { + var elem, + elems = selector ? SofoAnySignJQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( !keepData && elem.nodeType === 1 ) { + SofoAnySignJQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && SofoAnySignJQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + SofoAnySignJQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && SofoAnySignJQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function() { + return SofoAnySignJQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlineSofoAnySignJQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + SofoAnySignJQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var arg = arguments[ 0 ]; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + arg = this.parentNode; + + SofoAnySignJQuery.cleanData( getAll( this ) ); + + if ( arg ) { + arg.replaceChild( elem, this ); + } + }); + + // Force removal if there was no new content (e.g., from empty arguments) + return arg && (arg.length || arg.nodeType) ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = SofoAnySignJQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, self.html() ); + } + self.domManip( args, callback ); + }); + } + + if ( l ) { + fragment = SofoAnySignJQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = SofoAnySignJQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = SofoAnySignJQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + SofoAnySignJQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[i], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + SofoAnySignJQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !SofoAnySignJQuery._data( node, "globalEval" ) && SofoAnySignJQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Optional AJAX dependency, but won't run scripts if not present + if ( SofoAnySignJQuery._evalUrl ) { + SofoAnySignJQuery._evalUrl( node.src ); + } + } else { + SofoAnySignJQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +SofoAnySignJQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + SofoAnySignJQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = SofoAnySignJQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + SofoAnySignJQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply SofoAnySignJQuery collections as arrays, but oldIE needs a .get() + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + + +var iframe, + elemdisplay = {}; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var style, + elem = SofoAnySignJQuery( doc.createElement( name ) ).appendTo( doc.body ), + + // getDefaultComputedStyle might be reliably used only on attached element + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + + // Use of this method is a temporary fix (more like optmization) until something better comes along, + // since it was removed from specification and supported only in FF + style.display : SofoAnySignJQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = (iframe || SofoAnySignJQuery( "