var gIsContinue=0;
var busy_info = "¾ÏÈ£È­ ÀÛ¾÷ÀÌ ÁøÇàÁßÀÔ´Ï´Ù. È®ÀÎÀ» ´©¸£½Ã°í Àá½Ã ±â´Ù·Á ÁÖ½Ê½Ã¿À."
var busy_info2 = "¾Ï/º¹È£È­ ÀÛ¾÷ÀÌ ÁøÇàÁßÀÔ´Ï´Ù. È®ÀÎÀ» ´©¸£½Ã°í Àá½Ã ±â´Ù·Á ÁÖ½Ê½Ã¿À."

var accept_cert = "yessignCA,SignKorea CA,signGATE CA,NCASign CA,CrossCertCA,TradeSignCA";

////////////
// ÀüÀÚ¼­¸í, ÀÎÁõ¼­ °»½Å, ÀÎÁõ¼­ Æó±â½Ã¿¡ ÀÎÁõ¼­ ¾ÏÈ£¿À·ù¸¦ Çã¿ëÈ¸¼ö
var pwd_fail = 3;

/////////////
// ·Î±×ÀÎ Ã¢¿¡ º¸ÀÏ ÀÌ¹ÌÁö¸¦ ´Ù¿î·Îµå ¹ÞÀ» URL
var bannerUrl =  "http://" + window.location.host + "/XecureObject/xecureweb_big.bmp";
//var bannerUrl =  "http://" + window.location.host + "/DitsBank/XecureObject/xecure_big.bmp";

//////////////
// ÀÎÁõ±â°ü ÀÎÁõ¼­ ´Ù¿î·Îµå½Ã ÀÎÁõ±â°ü ÀÎÁõ¼­¿Í ÀÎÁõ¼­ CN
var pCaCertUrl= "http://" + window.location.host + "/XecureObject/signed_cacert.bin";
//var pCaCertUrl= "http://" + window.location.host + "/DitsBank/XecureObject/signed_cacert.bin";
var pCaCertName = "";


/////////////
// ÀüÀÚ¼­¸í È®ÀÎÃ¢¿¡ º¸ÀÏ ¸Þ¼¼Áö¿Í ÀüÀÚ¼­¸í È®ÀÎÃ¢ º¸±â ¿É¼Ç
// 0 : ¼­¸í ¿ø¹® Ãâ·Â ¾ÈÇÔ, 1: ¼­¸í ¿ø¹® Ãâ·Â 
var sign_desc = "";
var show_plain = 0; 

//////////////
// xgate ¼­¹ö ¸í:Æ÷Æ® ÁöÁ¤ , Æ÷Æ® »ý·«½Ã µðÆúÆ®·Î 443 Æ÷Æ® »ç¿ë
var xgate_addr	= window.location.hostname + ":443:8080";

//////////////
// Netscape plugin version information
var packageURL = 'http://' + window.location.host + '/XecureObject/NPXecSSL_Install.jar';
var versionMaj = 5;
var versionMin = 3;
var versionRel = 0;

/////////////
//	Xecure ÇÔ¼öµé....
/*
function get_sid() 
{
	var sid = document.XecureWeb.BlockEnc ( xgate_addr, "", "", "GET" );
        
	if( sid == "") 	return XecureWebError() ;
        
	return sid;
}
*/

function UserAgent()
{
	return navigator.userAgent.substring(0,9);
}

function IsNetscape()			// by Zhang
{
	if(navigator.appName == 'Netscape')
		return true ;
	else
		return false ;
}

function IsNetscape60()			// by Zhang
{
	if(IsNetscape() && UserAgent() == 'Mozilla/5')
		return true ;
	else
		return false ;
}

function XecureUnescape(Msg)		// by Zhang
{
	if(IsNetscape())
		return unescape(Msg) ;
	else
		return Msg ;
}

function XecureEscape(Msg)		// by Zhang
{
	if(IsNetscape())
		return escape(Msg) ;
	else
		return Msg ;
}

function XecurePath(xpath)		// by zhang
{
	if(IsNetscape())
		return (xpath) ;
	else
		return ("/" + xpath) ;		
}

function XecureAddQuery(qs)
{
	if(qs == "")	
		return "" ;
	else
		return "&" + qs ;
}

