﻿////------------------------------------------------------------------------------
////  여기서 부터 
////  var.js 파일 을 대체하는 곳.
////------------------------------------------------------------------------------

// [setup.conf : 설치파일 위치정보]

// tradeInstaller 사용시
var ServerAddr 			= "www.tradesign.net";
var ConfigFilePath 		= "/download/setup.conf";
var ConfigFilePath_98	= "/download/setup98.conf";

// [설치 파일 경로 변수(html내부에서 사용됨)]
var SetupOffLineFilePath        = "/download/setupOffLine.exe";
var SetupOffLineFilePath_98     = "/download/setupOffLine98.exe";
var SetupOnLineFilePath  		= "/download/setupOnLine.exe"; 

//
////////////////////////////////////////////////
var workDir		= "TradeSign";
var CAIP 		= "203.242.205.229";  	// ca ip
var CAPort 		= "15208"; 		      	// ca cmp port
var proxyIP 	= "203.242.205.229"; 
var proxyPort	= "80"; 		    		// http cmp를 위한 porxy server  port 	
var CACert 		= "http://www.tradesign.net/cert/cert.der";

var certMask   = 255;
var certPolicy = "1.2.410.200012.1.1.7:전자무역용(개인)서명용|1.2.410.200012.1.1.8:전자무역용(개인)암호용|1.2.410.200012.1.1.9:전자무역용(법인)서명용|1.2.410.200012.1.1.10:전자무역용(법인)암호용|1.2.410.200012.1.1.11:전자무역용(서버)서명용|1.2.410.200012.1.1.12:전자무역용(서버)암호용|1.2.410.200012.1.1.97:테스트용서명용|1.2.410.200012.1.1.98:테스트용암호용|1.2.410.200012.1.1.13:특수목적용(개인)서명용|1.2.410.200012.1.1.14:특수목적용(개인)암호용|1.2.410.200012.1.1.15:특수목적용(법인)서명용|1.2.410.200012.1.1.16:특수목적용(법인)암호용|1.2.410.200012.5.2.1.11:CJFood특수목적용서명용|1.2.410.200012.5.2.1.12:CJFood특수목적용암호용|1.2.410.200012.1.1.5:dvcs서명용|1.2.410.200012.5.2.1.1:iCompia특수목적용서명용|1.2.410.200012.5.2.1.2:iCompia특수목적용암호용|1.2.410.200012.5.9.1.11:고려개발특수목적용서명용|1.2.410.200012.5.9.1.12:고려개발특수목적용암호용|1.2.410.200012.5.2.1.31:도레이새한특수목적용서명용|1.2.410.200012.5.2.1.32:도레이새한특수목적용암호용|1.2.410.200012.1.1.71:DocuOn 관리자용서명용|1.2.410.200012.1.1.72:DocuOn 관리자용암호용|1.2.410.200012.1.1.73:DocuOn 서버관리자용서명용|1.2.410.200012.1.1.74:DocuOn 서버관리자용암호용|1.2.410.200012.5.2.1.41:전기연구원특수목적용서명용|1.2.410.200012.5.2.1.42:전기연구원특수목적용암호용|1.2.410.200012.5.11.1.11:포스코특수강특수목적용서명용|1.2.410.200012.5.11.1.12:포스코특수강특수목적용암호용|1.2.410.200012.5.11.1.21:넥슨특수목적용서명용|1.2.410.200012.5.11.1.22:넥슨특수목적용암호용|1.2.410.200012.5.11.1.31:63시티특수목적용서명용|1.2.410.200012.5.11.1.32:63시티특수목적용암호용|1.2.410.200012.5.1.1.131:CJEnt특수목적용서명용|1.2.410.200012.5.1.1.132:CJEnt특수목적용암호용|1.2.410.200012.5.10.1.1:KOITA특수목적용서명용|1.2.410.200012.5.10.1.2:KOITA특수목적용암호용|1.2.410.200012.5.1.1.141:LS산전특수목적용서명용|1.2.410.200012.5.1.1.142:LS산전특수목적용암호용|1.2.410.200012.5.4.1.11:게임위특수목적용서명용|1.2.410.200012.5.4.1.12:게임위특수목적용암호용|1.2.410.200012.5.2.1.51:경신공업특수목적용서명용|1.2.410.200012.5.2.1.52:경신공업특수목적용암호용|1.2.410.200012.5.6.1.21:홈플러스특수목적용서명용|1.2.410.200012.5.6.1.22:홈플러스특수목적용암호용|1.2.410.200012.5.6.1.41:KCP특수목적용서명용|1.2.410.200012.5.6.1.42:KCP특수목적용암호용|1.2.410.200012.5.6.1.51:한화에스엔씨특목용서명용|1.2.410.200012.5.6.1.52:한화에스엔씨특목용암호용|1.2.410.200012.5.15.1.11:EDI4U특수목적용서명용|1.2.410.200012.5.15.1.12:EDI4U특수목적용암호용|1.2.410.200012.5.1.1.171:docubill특목용서명용|1.2.410.200012.5.1.1.172:docubill특목용암호용|1.2.410.200012.5.1.1.181:kyobolife특목용서명용|1.2.410.200012.5.1.1.182:kyobolife특목용암호용|1.2.410.200012.5.1.1.191:시큐빌 특수목적용서명용|1.2.410.200012.5.1.1.192:시큐빌 특수목적용암호용|1.2.410.200012.5.1.1.201:두산인프라코어특목용서명용|1.2.410.200012.5.1.1.202:두산인프라코어특목용암호용|1.2.410.200012.5.1.1.211:결제계좌 신고 특목용서명용|1.2.410.200012.5.1.1.212:결제계좌 신고 특목용암호용|1.2.410.200012.5.1.1.221:전자세금계산서 공용서명용|1.2.410.200012.5.1.1.222:전자세금계산서 공용암호용|1.2.410.200012.5.1.1.231:LG이노텍특수목적용서명용|1.2.410.200012.5.1.1.232:LG이노텍특수목적용암호용|1.2.410.200012.5.13.1.21:대한항공 특수목적용서명용|1.2.410.200012.5.13.1.22:대한항공 특수목적용암호용|1.2.410.200012.5.1.1.241:docube 특수목적용서명용|1.2.410.200012.5.1.1.242:docube 특수목적용암호용|1.2.410.200012.1.1.21:SSL용암호용|1.2.410.200012.1.1.301:의료용(개인)서명용|1.2.410.200012.1.1.302:의료용(개인)암호용|1.2.410.200012.5.3.1.1:광업진흥공사특수목적용서명용|1.2.410.200012.5.3.1.2:광업진흥공사특수목적용암호용|1.2.410.200012.5.2.1.21:CJ특수목적용서명용|1.2.410.200012.5.2.1.22:CJ특수목적용암호용|1.2.410.200012.5.6.1.11:토파스특수목적용서명용|1.2.410.200012.5.6.1.12:토파스특수목적용암호용|1.2.410.200012.5.8.1.11:하나투어특수목적용서명용|1.2.410.200012.5.8.1.12:하나투어특수목적용암호용|1.2.410.200012.1.1.61:TradeSign 관리자용서명용|1.2.410.200012.1.1.62:TradeSign 관리자용암호용|1.2.410.200012.5.4.1.21:이크레더블특목용서명용|1.2.410.200012.5.4.1.22:이크레더블특목용암호용|1.2.410.200012.5.14.1.21:평화특수목적용서명용|1.2.410.200012.5.14.1.22:평화특수목적용암호용|1.2.410.200012.5.6.1.31:CSBill특수목적용서명용|1.2.410.200012.5.6.1.32:CSBill특수목적용암호용|1.2.410.200012.5.13.1.11:삼성중공업특목용서명용|1.2.410.200012.5.13.1.12:삼성중공업특목용암호용|1.2.410.200012.5.1.1.161:전력기반조성사업센터특목용서명용|1.2.410.200012.5.1.1.162:전력기반조성사업센터특목용암호용|1.2.410.200012.5.11.1.71:korail 특수목적용서명용|1.2.410.200012.5.11.1.72:korail 특수목적용암호용|1.2.410.200012.5.16.1.11:현대정보기술 특목용서명용|1.2.410.20012.5.16.1.12:현대정보기술 특목용암호용|1.2.410.200012.5.17.1.11:Smile EDI 특수목적용서명용|1.2.410.200012.5.17.1.12:Smile EDI 특수목적용암호용|1.2.410.200012.5.18.1.11:아모레전자약정특목용서명용|1.2.410.200012.5.18.1.12:아모레전자약정특목용암호용|1.2.410.200012.5.1.1.251:KC코트렐 특수목적용서명용|1.2.410.200012.5.1.1.252:KC코트렐 특수목적용암호용|1.2.410.200012.5.1.1.261:동부건설 특수목적용서명용|1.2.410.200012.5.1.1.262:동부건설 특수목적용암호용|1.2.410.200012.5.1.1.121:WellCamp특수목적용서명용|1.2.410.200012.5.1.1.122:WellCamp특수목적용암호용|1.2.410.200012.5.5.1.11:asianaIDT특수목적용서명용|1.2.410.200012.5.5.1.12:asianaIDT특수목적용암호용|1.2.410.200012.5.5.1.21:asianaAbacus특수목적용서명용|1.2.410.200012.5.5.1.22:asianaAbacus특수목적용암호용|1.2.410.200012.5.1.1.83:POSTECH특수목적용(횟수제한)서명용|1.2.410.200012.5.1.1.84:POSTECH특수목적용(횟수제한)암호용|1.2.410.200012.5.4.1.31:티브로드특수목적용(개인)서명용|1.2.410.200012.5.4.1.32:티브로드특수목적용(개인)암호용|1.2.410.200012.5.4.1.1:Vaatz특수목적용서명용|1.2.410.200012.5.4.1.2:Vaatz특수목적용암호용|1.2.410.200012.5.11.1.41:인희특수목적용서명용|1.2.410.200012.5.11.1.42:인희특수목적용암호용|1.2.410.200012.5.12.1.1:환경자원공사특수목적용서명용|1.2.410.200012.5.12.1.2:환경자원공사특수목적용암호용|1.2.410.200012.5.13.1.1:SmartBill특수목적용서명용|1.2.410.200012.5.13.1.2:SmartBill특수목적용암호용|1.2.410.200012.5.11.1.51:고속도로관리공단특수목적용서명용|1.2.410.200012.5.11.1.52:고속도로관리공단특수목적용암호용|1.2.410.200012.1.1.3:전자거래범용(법인전환)서명용|1.2.410.200012.1.1.4:전자거래범용(법인전환)암호용|1.2.410.200012.5.14.1.11:M2B특수목적용서명용|1.2.410.200012.5.14.1.12:M2B특수목적용암호용|1.2.410.200012.5.4.1.41:환경관리공단특수목적용서명용|1.2.410.200012.5.4.1.42:환경관리공단특수목적용암호용|1.2.410.200012.5.1.1.151:아모레특수목적용(개인사업자)서명용|1.2.410.200012.5.1.1.152:아모레특수목적용(개인사업자)암호용|1.2.410.200012.5.1.1.153:아모레특수목적용(법인사업자)서명용|1.2.410.200012.5.1.1.154:아모레특수목적용(법인사업자)암호용|1.2.410.200012.5.2.1.61:조폐공사특수목적용서명용|1.2.410.200012.5.2.1.62:조폐공사특수목적용암호용|1.2.410.200012.1.1.121:나라장터특수목적용(수요기관)서명용|1.2.410.200012.1.1.122:나라장터특수목적용(수요기관)암호용|1.2.410.200012.5.11.1.61:이랜드시스템특수목적용서명용|1.2.410.200012.5.11.1.62:이랜드시스템특수목적용암호용|1.2.410.200012.5.1.1.21:LGCNS특수목적용(폐기)서명용|1.2.410.200012.5.1.1.22:LGCNS특수목적용(폐기)암호용|1.2.410.200012.5.1.1.31:삼성석유화학특수목적용서명용|1.2.410.200012.5.1.1.32:삼성석유화학특수목적용암호용|1.2.410.200012.5.1.1.41:제일모직특수목적용서명용|1.2.410.200012.5.1.1.42:제일모직특수목적용암호용|1.2.410.200012.5.1.1.51:SK네트웍스특수목적용서명용|1.2.410.200012.5.1.1.52:SK네트웍스특수목적용암호용|1.2.410.200012.5.1.1.61:동양제철화학특수목적용서명용|1.2.410.200012.5.1.1.62:동양제철화학특수목적용암호용|1.2.410.200012.5.1.1.11:LGM특수목적용(폐기)서명용|1.2.410.200012.5.1.1.12:LGM특수목적용(폐기)암호용|1.2.410.200012.5.1.1.71:일진그룹특수목적용서명용|1.2.410.200012.5.1.1.72:일진그룹특수목적용암호용|1.2.410.200012.5.1.1.81:POSTECH특수목적용서명용|1.2.410.200012.5.1.1.82:POSTECH특수목적용암호용|1.2.410.200012.5.1.1.91:한화유통특수목적용서명용|1.2.410.200012.5.1.1.92:한화유통특수목적용암호용|1.2.410.200012.1.1.201:LGM특수목적용서명용|1.2.410.200012.1.1.202:LGM특수목적용암호용|1.2.410.200012.1.1.111:기획재정부특수목적용서명용|1.2.410.200012.5.1.1.112:기획재정부특수목적용암호용|1.2.410.200012.5.1.1.101:풍림산업특수목적용서명용|1.2.410.200012.5.1.1.102:풍림산업특수목적용암호용|1.2.410.200012.5.1.1.111:SK브로드밴드특수목적용서명용|1.2.410.200012.5.1.1.112:SK브로드밴드특수목적용암호용|1.2.410.200012.1.1.211:화학물질관리협회특수목적용서명용|1.2.410.200012.1.1.212:화학물질관리협회특수목적용암호용|1.2.410.200012.1.1.1:전자거래범용(개인)서명용|1.2.410.200012.1.1.2:전자거래범용(개인)암호용|1.2.410.200004.5.9.1:KCDSA서명용|1.2.410.200004.5.9.1:KCDSA암호용|1.2.410.200012.1.1.3:전자거래범용(법인)서명용|1.2.410.200012.1.1.4:전자거래범용(법인)암호용|1.2.410.200012.1.1.5:전자거래범용(서버)서명용|1.2.410.200012.1.1.6:전자거래범용(서버)암호용|1.2.410.200012.5.1.1.271:엘지엔시스 특목용서명용|1.2.410.200012.5.1.1.272:엘지엔시스 특목용암호용|1.2.410.200012.5.1.1.281:나이스데이터 특목용서명용|1.2.410.200012.5.1.1.282:나이스데이터 특목용암호용|1.2.410.200012.5.11.1.81:TradeBill 특수목적용서명용|1.2.410.200012.5.11.1.82:TradeBill 특수목적용암호용|1.2.410.200012.5.1.1.291:넥스원 특수목적용서명용|1.2.410.200012.5.1.1.292:넥스원 특수목적용암호용|1.2.410.200012.5.1.1.301:Smarttax 특수목적용서명용|1.2.410.200012.5.1.1.302:Smarttax 특수목적용암호용|1.2.410.200012.1.1.401:MegaMart 특수목적용서명용|1.2.410.200012.1.1.402:MegaMart 특수목적용암호용|1.2.410.200012.1.1.401:메가마트 특수목적용(3개월용)서명용|1.2.410.200012.1.1.402:메가마트 특수목적용(3개월용)암호용|1.2.410.200012.5.17.1.11:전자세금계산서 특수목적용서명용|1.2.410.200012.5.17.1.12:전자세금계산서 특수목적용암호용|1.2.410.200012.5.1.1.311:오뚜기 특수목적용서명용|1.2.410.200012.5.1.1.312:오뚜기 특수목적용암호용|1.2.410.200012.5.19.1.1:더존 특수목적용서명용|1.2.410.200012.5.19.1.2:더존 특수목적용암호용|1.2.410.200012.5.11.1.91:산학연협회특목용서명용|1.2.410.200012.5.11.1.92:산학연협회특목용암호용|1.2.410.200012.5.6.1.61:아이마켓코리아특목용서명용|1.2.410.200012.5.6.1.62:아이마켓코리아특목용암호용|1.2.410.200012.5.6.1.71:디앤샵 전자계약시스템 전용서명용|1.2.410.200012.5.6.1.72:디앤샵 전자계약시스템 전용암호용|1.2.410.200012.1.1.411:스피드빌전용서명용|1.2.410.200012.1.1.412:스피드빌전용암호용|1.2.410.200012.5.20.1.11:엔터빌특목용서명용|1.2.410.200012.5.20.1.12:엔터빌특목용암호용|1.2.410.200012.5.20.1.21:팝빌특목용서명용|1.2.410.200012.5.20.1.22:팝빌특목용암호용|1.2.410.200012.5.21.1.11:바로빌특목용서명용|1.2.410.200012.5.21.1.12:바로빌특목용암호용|1.2.410.200012.1.1.801:etb서비스특목용서명용|1.2.410.200012.1.1.802:etb서비스특목용암호용|1.2.410.200012.5.18.1.21:하나팩스빌 특수목적용서명용|1.2.410.200012.5.18.1.22:하나팩스빌 특수목적용암호용|1.2.410.200012.1.1.421:엔투비특수목적용서명용|1.2.410.200012.1.1.422:엔투비특수목적용암호용|1.2.410.200012.5.6.1.81:농심전자계약전용서명용|1.2.410.200012.5.6.1.82:농심전자계약전용암호용|1.2.410.200012.5.4.1.51:대학구매사이트전용서명용|1.2.410.200012.5.4.1.52:대학구매사이트전용암호용|1.2.410.200012.5.4.1.61:TSIS계열사 전용서명용|1.2.410.200012.5.4.1.62:TSIS계열사 전용암호용|1.2.410.200012.5.22.1.11:세무신고닷컴특목용서명용|1.2.410.200012.5.22.1.12:세무신고닷컴특목용암호용|1.2.410.200012.5.23.1.1:모두웨어특목용서명용|1.2.410.200012.5.23.1.2:모두웨어특목용암호용|1.2.410.200012.1.1.131:국세청전자세금계산용서명용|1.2.410.200012.1.1.132:국세청전자세금계산용암호용|1.2.410.200012.5.24.1.11:한전KDN특목용서명용|1.2.410.200012.5.24.1.12:한전KDN특목용암호용|1.2.410.200012.5.25.1.11:스카이빌 특수목적용서명용|1.2.410.200012.5.25.1.12:스카이빌 특수목적용암호용|1.2.410.200012.5.1.1.321:GSBill특목용서명용|1.2.410.200012.5.1.1.322:GSBill특목용암호용|1.2.410.200012.5.1.1.331:삼우특수목적용서명용|1.2.410.200012.5.1.1.332:삼우특수목적용암호용|1.2.410.200012.1.1.431:링크빌특목용서명용|1.2.410.200012.1.1.432:링크빌특목용암호용|1.2.410.200012.1.1.801:제일모직 용도제한용서명용|1.2.410.200012.1.1.802:제일모직 용도제한용암호용|1.2.410.200012.1.1.441:머스트빌특수목적용서명용|1.2.410.200012.1.1.442:머스트빌특수목적용암호용|1.2.410.200012.1.1.451:웹빌특수목적용서명용|1.2.410.200012.1.1.452:웹빌특수목적용암호용|1.2.410.200012.5.1.1.341:KT파워텔특목용서명용|1.2.410.200012.5.1.1.342:KT파워텔특목용암호용|1.2.410.200012.5.1.1.351:네오위즈벅스특목용서명용|1.2.410.200012.5.1.1.352:네오위즈벅스특목용암호용|1.2.410.200012.1.1.461:G4B 특수목적용서명용|1.2.410.200012.1.1.462:G4B 특수목적용암호용|1.2.410.200012.5.26.1.11:SNSoft전자세금계산서용서명용|1.2.410.200012.5.26.1.12:SNSoft전자세금계산서용암호용|1.2.410.200012.1.1.471:cjbill특수목적용서명용|1.2.410.200012.1.1.472:cjbill특수목적용암호용|1.2.410.200012.5.27.1.1:코참빌특수목적용서명용|1.2.410.200012.5.27.1.2:코참빌특수목적용암호용|";

