﻿// 2010년 4월 29일 웹접근성지원///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////var gHostName = document.location.hostname;var gIsContinue=0;var busy_info = "암호화 작업이 진행중입니다. 확인을 누르시고 잠시 기다려 주십시오.";var usePageCharset=true;var isPutBanner = false;///////////////////////////////////////////////////////////////////////////////////// 각종셋팅 설정var E2E_keytype = 1;  // new e2e//셋팅 리얼여부//var IsOnLine ='FALSE';var IsOnLine ='TRUE';//컨트롤 업데이트 여부 //var UpdateAction = 'TRUE';var UpdateAction = 'FALSE';//디버깅 여부var TraceAction = 'FALSE';///////////////////////////////////////////////////////////////////////////////////// xgate 서버 명:포트 지정 , 포트 생략시 디폴트로 443 포트 사용/* 롯데카드 2차도메인 암호화 통신을 위한 보정 - by ultteky */var xgate_addr	= (gHostName.indexOf(".lottecard.co.kr") > -1 ? "124.243.36.20" : window.location.hostname) + ":443:8080";/* 롯데카드 2차도메인 암호화 통신을 위한 보정 - by ultteky *///var xgate_addr	= "10.25.10.13:443:8080";// 현재 접속 host 정보var hostname = window.location.href.substr(0,window.location.href.indexOf(window.location.pathname));////////////////////////////////////////////////////////////////////////////////////로그인 창에 보일 이미지를 다운로드 받을 URLvar bannerUrl		= hostname + "/XecureObject/lottecard_xecureweb.bmp";var bannerUrlSigned	= hostname + "/XecureObject/lottecard_xecureweb.bmp.sig";// YESSIGN CA ADDRESS//////////////////////////////////////////////////////// REAL : 203.233.91.71// TEST : 203.233.91.234if(IsOnLine == 'TRUE'){	var ca_ip =  "203.233.91.71";	var ca_port = 4512;	var ca_type = 1; // Real}else{	//	var ca_ip =  "203.233.91.234";	var ca_ip =  "203.233.91.234;yessignCA-Test Class 0";	var ca_port = 4512;	var ca_type = 11; // test}var accept_cert="yessignCA";accept_cert+=":1.2.410.200005.1.1.1";			//범용개인accept_cert+=":1.2.410.200005.1.1.2";			//법인은행/보험accept_cert+=":1.2.410.200005.1.1.4";			//은행/보험accept_cert+=":1.2.410.200005.1.1.5"; 			//범용기업accept_cert+=":1.2.410.200005.1.1.6.2"; 		//카드// 한국정보인증 인증서 수용 부분accept_cert+=",signGATE CA";accept_cert+=":1.2.410.200004.5.2.1.1";			//범용기업accept_cert+=":1.2.410.200004.5.2.1.2";			//범용개인accept_cert+=":1.2.410.200004.5.2.1.7.3";		//카드accept_cert+=":1.2.410.200004.5.2.1.7.1";		//은행/보험// 증권전산원 인증서 수용 부분accept_cert+=",SignKorea CA";accept_cert+=":1.2.410.200004.5.1.1.5";			//범용개인accept_cert+=":1.2.410.200004.5.1.1.7";			//범용법인accept_cert+=":1.2.410.200004.5.1.1.9.2";		//카드// 한국전산원 인증서 수용 부분accept_cert+=",NCASign CA";accept_cert+=":1.2.410.200004.5.3.1.9";			//범용개인accept_cert+=":1.2.410.200004.5.3.1.2";			//범용기업// 한국전자인증 인증서 수용 부분accept_cert+=",CrossCertCA";accept_cert+=":1.2.410.200004.5.4.1.1";			//범용개인accept_cert+=":1.2.410.200004.5.4.1.2"; 		//범용기업accept_cert+=":1.2.410.200004.5.4.1.103"; 		//카드// 한국무역정보통신 인증서 수용 부분accept_cert+=",TradeSignCA";accept_cert+=":1.2.410.200012.1.1.1";			//범용개인accept_cert+=":1.2.410.200012.1.1.3";			//범용기업accept_cert+=":1.2.410.200012.1.1.105";			//카드///////// [softforum] 신규 추가된 CA LIST// 신 한국정보인증 인증서 수용 부분accept_cert+=",signGATE CA2";accept_cert+=":1.2.410.200004.5.2.1.1";			//범용기업accept_cert+=":1.2.410.200004.5.2.1.2";			//범용개인accept_cert+=":1.2.410.200004.5.2.1.7.3";		//카드accept_cert+=":1.2.410.200004.5.2.1.7.1";// 신 한국전산원 인증서 수용 부분accept_cert+=",NCASignCA";			accept_cert+=":1.2.410.200004.5.3.1.9";			//범용개인accept_cert+=":1.2.410.200004.5.3.1.2";			//범용기업// 신 한국전자인증 인증서 수용 부분accept_cert+=",CrossCert Certificate Authority";accept_cert+=":1.2.410.200004.5.4.1.1";			//범용개인accept_cert+=":1.2.410.200004.5.4.1.2"; 		//범용기업accept_cert+=":1.2.410.200004.5.4.1.103"; 		//카드//2048 CAaccept_cert+=",yessignCA Class 1";accept_cert+=":1.2.410.200005.1.1.1";			//범용개인accept_cert+=":1.2.410.200005.1.1.2";			//법인은행/보험accept_cert+=":1.2.410.200005.1.1.4";			//은행/보험accept_cert+=":1.2.410.200005.1.1.5"; 			//범용기업accept_cert+=":1.2.410.200005.1.1.6.2"; 		//카드// 한국정보인증 인증서 수용 부분accept_cert+=",signGATE CA4";accept_cert+=":1.2.410.200004.5.2.1.1";			//범용기업accept_cert+=":1.2.410.200004.5.2.1.2";			//범용개인accept_cert+=":1.2.410.200004.5.2.1.7.3";		//카드accept_cert+=":1.2.410.200004.5.2.1.7.1";		//은행/보험// 증권전산원 인증서 수용 부분accept_cert+=",SignKorea CA2";accept_cert+=":1.2.410.200004.5.1.1.5";			//범용개인accept_cert+=":1.2.410.200004.5.1.1.7";			//범용법인accept_cert+=":1.2.410.200004.5.1.1.9.2";		//카드// 신 한국전자인증 인증서 수용 부분accept_cert+=",CrossCertCA2";accept_cert+=":1.2.410.200004.5.4.1.1";			//범용개인accept_cert+=":1.2.410.200004.5.4.1.2"; 		//범용기업accept_cert+=":1.2.410.200004.5.4.1.103"; 		//카드// 한국무역정보통신 인증서 수용 부분accept_cert+=",TradeSignCA2";accept_cert+=":1.2.410.200012.1.1.1";			//범용개인accept_cert+=":1.2.410.200012.1.1.3";			//범용기업accept_cert+=":1.2.410.200012.1.1.105";			//카드/////////////////////////////////////////////////////////////////////////////////// 기본 인증서 위치( 0 : 하드디스크, 1 : 이동식디스크, 2 : IC카드, 3 : CSP, 4 : VSC )var certLocation = 0;/////////////////////////////////////////////////////////////////////////////////// 전자서명, 인증서 갱신, 인증서 폐기시에 인증서 암호오류를 허용회수var pwd_fail = 3;///////////////////////////////////////////////////////////////////////////////////// 인증기관 인증서 다운로드시 인증기관 인증서와 인증서 CNvar pCaCertUrl= hostname + "/XecureObject/signed_cacert.bin";var pCaCertName = "";//////////////////////////////////////////////////////////////////////////////////// 전자서명 확인창에 보일 메세지와 전자서명 확인창 보기 옵션// 0 : 서명 원문 출력 안함, 1: 서명 원문 출력var sign_desc = "";var show_plain = 0;/////////////////////////////////////////////////////////////////////////////////// LiveUpdate 정보주소//var infoURL = 'http://download.softforum.com/Published/XecureWeb/v5.4.6.4/Update/info.ini.sig';var infoURL = hostname + "/XecureObject/inside.ini.sig";//------------웹접근성var multiLicense = "";if(gHostName == "127.0.0.1") {	multiLicense = "30820695020101310b300906052b0e03021a0500307306092a864886f70d010701a0660464313a3132372e302e302e313a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201000151227ff2051be5cf7ffa50da18af0f5ba54821b60bbe34f2c7d3b873c53de7993e24440c595f628a9925103b3f05a7fa3fada338e476ae876bd7b186841501ae218adcdb272edd090bb887c0888c6f0ef22d89f12144bdd819d685869f4f9b2116133d4ecc9ee48abc321174cd95553d8ecff614f5866ef401ab394288b39e23f46c303757f3f417a1237c05eea4a73562267d2906e68913644541f6fd8f35e5811d145dd8cd0a85cf15f98196a93eefd55b9b728af2d82d18ba91165e2ca94d58516ecb3720df2f005f39045a7b12e3d49f42bb5439e57eb74c1de3e9ceab24d3ee0ef7303b22b2d159015c33ed5b2dd1512189240f4b00b118bc427c0701";} else if(gHostName == "10.25.19.11") {	multiLicense = "30820697020101310b300906052b0e03021a0500307506092a864886f70d010701a0680466313a31302e32352e31392e31313a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201003aa7e08e246036b10bd5ee2c56d8229fd534de9b47d66b70fe2aad7adfd01c3e936541cc6c79f10e6a310ac70e621205620504b45a5cf6dfae7c1e57e5f0f284d461dad654c538d5c8320d82259a3fe0ca92a82891604f5484b013d53c90baf5efc8a80c3e9a337dcfe91f66f2bf202c05f18c8930829adc33888b1bd09703b71b2d8272b5aec313ad3bf14276eab1a172ccd6980ab9a94ab6a7afa514f1310f238dd658c58eac8f1e17cc6e25f11497b45aa50e6a4552de0eda43ab5b28f74384d6539ecb4deda6fe8b50267a7cea123fada5fc63cdc333c3e797151469dad754378616c0f810c987be1544d6313505b0a59d869dd3713ad45940ddc27e0a57";	} else if(gHostName == "www.lottecard.co.kr"){	multiLicense = "3082069f020101310b300906052b0e03021a0500307d06092a864886f70d010701a070046e313a7777772e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201003e27d92ce4b409416a746da201aac5ac7f49a9c89397aa8d45e20ee69513ad2a5d49b707457051744e73c992496fbb4b2dcc60010d8d97df51b2a599a1870ba97559b3613df271541f4bb8e02ad0cba38acc7b616a678280125eccb77c3923f30e0f6cb2c1ff48077dc43ecee1d600788520cefa84ed3e7d0ae89f1aca27eb976dfa2b9ad5307473769cd0212c7170e3f3714b9c2d5fb7ed37b1f4042aca93722caabfca29bf639f6e0f29fcab07ac3db49b3860fda68976a6fc67908d0ec59779f788b7e5427918874d3ce569d49aaf55aaa31e5a1de5c2410cc9118168f0cfd5fa23931d0853dc08fe77a52a365f5f49976b0a5a2bc6b86b4478a53dee110a";} else if(gHostName == "corp.lottecard.co.kr"){	multiLicense = "308206a0020101310b300906052b0e03021a0500307e06092a864886f70d010701a071046f313a636f72702e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201000d8e33f8c5f2f22a7dacd31411afd9370d02024649053af9cf2421454c2447fb639556f937d6a1edefa0f41d14e8092e7b1e1dbcdf50e28e13ca64526e74c72bb8f139be6742403549935488a3c441aafe16292600351f2b3de491a1dec57afac8b81e82422701d3ff5649b66b7565af208e7079b43b3bfb57d1abc4cf12a730e31a6d1828d2d29e8f576f9264a80c87c5e38efe66c121c24de2f0eba5fa62df53f8c4d4d0813de8bfc36eac44aaa90d5bec33ffbf21cb78e1bf6a481412de352e87d74e4f316bff80cd5c0629a6b80965ab4e9de3488405bdaa53f9358c61b9e49147a11ecb7a40faa2d7117d588435a443d2a2d50990eefcd06f0aee784d4a";} else if(gHostName == "merchant.lottecard.co.kr"){	multiLicense = "308206a5020101310b300906052b0e03021a050030818206092a864886f70d010701a0750473313a6d65726368616e742e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d010105050004820100365a39fec3542e9943c1281d28617c3fc1963a3915cc880fefaef367b8bf9f7ac0f46454533a861bf458e7624621b28fa1e8f35aa66454a1275da4b78c8ec6c85d1f5d919b9a49ed4dbfeec28469302cc4806e4aaee102ad643957c8a72ba8191f8b8e5d77592b64500fd959c726d66f922818d3374c0a78024ad33f3c1fdb2caa3631238aa6f8badf46337e2ad06fdc59af7902cce88f89218c3b1e196aacf22cc1f89513ea913210ddcf0fbbcaea8ad514b9ffc0a8b3b481c9901554606daeda8eb57e88153019128f7dd12cb49cba5071ac19b0d30601dc5979d3f28456b8014832a38b3b188260de9af52a94cf39d01b3047408b9620a3b0e6ae1d1e99e4";} else if(gHostName == "ladm.lottecard.co.kr"){	multiLicense = "308206a0020101310b300906052b0e03021a0500307e06092a864886f70d010701a071046f313a6c61646d2e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d01010505000482010003819f09d94ae9b29be4cfb46e239a30cc3edc61ff59dd4b43c5e0f93e4cba6214146f0eb89b5d9f0da9c6a761d89c3fe12e94ecd67fb2fac9592eceb01ff38bda61abe69689cd645fdcea897a29d58ef3c728f2a5dda13ca3ed9e50ee2f859d0be405129c16670271400138edb862e6949582e4821bd8b46ebdbaadee908cc9a35984ecb1cfb4b983a4d7028df33b7948027168c62f4e0e17b022c4e8139fccfe48528d6ee047bfedfab8ecf8f96710f18f6907f4a039aea9a6c493461c9ffc832f83508d7991c876b9d817ae08bc15716561696dea7242e8707f8d71e13b3961b4163aae890f05065487e3ec3c15b324594774c46272cd04c3408047e3f2e2";} else if(gHostName == "m.lottecard.co.kr"){	multiLicense = "3082069d020101310b300906052b0e03021a0500307b06092a864886f70d010701a06e046c313a6d2e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201002167ca4e985e829256ff06d2c372180598e56fe8cc5bf76ffa985801d493a72fbefa3d74662d840896da07250edfc4370114a617b0729f484d652ced3ac2ba1370ccbb6a08f33e11a704e4336031b94508954f64f3b84d621e5b9809e5c954cc7322014c380db20325b48ee7ec3f02fffd4c6afc6847348b5fe5e47d089ff88953dbe4cbb73092df5505e3d821a02a411c8bdd73292edfcce17bd407ee1dc9dccbd4e3946ca1b0d270ff4dc5a5736ab5cd77547eddff6715f0520e102a5a8f72d0f27da0da8653469d10f6c22c394adeeff55410828e50c806b03a8498dcbd26abe0d8b2620a7c7b01ddc9cf67e04d76ea6e033b4674d7f778e63dbaa083f6c1";} else if(gHostName == "sps.lottecard.co.kr"){	multiLicense = "3082069f020101310b300906052b0e03021a0500307d06092a864886f70d010701a070046e313a7370732e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d010105050004820100235c81d5d6d8b7440475b9c7b318803fb2680b86719e27dd5e21cfddd910ce0a9b1a2c7995b3b0e64cad15277068fb59bb118d1f858c81d6ea9b9ebcd5bfa02953b9d4766abdd89a16dea93ba53a413c0e52e82f3088028873acdd972892b98e94c2432acb720fe255754d2ff4362ba66cbe99d424e5d8f9d676e34adfd51c0a7e0d7125888712f6f852969ff4bf0a5f61c72a23f4056dc8cf26d5dc05ba5d96b2255c47226d274c97752425e090577988164d230f1cfb92d6920d839ba2accdde931a4717ed41d653f2f1995c22c37551b83da34079d5349b00f60ca1255c34b5b002aa2d8a43d947c1450aa0e6e3780178436daafd83dd895686f22d2a7d1c";} else if(gHostName == "acs.lottecard.co.kr"){	multiLicense = "3082069f020101310b300906052b0e03021a0500307d06092a864886f70d010701a070046e313a6163732e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d010105050004820100241f1f2295bbe8356ec374be4d64678200919383b4d0671abce4b09252d390c63705ec0a73fd7d4d63c0f0dd323219fc0160c665039dffdb67280a0520460432a804216884b327d37e6317e2cfece4913eedb11175622e93bec324f465b698edfc5df55c82d4503fc77299c1e7c740c7cd080dd19422ad0a3dc278555eac9d0334d79cf167877ed6a697dd1a18f151d9d89e110afa55c1637b012bacb6b7848d15dab8a41c445d41d55375af95b0bca85603252e8cf2ce6cdde16f9eebf9f0e1bd4258d36d57b60489cc3ebc562e3086d7889c8cbe434c3cb0370adfe612ecabd1be9baa31875f5224f5e7e304b0fc4a96ccdbbf0654f253fa178be21fecb02f";} else if(gHostName == "lottecard.co.kr"){	multiLicense = "3082069b020101310b300906052b0e03021a0500307906092a864886f70d010701a06c046a313a6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201000914a21acec7269c669c500d217a044ca5302644fa657403fdac3d16aee167d3f1e63922f11042b7c4541fd936f5eeb7db711d1bdcc68153dbf97c9a6b60ecebd533803eb77070a77774aee523e41cdd31d3179ef6f9e70301c1b5185081b479c91dfa40b56c1066ec3c0c9d48cbedddf7cc4c8e092aefd27bab29dde4a3b6c61841be46090215c19ac8e87ab3cd33799a1d593382ab4ae9265ea9b59eb1ed271c898a8bb2a82eb370ff58fda83f2871aedf77dc9801e8a4d8d3d6c58accf3c45ba623d8233e99e8e1595bf3587b0f7abc1407e3696392b64174220652084d1588920a046ac53a54e89678793384862857d5d94cf7456cbe4cee148c67ae2ff9";}//"developer.lottecard.co.kr" ===>//	multiLicense = "308206a6020101310b300906052b0e03021a050030818306092a864886f70d010701a0760474313a646576656c6f7065722e6c6f747465636172642e636f2e6b723a46697265666f785f456e61626c652c5361666172695f456e61626c652c4f706572615f456e61626c652c4368726f6d655f456e61626c652c5365614d6f6e6b65795f456e61626c652c4e657473636170655f456e61626c65a0820467308204633082034ba003020102020107300d06092a864886f70d01010505003077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d301e170d3034303431393030303030305a170d3333303131333030303030305a308192310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e311e301c060355040b1315536563757269747920524e44204469766973696f6e311c301a06035504031313536f6674666f72756d205075626c69632043413125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d30820121300d06092a864886f70d01010105000382010e00308201090282010043340b4e1f2f30d6634c818e9fa4b35c199e0628503dbe0d1f5ad2c05890a918408dc330c991083bc7cdfc50021303c04afab4cb522d22fced11d1be6559835f1f000d466120cff97a2a80e4fdf972ac127f9bb8e8ddb84974323e4cb822c5f15b22f82da3de6ef61a0b6798ca49a85af3d8f8298912b4d26411e2e1635c081a3306931716c5e56b279c4d36068a4b645c10aa582693086e14132ba67fb03526312790261f9c641993e2ffc3fd9e8df3efebfddecd722e874d6366ad1252ac0d8bddb5674533cc2717a7342e5cfb18f8a301e7196ca33d6c3bb7e1f1e4bee34f5358af6ae0fd52a9fc3bdd4925f5eab7db6628e24738f6c882bb0aaa0e10afbf0203010001a381de3081db301f0603551d2304183016801409b5e27e7d2ac24a8f56bb67accebb93f5318fd3301d0603551d0e041604142e49ab278ae8c8af977537de8b74bb240e0d275f300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff02010030750603551d1f046e306c306aa068a06686646c6461703a2f2f6c6461702e736f6674666f72756d2e636f6d3a3338392f434e3d58656375726543524c505542432c4f553d536563757269747920524e44204469766973696f6e2c4f3d536f6674666f72756d20436f72706f726174696f6e2c433d4b52300d06092a864886f70d010105050003820101003ce700a0492b225b1665d9c73d84c34f7a5faad7b397ed49231f030e4e0e91953a607bd9006425373d490ef3ba1cf47810ca8c22fabe0c609f93823efdede64744458e910267f9f857c907318e286da6c131c9dd5fada43fd8cfdf6bd1b1b239338cea83eb6b6893b88fbcfd8e86a677b7270ad96be5a82b40569efc2dda6df4bcd642d067183186d6cace6c8f73b80f30b57acb3bcd5cbbc51307922d5edb38cb0d90c3917a8e37534183ba10f403c1c034287f39442df795050f39d78ddad97da8a43f02d7641549af9b5d68908e49faa8a1597cfed4a43baadd42c8fe4fd44c96d314df56147b8a7fa6ba65ffdee9ed3a5da52ef9ac7f9ca5afb633e1ccdf318201a13082019d020101307c3077310b3009060355040613024b52311e301c060355040a1315536f6674666f72756d20436f72706f726174696f6e3121301f06035504031318536f6674666f72756d20526f6f7420417574686f726974793125302306092a864886f70d010901161663616d617374657240736f6674666f72756d2e636f6d020107300706052b0e03021a300d06092a864886f70d0101050500048201002246a0e10991066868a8dd3b024052f303067624cf2070d2e554b1c6a99c29effb9a61d4e79d2745ad3bbacf0338e4eba10fdbabb1d7ad34f0d420d21e8377d0ab0645d1e946c33153ffd7dfb2c53a1754eb9e7f89377838b57dfbeee007bcb5f96f4cf3b0705d614a27d41ad9638659cfd530f28a1339cf23f43056987af17d65a79619971292d41f4c3cfccfb514def2580229ea86f250f4e33ee2b7806ed781548b5e4f95c7717672f4da47bb21e40f4823b10fb1d27098b63f0241189d86d0f756e279b175d3f1c7f6d16a87f753a20c9d9dc292c6d30f98a24f68c1050cec7161c6594d97e59de5f6ef2f0acda841483d697171ead76b5c21752af645c1";function GetCharSet() {		var docCharSet = document.characterSet;		// for FF	if (docCharSet === undefined) {	// for other	    docCharSet = document.charset;	}	return docCharSet;}var Utf8 = {		 		// public method for url encoding		encode : function (string) {			string = string.replace(/\r\n/g,"\n");			var utftext = "";	 			for (var n = 0; n < string.length; n++) {	 				var c = string.charCodeAt(n);	 				if (c < 128) {					utftext += String.fromCharCode(c);				}				else if((c > 127) && (c < 2048)) {					utftext += String.fromCharCode((c >> 6) | 192);					utftext += String.fromCharCode((c & 63) | 128);				}				else {					utftext += String.fromCharCode((c >> 12) | 224);					utftext += String.fromCharCode(((c >> 6) & 63) | 128);					utftext += String.fromCharCode((c & 63) | 128);				}	 			}	 			return utftext;		},	 		// public method for url decoding		decode : function (utftext) {			var string = "";			var i = 0;			var c = c1 = c2 = 0;	 			while ( i < utftext.length ) {	 				c = utftext.charCodeAt(i);	 				if (c < 128) {					string += String.fromCharCode(c);					i++;				}				else if((c > 191) && (c < 224)) {					c2 = utftext.charCodeAt(i+1);					string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));					i += 2;				}				else {					c2 = utftext.charCodeAt(i+1);					c3 = utftext.charCodeAt(i+2);					string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));					i += 3;				}	 			}	 			return string;		}	 	}var XWMSIECtrl = {		mName					: "XecureWeb",		mCID					: "CLSID:7E9FDB80-5316-11D4-B02C-00C04F0CD404",		//mCodeBase			: hostname + "/XecureObject/XecureWeb/v7.2.2.8/xw_install.cab#Version=7,2,2,8",		mCodeBase : "#Version=7,2,5,0",		mLang					: "korean",		mStorage			: "HARD,REMOVABLE,ICCARD,CSP,NO_SMARTON,pkcs11,MPHONE",		mLicense			: null,		mSecOption		: null,			mSecContext		: null,		mSecKey				: "XW_SKS_JRSOFT_DRIVER",		//		mVirkeyBrd	: "XW_VKEY_TRANSKEY",		mPluginLicense: multiLicense}var XWFirefoxCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeWin32		: "application/xecureweb-plugin",	mTypeLinux		: "application/xecure-plugin",		mStorage			: XWMSIECtrl.mStorage,	mLicense			: XWMSIECtrl.mLicense,	mSecOption		: XWMSIECtrl.mSecOption,		mSecContext		: XWMSIECtrl.mSecContext,	mSecKey				: XWMSIECtrl.mSecKey,	mVirkeyBrd		: XWMSIECtrl.mVirkeyBrd,	mPluginLicense: XWMSIECtrl.mPluginLicense,	mWinVersion		: "7.2.5.0",		mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin32SrcManual		: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin64Src			: null,	mWin64SrcManual		: null,		mLinuxVersion		: "7.2.1.7",	mLinuxVersion70		: "7.2.1.7",	mLinuxVersion80		: "7.2.1.7",	mLinuxVersion90		: "7.2.1.7",		mLinux32_30Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_32_firefox_30.xpi"},	mLinux32_40Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_32_firefox_40.xpi"},	mLinux32_60Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_32_firefox_60.xpi"},	mLinux32_70Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_32_firefox_70.xpi"},	mLinux32_80Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_32_firefox_80.xpi"},	mLinux32_90Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_32_firefox_90.xpi"},	mLinux64_30Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_64_firefox_30.xpi"},	mLinux64_40Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_64_firefox_40.xpi"},	mLinux64_60Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_64_firefox_60.xpi"},	mLinux64_70Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_64_firefox_70.xpi"},	mLinux64_80Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_64_firefox_80.xpi"},	mLinux64_90Src		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_linux_64_firefox_90.xpi"},		mMacVersion		: "7.2.1.7",	mMacVersion70		: "7.2.1.7",	mMacVersion80		: "7.2.1.7",	mMacVersion90		: "7.2.1.7",	mMacPPCSrc		: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_ppc_firefox_30.xpi"},	mMac32_30Src	: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_32_firefox_30.xpi"},	mMacIntel_40Src	: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_intel_firefox_40.xpi"},	mMacIntel_60Src	: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_intel_firefox_60.xpi"},	mMacIntel_70Src	: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_intel_firefox_70.xpi"},	mMacIntel_80Src	: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_intel_firefox_80.xpi"},	mMacIntel_90Src	: {"XecureWeb Plugin":hostname + "/XecureObject/plugin/xwc_install_mac_intel_firefox_90.xpi"}}var XWSafariCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeWin32		: "application/xecureweb-plugin",	mTypeLinux		: "application/xecure-plugin",		mStorage			: XWMSIECtrl.mStorage,	mLicense			: XWMSIECtrl.mLicense,	mSecOption		: XWMSIECtrl.mSecOption,		mSecContext		: XWMSIECtrl.mSecContext,	mSecKey				: XWMSIECtrl.mSecKey,	mVirkeyBrd		: XWMSIECtrl.mVirkeyBrd,  mPluginLicense: XWMSIECtrl.mPluginLicense,  	mWinVersion		: "7.2.5.0",	mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin32SrcManual		: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin64Src			: null,	mWin64SrcManual		: null,	mLinuxVersion	: null,	mLinux32Src		: null,	mLinux64Src		: null,	mMacVersion		: "7.2.1.7",	mMacPPCSrc		: hostname + "/XecureObject/plugin/xwc_install_mac_ppc_safari.dmg",	mMacIntelSrc	: hostname + "/XecureObject/plugin/xwc_install_mac_intel_safari.dmg"	}var XWIphoneCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeLinux		: "application/xecure-plugin",		mStorage			: XWMSIECtrl.mStorage,	mLicense			: XWMSIECtrl.mLicense,	mSecOption		: XWMSIECtrl.mSecOption,		mSecContext		: XWMSIECtrl.mSecContext,	mSecKey				: XWMSIECtrl.mSecKey,	mVirkeyBrd		: XWMSIECtrl.mVirkeyBrd,	mPluginLicense: XWMSIECtrl.mPluginLicense,  	mMacVersion		: "7.2.0.2"}var XWSeamonkeyCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeWin32		: "application/xecureweb-plugin",	mTypeLinux		: "application/xecure-plugin",		mStorage			: XWMSIECtrl.mStorage,	mLicense			: XWMSIECtrl.mLicense,	mSecOption		: XWMSIECtrl.mSecOption,		mSecContext		: XWMSIECtrl.mSecContext,	mSecKey				: XWMSIECtrl.mSecKey,	mVirkeyBrd		: XWMSIECtrl.mVirkeyBrd,  mPluginLicense: XWMSIECtrl.mPluginLicense,  	mWinVersion		: "7.2.5.0",	mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin32SrcManual		: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin64Src			: null,	mWin64SrcManual		: null,	mLinuxVersion	: null,	mLinux32Src		: null,	mLinux64Src		: null,	mMacVersion		: null,	mMacPPCSrc		: null,	mMacIntelSrc	: null}var XWChromeCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeWin32		: "application/xecureweb-plugin",	mTypeLinux		: "application/xecure-plugin",		mStorage			: XWMSIECtrl.mStorage,	mLicense			: XWMSIECtrl.mLicense,	mSecOption		: XWMSIECtrl.mSecOption,		mSecContext		: XWMSIECtrl.mSecContext,	mSecKey				: XWMSIECtrl.mSecKey,	mVirkeyBrd		: XWMSIECtrl.mVirkeyBrd,  mPluginLicense: XWMSIECtrl.mPluginLicense,  	mWinVersion		: "7.2.5.0",	mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin32SrcManual		: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin64Src			: null,	mWin64SrcManual		: null,	mLinuxVersion	: null,	mLinux32Src		: null,	mLinux64Src		: null,	mMacVersion		: null,	mMacPPCSrc		: null,	mMacIntelSrc	: null}var XWOperaCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeWin32		: "application/xecureweb-plugin",	mTypeLinux		: "application/xecure-plugin",	mStorage			: XWMSIECtrl.mStorage,	mLicense			: XWMSIECtrl.mLicense,	mSecOption		: XWMSIECtrl.mSecOption,		mSecContext		: XWMSIECtrl.mSecContext,	mSecKey				: XWMSIECtrl.mSecKey,	mVirkeyBrd		: XWMSIECtrl.mVirkeyBrd,  mPluginLicense: XWMSIECtrl.mPluginLicense,  	mWinVersion		: "7.2.5.0",	mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin32SrcManual		: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin64Src			: null,	mWin64SrcManual		: null,	mLinuxVersion	: null,	mLinux32Src		: null,	mLinux64Src		: null,	mMacVersion		: null,	mMacPPCSrc		: null,	mMacIntelSrc	: null}/* Netscape 9 */var XWNavigatorCtrl = {	mName					: "XecureWeb",	mType					: null,	mTypeWin32		: "application/xecureweb-plugin",	mTypeLinux		: "application/xecure-plugin",		mWinVersion		: "7.2.5.0",	mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin32SrcManual		: {"XecureWeb Plugin":hostname + "/XecureObject/XecureWeb/v7.2.5.0/xw_install.exe"},	mWin64Src			: null,	mWin64SrcManual		: null,	mLinuxVersion	: null,	mLinux32Src		: null,	mLinux64Src		: null,	mMacVersion		: null,	mMacPPCSrc		: null,	mMacIntelSrc	: null}var XWNetscapeCtrl = {	mName					: "XecureWeb",	mType					: "application/xecure-plugin",	mWinVersion		: "7.0.0.0",	mWin32Src			: {"XecureWeb Plugin":hostname + "/XecureObject/xw_install.xpi"},		mWin64Src			: null,	mLinuxVersion	: null,	mLinux32Src		: null,	mLinux64Src		: null,	mMacVersion		: null,	mMacPPCSrc		: null,	mMacIntelSrc	: null}// Netscape 4 var XWNetscapeCtrl4 = {	mName			: "XecureWeb",	mType			: "application/x-SoftForum-XecSSL40",	mWinVersion		: "5.5.0.0",	mWin32Src		: hostname + "/XecureObject/NPXecSSL_Install.jar",	mWin64Src		: null}function XWBrowser (){	/* O/S Constant List */	this.cWIN						= "Win";	this.cWIN32					= "Win32";	this.cWIN64					= "Win64";	this.cLINUX					= "Linux";	this.cLINUX32				= "Linux i";	this.cLINUX64				= "Linux x86_64";	this.cMAC						= "Mac";	this.cMACPPC				= "MacPPC";	this.cMACINTEL			= "MacIntel";	this.cMACIPOD				= "iPod";	this.cMACIPHONE			= "iPhone";	this.cMACIPHONESIMULATOR	= "iPhone Simulator";	/* Web Browser Constant List */	this.cMSIE					= "MSIE";	this.cCHROME				= "Chrome";	this.cSAFARI				= "Safari";	this.cMOBILESAFARI		= "Mobile Safari";	this.cXECUREWEBIPHONE	= "AppleWebKit";	this.cSEAMONKEY				= "SeaMonkey";	this.cFIREFOX					= "Firefox";	//this.cFIREFOX36				= "Firefox36";	this.cNAVIGATOR			= "Nevigator";	this.cNETSCAPE			= "Netscape";	this.cNETSCAPE4			= "Netscape4";	this.cOPERA					= "Opera";	this.cUNSUPPORT			= "Unsupport";	/* Member variables */	this.mPlatform		= navigator.platform;	this.mUserAgent		= navigator.userAgent;	this.mBrowserCtrl	= null;						/* 감지된 브라우저의 컨트롤에 대한 포인터로 getBrowserName에서 설정되는 값이다.  */	this.mBrowser		= this.getBrowserName();	this.mVersion		= this.getBrowserVersion();}XWBrowser.prototype = {	getBrowserName : function ()	{		var result;		if (this.mUserAgent.indexOf (this.cMSIE) != -1)				// Explorer		{			this.mBrowserCtrl = XWMSIECtrl;			result = this.cMSIE;		}		else if (this.mUserAgent.indexOf (this.cCHROME) != -1)		// Chrome		{			this.mBrowserCtrl = XWChromeCtrl;			result = this.cCHROME;		}		else if (this.mUserAgent.indexOf (this.cSAFARI) != -1)		// Safari		{			if (this.mUserAgent.indexOf ("Mobile") != -1)			// Mobile Safari			{				result = this.cMOBILESAFARI;			}			else			{				this.mBrowserCtrl = XWSafariCtrl;				result = this.cSAFARI;			}		}		else if (this.mUserAgent.indexOf (this.cOPERA) != -1)			// Opera		{			this.mBrowserCtrl = XWOperaCtrl;			result = this.cOPERA;		}		else if (this.mUserAgent.indexOf (this.cFIREFOX) != -1)		{			if (this.mUserAgent.indexOf (this.cNETSCAPE) != -1)		// Netscape 6			{				this.mBrowserCtrl = XWNetscapeCtrl;				result = this.cNETSCAPE;			}			else													// Firefox			{								this.mBrowserCtrl = XWFirefoxCtrl;				result = this.cFIREFOX;							}		}		else if (this.mUserAgent.indexOf ("BonEcho") != -1)			// Firefox 2 source build		{			this.mBrowserCtrl = XWFirefoxCtrl;			result = this.cFIREFOX;		}		else if (this.mUserAgent.indexOf ("Minefield") != -1)		// Firefox 3 source build		{			this.mBrowserCtrl = XWFirefoxCtrl;			result = this.cFIREFOX;		}		else if (this.mUserAgent.indexOf (this.cXECUREWEBIPHONE) != -1 &&				 this.mUserAgent.indexOf ("Mobile") != -1)			// XecureWeb for iPhone		{			this.mBrowserCtrl = XWIphoneCtrl;			result = this.cXECUREWEBIPHONE;		}		else			result = this.cUNSUPPORT;								// Unsupport		return result;	},	getBrowserVersion : function ()	{		var result;		var fromIndex;				fromIndex = this.mUserAgent.indexOf (this.mBrowser);		if (this.mBrowser == this.cMSIE)		{			fromIndex += 5;			result = this.mUserAgent.substring (fromIndex,												this.mUserAgent.indexOf (";", fromIndex));		}		else if (this.mBrowser == this.cCHROME)		{			fromIndex += this.cCHROME.length + 1;			result = this.mUserAgent.substring (fromIndex,												this.mUserAgent.indexOf (" ", fromIndex));		}		else if (this.mBrowser == this.cSAFARI)		{			fromIndex = this.mUserAgent.indexOf ("Version") + 8;			result = this.mUserAgent.substring (fromIndex,												this.mUserAgent.indexOf (" ", fromIndex));		}		else if (this.mBrowser == this.cFIREFOX)		{			fromIndex += 8;			result = this.mUserAgent.substring (fromIndex);		}				else if (this.mBrowser == this.cNETSCAPE)		{			fromIndex += 10;			result = this.mUserAgent.substring (fromIndex);		}		else if (this.mBrowser == this.cNETSCAPE4)		{			fromIndex = this.mUserAgent.indexOf ("Mozilla") + 8;			result = this.mUserAgent.substring (fromIndex, fromIndex + 4);		}		else if (this.mBrowser == this.cOPERA)		{			fromIndex = this.mUserAgent.indexOf (this.cOPERA) + 6;			result = this.mUserAgent.substring (fromIndex, fromIndex + 4);		}		else			result = 0;		return result;	},	getObjectTag : function (aPluginFlag, aBrowser)	{		var result;		var XWBrowserCtrl;		if (aBrowser == undefined)		{			return this.getObjectTag (aPluginFlag, this.mBrowser);		}		/*------------------------------------------------------------------------------------		 * Internet Explore		 * 지원되는 OS		 * - windows 32bit		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cMSIE)		{			if (aPluginFlag == 0)				XWBrowserCtrl = XWMSIECtrl;			else				XWBrowserCtrl = XWFileMSIECtrl;			result = "<object ";			result += "id=\"" + XWBrowserCtrl.mName + "\" ";			result += "classid=\"" + XWBrowserCtrl.mCID + "\" ";			result += "codebase=\"" + XWBrowserCtrl.mCodeBase + "\" ";			result += "width=0 height=0>";			result += "<param name=\"lang\" 			 value=\""  + XWBrowserCtrl.mLang + "\">";			result += "<param name=\"storage\"     value=\""	+ XWBrowserCtrl.mStorage + "\">";			result += "<param name=\"LICENSE\"     value=\""	+ XWBrowserCtrl.mLicense + "\">";			result += "<param name=\"sec_option\"  value=\""	+ XWBrowserCtrl.mSecOption + "\">";			result += "<param name=\"sec_context\" value=\""	+ XWBrowserCtrl.mSecContext + "\">";			result += "<param name=\"SECKEY\"      value=\""	+ XWBrowserCtrl.mSecKey + "\">";//			result += "<param name=\"VIRKEYBRD\"      value=\""	+ XWBrowserCtrl.mVirkeyBrd + "\">";			result += "";			result += "</object>";			if (this.mPlatform.indexOf (this.cWIN32) == -1)				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";		}		/*------------------------------------------------------------------------------------		 * Firefox		 * 지원되는 OS		 * - windows 32bit		 * - linux 32/64bit		 * - macintosh intel/ppc		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cFIREFOX)		{			if (aPluginFlag == 0)				XWBrowserCtrl = XWFirefoxCtrl;			else				XWBrowserCtrl = XWFileFirefoxCtrl;			result = "<object ";			result += "id=\"" + XWBrowserCtrl.mName + "\" ";			result += "type=\""		+ XWBrowserCtrl.mType + "\" ";			result += "width=0 height=0>";			result += "<param name=\"storage\"     value=\""	+ XWBrowserCtrl.mStorage + "\">";			result += "<param name=\"LICENSE\"     value=\""	+ XWBrowserCtrl.mLicense + "\">";			result += "<param name=\"sec_option\"  value=\""	+ XWBrowserCtrl.mSecOption + "\">";			result += "<param name=\"sec_context\" value=\""	+ XWBrowserCtrl.mSecContext + "\">";			result += "<param name=\"SECKEY\"      value=\""	+ XWBrowserCtrl.mSecKey + "\">";			result += "<param name=\"VIRKEYBRD\"      value=\""	+ XWBrowserCtrl.mVirkeyBrd + "\">";			result += "<param name=\"PluginLicense\"    value=\""	+ XWBrowserCtrl.mPluginLicense + "\">";			result += "";			result += "</object>";			if (this.mPlatform.indexOf (this.cWIN32) != -1				|| this.mPlatform.indexOf (this.cLINUX) != -1				|| this.mPlatform.indexOf (this.cMAC) != -1)			{				if (this.mPlatform == this.cWIN64)					result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";			}			else				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";		}				/*------------------------------------------------------------------------------------		 * Firefox 36		 * 지원되는 OS		 * - linux 32		 *------------------------------------------------------------------------------------*/		/*		else if (aBrowser == this.cFIREFOX36)		{			if (aPluginFlag == 0)				XWBrowserCtrl = XWFirefox36Ctrl;			else				XWBrowserCtrl = XWFileFirefoxCtrl;			result = "<object ";			result += "id=\"" + XWBrowserCtrl.mName + "\" ";			result += "type=\""		+ XWBrowserCtrl.mType + "\" ";			result += "width=0 height=0>";			result += "<param name=\"storage\"     value=\""	+ XWBrowserCtrl.mStorage + "\">";			result += "<param name=\"LICENSE\"     value=\""	+ XWBrowserCtrl.mLicense + "\">";			result += "<param name=\"sec_option\"  value=\""	+ XWBrowserCtrl.mSecOption + "\">";			result += "<param name=\"sec_context\" value=\""	+ XWBrowserCtrl.mSecContext + "\">";			result += "<param name=\"SECKEY\"      value=\""	+ XWBrowserCtrl.mSecKey + "\">";			result += "<param name=\"VIRKEYBRD\"      value=\""	+ XWBrowserCtrl.mVirkeyBrd + "\">";			result += "<param name=\"PluginLicense\"    value=\""	+ XWBrowserCtrl.mPluginLicense + "\">";			result += "";			result += "</object>";			if (this.mPlatform.indexOf (this.cWIN32) != -1				|| this.mPlatform.indexOf (this.cLINUX) != -1				|| this.mPlatform.indexOf (this.cMAC) != -1)			{				if (this.mPlatform == this.cWIN64)					result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";			}			else				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";		}		*/		/*------------------------------------------------------------------------------------		 * Chrome		 * 지원되는 OS		 * - windows 32bit		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cCHROME)		{			if (aPluginFlag == 0)				XWBrowserCtrl = XWChromeCtrl;			else				XWBrowserCtrl = XWFileChromeCtrl;			result = "<object ";			result += "id=\"" + XWBrowserCtrl.mName + "\" ";			result += "type=\""		+ XWBrowserCtrl.mType + "\" ";			result += "width=0 height=0>";			result += "<param name=\"storage\"     value=\""	+ XWBrowserCtrl.mStorage + "\">";			result += "<param name=\"LICENSE\"     value=\""	+ XWBrowserCtrl.mLicense + "\">";			result += "<param name=\"sec_option\"  value=\""	+ XWBrowserCtrl.mSecOption + "\">";			result += "<param name=\"sec_context\" value=\""	+ XWBrowserCtrl.mSecContext + "\">";			result += "<param name=\"SECKEY\"      value=\""	+ XWBrowserCtrl.mSecKey + "\">";			result += "<param name=\"VIRKEYBRD\"      value=\""	+ XWBrowserCtrl.mVirkeyBrd + "\">";			result += "<param name=\"PluginLicense\"    value=\""	+ XWBrowserCtrl.mPluginLicense + "\">";			result += "";			result += "</object>";			if (this.mPlatform.indexOf (this.cWIN32) == -1)			{				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";			}		}		/*------------------------------------------------------------------------------------		 * Safari		 * 지원되는 OS		 * - windows 32bit		 * - macintosh intel/ppc		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cSAFARI)		{			if (aPluginFlag == 0)				XWBrowserCtrl = XWSafariCtrl;			else				XWBrowserCtrl = XWFileSafariCtrl;			result = "<object ";			result += "id=\"" + XWBrowserCtrl.mName + "\" ";			result += "type=\""		+ XWBrowserCtrl.mType + "\" ";			result += "width=0 height=0>";			result += "<param name=\"storage\"     value=\""	+ XWBrowserCtrl.mStorage + "\">";			result += "<param name=\"LICENSE\"     value=\""	+ XWBrowserCtrl.mLicense + "\">";			result += "<param name=\"sec_option\"  value=\""	+ XWBrowserCtrl.mSecOption + "\">";			result += "<param name=\"sec_context\" value=\""	+ XWBrowserCtrl.mSecContext + "\">";			result += "<param name=\"SECKEY\"      value=\""	+ XWBrowserCtrl.mSecKey + "\">";			result += "<param name=\"VIRKEYBRD\"      value=\""	+ XWBrowserCtrl.mVirkeyBrd + "\">";			result += "<param name=\"PluginLicense\"    value=\""	+ XWBrowserCtrl.mPluginLicense + "\">";			result += "";			result += "</object>";			/*			if (!(this.mPlatform.indexOf (this.cMAC) != -1				  || this.mPlatform.indexOf (this.cWIN32) != -1))			{				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";			}			*/		}		/*------------------------------------------------------------------------------------		 * Opera		 * 지원되는 OS		 * - windows 32bit		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cOPERA)		{			if (aPluginFlag == 0)				XWBrowserCtrl = XWOperaCtrl;			else				XWBrowserCtrl = XWFileOperaCtrl;			result = "<object ";			result += "id=\"" + XWBrowserCtrl.mName + "\" ";			result += "type=\""		+ XWBrowserCtrl.mType + "\" ";			result += "width=0 height=0>";			result += "<param name=\"storage\"     value=\""	+ XWBrowserCtrl.mStorage + "\">";						result += "<param name=\"LICENSE\"     value=\""	+ XWBrowserCtrl.mLicense + "\">";			result += "<param name=\"sec_option\"  value=\""	+ XWBrowserCtrl.mSecOption + "\">";			result += "<param name=\"sec_context\" value=\""	+ XWBrowserCtrl.mSecContext + "\">";			result += "<param name=\"SECKEY\"      value=\""	+ XWBrowserCtrl.mSecKey + "\">";			result += "<param name=\"VIRKEYBRD\"      value=\""	+ XWBrowserCtrl.mVirkeyBrd + "\">";			result += "<param name=\"PluginLicense\"    value=\""	+ XWBrowserCtrl.mPluginLicense + "\">";			result += "";			result += "</object>";			if (this.mPlatform.indexOf (this.cWIN32) == -1)				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";		}		/*------------------------------------------------------------------------------------		 * Netscape 6.0		 * 지원되는 OS		 * - windows 32bit		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cNETSCAPE)		{			result += "<embed ";			result += "name=\""		+ XWNetscapeCtrl.mName + "\" ";			result += "type=\""		+ XWNetscapeCtrl.mType + "\" ";			result += "width=0 height=0 ";			result += "hidden=true>";			result += "</embed>";			result += "<noembed></noembed>";			if (this.mPlatform.indexOf (this.cWIN32) == -1)				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";		}		/*------------------------------------------------------------------------------------		 * Netscape 4.0		 * 지원되는 OS		 * - windows 32bit		 *------------------------------------------------------------------------------------*/		else if (aBrowser == this.cNETSCAPE4)		{			result += "<embed ";			result += "name=\""		+ XWNetscapeCtrl4.mName + "\" ";			result += "type=\""		+ XWNetscapeCtrl4.mType + "\" ";			result += "width=0 height=0 ";			result += "hidden=true>";			result += "</embed>";			result += "<noembed></noembed>";			if (this.mPlatform.indexOf (this.cWIN32) == -1)				result = this.mPlatform + "는 지원하지 않는 운영체제입니다.";		}		else		{			result += "";		}		return result;	},	checkCtrl : function (aVersion)	{				var result = false;		var xecuremime;		var		aLocalVersion;		if (aVersion == null || aVersion == undefined)			return result;		if (this.mPlatform == this.cWIN32)			this.mBrowserCtrl.mType = this.mBrowserCtrl.mTypeWin32		else if (this.mPlatform == this.cWIN64)			this.mBrowserCtrl.mType = this.mBrowserCtrl.mTypeWin64		else			this.mBrowserCtrl.mType = this.mBrowserCtrl.mTypeLinux		if (this.mBrowser == this.cMSIE)			return result;		if (this.mBrowser == this.cXECUREWEBIPHONE ||			this.mBrowser == this.cANDROID)		{			this.mBrowserCtrl.mType = this.mBrowserCtrl.mTypeLinux;			return result;		}				if ((this.mPlatform.indexOf (this.cLINUX) != -1 || this.mPlatform.indexOf (this.cMAC) != -1) &&			(this.mBrowser == this.cFIREFOX && parseInt (this.mVersion.substring (0, 1)) >= 4))		{						aLocalVersion = this.getFirefox4ControlVersion ();						if (aLocalVersion == null)			{				return true;			}		}		else		{			xecuremime = navigator.mimeTypes [this.mBrowserCtrl.mType];			if (xecuremime)			{				aLocalVersion = xecuremime.enabledPlugin.description;			}			else			{				return true;			}		}		result = this.checkCtrlVersion (aLocalVersion, aVersion);				return result;	},	checkCtrlVersion : function (aDesc, aVersion)	{		var index = aDesc.indexOf('v.', 0);		if (index < 0)	return false;		aDesc += ' ';		var versionString = aDesc.substring(index +2, aDesc.length);		var arrayOfStrings = versionString.split('.');		var thisMaj = parseInt(arrayOfStrings[0], 10);		var thisMin = parseInt(arrayOfStrings[1], 10);		var thisRel = parseInt(arrayOfStrings[2], 10);		var thisLast = parseInt(arrayOfStrings[3], 10);		arrayOfStrings = aVersion.split('.');		var s_verMaj = parseInt(arrayOfStrings[0], 10);		var s_verMin = parseInt(arrayOfStrings[1], 10);		var s_verRel = parseInt(arrayOfStrings[2], 10);		var s_verLast = parseInt(arrayOfStrings[3], 10);		if (thisMaj > s_verMaj)		return false;		if (thisMaj < s_verMaj)		return true;		if (thisMin > s_verMin)		return false;		if (thisMin < s_verMin)		return true;		if (thisRel > s_verRel)		return false;		if (thisRel < s_verRel)		return true;		if (thisLast > s_verLast)	return false;		if (thisLast < s_verLast)	return true;		return false;	},	getFirefox4ControlVersion : function ()	{		var		aResult = null;		try		{			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			var aContractID = "@softforum.com/xecurewebclient/service;1";			var aInterface = Components.interfaces.nsIXWClientComponent;			var aPlugin = Components.classes[aContractID].getService ().QueryInterface (aInterface);			aResult = aPlugin.GetVerInfo (1);		}		catch (aException)		{		}		return aResult;	},	installCtrl : function ()	{		var result;		var version;		//if (this.mBrowser == this.cFIREFOX || this.mBrowser == this.cFIREFOX36)		if (this.mBrowser == this.cFIREFOX)		{			if (this.mPlatform == this.cWIN32)			{				version = this.getBrowserVersion().split(".");				result = window.open(XWFirefoxCtrl.mWin32SrcManual["XecureWeb Plugin"], '_blank');							}			else if (this.mPlatform.indexOf (this.cLINUX) != -1)			{				/*				if (this.mPlatform == this.cLINUX64)					result = this.installGecko (XWFirefoxCtrl.mLinux64Src);				else					result = this.installGecko (XWFirefoxCtrl.mLinux32Src);					*/				if (this.mPlatform == this.cLINUX64)				{					if (parseInt (this.mVersion.substring (0, 1)) > 8)					{						result = this.installGecko (XWFirefoxCtrl.mLinux64_90Src);					} 					else if (parseInt (this.mVersion.substring (0, 1)) > 7)					{						result = this.installGecko (XWFirefoxCtrl.mLinux64_80Src);					} 					else if (parseInt (this.mVersion.substring (0, 1)) > 6)					{						result = this.installGecko (XWFirefoxCtrl.mLinux64_70Src);					} 					else if (parseInt (this.mVersion.substring (0, 1)) > 5)					{											result = this.installGecko (XWFirefoxCtrl.mLinux64_60Src);					}					else if (parseInt (this.mVersion.substring (0, 1)) < 4)					{											result = this.installGecko (XWFirefoxCtrl.mLinux64_30Src);					}					else					{												result = this.installGecko (XWFirefoxCtrl.mLinux64_40Src);					}				}				else				{					if (parseInt (this.mVersion.substring (0, 1)) > 8)					{						result = this.installGecko (XWFirefoxCtrl.mLinux32_90Src);					} 					else if (parseInt (this.mVersion.substring (0, 1)) > 7)					{						result = this.installGecko (XWFirefoxCtrl.mLinux32_80Src);					} 					else if (parseInt (this.mVersion.substring (0, 1)) > 6)					{						result = this.installGecko (XWFirefoxCtrl.mLinux32_70Src);					} 					else if (parseInt (this.mVersion.substring (0, 1)) > 5)					{						result = this.installGecko (XWFirefoxCtrl.mLinux32_60Src);					}					else if (parseInt (this.mVersion.substring (0, 1)) < 4)					{						result = this.installGecko (XWFirefoxCtrl.mLinux32_30Src);					}					else					{												result = this.installGecko (XWFirefoxCtrl.mLinux32_40Src);					}				}			}			else if (this.mPlatform.indexOf (this.cMAC) != -1)			{								if (this.mPlatform == this.cMACINTEL)								{					if (parseInt (this.mVersion.substring (0, 1)) > 8)					{						result = this.installGecko (XWFirefoxCtrl.mMacIntel_90Src);					}					else if (parseInt (this.mVersion.substring (0, 1)) > 7)					{						result = this.installGecko (XWFirefoxCtrl.mMacIntel_80Src);					}					else if (parseInt (this.mVersion.substring (0, 1)) > 6)					{						result = this.installGecko (XWFirefoxCtrl.mMacIntel_70Src);					}					else if (parseInt (this.mVersion.substring (0, 1)) > 5)					{						result = this.installGecko (XWFirefoxCtrl.mMacIntel_60Src);					}					else if (parseInt (this.mVersion.substring (0, 1)) < 4)					{						result = this.installGecko (XWFirefoxCtrl.mMac32_30Src);					}					else					{						result = this.installGecko (XWFirefoxCtrl.mMacIntel_40Src);					}				}				else					result = window.open (XWFirefoxCtrl.mMacPPCSrc, '_self');								}			else			{				alert ("Unsupported O/S");			}		}		else if (this.mBrowser == this.cCHROME)		{	// Win32			/* 크롬은 팝업 생성시 바로 차단되는 것이 기본이라 _self 페이지 이동으로 처리 한다. */			if (this.mPlatform == this.cWIN32)			{				version = this.getBrowserVersion().split(".");				result = window.open(XWChromeCtrl.mWin32SrcManual["XecureWeb Plugin"], '_self');			}		}		else if (this.mBrowser == this.cSAFARI)		{	// Win32, MacPPC, MacIntel			/* Safari는 팝업 생성시 바로 차단되는 것이 기본이라 _self 페이지 이동으로 처리 한다. */			if (this.mPlatform == this.cWIN32)			{				result = window.open(XWSafariCtrl.mWin32SrcManual["XecureWeb Plugin"], '_self');			}						else if (this.mPlatform.indexOf (this.cMAC) != -1)			{				if (this.mPlatform == this.cMACPPC)					result = window.open(XWSafariCtrl.mMacPPCSrc, '_self');				else if (this.mPlatform == this.cMACINTEL)										result = window.open(XWSafariCtrl.mMacIntelSrc, '_self');							}					}		else if (this.mBrowser == this.cOPERA)		{			if (this.mPlatform == this.cWIN32)				result = window.open(XWOperaCtrl.mWin32SrcManual["XecureWeb Plugin"], '_self');		}		else if (this.mBrowser == this.cNETSCAPE)		{			if (this.mPlatform == this.cWIN32)				result = this.installGecko (XWNetscapeCtrl.mWin32Src);		}		else if (this.mBrowser == this.cNETSCAPE4)		{			if (this.mPlatform == this.cWIN32)				result = this.installNetscape (XWNetscapeCtrl4.mWin32Src);		}				return result;	},	installGecko : function (aSrc)	{				var result = null;		function xpiCB (url, status)		{			if( status != 0 ) {				// error occurred				alert( status + " : " + url);			}		}		result = InstallTrigger.install (aSrc, xpiCB);		return result;	},	installNetscape : function (aSrc)	{		var result = false;		if ( navigator.javaEnabled() )		{			var trigger = netscape.softupdate.Trigger;			if ( trigger.UpdateEnabled() )			{				result = trigger.StartSoftwareUpdate( aSrc, trigger.DEFAULT_MODE);			}			else				alert('넷스케입의 SmartUpdate 설치를 가능하도록 해야합니다.');		}		else			alert('Java 실행을 가능하도록 해야합니다.');		return result;	},	updateModules : function ( aModuleName, aSetupURL, aUpdateURL, aOption)	{		var aResult = false;		if (this.mBrowser != this.cMSIE)		{			var aVersion;			if (this.mBrowser == this.cFIREFOX)			{				if (this.mPlatform.indexOf (this.cWIN) != -1)					aVersion = XWFirefoxCtrl.mWinVersion;				else if (this.mPlatform.indexOf (this.cLINUX) != -1)					if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 8) {						aVersion = XWFirefoxCtrl.mLinuxVersion90;					} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 7) {						aVersion = XWFirefoxCtrl.mLinuxVersion80;					} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 6) {						aVersion = XWFirefoxCtrl.mLinuxVersion70;					} else {						aVersion = XWFirefoxCtrl.mLinuxVersion;					}				else if (this.mPlatform.indexOf (this.cMAC) != -1)										if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 8) {						aVersion = XWFirefoxCtrl.mMacVersion90;					} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 7) {						aVersion = XWFirefoxCtrl.mMacVersion80;					} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 6) {						aVersion = XWFirefoxCtrl.mMacVersion70;					} else {						aVersion = XWFirefoxCtrl.mMacVersion;					}			}						else if (this.mBrowser == this.cSAFARI)			{				if (this.mPlatform.indexOf (this.cWIN) != -1)					aVersion = XWSafariCtrl.mWinVersion;				else if (this.mPlatform.indexOf (this.cLINUX) != -1)					aVersion = XWSafariCtrl.mLinuxVersion;				else if (this.mPlatform.indexOf (this.cMAC) != -1)					aVersion = XWSafariCtrl.mMacVersion;			}			else if (this.mBrowser == this.cNETSCAPE)			{				if (this.mPlatform.indexOf (this.cWIN) != -1)					aVersion = XWNetscapeCtrl.mWinVersion;				else if (this.mPlatform.indexOf (this.cLINUX) != -1)					aVersion = XWNetscapeCtrl.mLinuxVersion;				else if (this.mPlatform.indexOf (this.cMAC) != -1)					aVersion = XWNetscapeCtrl.mMacVersion;			}			else if (this.mBrowser == this.cNETSCAPE4)			{				if (this.mPlatform.indexOf (this.cWIN) != -1)					aVersion = XWNetscapeCtrl4.mWinVersion;				else if (this.mPlatform.indexOf (this.cLINUX) != -1)					aVersion = XWNetscapeCtrl4.mLinuxVersion;				else if (this.mPlatform.indexOf (this.cMAC) != -1)					aVersion = XWNetscapeCtrl4.mMacVersion;			}			else				aVersion = null;			if (aVersion == null)			{				alert ("Unsupported Browser!!");				return aResult;			}			if (this.checkCtrl (aVersion))			{				this.installCtrl();			}			aResult = true;		}		else		{			var errCode = 0;			var errDivision = 0;			var errMsg;			/*			 * #define UPDATE_OK               1   // 업데이트에 성공한 경우			 * #define UPDATE_CANCEL           2   // 업데이트를 취소한 경우			 * #define UPDATE_ALREADY          3   // 하루에 한 번 이미 업데이트를 수행한 경우			 *			 * #define UPDATE_ERROR            -1  // 그 외의 업데이트에서 오류가 난 경우			 * #define UPDATE_COPY_ERROR       -2  // 복사하는 도중에 생긴 에러			 * #define UPDATE_HOLDING          -3  // 사용중인 파일이 있어서 업데이트를 못하는 경우			 * #define UPDATE_INVALID_USER     -4  // 관리자로 로그인을 해야 업데이트가 가능한 경우			 * #define UPDATE_NEED_NOT         -5			 * #define UPDATE_USIGN            -6			 * #define UPDATE_INVALID_URL      -7  // Update 정보를 가진 ini파일의 url이 잘못된 경우			 * #define UPDATE_FAIL_DIR         -8  // 디렉토리 생성 실패			 * #define INSTALL_ERROR           -9  // 설치파일로 설치하다가 오류가 난 경우.			 * #define UPDATE_REG_ERROR        -10			 * moduleName : 설치할 제품에 꼭 있어야할 파일의 경로와 이름			 * setupURL   : 설치할 제품이 없는 경우에 설치파일을 받아올 URL			 * updateURL  : 업데이트를 할 URL			 * opution    : 긴급 업데이트 시(강제 업데이트) 1, 그외의 경우 0			 */          			try {				errCode = document.XecureWebBaseCtrl.RunLiveUpdate(aModuleName, aSetupURL, aUpdateURL, aOption);			} catch (e) {				// 설치가 아직 안되었을 때				return false;			}			switch(errCode)			{				case 1:					errMsg = "Success / 성공적으로 업데이트에 성공했습니다. \n\n" + errCode;					location.reload(true);					break;				case 2:					errMsg = "Liveupdate 가 취소 되었습니다.\n\n" + errCode;					break;				case 3:					errMsg = "Liveupdate 가 이미 처리 되었습니다.. \n\n" + errCode;					aResult = true;					break;				case 4:					errMsg = "Liveupdate 이미 진행 중입니다. 잠시만 기다려 주세요.\n\n" + errCode;					break;				default:					errMsg = "Liveupdate 중 문제가 발생하였습니다.\n오류 코드[" + errCode + "]\n" + errCode;					break;			}		}		return aResult;	}};var gXWBrowser = new XWBrowser();function PrintUpdateTag (){	document.write (gXWBrowser.getUpdateTag());}function LiveUpdateModules (aModuleName, aSetupURL, aUpdateURL, aOption){	var aResult = false;	aResult = gXWBrowser.updateModules (aModuleName, aSetupURL, aUpdateURL, aOption);	return aResult;}var install_info = "/ubi/cert/wucer950_04c.jsp";function goInfo() {	//alert('고객님이 사용하시는 운영체제 또는 브라우저에서는 공인인증서관련 업무를 지원하지 않습니다.');	/*	if(self.parent == self){		self.close();		opener.window.open(install_info,"_self");	} else{		 window.open(install_info,"_self");		 	}	*/}function PrintObjectTag (){	var aBrowser	= gXWBrowser.mBrowser;	var aPlatForm	= gXWBrowser.mPlatform;	var aVersion	= null;	var aObjectTag	= null;	var aResult		= false;	if (aBrowser == gXWBrowser.cMSIE)	{		aResult = true;	}		else if (aBrowser == gXWBrowser.cCHROME)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWChromeCtrl.mWinVersion;	}		else if (aBrowser == gXWBrowser.cFIREFOX)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWFirefoxCtrl.mWinVersion;		else if (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1)			if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 8) {				aVersion = XWFirefoxCtrl.mLinuxVersion90;			} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 7) {				aVersion = XWFirefoxCtrl.mLinuxVersion80;			} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 6) {				aVersion = XWFirefoxCtrl.mLinuxVersion70;			} else {				aVersion = XWFirefoxCtrl.mLinuxVersion;			}			else if (aPlatForm.indexOf (gXWBrowser.cMAC) != -1)			if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 8) {				aVersion = XWFirefoxCtrl.mMacVersion90;			} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 7) {				aVersion = XWFirefoxCtrl.mMacVersion80;			} else if (parseInt (gXWBrowser.mVersion.substring (0, 1)) > 6) {				aVersion = XWFirefoxCtrl.mMacVersion70;			} else {				aVersion = XWFirefoxCtrl.mMacVersion;			}					}		else if (aBrowser == gXWBrowser.cSAFARI)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWSafariCtrl.mWinVersion;		else if (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1)			aVersion = XWSafariCtrl.mLinuxVersion;		else if (aPlatForm.indexOf (gXWBrowser.cMAC) != -1)		{			aVersion = XWSafariCtrl.mMacVersion;			if (gXWBrowser.mVersion.indexOf("5.1") != -1)			{				alert ("이 브라우저 [" + aBrowser + " " + gXWBrowser.mVersion +  "] 는 현재 지원하지 않습니다.")				return ;			}		}				}	else if (aBrowser == gXWBrowser.cXECUREWEBIPHONE)	{		if (aPlatForm.indexOf (gXWBrowser.cMACIPOD) != -1)			aVersion = XWIphoneCtrl.mMacVersion;		else if (aPlatForm.indexOf (gXWBrowser.cMACIPHONE) != -1)			aVersion = XWIphoneCtrl.mMacVersion;		else if (aPlatForm.indexOf (gXWBrowser.cMACIPHONESIMULATOR) != -1)			aVersion = XWIphoneCtrl.mMacVersion;	}	else if (aBrowser == gXWBrowser.cOPERA)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWOperaCtrl.mWinVersion;		else if (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1)			aVersion = XWOperaCtrl.mLinuxVersion;	}	else	{		aVersion = null;	}	if (aResult == false && aVersion == null)	{		//alert ("이 브라우저 [" + aBrowser + "] 는 현재 지원하지 않습니다.");		goInfo();		return;	}        var __xecure = location;        if(window.name == "xecureinstaller") {                __xecure = parent.location;        }		if (gXWBrowser.checkCtrl (aVersion))	{		//if((aBrowser == gXWBrowser.cFIREFOX || aBrowser == gXWBrowser.cFIREFOX36) && (aPlatForm.indexOf (gXWBrowser.cWIN) != -1) ) {		if(aBrowser == gXWBrowser.cFIREFOX && (aPlatForm.indexOf (gXWBrowser.cWIN) != -1) ) {			// MS FF 설치			//__xecure.href="/XecureObject/installpage/wk_install.html";		} else if(aBrowser == gXWBrowser.cCHROME && (aPlatForm.indexOf (gXWBrowser.cWIN) != -1) ) {			// MS Chrome 설치			//__xecure.href="/XecureObject/installpage/wk_install.html";		} else if(aBrowser == gXWBrowser.cOPERA && (aPlatForm.indexOf (gXWBrowser.cWIN) != -1) ) {			// MS Opera 설치			//__xecure.href="/XecureObject/installpage/wk_install.html";		//} else if((aBrowser == gXWBrowser.cFIREFOX || aBrowser == gXWBrowser.cFIREFOX36) && (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1) ) {		} else if(aBrowser == gXWBrowser.cFIREFOX && (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1) ) {			// Linux FF 설치			//__xecure.href="/XecureObject/installpage/wk_install.html";		//} else if((aBrowser == gXWBrowser.cFIREFOX || aBrowser == gXWBrowser.cFIREFOX36) && (aPlatForm.indexOf (gXWBrowser.cMAC) != -1) ) {		} else if(aBrowser == gXWBrowser.cFIREFOX && (aPlatForm.indexOf (gXWBrowser.cMAC) != -1) ) {			if (this.mPlatform == this.cMACINTEL) {				//__xecure.href="/XecureObject/installpage/wk_install.html";			} else {				//__xecure.href="/XecureObject/installpage/wk_install.html";			}		} else if(aBrowser == gXWBrowser.cSAFARI && (aPlatForm.indexOf (gXWBrowser.cWIN) != -1) ) {			// MS Safari 설치			//__xecure.href="/XecureObject/installpage/wk_install.html";		} else if(aBrowser == gXWBrowser.cSAFARI && (aPlatForm.indexOf (gXWBrowser.cMAC) != -1) ) {			// MAC Safari 설치			if (this.mPlatform == this.cMACINTEL) {				//__xecure.href="/XecureObject/installpage/wk_install.html";			} else {				//__xecure.href="/XecureObject/installpage/wk_install.html";			}					} else {			//alert ("이 브라우저 [" + aBrowser + "] 는 현재 지원하지 않습니다.");			goInfo();			return;		}		//gXWBrowser.installCtrl();		aResult = false;	}	else	{		aResult = true;	}	if (aResult)	{		aObjectTag = gXWBrowser.getObjectTag(0);		/*		if (aBrowser == gXWBrowser.cFIREFOX36 && 		       (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1 || aPlatForm.indexOf (gXWBrowser.cMAC) != -1)) // Firefox 3.6		       */		if ((gXWBrowser.mBrowser == gXWBrowser.cFIREFOX && gXWBrowser.mVersion.substr (0, 3).replace (".", "") >= 36) &&				(aPlatForm.indexOf (gXWBrowser.cLINUX) != -1 || aPlatForm.indexOf (gXWBrowser.cMAC) != -1))		{			/********************************************************************			 * Routine for Accessing to XPCOM component by XPCONNECT			 ********************************************************************/			if (window.netscape)			{				try{					netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");				}catch (e)				{				    // 이니텍 이주봉 수정 				    // 인증서 로그인 등 XecureWeb 플러그인 호출시 에러메세지가 리턴되는 증상 수정.				    if(aPlatForm.indexOf (gXWBrowser.cLINUX) != -1) {				        var infoMsg  = "Firefox의 경우 웹보안 프로그램 구동시 권한을 허용해 주어야 합니다. ";                            infoMsg += "\n해당 권한 설정을 위한 안내페이지로 이동합니다.";                        alert(infoMsg);                        // 안내page로 이동.                        __xecure.href= "/XecureObject/installpage/firefoxConfigInfo.html";                                            }					return false;				}			var cid = "@softforum.com/xecurewebclient/service;1";			if(!cid) return;			var ccInterface = Components.interfaces.nsIXWClientComponent;			if(!ccInterface) return;                    	try{     				ccObj = Components.classes[cid].getService().QueryInterface(ccInterface);     				xobj = XWClientComponent;   			}catch (e) {     				if(aPlatForm.indexOf (gXWBrowser.cLINUX) != -1) {     					alert("Linux fedora인 경우 SELinux 환경설정을 변경 후 웹보안서 프로그램을 삭제, 재설치하여야 합니다\n[확인]버튼을 클릭하시면 안내페이지로 이동합니다.");        	//__xecure.href= "";      				}        				return false;   			}   		     }		}    else		{    		document.write(aObjectTag);    		//alert(aObjectTag);		}	}			if( aBrowser == gXWBrowser.cMSIE ) {		if(!(document.XecureWeb == null || typeof(document.XecureWeb) == "undefined" || document.XecureWeb.object == null)) {			PutMPhoneData();		   		} else {			// MS IE 설치			//alert("설치페이지가기");			//location.href = "/XecureObject/installpage/wk_install.html";		}		}}function IsWindow(){  if ((gXWBrowser.mPlatform == gXWBrowser.cWIN) || (gXWBrowser.mPlatform == gXWBrowser.cWIN32) || (gXWBrowser.mPlatform == gXWBrowser.cWIN64))    return true;  else    return false;}/********************************************************************/var XWClientComponent = {	BlockEnc : function(xgate_addr, path, qs, type)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.BlockEnc(xgate_addr, path, qs, type);		} catch (err) {			return err;		}	},	BlockEncEx : function(xgate_addr, path, qs, type, cert)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.BlockEncEx (xgate_addr, path, qs, type, cert);		} catch (err) {			return err;		}	},	BlockEnc3 : function(xgate_addr, path, qs, type)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.BlockEnc3(xgate_addr, path, qs, type);		} catch (err) {			return err;		}	},	BlockDec : function(xgate_addr, cipher)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");						return ccObj.BlockDec(xgate_addr, cipher);		} catch (err) {						return err;		}	},		BlockDecREP : function(xgate_addr, cipher, method)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.BlockDecREP(xgate_addr, cipher, method);		} catch (err) {			return err;		}	},	HashData : function(data, hashAlg)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.HashData(data, hashAlg);		} catch (err) {			return err;		}	},	SignData : function(xgate_addr, ca_name, data, fView, desc, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SignData(xgate_addr, ca_name, data, fView, desc, pwd_fail);		} catch (err) {			return err;		}	},	SignDataAdd : function(xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SignDataAdd(xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail);		} catch (err) {			return err;		}	},	SignDataCMS : function(xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SignDataCMS(xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail);		} catch (err) {			return err;		}	},	SignDataCMSWithHTMLEx : function(xgate_addr, accept_cert, plain, keydata, svrCert, option, sign_desc, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege ("UniversalXPConnect");			return ccObj.SignDataCMSWithHTMLEx (xgate_addr, accept_cert, plain, keydata, svrCert, option, sign_desc, pwd_fail);		} catch (err) {			return err;		}	},	SignDataCMSWithHTMLExAndSerial : function(xgate_addr, accept_cert, certSerial, certLocation, plain, keydata, svrCert, option, sign_desc, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege ("UniversalXPConnect");			return ccObj.SignDataCMSWithHTMLExAndSerial (xgate_addr, accept_cert, certSerial, certLocation, plain, keydata, svrCert, option, sign_desc, pwd_fail);		} catch (err) {			return err;		}	},	SignDataWithVID : function(xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SignDataWithVID(xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail);		} catch (err) {			return err;		}	},		SetIDNum : function(idn)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetIDNum(idn);		} catch (err) {			return err;		}	},		GetVidInfo : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetVidInfo();		} catch (err) {			return err;		}	},		SignDataCMSWithSerial : function(xgate_addr, 									 accept_cert, 									 certSerial, 									 certLocation, 									 plain, 									 option, 									 sign_desc,									 pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SignDataCMSWithSerial(xgate_addr, 											 accept_cert, 											 certSerial, 											 certLocation, 											 plain, 											 option, 											 sign_desc, 											 pwd_fail);		} catch (err) {			return err;		}	},	SignDataWithVID_Serial : function(xgate_addr, 									  accept_cert, 									  certSerial, 									  certLocation, 									  plain, 									  svrCert, 									  option, 									  sign_desc, 									  pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SignDataWithVID_Serial(xgate_addr, 									  		  accept_cert, 											  certSerial, 											  certLocation, 											  plain, 											  svrCert, 											  option, 											  sign_desc, 											  pwd_fail);		} catch (err) {			return err;		}	},		VerifySignedData : function(signedData, option, directoryServer)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.VerifySignedData(signedData, option, directoryServer);		} catch (err) {			return err;		}	},		EnvelopData : function(xgate_addr, accept_cert, inMsg, envOption, pwd, certPem, certSerial, certLocation, desc, pwd_limit)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.EnvelopData(xgate_addr, accept_cert, inMsg, envOption, pwd, certPem, certSerial, certLocation, desc, pwd_limit);		} catch (err) {			return err;		}	},		DeEnvelopData : function(xgate_addr, accept_cert, inMsg, deEnvOption, pwd, desc, pwd_limit)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.DeEnvelopData(xgate_addr, accept_cert, inMsg, deEnvOption, pwd, desc, pwd_limit);		} catch (err) {			return err;		}	},	RequestCertificate : function(ca_port, ca_ip, ref_code, auth_code, ca_type)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.RequestCertificate(ca_port, ca_ip, ref_code, auth_code, ca_type);		} catch (err) {			return err;		}	},	RequestCertificateEx : function(port, ip, ref_code, auth_code, type, option, ca_name, ra_name)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.RequestCertificateEx(port, ip, ref_code, auth_code, type, option, ca_name, ra_name);		} catch (err) {			return err;		}	},	RenewCertificate : function(ca_port, ca_ip, ca_type, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.RenewCertificate(ca_port, ca_ip, ca_type, pwd_fail);		} catch (err) {			return err;		}	},	RevokeCertificate : function(ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.RevokeCertificate(ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail);		} catch (err) {			return err;		}	},	RecoverCertificate : function(xgate_addr, ca_port, ca_ip, ref_code, auth_code, ca_type, option, pwd_fail)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.RecoverCertificate(xgate_addr, ca_port, ca_ip, ref_code, auth_code, ca_type, option, pwd_fail);		} catch (err) {			return err;		}	},	InstallCertificate : function(cert_type, cert)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.InstallCertificate(cert_type, cert);		} catch (err) {			return err;		}	},	PutCACert : function(pCaCertName, pCaCertUrl)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.PutCACert(pCaCertName, pCaCertUrl);		} catch (err) {			return err;		}	},	PutCertificate : function(pCaCertName, pCaCertUrl, type)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.PutCertificate(pCaCertName, pCaCertUrl, type);		} catch (err) {			return err;		}	},	ShowCertManager : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.ShowCertManager();		} catch (err) {			return err;		}	},	DeleteCertificate : function(dn)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.DeleteCertificate(dn);		} catch (err) {			return err;		}	},	SetIssuerConvertTableFirst : function(issuer, convertedIssuer, comment)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetIssuerConvertTableFirst(issuer, convertedIssuer, comment);		} catch (err) {			return err;		}	},	SetIssuerConvertTableNext : function(issuer, convertedIssuer, comment)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetIssuerConvertTableNext(issuer, convertedIssuer, comment);		} catch (err) {			return err;		}	},	SetIssuerConvertTableFinal : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetIssuerConvertTableFinal();		} catch (err) {			return err;		}	},	SetPolicyConvertTableFirst : function(lang, policy, convertedPolicy, comment)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetPolicyConvertTableFirst(lang, policy, convertedPolicy, comment);		} catch (err) {			return err;		}	},	SetPolicyConvertTableNext : function(policy, convertedPolicy, comment)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetPolicyConvertTableNext(policy, convertedPolicy, comment);		} catch (err) {			return err;		}	},	SetPolicyConvertTableFinal : function(lang)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetPolicyConvertTableFinal(lang);		} catch (err) {			return err;		}	},	UpdateModules : function(url)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.UpdateModules(url);		} catch (err) {			return err;		}	},	SetUpdateInfoString : function(section, key, value)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetUpdateInfoString(section, key, value);		} catch (err) {			return err;		}	},	SCardChangePIN : function(oldPin, newPin)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardChangePIN(oldPin, newPin);		} catch (err) {			return err;		}	},	SCardChangePinDlg : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardChangePinDlg();		} catch (err) {			return err;		}	},	SCardChangePinDlgEx : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardChangePinDlgEx();		} catch (err) {			return err;		}	},	SCardInitHSM : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardInitHSM();		} catch (err) {			return err;		}	},	SCardUpdateIRD : function(ird, pin)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardUpdateIRD(ird, pin);		} catch (err) {			return err;		}	},	SCardUpdateIrdDlg : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardUpdateIrdDlg();		} catch (err) {			return err;		}	},	SCardReadIRD : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardReadIRD();		} catch (err) {			return err;		}	},	SCardReadCSN : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardReadCSN();		} catch (err) {			return err;		}	},	SCardGetRetryCount : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardGetRetryCount();		} catch (err) {			return err;		}	},	SCardLoginHSM : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardLoginHSM();		} catch (err) {			return err;		}	},	SCardGetVersionInfo : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SCardGetVersionInfo();		} catch (err) {			return err;		}	},	XHSMChangePIN : function(oldPin, newPin)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMChangePIN(oldPin, newPin);		} catch (err) {			return err;		}	},	XHSMChangePinDlg : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMChangePinDlg ();		} catch (err) {			return err;		}	},	XHSMInit : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMInit();		} catch (err) {			return err;		}	},	XHSMReadCSN : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMReadCSN();		} catch (err) {			return err;		}	},	XHSMGetRetryCount : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMGetRetryCount();		} catch (err) {			return err;		}	},	XHSMLogin : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMLogin();		} catch (err) {			return err;		}	},	XHSMGetVersionInfo : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.XHSMGetVersionInfo();		} catch (err) {			return err;		}	},	LastErrCode : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.LastErrCode();		} catch (err) {			return err;		}	},	LastErrMsg : function()	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.LastErrMsg();		} catch (err) {			return err;		}	},	EndSession : function(xaddr)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.EndSession(xaddr);		} catch (err) {			return err;		}	},	PutBannerUrl : function(xgate_addr, url)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.PutBannerUrl(xgate_addr, url);		} catch (err) {			return err;		}	},	PutBigBannerUrl : function(xgate_addr, url)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.PutBigBannerUrl(xgate_addr, url);		} catch (err) {			return err;		}	},	GetVerInfo : function(option)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetVerInfo(option);		} catch (err) {			return err;		}	},	VerifyAndGetVID : function(xgate_addr, ServerCertPem, TimeStamp, accept_cert, option, Idn)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, accept_cert, option, Idn);		} catch (err) {			return err;		}	},	SetProvider : function(provider)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetProvider(provider);		} catch (err) {			return err;		}	},	MapHostName : function(hostName, ip, comment, option)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.MapHostName(hostName, ip, comment, option);		} catch (err) {			return err;		}	},	ClearCache : function(data, option)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.ClearCache(data, option);		} catch (err) {			return err;		}	},	PutUserData : function(xaddr, data)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.PutUserData(xaddr, data);		} catch (err) {			return err;		}	},	GetUserData : function(xaddr)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetUserData(xaddr);		} catch (err) {			return err;		}	},	SetEnvVar : function(xaddr, envVar)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetEnvVar(xaddr, envVar);		} catch (err) {			return err;		}	},	SetPinNum : function(pin)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.SetPinNum(pin);		} catch (err) {			return err;		}	},	GetSessionStateForToken : function(tokenSerial, type)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetSessionStateForToken(tokenSerial, type);		} catch (err) {			return err;		}	},	GetSID : function(xaddr)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetSID(xaddr);		} catch (err) {			return err;		}	},	ValidateWB : function(acceptList, denyList)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.ValidateWB(acceptList, denyList);		} catch (err) {			return err;		}	},	AddTrustedSite : function(id_name, signed_url)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.AddTrustedSite(id_name, signed_url);		} catch (err) {			return err;		}	},	GetUserHWInfo : function(option, pem)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetUserHWInfo(option, pem);		} catch (err) {			return err;		}	},	BlockXMLDec : function(xaddr, cipher)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.BlockXMLDec(xaddr, cipher);		} catch (err) {			return err;		}	},	GetXid : function(mode)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetXid(mode);		} catch (err) {			return err;		}	},	VerifyData : function(signedData)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.VerifyData(signedData);		} catch (err) {			return err;		}	},	GetCertInfo : function (signedData, opOpt, infoOpt)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetCertInfo (signedData, opOpt, infoOpt);		} catch (err) {			return err;		}	},	GetCertInfoEx : function (signedData, orgData, opOpt, infoOpt, verifyOpt)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetCertInfoEx (signedData, orgData, opOpt, infoOpt, verifyOpt);		} catch (err) {			return err;		}	},	GetCacheCertLocation : function (xgate_addr)	{		try {			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");			return ccObj.GetCacheCertLocation (xgate_addr);		} catch (err) {			return err;		}	}}function UpdateModules(){	if(UpdateAction == 'TRUE')	{		if( HaveControl_web() ) {			var	ret;			if( IsNetscape60() )			{				alert( "지원되지 않는 기능입니다." );				ret = 0;			}			else			{				ret = xobj.UpdateModules( infoURL );			}			if( ret < 0 )			{				XecureWebError();			}			else if( ret == 1 )			{				//alert("자동업데이트가 취소되었습니다");			}			else if( ret == 2 )			{				//alert("업데이트 파일이 사용 중에 있습니다.\n사용중인 브라우저를 모두 닫고 다시 접속해 주세요.");			}			else if( ret == 3 )			{				//alert("이미 업데이트되었습니다");			}			else if( ret == 4 )			{				alert("업데이트 권한이 없는 사용자입니다.\nWindows2000,XP 사용자의 경우 Administrator계정으로 로그인 후 다시 접속해 주세요.");			}			else if( ret == 0 )			{				//alert("성공적으로 업데이트가 되었습니다");				// 라이브업데이트관련 인포바인 수정 2008-11-07				//PutMPhoneData();			}			// 라이브업데이트관련 인포바인 수정 2008-11-07			PutMPhoneData();		}		else {		//return XecInsError();		}	}}//라이브 업데이트 주기변경 SetUpdateInfoString( "PERIOD", "Apply", "0" ) 0이면 업데이트주기 무시function SetUpdateInfo( section, key, value1 ){	var	ret;	if( IsNetscape60() )	{		alert( "Not supported function" );		ret = 0;	}	else	{		ret = xobj.SetUpdateInfoString( section, key, value1 );	}	if( ret != 0 )	return XecureWebError();	return ret;}////////////////////////////////////////////////////////////////////////////////////	Xecure 정책필드값 변경function SetConvertTable(){	if( HaveControl_web() ) { 		//금융결제원    	xobj.SetPolicyConvertTableFirst(0, "1.2.410.200005.1.1.1", "범용개인","");	//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200005.1.1.4", "은행개인", "");		//은행    	xobj.SetPolicyConvertTableNext("1.2.410.200005.1.1.5", "범용기업", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200005.1.1.2", "은행기업", "");		//은행    	xobj.SetPolicyConvertTableNext("1.2.410.200005.1.1.6.1", "기업뱅킹", "");		//적용X    	xobj.SetPolicyConvertTableNext("1.2.410.200005.1.1.6.2", "신용카드", "");		//카드		  xobj.SetPolicyConvertTableNext("1.2.410.200005.1.1.6.8", "전자세금용", "");	//전자세금용		//한국 정보인증//    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.2.1.2", "범용개인", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.2.201", "범용개인", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.2.1.1", "범용기업", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.2.1.7.1", "은행개인", "");	//은행    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.2.1.7.3", "신용카드", "");	//카드    	//한국 증권전산    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.1.1.5", "범용개인", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.1.1.7", "범용기업", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.1.1.9.2", "신용카드", "");	//카드    	//한국 전산원    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.3.1.9", "범용개인", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.3.1.2", "범용기업", "");		//은행,카드    	//한국 전자인증    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.4.1.1", "범용개인", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.4.1.2", "범용기업", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.4.1.101", "은행개인", "");	//은행    	xobj.SetPolicyConvertTableNext("1.2.410.200004.5.4.1.103", "신용카드", "");	//카드    	//한국무역 정보통신    	xobj.SetPolicyConvertTableNext("1.2.410.200012.1.1.1", "범용개인", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200012.1.1.3", "범용기업", "");		//은행,카드    	xobj.SetPolicyConvertTableNext("1.2.410.200012.1.1.101", "은행개인", "");		//은행    	xobj.SetPolicyConvertTableNext("1.2.410.200012.1.1.105", "신용카드", "");		//카드    	xobj.SetPolicyConvertTableFinal(0);			xobj.SetIssuerConvertTableFirst("yessignCA", "금융결제원", "");			xobj.SetIssuerConvertTableNext("SignKorea CA", "증권전산", "");			xobj.SetIssuerConvertTableNext("signGate CA", "한국정보인증", "");				xobj.SetIssuerConvertTableNext("signGate CA2", "한국정보인증", "");			xobj.SetIssuerConvertTableNext("signGate FTCA02", "한국정보인증-테스트", "");				xobj.SetIssuerConvertTableNext("NCASign CA", "전산원", "");			xobj.SetIssuerConvertTableNext("TradeSignCA", "무역정보통신", "");			xobj.SetIssuerConvertTableNext("CrossCertCA", "전자인증", "");			xobj.SetIssuerConvertTableNext("CertRSA01", "KISA인증기관", "");						xobj.SetIssuerConvertTableFinal(); 	}	else {		//return XecInsError();	}}function debugging(name,value){	if (TraceAction == 'TRUE'){		alert("[TRACE by Softforum]\n"+ name +" = \n["+value+"]");	}}////////////////////////////////////////////////////////////////////////////////////	Xecure 함수들....//------------웹접근성var agt=navigator.userAgent.toLowerCase();var is_gecko = (agt.indexOf('gecko') != -1);var is_Linux = (agt.indexOf('linux') != -1);var is_Machintosh = (agt.indexOf('mac') != -1);var is_firefox36Over = (agt.indexOf('firefox') != -1) && ( (agt.indexOf('3.6') != -1) || (gXWBrowser.mVersion.substring (0, 1) >= 4) );var is_safari = (agt.indexOf('safari') != -1);function HaveControl_web() {		var aBrowser	= gXWBrowser.mBrowser;	var aPlatForm	= gXWBrowser.mPlatform;	var aVersion	= null;		var aResult		= false;	if (aBrowser == gXWBrowser.cMSIE)	{		aResult = true;	}		else if (aBrowser == gXWBrowser.cCHROME)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWChromeCtrl.mWinVersion;	}		else if (aBrowser == gXWBrowser.cFIREFOX)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWFirefoxCtrl.mWinVersion;		else if (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1)			aVersion = XWFirefoxCtrl.mLinuxVersion;					else if (aPlatForm.indexOf (gXWBrowser.cMAC) != -1)			aVersion = XWFirefoxCtrl.mMacVersion;				}		else if (aBrowser == gXWBrowser.cSAFARI)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWSafariCtrl.mWinVersion;		else if (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1)			aVersion = XWSafariCtrl.mLinuxVersion;		else if (aPlatForm.indexOf (gXWBrowser.cMAC) != -1) {			aVersion = XWSafariCtrl.mMacVersion;						if (gXWBrowser.mVersion.indexOf("5.1") != -1)			{				alert ("이 브라우저 [" + aBrowser + " " + gXWBrowser.mVersion +  "] 는 현재 지원하지 않습니다.")				return ;			}		}	}	else if (aBrowser == gXWBrowser.cXECUREWEBIPHONE)	{		if (aPlatForm.indexOf (gXWBrowser.cMACIPOD) != -1)			aVersion = XWIphoneCtrl.mMacVersion;		else if (aPlatForm.indexOf (gXWBrowser.cMACIPHONE) != -1)			aVersion = XWIphoneCtrl.mMacVersion;		else if (aPlatForm.indexOf (gXWBrowser.cMACIPHONESIMULATOR) != -1)			aVersion = XWIphoneCtrl.mMacVersion;	}	else if (aBrowser == gXWBrowser.cOPERA)	{		if (aPlatForm.indexOf (gXWBrowser.cWIN) != -1)			aVersion = XWOperaCtrl.mWinVersion;		else if (aPlatForm.indexOf (gXWBrowser.cLINUX) != -1)			aVersion = XWOperaCtrl.mLinuxVersion;	}	else	{		aVersion = null;	}	if (aResult == false && aVersion == null)	{		//alert ("이 브라우저 [" + aBrowser + "] 는 현재 지원하지 않습니다.");		goInfo();		return;	}	if (gXWBrowser.checkCtrl (aVersion))	{		return false;	}		if ( is_firefox36Over &&(is_Linux || is_Machintosh))	{					xobj = XWClientComponent;	}	else	{		xobj = document.getElementById("XecureWeb");	}		if ( gXWBrowser.mBrowser == gXWBrowser.cMSIE ) {		if(xobj && xobj.object != null) return true;		else return false;	} else if (xobj) {		return true;	} else {		return false;	}}function GetVerInfo(){	if( HaveControl_web() ) {		var ver;		ver = xobj.GetVerInfo();		ver = (ver.charAt(0) * 1000) + (ver.charAt(3)*100) + (ver.charAt(6)*10) + (ver.charAt(9)*1) ;		return ver;	}	else {		return XecInsError();	}}function UserAgent(){	return navigator.userAgent.substring(0,9);}function IsNetscape(){	if(navigator.appName == 'Netscape')		return true ;	else		return false ;}//------------웹접근성function IsNetscape60(){	// Caution: TEST ONLY 	// 2008-11-26 add by Hjun	if (IsOnLine == 'FALSE' && is_safari) {		return false;	}		if (is_gecko) 		return false;	else if(IsNetscape() && UserAgent() == 'Mozilla/5')		return true ;	else		return false ;}function XecureUnescape(Msg)		{	if(IsNetscape() && !is_gecko)		return unescape(Msg) ;	else		return Msg ;}function XecureEscape(Msg)		{	if(IsNetscape() && !is_gecko)		return escape(Msg) ;	else		return Msg ;}//------------웹접근성function XecurePath(xpath){	if(IsNetscape())		return (xpath) ;	else		return ("/" + xpath) ;}function XecInsError(){	// Caution: TEST ONLY 	// 2008-11-26 add by Hjun	/*	if (IsOnLine == 'FALSE' && is_safari) {		return;	}	*/	//alert(window.location.href);		//location.href="/XecureObject/installpage/wk_install.html?rtnUrl="+window.location.href;	//return false;		//return;}function XecureWebError()		// by zhang{	var errCode = 0 ;	var errMsg = "" ;	if( IsNetscape60() )		// Netscape 6.0	{		errCode = xobj.nsIXecurePluginInstance.LastErrCode();		errMsg  = xobj.nsIXecurePluginInstance.LastErrMsg();	}	else	{		errCode = xobj.LastErrCode();		errMsg  = xobj.LastErrMsg();	}	if(errCode == -144)	{		if(confirm("에러코드 : " + errCode + "\n\n" + XecureUnescape(errMsg) + "\n\n 인증서관리창을 열겠습니까?"))			ShowCertManager() ;	}//	else if(errCode != 0)//		alert( "에러코드 : " + errCode + "\n\n" + XecureUnescape(errMsg) );	else if(errCode == 128)	{		alert( "인증서 암호를 3회 이상 실패하였습니다.\n인증서 암호 확인 후\n다시 시도하여 주시기 바랍니다." );	}	else if(errCode == -1201)	{		alert( "인증서 선택이 취소되었습니다." );	}	else {	    alert( "에러코드 : " + errCode + "\n\n" + XecureUnescape(errMsg) );	    //document.location = "/XecureObject/xecure_error.html";	}	return false;}function escape_url(url) {	var i;	var ch;	var out = '';	var url_string = '';//	return escape(url);	url_string = String(url);	for (i = 0; i < url_string.length; i++) {		ch = url_string.charAt(i);		if (ch == ' ')		out += '%20';		else if (ch == '%')	out += '%25';		else if (ch == '&')	out += '%26';		else if (ch == '+')	out += '%2B';		else if (ch == '=')	out += '%3D';		else if (ch == '?') out += '%3F';		else				out += ch;	}	return out;}function ran_gen(){	var maxnumbers = "999999";	var r = Math.round(Math.random() * (maxnumbers-1))+1+"";	for(var i=0; i < 6-r.length; i++)		r = "0" + r;	return r;}function XecureNavigate_NoEnc( url, target ){	if( HaveControl_web() ) {		var qs ;		var path = "/";		var sid;		var xecure_url;			// get path info & query string & hash from url		qs_begin_index = url.indexOf('?');		path = getPath(url)			// get query string action url		if ( qs_begin_index < 0 ) {			qs = "";		}		else {			qs = url.substring(qs_begin_index + 1, url.length );		}			if( gIsContinue == 0 ) {			gIsContinue = 1;			if( IsNetscape60() )		// Netscape 6.0				sid = xobj.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, "", "GET");			else				sid = xobj.BlockEnc ( xgate_addr, path, "", "GET" );			gIsContinue = 0;		}		else {			//alert(busy_info);			return false ;		}			if( sid == "")	return XecureWebError();				if(!IsWindow()) { 						xecure_url += "&charset=UTF-8";					} else if(gXWBrowser.mBrowser != gXWBrowser.cMSIE) {			xecure_url += "&charset=MS949" ;		}	else if(usePageCharset) {			xecure_url += "&charset=" + GetCharSet();		}				//if(gXWBrowser.mPlatform.indexOf(gXWBrowser.cMAC) != -1 ) xecure_url += "&charset=UTF-8";		xecure_url = path + "?q=" + sid + XecureAddQuery(qs);						open ( xecure_url, target );			}	else {		return XecInsError();	}}function XecureNavigate( url, target, feature, isAbs ){		if( HaveControl_web() ) {		var qs ;		var path = "/";		var cipher;		var xecure_url;			// get path info & query string & hash from url		qs_begin_index = url.indexOf('?');		path = getPath(url)		// get query string action url		if ( qs_begin_index < 0 ) {			qs = "";		}		else {			qs = url.substring(qs_begin_index + 1, url.length );		}/* 롯데카드 2차도메인 암호화 통신을 위한 보정 - by ultteky */if (isAbs == true) {	if (qs_begin_index < 0) {		path = url;	} else {		path = url.substring(0,qs_begin_index);	}}/* 롯데카드 2차도메인 암호화 통신을 위한 보정 - by ultteky */		if( gIsContinue == 0 ) {			gIsContinue = 1;			if( IsNetscape60() )		// Netscape 6.0				cipher = xobj.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");			else				cipher = xobj.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			gIsContinue = 0;		}		else {			//alert(busy_info);			return false;		}			if( cipher == "" )	return XecureWebError();			xecure_url = path + "?q=" + escape_url(cipher);			if(!IsWindow()) { 						xecure_url += "&charset=UTF-8";					} else if(gXWBrowser.mBrowser != gXWBrowser.cMSIE) {			xecure_url += "&charset=MS949" ;		}	else if(usePageCharset) {			xecure_url += "&charset=" + GetCharSet();		}				//if(gXWBrowser.mPlatform.indexOf(gXWBrowser.cMAC) != -1 ) xecure_url += "&charset=UTF-8";		if (feature=="" || feature==null) return open ( xecure_url, target );		else return open(xecure_url, target, feature );	}	else {				return XecInsError();			}}function XecureLink( link ){		if( HaveControl_web() ) {		var qs ;		var path = "/";		var cipher;		var xecure_url;			// get path info & query string from action url		if ( link.protocol != "http:" ) {			// alert ( "http 프로토콜만 사용 가능합니다." );			return true;		}			qs = link.search;			if ( qs.length > 1 ) {			qs = link.search.substring(1);		}				//qs = Utf8.decode(unescape(qs));				hash = link.hash;			if( gIsContinue == 0 ) {			path = XecurePath(link.pathname) ;			gIsContinue = 1;				if( IsNetscape60() )		// Netscape 6.0				cipher = xobj.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");			else {				cipher = xobj.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			}			gIsContinue = 0;		}		else {			//alert(busy_info);			return false;		}			if( cipher.length == 0)	return XecureWebError() ;		// link.search = "?q=" + escape_url(cipher);			xecure_url = "http://" + link.host + path + "?" + "q=" + escape_url(cipher);			if(!IsWindow()) { 						xecure_url += "&charset=UTF-8";					}/* else if(gXWBrowser.mBrowser != gXWBrowser.cMSIE) {			xecure_url += "&charset=MS949" ;		}*/	else if(usePageCharset) {						xecure_url += "&charset=" + GetCharSet();		}		//if(gXWBrowser.mPlatform.indexOf(gXWBrowser.cMAC) != -1 ) xecure_url += "&charset=UTF-8";			if ( link.target == "" || link.target == null ) open ( xecure_url, "_self" );		else open( xecure_url, link.target );		return false;	}	else {		return XecInsError();	}}function XecureSubmit( form, isAbs ){		if( HaveControl_web() ) {				var qs, qs1 ;		var path ;		var cipher;			qs_begin_index = form.action.indexOf('?');			// if action is relative url, get base url from window location		path = getPath(form.action);				// get path info & query string & hash from action url		if ( qs_begin_index < 0 ) {			qs = "";				}		else {					qs = form.action.substring(qs_begin_index + 1, form.action.length );				}/* 롯데카드 2차도메인 암호화 통신을 위한 보정 - by ultteky */if (isAbs == true) {	if (qs_begin_index < 0) {		path = form.action;	} else {		path = form.action.substring(0, qs_begin_index);	}}/* 롯데카드 2차도메인 암호화 통신을 위한 보정 - by ultteky */		document.xecure.target = form.target;				if ( form.method == "get" || form.method=="GET" ) {			// collect input field values			qs1 = XecureMakePlain( form );						if(gXWBrowser.mBrowser == gXWBrowser.cCHROME || gXWBrowser.mBrowser == gXWBrowser.cFIREFOX )				qs = Utf8.decode(unescape(qs));						if(qs == "")				qs = qs1;			else				qs = qs + "&" + qs1;									// encrypt QueryString			if( gIsContinue == 0 ) {				gIsContinue = 1;				if( IsNetscape60() )		// Netscape 6.0					cipher = xobj.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");				else{					cipher = xobj.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");				}				gIsContinue = 0;			}			else {				//alert(busy_info);				return false;			}				if( cipher == "" )	return XecureWebError() ;				xecure_url = path + "?q=" + escape_url(cipher);			 			if(!IsWindow()) { 							xecure_url += "&charset=UTF-8";						} else if(gXWBrowser.mBrowser != gXWBrowser.cMSIE) {				xecure_url += "&charset=MS949" ;			}	else if(usePageCharset) {				xecure_url += "&charset=" + GetCharSet();			}			 			if ( form.target == "" || form.target == null ) open( xecure_url, "_self");			else open ( xecure_url, form.target );		}		else {			document.xecure.method = "post";					//if(gXWBrowser.mBrowser == gXWBrowser.cCHROME || gXWBrowser.mBrowser == gXWBrowser.cFIREFOX36 )			if(gXWBrowser.mBrowser == gXWBrowser.cCHROME || gXWBrowser.mBrowser == gXWBrowser.cFIREFOX )				qs = Utf8.decode(unescape(qs));													// encrypt QueryString of action field			if( gIsContinue == 0 ) {				gIsContinue = 1;				if( IsNetscape60() )		// Netscape 6.0					cipher = xobj.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");				else {							try {							cipher = xobj.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");				}catch(E) { alert(E); }				}				gIsContinue = 0;			}			else {				//alert(busy_info);				return false;			}									if( cipher == "" )	return XecureWebError() ;				document.xecure.action = path + "?q=" + escape_url(cipher);			posting_data = XecureMakePlain( form );				if( gIsContinue == 0 ) {				gIsContinue = 1;				if( IsNetscape60() )		// Netscape 6.0					cipher = xobj.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );				else{					cipher = xobj.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );					//cipher = xobj.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );				}				gIsContinue = 0;			}			else {				//alert(busy_info);				return false;			}				if( cipher == "" )	return XecureWebError();							document.xecure.p.value = cipher;				if(!IsWindow()) { 							document.xecure.action += "&charset=UTF-8";						} else if(gXWBrowser.mBrowser != gXWBrowser.cMSIE) {				document.xecure.action += "&charset=MS949" ;			}	else if(usePageCharset) {				document.xecure.action += "&charset=" + GetCharSet();			}				//if(gXWBrowser.mPlatform.indexOf(gXWBrowser.cMAC) != -1 ) document.xecure.action += "&charset=UTF-8";			document.xecure.submit();		}			return false;	}	else {				return XecInsError();		}}function XecureMakePlain(form){	var name = new Array(form.elements.length);	var value = new Array(form.elements.length);	var flag = false;	var j = 0;	var plain_text="";	var enc_xgate = "";	if(document.TouchEnKey==null || typeof(document.TouchEnKey) == "undefined" || document.TouchEnKey.object==null) {		enable=false;	}	else if(navigator.userAgent.indexOf("Win64")>=0) { // XecureWeb 64Bit 지원시 변경!!		enable=false;	}	else {		if (E2E_keytype == 1 && document.TouchEnKey.E2EMode == "32") {			enable=true;		} else {			alert("[TouchEnKey.E2EMode = " + document.TouchEnKey.E2EMode + "] , [E2E_keytype = " + E2E_keytype + "] ==> **확인 필요!!");			enable=false;		}	}		len = form.elements.length;	for (i = 0; i < len; i++)	{		// IE9 대응 element.enc 변경, obj 먼저 선언후 getAttribute 사용		var InputObject = form.elements[i];				if ((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit"))		{			if (form.elements[i].type == "radio" || form.elements[i].type == "checkbox")			{				if (form.elements[i].checked == true)				{					if (form.elements[i].disabled == false)					{						name[j] = form.elements[i].name;						value[j] = form.elements[i].value;						j++;					}				}			}			else if(enable && InputObject.type == "text" && InputObject.getAttribute('enc') == "on" && InputObject.value != null && InputObject.value != "") {				if(document.XecureWeb.GetVerInfo(0) >= '7, 2, 1, 7') {					enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);				} else {					enc_xgate = xgate_addr;				}													name[j]         = "xk"+form.elements[i].name;				value[j]        = document.TouchEnKey.GetEncData(enc_xgate,form.name,form.elements[i].name);				// --- text E2E 전송 확인 Alert --- //				//alert("text e2e ("+name[j]+")=" + value[j]);				j++;			}			else if(enable && InputObject.type == "password" && InputObject.getAttribute('enc') == "on" && InputObject.value != null && InputObject.value != "") {				if(document.XecureWeb.GetVerInfo(0) >= '7, 2, 1, 7') {					enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);				} else {					enc_xgate = xgate_addr;				}								name[j] 				=  "xk"+form.elements[i].name;				value[j]        = document.TouchEnKey.GetEncData(enc_xgate,form.name,form.elements[i].name);				// --- Password E2E 전송 확인 Alert --- //				//alert("password e2e ("+name[j]+")=" + value[j]);				j++;			}			else {				name[j] = form.elements[i].name;				if (form.elements[i].type == "select-one") {					var ind = form.elements[i].selectedIndex;					if(ind != -1)					    value[j] = form.elements[i].options[ind].value;					else					    value[j] = "";				}				else {					value[j] = form.elements[i].value;				}				j++;			}		}	}	for (i = 0; i < j; i++) {		str = value[i];		value[i] = escape_url(str);	}	for (i = 0; i < j; i++) {		if (flag)			plain_text += "&";		else			flag = true;		plain_text += name[i] ;		plain_text += "=";		plain_text += value[i];	}	return plain_text;}/*************For Applet**********************/function BlockEnc(auth_type,plain_text){	if( HaveControl_web() ) {		var cipher = "";			if( IsNetscape60() )		// Netscape 6.0			cipher =  XecureUnescape(xobj.nsIXecurePluginInstance.BlockEnc(xgate_addr,auth_type,plain_text,"GET"));		else			cipher =  XecureUnescape(xobj.BlockEnc(xgate_addr,auth_type,plain_text,"GET"));			if( cipher == "" ) XecureWebError() ;		return cipher;	}	else {		return XecInsError();	}}function BlockDec(cipher){	if( HaveControl_web() ) {		var plain = "";			if( IsNetscape60() )		// Netscape 6.0			plain = XecureUnescape(xobj.nsIXecurePluginInstance.BlockDec( xgate_addr, cipher));		else {			if(IsWindow())	plain = XecureUnescape(xobj.BlockDec2( xgate_addr, cipher,65001));			else plain = XecureUnescape(xobj.BlockDec( xgate_addr, cipher));		}					if( plain == "" ) XecureWebError() ;			return plain;	}	else {		return XecInsError();	}}function XecureLogIn( link ){	EndSession();	return XecureLink(link);}function EndSession(){	if( HaveControl_web() ) {		if( IsNetscape60() )		// Netscape 6.0			xobj.nsIXecurePluginInstance.EndSession( xgate_addr );		else			xobj.EndSession(xgate_addr);	}	else {		return XecInsError();	}}// XecureWeb ver 4.1 add// option : 0 : no confirm window, all certificates// option : 1 : confirm window, all certificates// option : 2 : no confirm window, log-on certificate only// option : 3 : confirm window, log-on certificate onlyfunction Sign_with_option( option, plain ){	//20081209 xecureWeb 버전 업그레이드로 인한 함수 추가	if( HaveControl_web() ) {		xobj.SecKeyStroke="XW_SKS_JRSOFT_DRIVER";		PutMPhoneData();		PutMPhoneData2();		PutBannerUrl();			var signed_msg;			if( IsNetscape60() )	// Netscape 6.0			signed_msg = xobj.nsIXecurePluginInstance.SignDataCMS( xgate_addr,								escape(accept_cert),								escape(plain),								option,								escape(sign_desc),								pwd_fail);		else			signed_msg = xobj.SignDataCMS(								xgate_addr,								XecureEscape(accept_cert),								XecureEscape(plain),								option,								XecureEscape(sign_desc),								pwd_fail);		    if( signed_msg == "" )	XecureWebError();		    return signed_msg;	}	else {		return XecInsError();	}}function Sign_Add( option, plain ){	if( HaveControl_web() ) {		var signed_msg;		PutBannerUrl();		if( IsNetscape() )		{			alert("Not supported function");		}		else		{			signed_msg = xobj.SignDataAdd ( xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail );		}			if( signed_msg == "" )	XecureWebError() ;			return signed_msg;	}	else {		return XecInsError();	}}function Sign( plain ){	if( HaveControl_web() ) {		var signed_msg;		PutBannerUrl();		if( IsNetscape60() )		// Netscape 6.0		{			signed_msg = xobj.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) );		}		else		{			signed_msg = xobj.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) );		}			if( signed_msg == "" )	XecureWebError() ;			return signed_msg;	}	else {		return XecInsError();	}}function Sign_with_desc( plain, desc ){	if( HaveControl_web() ) {		var signed_msg;		PutBannerUrl();		if( IsNetscape60() )		// Netscape 6.0			signed_msg = xobj.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) );		else			signed_msg = xobj.SignDataCSM( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) );			if( signed_msg == "" )	XecureWebError() ;			return signed_msg;	}	else {		return XecInsError();	}}// XecureWeb ver 4.1 add// option : 0 : no confirm window, all certificates// option : 1 : confirm window, all certificates// option : 2 : no confirm window, log-on certificate only// option : 3 : confirm window, log-on certificate only// XecureWeb ver 5.0 addfunction Sign_with_vid_user( option, plain, svrCert ){	if( HaveControl_web() ) {		//20081209 xecureWeb 버전 업그레이드로 인한 함수 추가		//PutMPhoneData();		PutBannerUrl();		var signed_msg;			option = option + 4;			if(IsNetscape())		{			signed_msg = xobj.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );		}		else {			signed_msg = xobj.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );		}			if( signed_msg == "" )	XecureWebError();			return signed_msg;	}	else {		return XecInsError();	}}function Sign_with_vid_web( option, plain, svrCert, idn ){	if( HaveControl_web() ) {	//20081209 xecureWeb 버전 업그레이드로 인한 함수 추가		PutMPhoneData();		PutMPhoneData2();		PutBannerUrl();		var ret;		var signed_msg;			option = option + 12;			if(IsNetscape())		{			alert("Not supported function");		}		else {			ret = Set_ID_Num(idn);			if(ret != 0) {				XecureWebError();				return signed_msg;			}				signed_msg = xobj.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );		}		    if( signed_msg == "" )	XecureWebError();		    return signed_msg;	}	else {		return XecInsError();	}}// only over XecureWeb Client v5.3.0.1// [certLocation]// 	0 : HARD//	1 : REMOVABLE//	2 : ICCARD//	3 : CSP//	4 : VSC// [option]//	0 : 서명원문 확인창 없음//	1 : 서명원문 확인창 띄움function Sign_with_vid_user_serial( certSerial, certLocation, option, plain, svrCert ){	if( HaveControl_web() ) {		//20081209 xecureWeb 버전 업그레이드로 인한 함수 추가		PutMPhoneData();		PutMPhoneData2();		PutBannerUrl();		var signed_msg;			option = option + 4;			if(IsNetscape())		{			alert("Not supported function");		}		else {			signed_msg = xobj.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail );		}		    if( signed_msg == "" )	XecureWebError();		    return signed_msg;	}	else {		return XecInsError();	}}// only over XecureWeb Client v5.3.0.1// [certLocation]// 	0 : HARD//	1 : REMOVABLE//	2 : ICCARD//	3 : CSP//	4 : VSC// [option]//	0 : 서명원문 확인창 없음//	1 : 서명원문 확인창 띄움function Sign_with_vid_web_serial( certSerial, certLocation, option, plain, svrCert, idn ){	if( HaveControl_web() ) {		//20081209 xecureWeb 버전 업그레이드로 인한 함수 추가		PutMPhoneData();		PutMPhoneData2();		PutBannerUrl();		var ret;		var signed_msg;			option = option + 12;			if(IsNetscape())		{			alert("Not supported function");		}		else {			ret = Set_ID_Num(idn);			if(ret != 0) {				XecureWebError();				return signed_msg;			}				signed_msg = xobj.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail );		}		    if( signed_msg == "" )	XecureWebError();		    return signed_msg;	}	else {		return XecInsError();	}}function Set_ID_Num(idn){	if( HaveControl_web() ) {		var ret;		/*		if( IsNetscape() )		{			alert("Not supported function");		}		else		{			ret = xobj.SetIDNum(idn);		}		*/		ret = xobj.SetIDNum(idn);		return ret;	}	else {		return XecInsError();	}}function send_vid_info(){	if( HaveControl_web() ) {		var	vid_info;			if( IsNetscape() )		{			vid_info = xobj.GetVidInfo();		}		else		{			vid_info = xobj.GetVidInfo();		}			if(vid_info.length == 0)			return null;		else			return vid_info;	}	else {		return XecInsError();	}}// only over XecureWeb Client v5.3.0.1// [certLocation]// 	0 : HARD//	1 : REMOVABLE//	2 : ICCARD//	3 : CSP//	4 : VSC// [option]//	0 : 서명원문 확인창 없음//	1 : 서명원문 확인창 띄움function Sign_with_serial( certSerial, certLocation, plain, option ){	if( HaveControl_web() ) {		//20081203 xecureWeb 버전 업그레이드로 인한 함수 추가		PutMPhoneData();		PutMPhoneData2();		PutBannerUrl();		var	signed_msg;			if( IsNetscape() )		{			alert("Not supported function");		}		else		{			signed_msg = xobj.SignDataCMSWithSerial(  xgate_addr,										XecureEscape(accept_cert),										certSerial,										certLocation,										plain,										option,										XecureEscape(sign_desc),										pwd_fail );		}			if( signed_msg == "" )	XecureWebError();			return signed_msg;	}	else {		return XecInsError();	}}function PutBannerUrl(){	if( HaveControl_web() ) {				var sig_bannerUrl = "";		var aPlatForm = gXWBrowser.mPlatform;		if(!isPutBanner) {			if(!(aPlatForm.indexOf(gXWBrowser.cLINUX) != -1 || aPlatForm.indexOf(gXWBrowser.cMAC) != -1)) {				sig_bannerUrl = bannerUrl + ".sig";			} else {				sig_bannerUrl = bannerUrl;			}			xobj.PutBigBannerUrl( xgate_addr, sig_bannerUrl);			isPutBanner = true;		}	}	else {		return XecInsError();	}}function PutCACert(){	if( HaveControl_web() ) {		var r ;			if( IsNetscape60() )		// Netscape 6.0			r = xobj.nsIXecurePluginInstance.PutCACert( XecureEscape(pCaCertName), pCaCertUrl);		else			r = xobj.PutCACert( XecureEscape(pCaCertName), pCaCertUrl);			if( r != 0 )	XecureWebError() ;	}	else {		return XecInsError();	}}function get_sid(){	if( HaveControl_web() ) {		var sid = xobj.BlockEnc ( xgate_addr, "", "", "GET" );			if( sid == "") 	return XecureWebError() ;			return sid;	}	else {		return XecInsError();	}}function XecureNavigate2iframe( url, target, feature, sid){	if( HaveControl_web() ) {		var qs ;		var path = "/";		var cipher;		var xecure_url;			path = getPath(url);			cipher = xobj.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST");			if( cipher.length == 0 ) 	return XecureWebError() ;			xecure_url = path + "?q=" + sid + ";" + escape_url(cipher);		if (feature=="" || feature==null) open ( xecure_url, target );		else open(xecure_url, target, feature );	}	else {		return XecInsError();	}}//https 프로토콜 지원을 위해 수정function getPath(url){	var path = "/";	// get path info & query string & hash from url	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://") {		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);				if(window.location.protocol  == "http:") {			path_begin_index = path_relative_base_str.substring (7,path_relative_base_str.length).indexOf('/');			if (qs_begin_index < 0){				path = path_relative_base_str.substring( 7+path_begin_index,path_relative_base_str.length ) + url;			}			else {				path = path_relative_base_str.substring( 7+path_begin_index,path_relative_base_str.length )  + url.substring(0, qs_begin_index );			}		} else if(window.location.protocol  == "https:") {			path_begin_index = path_relative_base_str.substring (8,path_relative_base_str.length).indexOf('/');			if (qs_begin_index < 0){				path = path_relative_base_str.substring( 8+path_begin_index,path_relative_base_str.length ) + url;			}			else {				path = path_relative_base_str.substring( 8+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;}// option bit : _4_ _3_ _2_ _1_//                       |   |//                       |   --- 0 : 모든 인증서 리스트업, 1 : 로그인한 인증서 사용//                       ------- 0 : 사용자에게 idn 입력 요구, 1 : idn에 "NULL" setting, 서버에서 idn 설정function VerifyVirtualID(Idn, TimeStamp, ServerCertPem){	if( HaveControl_web() ) {		var msg;			var option = 0;			option = 0;   // 모든 인증서 리스트업, 사용자에게 idn 입력 요구	//	option = 1;   // 로그인한 인증서 사용, 사용자에게 idn 입력 요구	// only over XecureWeb Client v5.3.0.1	//	option = 2;   // 모든 인증서 리스트업, idn에 "NULL" 설정	//	option = 3;   // 로그인한 인증서 사용, idn에 "NULL" 설정			if( IsNetscape() )		{			PutMPhoneData();			PutMPhoneData2();			msg = xobj.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, escape(accept_cert), option, escape(Idn));		}		else		{			PutMPhoneData();			PutMPhoneData2();			msg = xobj.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, accept_cert, option, Idn);		}			return msg;	}	else {		return XecInsError();	}}// nOption is 0 : (default value) File version, which is checked by 'Internet Explorer'//            1 : Product version//            2 : File Descriptionfunction GetVersion(nOption){	if( HaveControl_web() ) {		var ver;		if( IsNetscape() )		{			//alert("Not supported function");			//ver = xobj.nsIXecurePluginInstance.GetVerInfo(nOption);			ver = xobj.GetVerInfo(nOption);		}		else		{			ver = xobj.GetVerInfo(nOption);			if( ver == "" )				alert("No version information");		}			return ver;	}	else {		return XecInsError();	}}// only over XecureWeb Client v5.3.0.1function UpdateModules( infoURL ){	if( HaveControl_web() ) {		var	ret;			if( IsNetscape() )		{			alert("Not supported function");			ret = 0;		}		else		{			// success : 0, cancel : 1, file(s) holded : 2, already updated : 3, invalid user : 4, need not : 5			// error : -1			ret = xobj.UpdateModules( infoURL );		}			return	ret;	}	else {		return XecInsError();	}}// only over XecureWeb Client v5.3.0.1function SetUpdateInfo( section, key, value1 ){	if( HaveControl_web() ) {		var	ret;			if( IsNetscape() )		{			alert( "Not supported function" );			ret = 0;		}		else		{			ret = xobj.SetUpdateInfoString( section, key, value1 );		}			return ret;	}	else {		return XecInsError();	}}function SetLang( ){	if( HaveControl_web() ) {		var	ret;			if( IsNetscape() )		{			alert( "Not supported function" );			ret = 0;		}		else		{					xobj.Language=2;					}			if( ret != 0 )	return XecureWebError();			return ret;	}	else {		return XecInsError();	}}// inserted by knlee 2003/06/10function SetProviderList(){	if( HaveControl_web() ) {		var	ret;			//var	provName = "TrustedNet Connect 2 Smart Card CSP;Microsoft Base Cryptographic Provider v1.0;Microsoft Enhanced Cryptographic Provider v1.0";		var	provName = "TrustedNet Connect 2 Smart Card CSP";			if( IsNetscape() )		{			alert("Not supported function");			return -1;		}		else		{			ret = xobj.SetProvider(provName);			if( ret != 0 )				alert("Set Provider name is Fail!");		}			return ret;	}	else {		return XecInsError();	}}function quick_escape(str){	var len, leftlen, cut, i, j, pos, k;	var out = "", out1 = "", out2 = "";	len = str.length;	if(len > 160) {		leftlen = len/2;		cut = Math.round(leftlen);		out1 = quick_escape(str.substring(0, cut));		out2 = quick_escape(str.substring(cut));		out = out1 + out2;	}else {		pos = 0;		j = -2;		k = -2;		while (pos > -1 && pos < len)		{			if(j == -2)				j = str.indexOf('+', pos);			if(k == -2)				k = str.indexOf('=', pos);			if(j < 0 && k < 0) {				out += str.substring(pos);				break;			}			if ((j < k && j > -1) || (j > -1 && k < 0))			{				out += str.substring(pos, j);				out += '%2B';				pos = j + 1;				j = -2;			}			else if ((j > k && k > -1) || (k > -1 && j < 0))			{				out += str.substring(pos, k);				out += '%3D';				pos = k + 1;				k = -2;			}			else{				out += str.substring(pos);				pos = -1;			}		}	}	return out;}function escape_url_applet(in_str){	var len, leftlen, cut;	var out = "", out1 = "", out2 = "";	len = in_str.length;	if(len > 160) {		leftlen = len/2;		cut = Math.round(leftlen);		out1 = quick_escape(in_str.substring(0, cut));		out2 = quick_escape(in_str.substring(cut));		out = out1 + out2;	}else {		out = quick_escape(in_str);	}	alert("escape_url_applet end : " + out.length);	return out;}function PutMPhoneData2(){	}//20081209 xecureWeb 버전 업그레이드로 인한 함수 추가function PutMPhoneData(){	if( HaveControl_web() ) {		if ( gXWBrowser.mBrowser == gXWBrowser.cMSIE ) {			var bankUrl = "LOTTECARD_H|http://" + window.location.host + "/infovine/DownloadList";			var coUrl = "SOFTFORUM|KINGS";			var popUrl = "http://" + window.location.host + "/infovine/download.html|width=450,height=400,left=10,top=10";			var version = xobj.GetVerInfo(1);						var mphone_data = "MPHONE:" + xobj.GetEncUserData(xgate_addr);			mphone_data += "&" + bankUrl + "&" + coUrl + "&" + popUrl + "|" + window.location.hostname;			mphone_data += "|1.1.0.5";						xobj.PutUserData( xgate_addr, mphone_data );			xobj.SetPhoneData(mphone_data,1);		}	}	else {	      XecInsError();	}}function PutUBIKey(){        if( HaveControl_web() )        {                PutMPhoneData();        }}