function XecureWebError()		// by zhang
{
	var errCode = 0 ;
	var errMsg = "" ;
	
	if( IsNetscape60() )		// Netscape 6.0
	{
		errCode = document.XecureWeb.nsIXecurePluginInstance.LastErrCode();
		errMsg  = document.XecureWeb.nsIXecurePluginInstance.LastErrMsg();
	}
	else
	{
		errCode = document.XecureWeb.LastErrCode();
		errMsg  = document.XecureWeb.LastErrMsg();
	}
	//alert(errCode);
	
	if(errCode != 0){	
		if(errCode == -144){
			if(confirm("¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) + "\n\n ÀÎÁõ¼­°ü¸®Ã¢À» ¿­°Ú½À´Ï±î?"))
				ShowCertManager() ;
		}else if(errCode ==-102){	
			alert( "¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) );
			/*
			var top_page	= "/DitsBank/jsp/menu/index_top.jsp";
			var left_page	= "/DitsBank/jsp/menu/left_cont.jsp";
			var right_page	= "/DitsBank/jsp/menu/main.jsp";
			var redirect 	= "/DitsBank/jsp/main/redirect.jsp?TOP_PAGE=" + top_page + "&LEFT_PAGE=" + left_page + "&RIGHT_PAGE=" + right_page;

			parent.parent.topFrame.location.href = top_page;		
			parent.left.location.href = left_page;
			parent.right.location.href = redirect;
			*/
			parent.parent.location.href = "/index.html";
			return false;
		}else{
			alert( "¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) );
		}
	}
	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 )
{
	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 = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, "", "GET");
		else
			sid = document.XecureWeb.BlockEnc ( xgate_addr, path, "", "GET" );
		gIsContinue = 0;
	}
	else {
		alert(busy_info);
		return false ;
	}

	if( sid == "")	return XecureWebError();

	xecure_url = path + "?q=" + sid + XecureAddQuery(qs);

	open ( xecure_url, target );
}

function XecureNavigate( url, target, feature )
{
	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 );
	}
	
	if( gIsContinue == 0 ) {
		gIsContinue = 1;
		if( IsNetscape60() )		// Netscape 6.0
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
		else 
			cipher = document.XecureWeb.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 (feature=="" || feature==null) open ( xecure_url, target );
	else open(xecure_url, target, feature );
	
}

function XecureNavigate3( url, target, sid, feature )
{
	var qs ;
	var path = "/";
	var cipher;
	var xecure_url;
	var sessionid;

	if(sid == null || sid == "") sessionid = get_sid();
	else sessionid = sid;
	
	// 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
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "POST");
		else 
			cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST");

		gIsContinue = 0;
	}
	else {
		alert(busy_info);
		return false;
	}
			
	if( cipher == "" )	return XecureWebError();
	
	xecure_url = path + "?q=" + sessionid + ";" + escape_url(cipher);

	if (feature=="" || feature==null) open ( xecure_url, target );
	else open(xecure_url, target, feature );
	
}

function XecureLink( link )
{
	var qs ;
//	var path = "/";
	var cipher;


	// 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);
	}

	hash = link.hash;
	
	if( gIsContinue == 0 ) {
		path = XecurePath(link.pathname) ;
		gIsContinue = 1;
		
		if( IsNetscape60() )		// Netscape 6.0
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
		else {
			//cipher = document.XecureWeb.BlockEnc(xgate_addr, "/XecureDemo/jsp/ibs/transfer_input.jsp", XecureEscape(qs),"GET");
			cipher = document.XecureWeb.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 + hash + "?q=" + escape_url(cipher);

	if ( link.target == "" || link.target == null ) open ( xecure_url, "_self" );
	else open( xecure_url, link.target );
	return false;
}

function getLink( link )
{
	var qs ;
//	var path = "/";
	var cipher;


	// 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);
	}

	hash = link.hash;
	
	if( gIsContinue == 0 ) {
		path = XecurePath(link.pathname) ;
		gIsContinue = 1;
		
		if( IsNetscape60() )		// Netscape 6.0
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
		else {
			//cipher = document.XecureWeb.BlockEnc(xgate_addr, "/XecureDemo/jsp/ibs/transfer_input.jsp", XecureEscape(qs),"GET");
			cipher = document.XecureWeb.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 + hash + "?q=" + escape_url(cipher);

	return xecure_url;
}

function XecureSubmit( form )
{
	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 );
	}
	document.xecure.target = form.target;

	if ( form.method == "get" || form.method=="GET" ) {
		// collect input field values 
		qs1 = XecureMakePlain( form );
		
		if(qs == "")
			qs = qs1;
		else
			qs = qs + "&" + qs1;

		// encrypt QueryString
		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			
			else{
				cipher = document.XecureWeb.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 ( form.target == "" || form.target == null ) open( xecure_url, "_self");
		else open ( xecure_url, form.target );
	}
	else {
		document.xecure.method = "post";

		// encrypt QueryString of action field
		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			
			else {
				cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
			}
			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 = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
			else{
				cipher = document.XecureWeb.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;
		document.xecure.submit();
	}
	return false;
}


/* 
	XecureReplaceNavigate() ÇÔ¼öÀÇ ¹®Á¦Á¡ °³¼±À» À§ÇØ 2008.10.09 ÀÌÁ¤È­ ¼öÁ¤
	XecureNavigateÀÇ º¯Çü ÇÔ¼öÀÎ XecureReplaceNavigate()´Â ÆäÀÌÁöÀÌµ¿¹æ½ÄÀ¸·Î location.replace¸¦ »ç¿ëÇÏ¿´À¸³ª
	ÀÌ¸¦ ÅëÇÏ¿© ÀÌµ¿ÇÑ ÆäÀÌÁö¿¡¼­ÀÇ Ä³½¬»èÁ¦ ¼Ò½º( response.setHeader("Cache-Control","no-store"), response.setHeader("Pragma","no-cache") )°¡	
	µ¿ÀÛÇÏÁö ¾Ê´Â ¹®Á¦°¡ ¹ß»ýÇÏ¿© XecurePostSubmit() ÇÔ¼ö¸¦ Ãß°¡ÇÏ¿© ÀÌ¸¦ ÇØ°áÇÔ
*/
function XecurePostSubmit( form )
{
	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 );
	}
	//document.xecure.target = form.target;

	//document.xecure.method = "post";

	// encrypt QueryString of action field
	if( gIsContinue == 0 ) {
		gIsContinue = 1;
		if( IsNetscape60() )		// Netscape 6.0
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			
		else {
			cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
		}
		gIsContinue = 0;
	}
	else {
		alert(busy_info);
		return false;
	}		


	if( cipher == "" )	return XecureWebError() ;

	//document.xecure.action = path + "?q=" + escape_url(cipher);
	form.action = path + "?q=" + escape_url(cipher);

	posting_data = XecureMakePlain( form );

	if( gIsContinue == 0 ) {
		gIsContinue = 1;
		if( IsNetscape60() )		// Netscape 6.0
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
		else{
			cipher = document.XecureWeb.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;
	//document.xecure.submit();
	form.submit();

	return false;
}

function XecureSubmit2( form )
{	
	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 );
	}
		
	document.xecure.target = form.target;

	if ( form.method == "get" || form.method=="GET" ) {
		// collect input field values 
		qs1 = XecureMakePlain( form );
		
		if(qs == "")
			qs = qs1;
		else
			qs = qs + "&" + qs1;

		// encrypt QueryString
		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			
			else{
				cipher = document.XecureWeb.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 ( form.target == "" || form.target == null ) open( xecure_url, "_self");
		else open ( xecure_url, form.target );
	}
	else {
		
		document.xecure.method = "post";

		// encrypt QueryString of action field
		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");			
			else {
				cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
			}
			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 = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
			else{
				cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
			}
			gIsContinue = 0;
		}
		else {
			alert(busy_info);
			return false;
		}		
		
		if( cipher == "" )	return XecureWebError() ;
		
		//alert(document.xecure.action );
		
		document.xecure.p.value = cipher;
		document.xecure.submit();
	}
	//return false;
}