var updateFlag = 2; 

// [pc 시간 세팅을 위하여 정보]
var webServerIP 	= "www.tradesign.net";
var webServerPort	= "80";
var setTimePage 	= "/certification/gettime.jsp";
var secTime			= 300; // 초단위로 (서버시간과 로컬시간의 유효시간 - 이 값보다 차이가 크면 변경하도록 한다)
var checkPG			= "/uview/certificate/pg/checkpay.jsp";

// [설치완료후 이동할 페이지 설정]
var ServiceStartPageURL		= "/certification.do";

// [설치된 디렉토리 및 파일 정보]
var InstallDir			= "TradeSign\\"; 

/********************************/
//	[ActiveX 버전관리]	//
/********************************/

// [ActiveX 버전번호]
var CodeBase_TradeInstaller	= " CODEBASE='http://www.tradesign.net/download/TradeInstaller.cab#version=1,0,0,4'";

// [ActiveX Object 테그 형태]																					 
var Object_TradeInstaller 	= "<OBJECT ID ='TradeInstaller' CLASSID = 'CLSID:1CEB15C5-CEE7-4424-94E2-60B2FFC68849' width = 0 height =0";
Object_TradeInstaller     	+= CodeBase_TradeInstaller;
Object_TradeInstaller    	+= "></Object>";

// 인증기관별 인증서 로딩 정보
var CA_TYPE_YESSIGN_INT		= 4;		// 금결원
var CA_TYPE_SIGNKOREA_INT 	= 8;		// 증권전산
var CA_TYPE_SIGNGATE_INT 	= 16;		// 정보인증
var CA_TYPE_CROSSCERT_INT	= 32;		// 전자인증
var CA_TYPE_NCASIGN_INT		= 64;		// 전산원
var CA_TYPE_TRADESIGN_INT	= 128;		// KTNET
var CA_TYPE_ALL_INT			= 255;		// 모든 인증기관 인증서

////------------------------------------------------------------------------------
////  여기서 부터 
////  func.js 파일 을 대체하는 곳.
////------------------------------------------------------------------------------

var sProxyData = "DIRECT";
var nEndLoop = -1;
var nContinue = -1;
var Count = 0;

function HaveObject()
{
	if(document.TradeInstaller==null || typeof(document.TradeInstaller) == "undefined" ||document.TradeInstaller.object==null)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function BrowserVersionCheck()
{

	// IE 버전 체크 5.0 이상만 지원
	rv = document.TradeInstaller.IEVersionCheck();

	if(rv < 5)
	{		
//		alert(rv);
		nContinue = 0;
		return false;
	}
	
	nContinue = 1;
	return true;
}

function VersionCheckAndDownload()
{

/*	Window98, ME일때 별도 설치파일 설치하기위해 수정(20050620, ryari) */
	nVer = getOSVersion();

	if(nVer == null)	// 시스템이 윈도우98이나 ME이면
		rv = document.TradeInstaller.VerCheckAndDownload(ServerAddr,ConfigFilePath_98);
	else				     
		rv = document.TradeInstaller.VerCheckAndDownload(ServerAddr,ConfigFilePath);
/*	수정 끝 */

	if(rv == 1)
	{
//	  	alert("다운로드 완료, 프로그램을 설치합니다.");
		rv1 = document.TradeInstaller.RunSetup(); // TradeSign 폴더에 카피한다. 
		if( rv1 == -2)
		{
			alert("보안 프로그램의 서명이 올바르지 않아 실행할 수 없습니다.");	
			return false;
		}
		return true;
	}
	else if(rv == 2)
	{
		//alert("업그레이드 안해도 됨");
		return true;
	}
	else
	{	
//		alert(rv);
//		alert("설치프로그램 다운로드에 실패했습니다.");
		return false;
	}
}
// OS 버전 알아오기
function DisplayMsg(title, body)
{
	msg = "&nbsp;<font color='blue' class='12p'>\r\n";
//	msg += "<img src='/magicweb/image/Arrow.gif' width='9' height='10'>\r\n";
	msg = msg + "<B>" + title +" : </B></font>";
	msg = msg + "<font class='12p'>\r\n";
	msg = msg + body +"</font><br>";
	document.write(msg);
}


//------------------------------------------------------------------------------
//  Determine OS Version from a Script
//------------------------------------------------------------------------------
function getOSVersion()
{
	version=/NT \d+.\d+/;
	strTemp = String(navigator.appVersion.match(version));
	if(strTemp == "null")
		return null;
	re = /(\w+)\s(\w+)/;
	return Number(strTemp.replace(re, "$2"));
}


////------------------------------------------------------------------------------
////  여기서 부터 
////  tradeCertIssueFunc.js 파일 을 대체하는 곳.
////------------------------------------------------------------------------------

function SetInitInfo()
{
	var strResult;
	strResult = AxTSClient.InitCertIssue(workDir, CAIP, CAPort, proxyIP, proxyPort, CACert, certMask, certPolicy, updateFlag);
  	if( strResult != 0) // Enc실패
  	{
  		strMsg = AxTSClient.GetErrMsg();
    	return false;
  	}
}

function Issue(userid, pwd, certpwd, nPassMedia, nIssueType)
{
	var strResult, strMsg;
	var certDN, strDate;
		
	if (userid != '')
	{
		if (userid == '')
		{
			alert("아이디를 입력하세요");
			return false;
		}
		if (pwd == '')
		{
			alert("비밀번호를 입력하세요");
			return false;
		}
		if (certpwd == '')
		{
			alert("인증서 암호를 입력하세요");
			return false;
		}
		if (nPassMedia != 0 && nPassMedia != 1)
		{
			alert("인증서를 저장할 매체의 지정을 다시 하세요.");
			return false;
		}
		if (nIssueType != 0 && nIssueType != 1 && nIssueType != 2)
		{
			alert("발급 구분을 다시 하세요.");
			return false;
		}
		
		// 발급 모듈 호출
		strResult = AxTSClient.CertIssueCTW(refNum, authCode, pwd, selMedia, certUpdateFlag);
		if( strResult != 0 ) // Issue 실패
		{
			strMsg = AxTSClient.GetErrMsg();
			alert(strMsg);
		    return false;
		}
	}
	else
	{
		// 발급 모듈 호출
		strResult = AxTSClient.CertIssue();
		if( strResult != 0 ) // Issue 실패
		{
			strMsg = AxTSClient.GetErrMsg();
		    return false;
		}
	}
	
	certDN = AxTSClient.GetCertDN();
//	strDate = AxTSClient.GetCertDate();
	return certDN;
}
function IssueAndCopy(userid, pwd, certpwd, nPassMedia, nIssueType)
{
	var strResult, strMsg;
	var certDN, strDate;
	
	// 발급 모듈 호출
	strResult = AxTSClient.CertIssue();
	if( strResult != 0 ) // Issue 실패
	{
		strMsg = AxTSClient.GetErrMsg();
	    return false;
	}
	else
	{
		certDN = AxTSClient.GetCertDN();
		if (certDN != "")
		{
			var copyConfirmMsg;
			copyConfirmMsg = "인증서 백업을 위해 인증서 복사를 하시겠습니까?\r\n\r\n복사에 사용하실 저장매체를 준비하시기 바랍니다.\r\n\r\n( 인증서 관리의 인증서 복사 기능으로도 수행하실 수 있습니다.)";
			
			if (confirm(copyConfirmMsg) == true)
			{
			  	strResult = AxTSClient.CertCopy();
				if( strResult != 0) 
				{
					strMsg = AxTSClient.GetErrMsg();
					return false;
				}
			}
		}
		return certDN;
	}	
}

function GetValidTo()
{
    return 	AxTSClient.GetCertDate();
}

function Renewal()
{
	var strResult = 0;

	strResult = AxTSClient.CertUpdate(webServerIP, webServerPort, checkPG)

	if( strResult == 9017)
	{
	    var userDN;
		userDN = AxTSClient.GetCertDN();
	    
	  	var window_left = (screen.width-500)/2;
	  	var window_top = (screen.height-650)/2;
//	  	var certPay = window.open('http://www.tradesign.net/pg/authFrm.jsp?dn='+userDN,'certpay', 'scrollbars=no,status=no,resizable=yes,menubar=no,location=no');
	  	var certPay = window.open('http://www.tradesign.net/certification/checkapi.do?next=/uview/certificate/pg/Login.html','certpay', 'scrollbars=no,status=no,resizable=yes,menubar=no,location=no');
	  	certPay.focus();
	  	return userDN;
	}
	else if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		if (strMsg.indexOf("-2016") > 0 )
		{
	        var userDN;
	        userDN = AxTSClient.GetCertDN();

	        var window_left = (screen.width-500)/2;
	        var window_top = (screen.height-650)/2;
			var certPay = window.open('http://www.tradesign.net/certification/checkapi.do?next=/uview/certificate/pg/Login.html','certpay','scrollbars=no,status=no,resizable=yes,menubar=no,location=no');
	        certPay.focus();
	        return userDN;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return AxTSClient.GetCertDN();
	}
}

function Renewal2(dn)
{
	var strResult;
	var strMsg;

	strResult = AxTSClient.CTWCertUpdate(dn)
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		alert(strMsg);
		return false;
	}
	else
	{
		return AxTSClient.GetCertDN();
	}
}