function XecureSubmit3( form, sid )
{
	var qs, qs1 ;
	var path ;
	var cipher;
	var sessionid;
	
	if(sid == null || sid == "") sessionid = get_sid();
	else sessionid = sid;
	
	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 );
	}

	document.xecure.target = form.target;

	if ( form.method == "get" || form.method=="GET" ) {
		// collect input field values 
		qs1 = XecureMakePlain( form );
		
		if(qs == "")
			qs = qs1;
		else
			qs = qs + "&" + qs1;

		// encrypt QueryString
		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST");			
			else{
				cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST");
			}
			gIsContinue = 0;
		}
		else {
			alert(busy_info);
			return false;
		}

		if( cipher == "" )	return XecureWebError() ;
		
		xecure_url = path + "?q=" + sessionid + ";" + escape_url(cipher);
		
		if ( form.target == "" || form.target == null ) open( xecure_url, "_self");
		else open ( xecure_url, form.target );
	}
	else {
		
		
		document.xecure.method = "post";
		if(qs == "") qs = " ";
		// encrypt QueryString of action field
		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST");			
			else {
				cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs), "POST");
			}
			gIsContinue = 0;
		}
		else {
			alert(busy_info);
			return false;
		}		

        
		if( cipher == "" )	return XecureWebError() ;

		document.xecure.action = path + "?q=" + sessionid + ";" + escape_url(cipher);

		posting_data = XecureMakePlain( form );

		if( gIsContinue == 0 ) {
			gIsContinue = 1;
			if( IsNetscape60() )		// Netscape 6.0
				cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
			else{
				cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
			}
			gIsContinue = 0;
		}
		else {
			alert(busy_info);
			return false;
		}		
		
		if( cipher == "" )	return XecureWebError() ;
		
		//alert(document.xecure.action );
		
		document.xecure.p.value = cipher;
		
		document.xecure.submit();
	}
	//return false;
}

function XecureMakePlain(form)
{
	var name = new Array(form.elements.length); 
	var value = new Array(form.elements.length); 
	var flag = false;
	var enable2 = true;
	var j = 0;
	var plain_text="";
	var secukey = document.getElementById("secukey"); 
 	//var enc_xgate;
      if(document.XecureWeb !=null && typeof(document.XecureWeb)!= "undefined" && document.XecureWeb.object != null) {
        if(document.XecureWeb.GetVerInfo(0) >= '7, 2, 1, 7'){  
          enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);
        } else {   
         enc_xgate = xgate_addr;
        }
      }
      
      
      if(typeof(document.secukey)=="undefined" || document.secukey.object==null) {

        enable=false;
      }
      else if(document.secukey.state() == 2 || (document.secukey.sitecode != 17 && document.secukey.sitecode != 2065)) {
        enable=false;
      }
      else {
        enable=secukey.GetSecuKeyEnable();
      }
	// Flex °ü·Ã ³»¿ë ¼öÁ¤ 2011-03-30 (secukeyex Ã¼Å©)
 	if(typeof(document.secukeyex) != "undefined") {
		enable=true;
		enable2 = false;
	}

	len = form.elements.length;
	for (i = 0; i < len; 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") { // Leejh 99.11.10 checkboxÃß°¡
				if (form.elements[i].checked == true) {
					name[j] = form.elements[i].name; 
					value[j] = form.elements[i].value;
					j++;
				}
			}
			// ÆÐ½º¿öµå ÇÊµå¿¡ ´ëÇÑ E2E Ã³¸®
			else if(enable2 && enable && form.elements[i].type == "password"){
					value[j] = secukey.GetEncString(form.elements[i].value,form.elements[i].name);
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					//alert("E2E) " + name[j] + " : " + value[j]);
					/*if(value[j] == null || value[j] == ""){
						alert("°í°´´ÔÀÇ PC¿¹ ¼³Ä¡µÈ º¸¾È ¸ðµâÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù.\n\nÇÏ³ª´ëÅõÁõ±Ç  Ã¢À» Á¾·áÇÏ°í ´Ù½Ã ½ÃµµÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.\n\n");
					}*/
					j++;
				}
			// ·Î±×ÀÎ ½Ã ÆÐ½º¿öµå º¯¼ö Ã³¸®
			else if(enable2 && enable &&  form.elements[i].name == "password"){
					name[j] = form.elements[i].name;
					value[j] = secukey.GetEncString(form.elements[i].value,"loginPwd1");
					// ·Î±×ÀÎ ½Ã ÁØÈ¸¿ø Ã³¸® - 2011-07-27
					if(value[j] == ""){
						value[j] = secukey.GetEncString(form.elements[i].value,"loginPwd2");
					}
					// ·Î±×ÀÎ ½Ã ÁØÈ¸¿ø Ã³¸® - 2011-07-27
					//alert("" + name[j] + " : " + form.elements[i].value);
					//alert("E2E) " + name[j] + " : " + value[j]);
					if(value[j] == null || value[j] == ""){
						value[j] == form.elements[i].value;
						//alert("°í°´´ÔÀÇ PC¿¹ ¼³Ä¡µÈ º¸¾È ¸ðµâÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù.\n\nÇÏ³ª´ëÅõÁõ±Ç  Ã¢À» Á¾·áÇÏ°í ´Ù½Ã ½ÃµµÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.\n\n");
					}else{
						name[j] = "xw" + name[j];
					}
					/*
					if(value[j].length > 0){
						alert(name[j] + " : " +value[j]);
						value[j] = value[j].substring(5,value[j].length-5);
						alert(name[j] + " : " +value[j]);
					}
					*/
					j++;
				}
				// ÀÏ¹Ý ÇÊµå¿¡ ´ëÇÑ È®Àå E2E Ã³¸®
			// hidden ÇÊµå¿¡ ´ëÇÑ È®Àå E2E Ã³¸®
			//else if(enable2 && enable &&  form.elements[i].type == "hidden" && form.elements[i].name == "xwinput_pwd"){
			else if(enable2 && enable &&  form.elements[i].type == "hidden" && form.elements[i].name.indexOf("xw") != -1 ){
					//alert("name[i]!" + form.elements[i].name + " / " + "value[i]!" + form.elements[i].value);
					name[j] = form.elements[i].name;
					value[j] = form.elements[i].value;

					j++;
				}
			else if(enable2 && enable &&  SCSKCheckExtETE(form.elements[i].name) == true){
				//Å¸±ÝÀ¶±â°üÀÌÃ¼ : s_bank_actno, s_ice_amt
				var check = "key";
				if(form.elements[i].name == "s_bank_actno" && typeof(form.s_bank_actno_type) != "undefined" ){
					if(form.s_bank_actno_type.value == "mouse"){
						check = "mouse";
					}
				}
				if(form.elements[i].name == "s_ice_amt_actno" && typeof(form.s_ice_amt_type) != "undefined" ){
					if(form.s_ice_amt_type.value == "mouse"){
						check = "mouse";
					}
				}
				//´ç»çÀÌÃ¼ : s_in_acntno, s_ice_amt
				if(form.elements[i].name == "s_in_acntno" && typeof(form.s_in_acntno_type) != "undefined" ){
					if(form.s_in_acntno_type.value == "mouse"){
						check = "mouse";
					}
				}
				//º¹¼ö°èÁÂÀÌÃ¼ : s_bank_actno1;s_bank_actno2;s_bank_actno3;s_bank_actno4;s_bank_actno5;s_bank_actno6;s_bank_actno7;s_bank_actno8;s_bank_actno9;s_bank_actno10;
				if(enable2){
					for( var num = 1 ; num < 11 ; num++ ){
						var s_bank_actno	= 's_bank_actno'+num;
						var s_bank_actno_type	= 'form.s_bank_actno'+num+"_type";
						if(form.elements[i].name == s_bank_actno && typeof(s_bank_actno_type) != "undefined" ){
							if(s_bank_actno_type.value == "mouse"){
								check = "mouse";
							}
						}
					}
				}
				//surprice ÀÚµ¿ ¸Å¼ö >  µî·Ï : s_in_acntno, s_wdrw_bank_actno
				if(form.elements[i].name == "s_in_acntno" && typeof(form.s_in_acntno_type) != "undefined" ){
					if(form.s_in_acntno_type.value == "mouse"){
						check = "mouse";
					}
				}
				if(form.elements[i].name == "s_wdrw_bank_actno" && typeof(form.s_wdrw_bank_actno_type) != "undefined" ){
					if(form.s_wdrw_bank_actno_type.value == "mouse"){
						check = "mouse";
					}
				}
				if(form.elements[i].name == "s_in_acntno" && typeof(form.s_in_acntno_type) != "undefined" ){
					if(form.s_in_acntno_type.value == "mouse"){
						check = "mouse";
					}
				}
				//* ÀÚµ¿ ÀÌÃ¼ >  µî·Ï : s_wdrw_bank_actno, s_rcpt_bank_actno, s_in_acntno
				if(form.elements[i].name == "s_rcpt_bank_actno" && typeof(form.s_rcpt_bank_actno_type) != "undefined" ){
					if(form.s_rcpt_bank_actno_type.value == "mouse"){
						check = "mouse";
					}
				}
				//* ¿¹¾à ÀÌÃ¼ >  µî·Ï : s_bank_actno, s_in_acntno,req_amtjwa
				if(form.elements[i].name == "req_amtjwa" && typeof(form.req_amtjwa_type) != "undefined" ){
					if(form.req_amtjwa_type.value == "mouse"){
						check = "mouse";
					}
				}
				if(enable2 && check == "key" ){
					//alert("name[i]!" + form.elements[i].name + " / " + "value[i]!" + form.elements[i].value);					
					value[j] = secukey.GetEncString(form.elements[i].value,form.elements[i].name);
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
				}else{
					value[j] = form.elements[i].value;
					name[j] = form.elements[i].name;
				
					}
				
					j++;
				}
				//IDÃ£±â °ü·Ã ¼öÁ¤ - 2011-07-27
			else if(enable2 && enable &&  form.elements[i].name == "b_pswd" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"input_pswd");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}
             //IDºñ¹Ð¹øÈ£ ¿À·ùÇØÁ¦ - 2011-07-27
			else if(enable2 && enable &&  form.elements[i].name == "hid_pswd" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"input_pswd");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}	
	
				//Á¾ÇÕ´ëÃâ¾àÁ¤ µî·Ï/º¯°æ hidden ÇÊµå Ãß°¡
			else if(enable2 && enable &&  form.elements[i].name == "t_checked_act_pwd_withdraw" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"pwd_act");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable &&  form.elements[i].name == "otp_number" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"otp_num");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable &&  form.elements[i].name == "scrt" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,form.elements[i].name);
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable &&  form.elements[i].name == "hid_scrt" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"password1");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable &&  form.elements[i].name == "first_pw" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"input_first_pwd");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable && form.elements[i].name == "second_pw" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"input_second_pwd");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable &&  form.elements[i].name == "hid_pass_wd" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"pass_wd");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
			else if(enable2 && enable &&  form.elements[i].name == "hid_pwd" && form.elements[i].type == "hidden"){
					value[j] = secukey.GetEncString(form.elements[i].value,"input_pwd");
					if(value[j] == ""){
						value[j] = form.elements[i].value;
						name[j] = form.elements[i].name;
					}else{
						name[j] = "xw" + form.elements[i].name;
					}
					j++;
				}					
				
    			else if( form.elements[i].type == "text"){
    			  	  name[j] = form.elements[i].name;
					  value[j] = form.elements[i].value;
				
					  j++;
    			}
			else {
				name[j] = form.elements[i].name; 
				if (form.elements[i].type == "select-one") {
					var ind = form.elements[i].selectedIndex;
					// 2007.09.12 LJH ¼öÁ¤
					if(ind < 0){
						value[j] = "";
					}else{
						if (form.elements[i].options[ind].value != '')
							value[j] = form.elements[i].options[ind].value;
						else
							value[j] = "";
						// form.elements[i].selectedIndex = 0;
					}
				}
				else {
					value[j] = form.elements[i].value;
				}
				j++;
			}
		}
	}
	for (i = 0; i < j; i++) {
		str = value[i]; 
		value[i] = escape_url(str); 
//		value[i] = escape(str); 
	}

	for (i = 0; i < j; i++) {
		if (flag)
			plain_text += "&";
		else
			flag = true;
		plain_text += name[i] ;
		plain_text += "=";
		plain_text += value[i];
	}
	
	//alert(plain_text);
	return plain_text;
}