function RenewalAndCopy()
{
	var strResult = 0;

	strResult = AxTSClient.CertUpdate(webServerIP, webServerPort, checkPG)
	
	if( strResult == 9017)
	{
	    var userDN;
		userDN = AxTSClient.GetCertDN();
	    
	  	var window_left = (screen.width-500)/2;
	  	var window_top = (screen.height-650)/2;
//	  	var certPay = window.open('http://www.tradesign.net/uview/certificate/pg/authFrm.jsp?dn='+userDN,'certpay', 'scrollbars=no,status=no,resizable=yes,menubar=no,location=no');
	  	var certPay = window.open('http://www.tradesign.net/certification/checkapi.do?next=/uview/certificate/pg/Login.html','certpay', 'scrollbars=no,status=no,resizable=yes,menubar=no,location=no');
	  	certPay.focus();
	  	return userDN;
	}
	else if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
	else
	{
	  var certDN;
		certDN = AxTSClient.GetCertDN();
		if (certDN != "")
		{
			var copyConfirmMsg;
			copyConfirmMsg = "인증서 백업을 위해 인증서 복사를 하시겠습니까?\r\n\r\n복사에 사용하실 저장매체를 준비하시기 바랍니다.\r\n\r\n( 인증서 관리의 인증서 복사 기능으로도 수행하실 수 있습니다.)";
			
			if (confirm(copyConfirmMsg) == true)
			{
			  	strResult = AxTSClient.CertCopy();
				if( strResult != 0) 
				{
					strMsg = AxTSClient.GetErrMsg();
					return false;
				}
			}
		}
		return certDN;
	}
}