/*************For Applet**********************/
function BlockEnc(auth_type,plain_text)
{	
	var cipher = "";

	if( IsNetscape60() )		// Netscape 6.0
		cipher =  XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr,auth_type,plain_text,"GET"));
	else
		cipher =  XecureUnescape(document.XecureWeb.BlockEnc(xgate_addr,auth_type,plain_text,"GET"));
		
	if( cipher == "" ) XecureWebError() ;
	
	return cipher;
}

function BlockDec(cipher)
{
	var plain = "";
	
	if( gIsContinue == 0 ) {
		gIsContinue = 1;
		if( IsNetscape60() )		// Netscape 6.0
			plain = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockDec( xgate_addr, cipher));
		else {
			plain = XecureUnescape(document.XecureWeb.BlockDec( xgate_addr, cipher));
		}
		gIsContinue = 0;
	}
	else {
		alert(busy_info2);
		return false ;
	}



	if( plain == "" ) XecureWebError() ;
		
	return plain;
}


function XecureLogIn( link )
{
	EndSession();
	return XecureLink(link);
}

function EndSession()
{
	if( IsNetscape60() )		// Netscape 6.0
		document.XecureWeb.nsIXecurePluginInstance.EndSession( xgate_addr );
	else
		document.XecureWeb.EndSession(xgate_addr);
}

// 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 )
{
	var signed_msg;

	if( IsNetscape60() )	// Netscape 6.0
		signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr,
							escape(accept_cert), 
							escape(plain), 
							option, 
							escape(sign_desc),
							pwd_fail);
	else 
		signed_msg = document.XecureWeb.SignDataCMS(
							xgate_addr,
							XecureEscape(accept_cert), 
							XecureEscape(plain), 
							option, 
							XecureEscape(sign_desc),
							pwd_fail);

    if( signed_msg == "" )	XecureWebError();

    return signed_msg;
}
 
function Sign_Add( option, plain )
{
	var signed_msg;

	if( IsNetscape() )
	{
		alert("Not supported function");
	}
	else
	{
		signed_msg = document.XecureWeb.SignDataAdd ( xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail );
	}

	if( signed_msg == "" )	XecureWebError() ;
	
	return signed_msg;
}

function Sign( plain )
{
	var signed_msg;
	
	if( IsNetscape60() )		// Netscape 6.0
	{
		signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) );
	}
	else
	{
		signed_msg = document.XecureWeb.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) );
	}
	
	if( signed_msg == "" )	XecureWebError() ;
	
	return signed_msg;
}

function Sign_with_desc( plain, desc )
{
	var signed_msg;

	if( IsNetscape60() )		// Netscape 6.0
		signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) );
	else
		signed_msg = document.XecureWeb.SignDataCSM( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) );
		
	if( signed_msg == "" )	XecureWebError() ;
	
	return signed_msg;
}

// 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 )
{
	var signed_msg;
	
	option = option + 4;
	
	if(IsNetscape())
	{
		alert("Not supported function");
	}
	else {
		signed_msg = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );
	}

	if( signed_msg == "" )	XecureWebError();
	
	return signed_msg;
}

function Sign_with_vid_web( option, plain, svrCert, idn )
{
	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 = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );
	}

    if( signed_msg == "" )	XecureWebError();

    return signed_msg;
}

// 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 )
{
	var signed_msg;

	option = option + 4;
	
	if(IsNetscape())
	{
		alert("Not supported function");
	}
	else {
		signed_msg = document.XecureWeb.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail );
	}

    if( signed_msg == "" )	XecureWebError();

    return signed_msg;
}

// 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 )
{
	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 = document.XecureWeb.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail );
	}

    if( signed_msg == "" )	XecureWebError();

    return signed_msg;
}

function Set_ID_Num(idn)
{
	var ret;
	
	if( IsNetscape() )
	{
		alert("Not supported function");
	}
	else
	{
		ret = document.XecureWeb.SetIDNum(idn);
	}
	
	return ret;
}

function send_vid_info()
{
	var	vid_info;
	
	if( IsNetscape() )
	{
		alert("Not supported function");
	}
	else
	{
		vid_info = document.XecureWeb.GetVidInfo();
	}
	
	if(vid_info.length == 0)
		return null;
	else
		return vid_info;
}

// 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 )
{
	var	signed_msg;

	if( IsNetscape() )
	{
		alert("Not supported function");
	}
	else
	{
		signed_msg = document.XecureWeb.SignDataCMSWithSerial(  xgate_addr, 
									XecureEscape(accept_cert), 
									certSerial, 
									certLocation, 
									plain, 
									option, 
									XecureEscape(sign_desc),
									pwd_fail );
	}

	if( signed_msg == "" )	XecureWebError();

	return signed_msg;	
}

// default YESSIGN
function RequestCertificate ( ref_code, auth_code )
{
	var r;

	if(IsNetscape())
	{
		if( IsNetscape60() )	// Netscape 6.0
			r = document.XecureWeb.nsIXecurePluginInstance.RequestCertificate2 ( ca_port, ca_ip, ref_code, auth_code, ca_type );
		else
			r = document.XecureWeb.RequestCertificate2 ( ca_port, ca_ip, ref_code, auth_code, ca_type );
	}
	else 
	{
		r = document.XecureWeb.RequestCertificate ( ca_port, ca_ip, ref_code, auth_code, ca_type);
	}

	if ( r != 0 )	XecureWebError();
	
	return r;
}



function PutBannerUrl()
{
	if( IsNetscape60() )		// Netscape 6.0
	{
		document.XecureWeb.nsIXecurePluginInstance.PutBigBannerUrl( xgate_addr, bannerUrl);
	}
	else
	{
		document.XecureWeb.PutBigBannerUrl( xgate_addr, bannerUrl);
	}
}