function Hold()
{
	var strResult, strMsg;
	
	strResult = AxTSClient.CertHold()
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function Revoke()
{
	var strResult, strMsg;
	if (confirm("한번 폐지된 인증서는 재사용 및 폐지 취소가 불가능합니다.\r\n\r\n이를 반드시 숙지하시고 진행하시기 바랍니다.\r\n\r\n인증서 폐지를 진행하시겠습니까?") == true)
	{
		strResult = AxTSClient.CertRevoke()
		if( strResult != 0) 
		{
			strMsg = AxTSClient.GetErrMsg();
			return false;
		}
	}
}
function View()
{
	var strResult, strMsg;
	strResult = AxTSClient.CertInfoView()
	
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function Delete()
{
	var strResult, strMsg;
	strResult = AxTSClient.CertDelete()
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function Print()
{
	var strResult, strMsg;
	
	strResult = AxTSClient.CertPrint();
	
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
	else if(strResult == 0)
	{	
		strReturnData = AxTSClient.GetReturnData();
		if(strReturnData != "")
		{
	//		alert(strReturnData);
			document.printform.certPrintInfo.value = strReturnData;
			document.printform.submit();
			return true;
		}
		return false;
	}
}
function Copy()
{
	var strResult, strMsg;
//	AxTSClient.SetLoadCertFlag(CA_TYPE_TRADESIGN_INT);   
  	strResult = AxTSClient.CertCopy()
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function CopyWithAll()
{
	var strResult, strMsg;
//	AxTSClient.SetLoadCertFlag(CA_TYPE_TRADESIGN_INT);   
	AxTSClient.SetLoadCertFlag(CA_TYPE_ALL_INT);   
  	strResult = AxTSClient.CertCopy()
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}

function CheckIDN()
{
	strResult = AxTSClient.CheckVID();

	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function ChangePwd()
{
	var strResult, strMsg;
	strResult = AxTSClient.CertChgPwd();
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}	
}
function ChangePwdWithAll()
{
	var strResult, strMsg;
	AxTSClient.SetLoadCertFlag(CA_TYPE_ALL_INT);   
	strResult = AxTSClient.CertChgPwd();
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}	
}
function CheckPwd()
{
	var strResult, strMsg;
	strResult = AxTSClient.CheckPWD();

	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function ExportPKCS12()
{
	var strResult, strMsg;
	strResult = AxTSClient.CertExport();

	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function ExportPKCS12WithAll()
{
	var strResult, strMsg;
	AxTSClient.SetLoadCertFlag(CA_TYPE_ALL_INT);   
	strResult = AxTSClient.CertExport();

	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
function ImportPKCS12()
{
	var strResult, strMsg;
  	strResult = AxTSClient.CertImport();
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}

/*********************************************************************/
//			인증서 저장소에 저장하기		     //
/*********************************************************************/
function SaveCertToWindows()
{
	var strResult, strMsg;
	strResult = AxTSClient.SaveCertToWindows()
	
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}
}
/*********************************************************************/
//		nKeyPair 인증서관리자       	             //
/*********************************************************************/
function nKeyPairCertManager()
{
	var strResult, strMsg;
	strResult = AxTSClient.nKeyPairCertManager();
	if( strResult != 0) 
	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
	}

}
/*********************************************************************/
//		SetTime		                     //
/*********************************************************************/
function SetTime()
{
	var strResult, strMsg;
	strResult = AxTSClient.SetTimeToUserPC(webServerIP, webServerPort, setTimePage, secTime);
	if( strResult != 0) // Enc실패
  	{
  		strMsg = AxTSClient.GetErrMsg();
		return false;
  	}
}
/*********************************************************************/
//		SelectCertDN : 사용자가 선택한 인증서의 DN 받아내는 함수  //
/*********************************************************************/
function SelectCertDN()
{
	var strResult, strMsg;
	var strCertDN;
	strResult = AxTSClient.SelectedCertDN();
	if( strResult  != 0) 
  	{
		strMsg = AxTSClient.GetErrMsg();
		return false;
  	}
	strCertDN = AxTSClient.GetCertDN();
	return strCertDN;
}