function PutCACert()
{
	var r ;
	
	if( IsNetscape60() )		// Netscape 6.0
		r = document.XecureWeb.nsIXecurePluginInstance.PutCACert( XecureEscape(pCaCertName), pCaCertUrl);
	else
		r = document.XecureWeb.PutCACert( XecureEscape(pCaCertName), pCaCertUrl);

	if( r != 0 )	XecureWebError() ;
}

function isNewPlugin(desc)
{
	index = desc.indexOf('v.', 0);
	if (index < 0)
		return false;
	desc += ' ';

	versionString = desc.substring(index +2, desc.length);
	arrayOfStrings = versionString.split('.');
	thisMajor = parseInt(arrayOfStrings[0], 10);
	thisMinor = parseInt(arrayOfStrings[1], 10);
	thisBuild = parseInt(arrayOfStrings[2], 10);
	
	if (thisMajor > versionMaj)	return true;
	if (thisMajor < versionMaj)	return false;
	
	if (thisMinor > versionMin)	return true;
	if (thisMinor < versionMin)	return false;
	
	if (thisBuild > versionRel)	return true;
	if (thisBuild < versionRel)	return false;

	return true;
}

function downloadNow () {
	if ( navigator.javaEnabled() ) {
		trigger = netscape.softupdate.Trigger;
		if ( trigger.UpdateEnabled() ) {
			if (navigator.platform == "Win32") {
				trigger.StartSoftwareUpdate( packageURL, trigger.DEFAULT_MODE);
			}
			else alert('ÀÌ ÇÃ·¯±× ÀÎÀº À©µµ¿ìÁî 95/98/NT È¯°æ¿¡¼­¸¸ ÀÛµ¿ÇÕ´Ï´Ù.')
		}
		else
			alert('³Ý½ºÄÉÀÔÀÇ SmartUpdate ¼³Ä¡¸¦ °¡´ÉÇÏµµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
	}
	else
		alert('Java ½ÇÇàÀ» °¡´ÉÇÏµµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
}

function isOldPlugin(desc,version)	// by Zhang
{
	index = desc.indexOf('v.', 0);
	if (index < 0)	return true;
	
	desc += ' ';
	versionString = desc.substring(index +2, desc.length);
	arrayOfStrings = versionString.split('.');
	thisMaj = parseInt(arrayOfStrings[0], 10);
	thisMin = parseInt(arrayOfStrings[1], 10);
	thisRel = parseInt(arrayOfStrings[2], 10);
	
	arrayOfStrings = version.split('.');
	s_verMaj = parseInt(arrayOfStrings[0], 10);
	s_verMin = parseInt(arrayOfStrings[1], 10);
	s_verRel = parseInt(arrayOfStrings[2], 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;

	return false;
}

function DownloadPackage(packageURL) // by Zhang
{
	if ( navigator.javaEnabled() ) {
		trigger = netscape.softupdate.Trigger;
		if ( trigger.UpdateEnabled() ) {
			if (navigator.platform == "Win32") {
				trigger.StartSoftwareUpdate( packageURL, trigger.DEFAULT_MODE);
			}
			else
				alert('ÀÌ ÇÃ·¯±× ÀÎÀº À©µµ¿ìÁî 95/98/NT È¯°æ¿¡¼­¸¸ ÀÛµ¿ÇÕ´Ï´Ù.');
		}
		else
			alert('³Ý½ºÄÉÀÔÀÇ SmartUpdate ¼³Ä¡¸¦ °¡´ÉÇÏµµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
	}
	else
		alert('Java ½ÇÇàÀ» °¡´ÉÇÏµµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
}

function XecureWebPlugin(version)	// by Zhang
{	
	if (navigator.appName == 'Netscape' && UserAgent() == "Mozilla/4") 
	{
  		var XecureMime = navigator.mimeTypes["application/x-SoftForum-XecSSL40"];
		if (XecureMime) {   // Xecure PlugIn ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â °æ¿ì
			if ( isOldPlugin(XecureMime.enabledPlugin.description,version))
				DownloadPackage(packageURL);
		}
		else {     // Xecure PlugIn ÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
			DownloadPackage(packageURL);
		}
	}
}

/*
* IE9 Àû¿ë¹öÀü(v7.2.2.8)
*/
function PrintObjectTag()
{	
	if( IsNetscape60() )	
		alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ;
	else
	{		
		if(navigator.appName == 'Netscape')
		{
			document.write("<EMBED type='application/x-SoftForum-XecSSL40' hidden=true name='XecureWeb'></EMBED><NOEMBED>No XecureWeb PlugIn</NOEMBED>");
		}
		else
		{
			document.write('<OBJECT ID="XecureWeb" CLASSID="CLSID:7E9FDB80-5316-11D4-B02C-00C04F0CD404" CODEBASE="http://download.softforum.co.kr/Published/XecureWeb/v7.2.5.0/xw_install.cab#Version=7,2,5,0" width=0 height=0><param name="lang" value="korean"><PARAM NAME="STORAGE" VALUE="HARD,REMOVABLE,ICCARD,PKCS11">No XecureWeb PlugIn</OBJECT>');
		}
	}
}
function get_sid() 
{
	var sid = document.XecureWeb.BlockEnc ( xgate_addr, "", "", "GET" );
        
	if( sid == "") 	return XecureWebError() ;
        
	return sid;
}


function XecureNavigate2iframe( url, target, feature, sid) 
{
	var qs ;
	var path = "/";
	var cipher;
	var xecure_url;

	path = getPath(url);
	
	cipher = document.XecureWeb.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 );
}

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://" ) {
		path_end = window.location.href.indexOf('?');
		if(path_end < 0)	path_end_str = window.location.href;
		else				path_end_str = window.location.href.substring(0,path_end); 
		path_relative_base_end = path_end_str.lastIndexOf('/');
		path_relative_base_str = path_end_str.substring(0,path_relative_base_end+1);
		path_begin_index = path_relative_base_str.substring (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 ( 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 (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)
{
	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() )
	{
		msg = document.XecureWeb.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, escape(accept_cert), option, escape(Idn));
	}
	else 
	{
		msg = document.XecureWeb.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, accept_cert, option, Idn);
	}
	
	return msg;

}

// nOption is 0 : (default value) File version, which is checked by 'Internet Explorer'
//            1 : Product version
//            2 : File Description
function GetVersion(nOption)
{
	var ver;
	
	if( IsNetscape() )
	{
		alert("Not supported function");
		ver = "";
	}
	else
	{
		ver = document.XecureWeb.GetVerInfo(nOption);
		if( ver == "" )
			alert("No version information");
	}
	
	return ver;
}

// only over XecureWeb Client v5.3.0.1
function UpdateModules( infoURL )
{
	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 = document.XecureWeb.UpdateModules( infoURL );
	}
		
	return	ret;
}

// only over XecureWeb Client v5.3.0.1
function SetUpdateInfo( section, key, value1 )
{
	var	ret;
	
	if( IsNetscape() )
	{
		alert( "Not supported function" );
		ret = 0;
	}
	else
	{
		ret = document.XecureWeb.SetUpdateInfoString( section, key, value1 );
	}
	
	return ret;			
}

function SetLang( )
{
	var	ret;
	
	if( IsNetscape() )
	{
		alert( "Not supported function" );
		ret = 0;
	}
	else
	{
		document.XecureWeb.Language=2;
	}
	
	if( ret != 0 )	return XecureWebError();
	
	return ret;			
}

// inserted by knlee 2003/06/10
function SetProviderList()
{
	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 = document.XecureWeb.SetProvider(provName);
		if( ret != 0 )
			alert("Set Provider name is Fail!");
	}
	
	return ret;
}


/**
 XecureNavigateÀÇ º¯Çü
 location.replace¸¦ »ç¿ëÇÏ¿© XecureReplaceNavigate()¸¦ È£ÃâÇÏ´Â ÆäÀÌÁö´Â
 ºê¶ó¿ìÀúÀÇ È÷½ºÅä¸®·Î±×¿¡ ³²Áö ¾Ê´Â´Ù.
 Àú¸® ÆäÀÌÁö µî¿¡¼­ »ç¿ë.
****************************/
function XecureReplaceNavigate( url) {
	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 );
	}
	
	if( gIsContinue == 0 ) {
		gIsContinue = 1;
		if( IsNetscape60() )		// Netscape 6.0
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
		else 
			cipher = document.XecureWeb.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);
	location.replace(xecure_url);
}




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 get_xgate_addr_scsk(){
    var scsk_xgate_addr = xgate_addr;
    return document.XecureWeb.GetEncUserData(scsk_xgate_addr);
}


function XecureAjaxGet(url)
{
	var qs ;
	var path = "/";
	var cipher;
	var xecure_url;
	var qs_begin_index="";

	// 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
			cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, "/off", XecureEscape(qs), "GET");
		else
			cipher = document.XecureWeb.BlockEnc(xgate_addr, "/off", XecureEscape(qs),"GET");

		gIsContinue = 0;
	}
	else {
		alert(busy_info);
		return false;
	}

	if( cipher == "" )	return XecureWebError();

	xecure_url = path + "?q=" + escape_url(cipher);
	return xecure_url;
}
function getScskEncValue(value, name){
  var secukey = document.getElementById("secukey"); 
  var enable = true;
  if(typeof(document.secukey)=="undefined" || document.secukey.object==null) {
    alert("111");
    enable=false;
  }else if(document.secukey.state() == 2 || (document.secukey.sitecode != 17 && document.secukey.sitecode != 2065)) {
    alert("222");
    enable=false;
  }
  if(enable){
    return secukey.GetEncString(value, name);
  }else{
    return value;
  }
}
function getScskE2EName(){
  var retval = "xw";
  if(typeof(document.secukey)=="undefined" || document.secukey.object==null ) {
    retval = "";
  }else if(document.secukey.state() == 2 || (document.secukey.sitecode != 17 && document.secukey.sitecode != 2065)) {
    retval = "";
  }
  return retval;
}


