//
// INIplugn-128 Java Script
// 1. update 2002/01/29 wakano@initech.com
//  - ½ÅÇÑÀºÇà È£È¯ ¸Þ¼Òµå ±â´É Ãß°¡.
//		EncryptInput(form)     => EncForm
//		EncryptInput2(form, r) => EncFormVerify
//		À§ ¸Þ¼Òµå »ç¿ë½Ã ³»ºÎÀûÀ¸·Î ShinHan_plugin º¯¼ö¸¦ »ç¿ëÇÏ¿© Ã³¸®µÊ
//	-. INIpluginData¾øÀÌ EcnForm.. »ç¿ë½Ã ¿¡·¯Ã³¸®
//
// 2. update 2002/03/13 wakano@initech.com
//  - ¿¡ÇÃ¸´ÀÌ³ª ÇÃ·¹½¬ °°Àº°ÍÀº elementsÀÇ °ªÀÌ "" ÀÏ°æ¿ì°¡ ÀÖÀ½
//		if(element.name=="") continue;
//
// 3. update 2002/11/30 wakano@initech.com
//  - GatherValeu¿¡¼­ element.typeÀÌ "select"ÀÏ°æ¿ì ¾ÏÈ£È­µÈ ¿øº»ÀÌ »èÁ¦µÇÁö ¾Ê´Â ¹ö±×¼öÁ¤
//
// 4. update 2002/06/11 brson@initech.com
//  -. GatherValue, EncLink, EncLocation ¼öÁ¤
//		:AddServerTimeÀÌ trueÀÏ¶§ TimeURL¿¡¼­ server½Ã°£ ¾ò¾î¼­ µ¥ÀÌÅ¸·Î Ãß°¡ÇÔ.
//
// 5. update 2004/0729 wakano@initech.com
//	-. iframe»ç¿ë½Ã ÇÁ·¹ÀÓ¸í(secureframe)°ú Àü¿ªº¯¼ö¸íÀÌ Ãæµ¹·Î ÀÎÇÏ¿© secureframeÀ» Ã£Áö ¸øÇÏ´Â ¹ö±×¼öÁ¤
//	   (Àü¿ªº¯¼ö·Î ¼±¾ðµÈ secureframe¸¦ __secureframe__·Î º¯°æ)


var TimeURL = "http://" + window.location.host + "/initech/plugin/tools/Time.jsp";
//var LogoURL = 'http://' + window.location.host + '/initech/plugin/site/img/'
//				+ window.location.hostname + '.gif';
var LogoURL = 'http://' + window.location.host + '/initech/plugin/site/img/suhyup_1.gif';

//ÀÎÁõ¼­ ¹ß±Þ/°»½Å/Æó±â °ü·Ã Á¤º¸
var YessignCAIP = "203.233.91.71";		//±Ý°á¿ø ¸®¾ó CA ¼­¹ö
//var YessignCAIP = "203.233.91.234";	//±Ý°á¿ø Å×½ºÆ® CA ¼­¹ö
var YessignCMPPort = "4512";
var CrossCertCAIP = "211.192.169.90"	//ÀüÀÚÀÎÁõ ¸®¾ó CA ¼­¹ö
//var CrossCertCAIP = "203.248.34.28";	//ÀüÀÚÀÎÁõ Å×½ºÆ® CA ¼­¹ö
var CrossCertCMPPort = "4512";
var SignKoreaCAIP = "210.207.195.100";	//ÄÚ½ºÄÞ ¸®¾ó CA ¼­¹ö
//var SignKoreaCAIP = "211.175.81.101";	//ÄÚ½ºÄÞ Å×½ºÆ® CA ¼­¹ö
var SignKoreaCMPPort = "4099";

var cipher = "SEED-CBC";

var InitechPackage = "INITECH";
var YessignPackage = "YESSIGN";
var CrossCertPackage = "CROSSCERT";
var SignKoreaPackage = "SIGNKOREA";

var EnableMsg = true;
var secureframename="secureframe";
var __secureframe__=null;
var framecount = 0;
var maxframecount = 10;
var ShinHan_plugin = false;
//var ShinHan_plugin = true;
var AddServerTime=true;

// 2007.04.02 for BankTown
// inca(À×Ä«),ahnlab(¾ÈÃ¶¼ö),kings(Å·½º),softcamp(¼ÒÇÁÆ®Ä·ÇÁ)
var KEYVENDOR = "softcamp";

//E2E¿ë Enveloped Data »ý¼º½Ã ¿É¼Ç°ª
var INITCHECK = "";
//ÀºÇàÄÚµå
var BANKCODE = "suhyup";

var E2ESID = BANKCODE+"e2eid";

//20091022 ¹è¿µÈ¯ IP, MAC Address set -> common_intro_main_initech.jsp ¿¡¼­ setÇÔ..
//SetProperty("GetNICInfo","GETLOOPTIME=EVERY&GETITEM_1&GETITEM_2");

/*
function FindSecureFrame(inframe, oldname)
{
	if(__secureframe__!=null) return __secureframe__;
	if (framecount++ > maxframecount) return null;
	if ((typeof inframe == "undefined") || (inframe == null))
	{
		return null;
	}
	else if ((typeof inframe.secureframe != "undefined")  && (inframe.secureframe != null))
	{
		framecount = 0;
		return inframe.secureframe
	}
	else if (inframe.parent.frames.length > 0)
	{
		if (oldname == inframe.name) {
			return FindSecureFrame(inframe.parent.opener, inframe.name);
		}
		return FindSecureFrame(inframe.parent, inframe.name);

	}
    return null;
}
*/
function FindSecureFrame(inframe)
{
	//alert(__secureframe__);
	if(__secureframe__!=null) return __secureframe__;
	if (framecount++ > maxframecount) return null;
	if ((typeof inframe == "undefined") || (inframe == null))
	{
		return null;
	}
	else if ((typeof inframe.secureframe != "undefined")  && (inframe.secureframe != null))
	{
		//alert("SecureFrame Find OK = " + inframe.secureframe);
		framecount = 0;
		return inframe.secureframe
	}
	else if (inframe.parent.length > 0)
	{
		return FindSecureFrame(inframe.parent);
	}
    return null;
}

function FrameCheck()
{
	if (typeof document.INIplugin != "undefined")
	{
		__secureframe__ = self;
	}
	else
	{

		if (__secureframe__ == null) {
			var open_frame = null;
			open_frame = opener;

			if ((typeof open_frame) == "undefined")
			{
				open_frame = window.dialogArguments;

			}

			while((typeof open_frame) != "undefined")
			{
				__secureframe__ = FindSecureFrame(open_frame);
				if (__secureframe__ != null){
					break;
				}else{

					var t_open_frame = open_frame;
					open_frame = open_frame.opener;
					if ((typeof open_frame) == "undefined")
					{
						open_frame = t_open_frame.window.dialogArguments;
					}
				}

			}
		}

		framecount = 0;
		__secureframe__ = FindSecureFrame(parent);

	}
}

function ModuleInstallCheck()
{
	FrameCheck();
	if (__secureframe__==null) return;

	if(navigator.appName == "Netscape")
	{
		return __secureframe__.document.INIplugin;
	}
	else
	{
		if(__secureframe__.INIplugin==null || typeof(__secureframe__.INIplugin) == "undefined" || __secureframe__.INIplugin.object==null) return null;
		else return __secureframe__.INIplugin;
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////////
//2009.09.19 for banktown  È®ÀåE2E¿Í ÀÌÁß¾ÏÈ£È­ Ã³¸®ÀÇ ºÐ±â
function GatherValue(form, start, bErase)
{
	//if ((document.getElementById('_ETEExt_SEED_')) != null){
	if (typeof(e2eCert) != "undefined") {
	  // È®ÀåE2E Ã³¸®
	   //alert("È®ÀåE2E >> INIplugin.js");
		var strResult = "";
		var name = "";
		var value = "";
		var sel=0;

		// INIplugin-128 Install Check
		obj = ModuleInstallCheck();
		if (obj == null) return "";

		len = form.elements.length;
		for(i=start; i<len; i++)
		{
			element = form.elements[i];

			if(element.name=="") continue;
			if(element.name=="INIpluginData") continue;
			if(element.name=="filedata") continue;
			if ((ShinHan_plugin) && (element.name=="input")) // with for Shinhan Bank
				continue;
			if (!((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")))
				continue;

			if ( ((element.type == "radio") || (element.type == "checkbox")) && (element.checked!=true) )
				continue;
	        if(form.elements[i].name.indexOf('file_', 0) >= 0) {
				continue;
	        }

			if (element.type == "select-one")
			{
				sel = element.selectedIndex;
				if(sel<0) continue;
				if (element.options[sel].value != '')
				{
					value = element.options[sel].value;
					if(bErase) element.options[0].value = "";

				}
				else
				{
					value = element.options[sel].text;
					if(bErase) element.options[0].text = "";
				}
				if(bErase) element.selectedIndex = 0;
			}
			else
			{
				value = element.value;
				if(bErase) element.value = "";
			}

			if ((element.type == "checkbox") && (bErase)) element.checked = false;

			// ±Ý¾×ÇÊµå
			var datatype = element.getAttribute("bttype");
			var str = value;
			if(datatype != null){
				switch(datatype){
					case 'amt' : 		// ±Ý¾×
						value = str.replace(/\,/g,"");
						break;
				}
			}

			if (strResult!="") strResult += "&";
			strResult += element.name;
			strResult += "=";
			strResult += obj.URLEncode(value);
		}
	}else{
		// ÀÌÁß¾ÏÈ£È­ Ã³¸®
		//alert("ÀÌÁß¾ÏÈ£È­ >> INIplugin.js");
		var strResult = "";
		var name = "";
		var value = "";
		var sel=0;
		var e2e_envelop_data_count = 0;

		// INIplugin-128 Install Check
		obj = ModuleInstallCheck();
		if (obj == null) return "";

		len = form.elements.length;

		InitSeal4E2E(); //ÃÊ±âÈ­

		for(k=start; k<len; k++)
		{
			 element = form.elements[k];
			//add to wakano 2002/03/13
			if(element.name=="") continue;
			if(element.name=="undefined") continue;
			if(element.name=="INIpluginData") continue;
			if(element.name=="filedata") continue;
			if(element.name=="fieldset") continue;
			if(element.name=="keyxreq") continue; //btÃß°¡

			if (!((form.elements[k].type != "button") && (form.elements[k].type != "reset") && (form.elements[k].type != "submit")))
				continue;

			if ( ((element.type == "radio") || (element.type == "checkbox")) && (element.checked!=true) )
				continue;
			// File Field´Â SKIPÇÑ´Ù.
			if(form.elements[k].name.indexOf('file_', 0) >= 0) {
				continue;
			}
			if (element.type == "select-one") {
				sel = element.selectedIndex;
				if(sel<0) continue;
				if (element.options[sel].value != ''){
					value = element.options[sel].value;
				} else {
					//2002.09.27 YDH ¼öÁ¤
					//value = element.options[sel].text;
					value = '';
				}

				if(bErase) element.selectedIndex = 0;
			} else{
				value = element.value;
				if(bErase) element.value = "";
			}

			// modify wakano 2001/08/21
			if ((element.type == "checkbox") && (bErase)) element.checked = false;

			var datatype = element.getAttribute("bttype");
			var str = value;
			if(datatype != null){
				switch(datatype){
					case 'amt' : 		// ±Ý¾×
						value = str.replace(/\,/g,"");
						break;
				}
			}

			//End to End ¾ÏÈ£È­¸¦ À§ÇØ º¯°æ ½ÃÀÛ 2006-02-03 mjseo
			var datae2etype = element.getAttribute("bte2e"); // E2E ÇÒ°ÇÁö ¸»°ÇÁö y,n

			//ÆÐ½º¿öµå ÇÊµåÀÌ¸§ÀÌ Æ²·ÁÁú¶§ == ½ÃÀÛ -
			var e_name = "" + element.name;
			if (value.indexOf("^E2ERealFileName^") != -1) {
					var tempRet = value;
					value = tempRet.split("^E2ERealFileName^")[0];
					e_name = tempRet.split("^E2ERealFileName^")[1];
			 }
			//ÆÐ½º¿öµå ÇÊµåÀÌ¸§ÀÌ Æ²·ÁÁú¶§ == ³¡ -
			if ( value != '' && (element.type == "password" || check_name(element.name))){
					//alert("password type");
					//Å°º¸µå e2e ¼ÂÆÃ
					initKeyBoardModule();

					var E2E_ver = "5, 1, 6, 43";
					if(EnableFunction(E2E_ver)) {
			            //E2E °ü·Ã ¸ðµâÀ» ½ÇÇàÇÏ´Â ºÎºÐ
						if(typeof(document.secukey) != "undefined" && document.secukey.object !=null && document.secukey.STATE !=2 && document.secukey.sitecode != '0')
						{
							//E2E Á¤»ó µ¿ÀÛÀÏ °æ¿ì
							enckey1 = E2EInit();
							//¼¼¼ÇÅ°¸¦ »ý¼ºÇÒ¶§ »ç¿ëµÇ´Â ÇØ½ÃÇÔ¼öÀÇ Å°Àç·á1 À» »ý¼ºÇÔ
							enckey2 = document.secukey.E2EInit("initech", enckey1);
							//¼¼¼ÇÅ°¸¦ »ý¼ºÇÒ¶§ »ç¿ëµÇ´Â ÇØ½ÃÇÔ¼öÀÇ Å°Àç·á2 ¸¦ »ý¼ºÇÔ
							encValue = secukey.GetEncString(value, e_name);
							//alert("e_name: "+e_name+", enckey1: " +enckey1+",enckey2 :" +enckey2+", encValue :"+encValue);
							if(enckey2 == null || enckey2 == "" || encValue == null || encValue == "") {
								//alert(e_name+","+value+",",+encValue);
							//Å°º¸µå º¸¾ÈÀÌ Àû¿ëµÇÁö ¾ÊÀº ÆäÀÌÁö¿¡¼­´Â e2e°¡ Àû¿ëµÇÁö ¾ÊÀ½.
								var E2EerrMsg = "[(E2E)ERR_CODE: "+secukey.E2EState()+"]¾ÏÈ£È­ ¸ðµâ°ú Å°º¸µå º¸¾È¸ðµâ ¿¬µ¿ÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.\n\n½ÃÀÛ -> Á¦¾îÆÇ -> ÇÁ·Î±×·¥ Ãß°¡»èÁ¦ -> ÀÎÅÍ³Ý¹ðÅ· ¾ÏÈ£È­¸ðµâ(INISafeWeb °ú SoftCamp Secure KeyStroke)¸¦ »èÁ¦ ÈÄ Àç¼³Ä¡ ¹Ù¶ø´Ï´Ù.\n\nÀÎÅÍ³Ý ¿É¼Ç -> ¼³Á¤ -> ÀÎÅÍ³ÝÀÓ½ÃÆÄÀÏ -> »èÁ¦¸¦ ÇÏ½Ê½Ã¿À.\n\n[È®ÀÎ]À» ´©¸£½Ã¸é ¼³Ä¡ ÆäÀÌÁö·Î ÀÌµ¿ÇÕ´Ï´Ù.\n\nÇö»óÀÌ ¹Ýº¹µÉ °æ¿ì °í°´»ó´ã½Ç(02-2018-2200)·Î ÀüÈ­ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.";
								if(confirm(E2EerrMsg) == true) {
										location.href="/install_index.jsp";
									}
								return false;

							} else {

								E2ESetKey(enckey2);
								encValue = "_e_1" + encValue;
								var tmpvalue = value;
								value = encValue; //Å°º¸µåº¸¾È µ¥ÀÌÅ¸
									//alert("	encValue ,"+encValue);
								if ( datae2etype==null || datae2etype == "y" || datae2etype == "Y" ) {
									//alert("	datae2etype ,"+datae2etype);
									//ÆÐ½º¿öµå ÇÊµåÁß¿¡ bte2eÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é E2EÀÚµ¿ Àû¿ë.
									//ÆÐ½º¿öµå ¼Ó¼ºÀÇ ÇÊµåÁß¿¡  E2E¸¦ ÇÏ°í½ÍÁö ¾Ê´Ù¸é bte2e='n' À¸·Î ÇÒ´ç.
									var datae2e_align = element.getAttribute("bte2e_align"); // ÇÊµåÁ¤·Ä°ª L,R
										 if (datae2e_align == null )  datae2e_align ="L"; //ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¿ÞÂÊÁ¤·Ä
										 if (datae2e_align !='l' && datae2e_align !='r' && datae2e_align !='L' && datae2e_align !='R') {
											alert("bte2e_align °ª ¿À·ù.");
											return false;
										 }
									var datae2e_env = element.getAttribute("bte2e_env"); //E2E¿ë ENVELOP_DATA ¸¦ »ý¼ºÇÒÁö ¾ÈÇÒÁö y,n
									if (datae2e_env == 'n' )  e2e_envelop_data_count++ ; // count°¡ 0ÀÏ°æ¿ì¿¡¸¸ ENVELOP_DATA»ý¼ºÇÏ¹Ç·Î count¸¦ ¿Ã·ÁÁÖ¸é »ý¼º¾ÈµÊ.

									var e2e_SecuKeyData = makeE2EForBt(tmpvalue , encValue , datae2e_align , e2e_envelop_data_count);
									if (e2e_SecuKeyData == false) return false;
									e2e_envelop_data_count++;
									value = e2e_SecuKeyData ; //Å°º¸µåº¸¾È + ¹ðÅ· E2E µ¥ÀÌÅ¸
								}
							}
						}// Á¤»óÀÏ¶§
					}// EnableFunction
			}else{

				if(datae2etype == "y" || datae2etype == "Y") {
					//alert("ÀÏ¹ÝÇÊµå");
					//ÆÐ½º¿öµå ÇÊµå°¡ ¾Æ´Ñ ÇÊµåµµ E2E ÇÏ°í ½ÍÀ»¶§´Â bte2e = 'y'  °ªÀ» ÇÒ´çÇØÁÖ¸é µÈ´Ù.
					var datae2e_align = element.getAttribute("bte2e_align"); // ÇÊµåÁ¤·Ä°ª L,R
					if (datae2e_align == null )  datae2e_align ="L"; //ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¿ÞÂÊÁ¤·Ä
					if (datae2e_align !='l' && datae2e_align !='r' && datae2e_align !='L' && datae2e_align !='R') {
						alert("bte2e_align °ª ¿À·ù.");
						return false;
					}
					var datae2e_env = element.getAttribute("bte2e_env"); //E2E¿ë ENVELOP_DATA ¸¦ »ý¼ºÇÒÁö ¾ÈÇÒÁö y,n
					if (datae2e_env == 'n' )  e2e_envelop_data_count++ ; // count°¡ 0ÀÏ°æ¿ì¿¡¸¸ ENVELOP_DATA»ý¼ºÇÏ¹Ç·Î count¸¦ ¿Ã·ÁÁÖ¸é »ý¼º¾ÈµÊ.

					var e2e_ret_n = makeE2EForBt(value , value , datae2e_align , e2e_envelop_data_count);

					if (e2e_ret_n == false) return false;

					e2e_envelop_data_count++;
					value = e2e_ret_n ; //¹ðÅ· E2E µ¥ÀÌÅ¸
				}
			}

			if (strResult!="") strResult += "&";
			strResult += element.name;
			strResult += "=";
			strResult += obj.URLEncode(value);
			//alert("strResult=>"+strResult);
		}//for
	}
	// °øÅë(È®ÀåE2E + ÀÌÁß¾ÏÈ£È­)
		//modify brson 2002/06/11
		//dt¿¡ server time Ãß°¡
		var ver="4,2,0,0";
		if(AddServerTime && EnableFunction(ver)) {
			if(strResult!=""){
					strResult = "__INIts__=" + obj.GetServerTime(TimeURL) + "&" + strResult;
			}
			else{
					strResult = "__INIts__=" + obj.GetServerTime(TimeURL);
			}
		}
	// 2007.06.15 ¼­À±Èñ Ãß°¡
	// JSESSIONID µµ¿ë¿¡ ´ëÇÑ ±ÝÀ¶ISAC ÁöÀû¿¡ µû¶ó MACAddr¸¦ µû¶ó º¸³»¼­ ¼­¹ö¿¡¼­ °ËÁõ
	//strResult += "&ClientMacAddr="+ PkiCube_MacAddrInfo();
	//alert(strResult);
	return strResult;
}

/////////////////////////////////////////////////////////////////////////////////////////////////
function GatherFileValue(form, start, bErase)
{
	var strResult = "";
	var name = "";
	var value = "";
	var sel=0;

	obj = ModuleInstallCheck();
	if (obj == null) return "";

	len = form.elements.length;
	for(i=start; i<len; i++)
	{
		element = form.elements[i];

		if(element.name=="") continue;
		if(element.name=="INIpluginData") continue;
		if(element.name=="filedata") continue;

		if ((ShinHan_plugin) && (element.name=="input")) // with for Shinhan Bank
			continue;
		if (!((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")))
			continue;

		if ( ((element.type == "radio") || (element.type == "checkbox")) && (element.checked!=true) )
			continue;
        if(form.elements[i].name.indexOf('file_', 0)>=0)
		{
	        if(strResult!="")
			{
 	        	strResult += "&";
            }
            strResult+= form.elements[i].name;
            strResult += "=";
            strResult += obj.URLEncode(form.elements[i].value);
			if(bErase) form.elements[i].value = "";
 		}
	}
	return strResult;
}

function EncryptInput(form)
{
	ShinHan_plugin = true;
	return EncForm(form);
}

function EncryptInput2(form, r)
{
	ShinHan_plugin = true;
	return EncFormVerify(form);
}

function EncForm(form)
{
	var INIdata = "";
	var eletemp = "";
	var filetemp = "";

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	filetemp = GatherFileValue(form, 0, true);
	if (filetemp !=  "")
	{
		if ((form.filedata.value = obj.MakeFileData(0, cipher, filetemp)) == "") return false;
	}

	eletemp = GatherValue(form, 0, true);
	if ((INIdata = obj.MakeINIpluginData(0, cipher, eletemp, ""))=="") return false;

	//add bye wakano 2001/01/29
	if (typeof form.INIpluginData == "undefined")
	{
		if (ShinHan_plugin) // with for Shinhan Bank
		{
			form.input.value = INIdata;
			form.input.name = "INIpluginData"; // for Shinhan Bank
		} else {
			alert("INIpluginData(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
			return false;
		}
	} else {
		form.INIpluginData.value = INIdata;
	}

	//alert("¾ÏÈ£È­µÈ µ¥ÀÌÅ¸ : [" + INIdata + "]");
	return true;
}

function EncForm2(form1, form2)
{
	var INIdata = "";
	var eletemp = "";
	var filetemp = "";

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	filetemp = GatherFileValue(form1, 0, false);
	if (filetemp !=  "")
	{
		if ((form2.filedata.value = obj.MakeFileData(0, cipher, filetemp)) == "") return false;
	}

	eletemp = GatherValue(form1, 0, false);
	//alert(eletemp);
	if ((INIdata = obj.MakeINIpluginData(0, cipher, eletemp, ""))=="") return false;

	if (typeof form2.INIpluginData == "undefined")
	{
		if (ShinHan_plugin) // with for Shinhan Bank
		{
			form2.input.value = INIdata;
			form2.input.name = "INIpluginData"; // for Shinhan Bank
		} else {
			alert("INIpluginData(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
			return false;
		}
	} else {

		form2.INIpluginData.value = INIdata;
	}
   	return true;
}

function EncLink(url, encData, target, style)
{
	var queryString = "INIpluginData=";
	var INIdata;

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	var ver="4,2,0,0";
	if(AddServerTime && EnableFunction(ver)) {
		if(encData!=""){
				encData = "__INIts__=" + obj.GetServerTime(TimeURL) + "&" + encData;
		}
		else{
				encData = "__INIts__=" + obj.GetServerTime(TimeURL);
		}
	}
	encData += "&ClientMacAddr="+ PkiCube_MacAddrInfo();

	if ((INIdata = obj.MakeINIpluginData("0", cipher, encData, ""))=="") return;
	queryString += obj.URLEncode(INIdata);
	if(url.indexOf('?', 0) < 0) url += "?";
	if((url.charAt(url.length-1)!='?') && (url.charAt(url.length-1)!='&')) url += "&";
	url += queryString;

	window.open(url, target, style);
}


function Idecrypt(data)
{
	var decdata = "";
	obj = ModuleInstallCheck();
	if (obj == null) return "";


	if (navigator.appName == 'Netscape')
		decdata = unescape(obj.Decrypt(cipher, data));
	else
		decdata = obj.Decrypt(cipher, data);


	return decdata;
}

function Idecrypt2(data)
{
	obj = ModuleInstallCheck();
	if (obj == null) return "";

	if (navigator.appName == 'Netscape')
		return unescape(obj.Decrypt2(cipher, data));
	else
		return obj.Decrypt2(cipher, data);
}

function EncFormVerify(form)
{
	var INIdata = "";
	var eletemp = "";
	var filetemp = "";
	var Random = TimeURL;

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	filetemp = GatherFileValue(form, 0, true);
	if (filetemp !=  "")
	{
		if ((form.filedata.value = obj.MakeFileData(1, cipher, filetemp)) == "") return false;
	}

	eletemp = GatherValue(form, 0, true);
	if ((INIdata = obj.MakeINIpluginData(1, cipher, eletemp, Random))=="") return false;

	if (typeof form.INIpluginData == "undefined")
	{
		if (ShinHan_plugin) // with for Shinhan Bank
		{
			form.input.value = INIdata;
			form.input.name = "INIpluginData"; // for Shinhan Bank
		} else {
			alert("INIpluginData(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
			return false;
		}
	} else {
		form.INIpluginData.value = INIdata;
	}


   	return true;

}

function EncFormVerify2(form1, form2)
{
	var INIdata = "";
	var eletemp = "";
	var filetemp = "";
	var Random = TimeURL;

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	filetemp = GatherFileValue(form1, 0, false);
	if (filetemp !=  "")
	{
		if ((form2.filedata.value = obj.MakeFileData(1, cipher, filetemp)) == "") return false;
	}

	eletemp = GatherValue(form1, 0, false);
	if((form2.INIpluginData.value = obj.MakeINIpluginData(1, cipher, eletemp, Random))=="") return false;
	if ((INIdata = obj.MakeINIpluginData(1, cipher, eletemp, Random))=="") return false;

	if (typeof form2.INIpluginData == "undefined")
	{
		if (ShinHan_plugin) // with for Shinhan Bank
		{
			form2.input.value = INIdata;
			form2.input.name = "INIpluginData"; // for Shinhan Bank
		} else {
			alert("INIpluginData(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
			return false;
		}
	} else {
		form2.INIpluginData.value = INIdata;
	}

   	return true;
}
function imsi_FormVerify(form1, form2)
{
	var INIdata = "";
	var eletemp = "";
	var filetemp = "";
	var TimeURL = "http://" + window.location.host + "/initech/plugin/tools/Time.asp";
	var Random = TimeURL;

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	filetemp = GatherFileValue(form1, 0, false);
	if (filetemp !=  "")
	{
		if ((form2.filedata.value = obj.MakeFileData(1, cipher, filetemp)) == "") return false;
	}

	eletemp = GatherValue(form1, 0, false);
	if((form2.INIpluginData.value = obj.MakeINIpluginData(1, cipher, eletemp, Random))=="") return false;
	if ((INIdata = obj.MakeINIpluginData(1, cipher, eletemp, Random))=="") return false;

	//add bye wakano 2001/01/29
	if (typeof form2.INIpluginData == "undefined")
	{
		if (ShinHan_plugin) // with for Shinhan Bank
		{
			form2.input.value = INIdata;
			form2.input.name = "INIpluginData"; // for Shinhan Bank
		} else {
			alert("INIpluginData(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
			return false;
		}
	} else {
		form2.INIpluginData.value = INIdata;
	}

   	return true;
}


function EncLinkVerify(url, encData, target)
{
	var queryString = "INIpluginData=";
	var INIdata;
	var Random = TimeURL;

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	if((INIdata = obj.MakeINIpluginData(1, cipher, encData, Random))=="") return;
	queryString += obj.URLEncode(INIdata);

	if(url.indexOf('?', 0) < 0) url += "?";
	if((url.charAt(url.length-1)!='?') && (url.charAt(url.length-1)!='&')) url += "&";

	url += queryString;
	window.open(url, target);
}

function InsertUserCert(cert)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	return obj.InsertUserCert(InitechPackage, "", cert);
}

function InsertUserCert2(cert, storage)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	return obj.InsertUserCert(InitechPackage, storage, cert);
}

function CertRequest(form)
{
	var dn="";
	var temp="";
	len = form.elements.length;

	form.req.value="";
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	for (i = 0; i < len; i++) {

		var name = form.elements[i].name.toUpperCase();
		var temp = form.elements[i].value;
		if(name == "C")	dn = dn + "C=" + obj.URLEncode(temp) + "&";
		if(name == "L")	dn = dn + "L=" + obj.URLEncode(temp) + "&";
		if(name == "O")	dn = dn + "O=" + obj.URLEncode(temp) + "&";
		if(name == "OU") dn = dn + "OU=" + obj.URLEncode(temp) + "&";
		if(name == "CN") dn = dn + "CN=" + obj.URLEncode(temp) + "&";
		if(name == "EMAIL"){
			if(temp=="") temp = " ";
			dn = dn + "EMAIL=" + obj.URLEncode(temp) + "&";
		}

	}

	//alert(InitechPackage);
	//alert(dn);
	//alert(form.challenge.value);
	alert("==>["+form.challenge.value+"]");
	req = obj.CertRequest(InitechPackage, "", dn, form.challenge.value);
	//alert("["+req+"]");

	if(req=="") return false;
	form.req.value = req;
	return true;
}


function CertRequest2(form)
{
	var dn="";
	var temp="";
	len = form.elements.length;

	form.req.value="";

	obj = ModuleInstallCheck();
	if (obj == null) return false;

	for (i = 0; i < len; i++)
	{
		var name = form.elements[i].name.toUpperCase();
		var temp = form.elements[i].value;
		if(name == "C")	dn = dn + "C=" + obj.URLEncode(temp) + "&";
		if(name == "L")	dn = dn + "L=" + obj.URLEncode(temp) + "&";
		if(name == "O")	dn = dn + "O=" + obj.URLEncode(temp) + "&";
		if(name == "OU") dn = dn + "OU=" + obj.URLEncode(temp) + "&";
		if(name == "CN") dn = dn + "CN=" + obj.URLEncode(temp) + "&";
		if(name == "EMAIL")
		{
			if(temp=="") temp = " ";

			dn = dn + "EMAIL=" + obj.URLEncode(temp) + "&";
		}
	}


	req = obj.CertRequest2(InitechPackage, "", dn, form.challenge.value);

	if(req=="") return false;
	form.req.value = req;

	return true;
}

function IssueCertificate(szRef, szCode)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	var Arg = "";
	var challenge = "1111";

	Arg += "REF=";
	Arg += obj.URLEncode(szRef);
	Arg += "&CODE=";
	Arg += obj.URLEncode(szCode);
	Arg += "&CAIP=";
	Arg += obj.URLEncode(YessignCAIP);
	Arg += "&CAPORT=";
	Arg += obj.URLEncode(YessignCMPPort);

	obj.CertRequest(YessignPackage, "", Arg, challenge);
	return true;
}

//´Ù¸¥ CA ·Î ºÎÅÍÀÇ ÀÎÁõ¼­ ¹ß±Þ
function IssueCertificate2(szCAName, szRef, szCode)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	var Arg = "";
	var challenge = "1111";

	Arg += "REF=";
	Arg += obj.URLEncode(szRef);
	Arg += "&CODE=";
	Arg += obj.URLEncode(szCode);
	if (szCAName == "YESSIGN" ) { // ±Ý°á¿ø
		Arg += "&CAIP=";
		Arg += obj.URLEncode(YessignCAIP);
		Arg += "&CAPORT=";
		Arg += obj.URLEncode(YessignCMPPort);

		obj.CertRequest(YessignPackage, STORAGE2, Arg, challenge);

	} else if (szCAName == "CROSSCERT" ) { //ÀüÀÚÀÎÁõ
		Arg += "&CAIP=";
		Arg += obj.URLEncode(CrossCertCAIP);
		Arg += "&CAPORT=";
		Arg += obj.URLEncode(CrossCertCMPPort);

		obj.CertRequest(CrossCertPackage, STORAGE2, Arg, challenge);
	} else if (szCAName == "SIGNKOREA" ) { //Áõ±ÇÀü»ê
		Arg += "&CAIP=";
		Arg += obj.URLEncode(SignKoreaCAIP);
		Arg += "&CAPORT=";
		Arg += obj.URLEncode(SignKoreaCMPPort);

		obj.CertRequest(SignKoreaPackage, STORAGE2, Arg, challenge);
	} else {
		alert(szName + " Àº(´Â) Á¤ÀÇµÇÁö ¾ÊÀº CA±â°üÀÔ´Ï´Ù.");
		return false;
	}

	return true;
}

function UpdateCertificate()
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	var Arg = "";
	var challenge = "1111";

	Arg += "CAIP=";
	Arg += obj.URLEncode(YessignCAIP);
	Arg += "&CAPORT=";
	Arg += obj.URLEncode(YessignCMPPort);

	if(obj.CertUpdate2(YessignPackage, "", Arg)=="")	return false; //Ä³½¬µÈÀÎÁõ¼­»ç¿ë½Ã
	return true;
}

//´Ù¸¥ CA ·ÎÀÇ ÀÎÁõ¼­ °»½ÅÇÏ´Â ÇÔ¼ö
function UpdateCertificate2(szCAName)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	var Arg = "";
	var challenge = "1111";

	if (szCAName == "YESSIGN" ) { // ±Ý°á¿ø
		Arg += "CAIP=";
		Arg += obj.URLEncode(YessignCAIP);
		Arg += "&CAPORT=";
		Arg += obj.URLEncode(YessignCMPPort);

		obj.CertUpdate(YessignPackage, "", Arg);
	} else if (szCAName == "CROSSCERT" ) { //ÀüÀÚÀÎÁõ
		Arg += "&CAIP=";
		Arg += obj.URLEncode(CrossCertCAIP);
		Arg += "&CAPORT=";
		Arg += obj.URLEncode(CrossCertCMPPort);

		obj.CertUpdate(CrossCertPackage, "", Arg);
	} else if (szCAName == "SIGNKOREA" ) { //Áõ±ÇÀü»ê
		Arg += "&CAIP=";
		Arg += obj.URLEncode(SignKoreaCAIP);
		Arg += "&CAPORT=";
		Arg += obj.URLEncode(SignKoreaCMPPort);

		obj.CertUpdate(SignKoreaPackage, "", Arg);
	} else {
		alert(szName + " Àº(´Â) Á¤ÀÇµÇÁö ¾ÊÀº CA±â°üÀÔ´Ï´Ù.");
		return false;
	}

	return true;
}

function InsertCACert(cert)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	obj.InsertCACert(InitechPackage, cert);

	return true;
}

function EncryptedCertRequest(form1)
{
        ShinHan_plugin = true;
    	if(CertRequest(form1)){
        	return EncForm(form1);
    	}
    	return false;
}

function EncCertReq(form1)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	if(CertRequest(form1)) return EncForm(form1);

	return false;

}

function EncCertReq2(form1, form2)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	if(!CertRequest(form1))
		return false;

	return EncForm2(form1, form2);
}

function LoadCACert(CACert)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	obj.LoadCACert(CACert);

	return true;
}

function DeleteUserCert(DelCert)
{
	obj = ModuleInstallCheck();
	if (obj == null) return;

	if (obj.DeleteUserCert(InitechPackage, "", DelCert))
	{
		//alert("ÇØ´ç ÀÎÁõ¼­ »èÁ¦ÇÏ¿´½À´Ï´Ù.");
	}
	else
	{
		//alert("ÇöÀç »ç¿ëÇÏ½Ã´Â ÄÄÇ»ÅÍ¿¡ ÇØ´ç ÀÎÁõ¼­°¡ ¾ø¾î¼­ »èÁ¦ÇÏÁö ¸øÇÏ¿´½À´Ï´Ù.");
	}

	return;
}

function RevokeCertificate(serial)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
	if(obj.DeleteUserCert(YessignPackage, "", serial))
	{
		//alert("ÇØ´ç ÀÎÁõ¼­ »èÁ¦ÇÏ¿´½À´Ï´Ù.");
		return true;
	}
	else
	{
		//alert("ÇöÀç »ç¿ëÇÏ½Ã´Â ÄÄÇ»ÅÍ¿¡ ÇØ´ç ÀÎÁõ¼­°¡ ¾ø¾î¼­ »èÁ¦ÇÏÁö ¸øÇÏ¿´½À´Ï´Ù.");
		return false;
	}

    return  true;
}

function RevokeCertificate2(szCAName, serial)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;

	if (szCAName == "YESSIGN" ) { // ±Ý°á¿ø
		rc = obj.DeleteUserCert(YessignPackage, "", serial);
	} else if (szCAName == "CROSSCERT" ) { //ÀüÀÚÀÎÁõ
		rc = obj.DeleteUserCert(CrossCertPackage, "", serial);
	} else if (szCAName == "SIGNKOREA" ) { //Áõ±ÇÀü»ê
		rc = obj.DeleteUserCert(SignKoreaPackage, "", serial);
	} else {
		alert("Á¤ÀÇµÇÁö ¾ÊÀº CA±â°üÀÔ´Ï´Ù.");
		return false;
	}

	if( rc )
	{
		alert("ÇØ´ç ÀÎÁõ¼­¸¦ »èÁ¦ÇÏ¿´½À´Ï´Ù.");
		return true;
	}
	else
	{
		alert("ÇöÀç »ç¿ëÁßÀÎ ÄÄÇ»ÅÍ¿¡ ÇØ´ç ÀÎÁõ¼­°¡ ¾ø¾î¼­ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù.");
		return false;
	}
}

function SelFile(field)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;

    field.value = obj.SelectFile();
}


function InstallModule(InstallModuleURL)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;
	if(InstallModuleURL=="") return true;
	obj.InstallModule(InstallModuleURL);
	return true;
}

function FilterUserCert(storage, issuerAndSerial)
{
    obj = ModuleInstallCheck();
    if (obj == null) return -1;
	return obj.FilterUserCert(storage, issuerAndSerial);
	//alert('FilterCert');
	//return obj.FilterCert(storage, issuerAndSerial);
}

function URLEncode(data)
{
    obj = ModuleInstallCheck();
    if (obj == null) return "";
	return obj.URLEncode(data);
}

function GetStorageSerial(storage, pin)
{
    obj = ModuleInstallCheck();
    if (obj == null) return "";
	return obj.GetStorageSerial(storage, pin);
}

function IsCheckCard(storage)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
	return obj.IsCheckCard(storage);
}

function VerifyPin(storage, pin)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
	return obj.VerifyPIN(storage, pin);
}

function ChangePIN(storage, oldpin, newpin)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
	return obj.ChangePIN(storage, oldpin, newpin);
}

function EncFile(url, form)
{
	var eletemp = "";
	var filetemp = "";
	var stemp = "";

	obj = ModuleInstallCheck();
	if (obj == null) return false;

	filetemp = GatherFileValue(form, 0, true);

	if (filetemp !=  "")
	{

		if ((form.INIfileData.value = obj.UploadEncryptFile(url, 0, cipher, filetemp, "")) == ""){
			alert("File Upload Fail");
			return false;
		}
	}

	eletemp = GatherValue(form, 0, true);
	if ((form.INIpluginData.value = obj.MakeINIpluginData(0, cipher, eletemp, ""))=="") return false;

   	return true;

}

function EncFile2(url, form, form2)
{
	var eletemp = "";
	var filetemp = "";

	obj = ModuleInstallCheck();
	if (obj == null) return false;

	filetemp = GatherFileValue(form, 0, false);
	if (filetemp !=  "")
	{
		if ((form.INIfileData.value = obj.UploadEncryptFile(url, 0, cipher, filetemp, "")) == ""){
			alert("File Upload Fail");
			return false;
		}
	}

	eletemp = GatherValue(form, 0, false);
	if ((form2.INIpluginData.value = obj.MakeINIpluginData(0, cipher, eletemp, ""))=="") return false;

   	return true;
}

function EncDown(url, args)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;
	return obj.DownloadEncryptFile(url, 0, cipher, args, "");
}

function EncDownVerify(url, args)
{

	obj = ModuleInstallCheck();
	if (obj == null) return false;
	return obj.DownloadEncryptFile(url, 1, cipher, args, TimeURL);
}

function LoadCert(Cert)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;
	return obj.LoadCert(Cert);
}



function InitCache()
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	obj.InitCache();

	return true;
}

function InitPwdCache()
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;
	//ÀÎÁõ¼­ Ä³½¬¸¦ »èÁ¦ÇÏÁö ¾Ê°í Á¦ÃâÃ¢ÀÌ Ç×»ó ¶ç°Ô ÇÒ¶§
	obj.ExtendMethod("ForceCertQuest","CertReplace");

	return true;
}

function SetCacheTime(gap)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	obj.SetCacheTime(gap);

	return true;
}

function ReSession()
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;
	obj.ReSession();
	return true;
}

function SetLogoPath()
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
    return obj.SetLogoPath(LogoURL);
}

function EnableCheckCRL(check)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
    obj.EnableCheckCRL(check);
}

function SetVerifyNegoTime(time1, time2)
{
    obj = ModuleInstallCheck();
    if (obj == null) return false;
    obj.SetVerifyNegoTime(time1, time2);
}

function DisableInvalidCert(check)
{
	obj = ModuleInstallCheck();
	if (obj == null) return false;
	obj.DisableInvalidCert(check);
}

function SetTVBanking(bTV)
{
	var ver = "4, 1, 3, 0";
	if(EnableFunction(ver)) {
		obj = ModuleInstallCheck();
		if (obj == null) return false;
		obj.SetTVBanking(bTV);
	} else {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â Áö¿øÇÏÁö ¾Ê´Â±â´ÉÀÔ´Ï´Ù."
	    msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg) alert(msg);
		return false;
	}
	return true;
}

function GetVersion()
{
	var ver = "4,0,0,0"
    obj = ModuleInstallCheck();
    if (obj == null) return ver;
	return new String(obj.GetVersion());
}

function EnableFunction(inputVersion)
{
	var thisArray = GetVersion().split(',');
    var inputArray = inputVersion.split(',');

	for (i=0; i<4; i++)
	{
		if (parseInt(thisArray[i], 10) > parseInt(inputArray[i], 10))
			return true;
		else if (parseInt(thisArray[i], 10) < parseInt(inputArray[i], 10))
			return false;
	}
	return true;
}

function ManageCert()
{
	obj = ModuleInstallCheck();
	if (obj == null) return;

	obj.ManageCert();
}

function INIAbout()
{
	obj = ModuleInstallCheck();
	if (obj == null) return;
	obj.About();
}

function GetClientUID()
{
	var ver = "4, 5, 0, 0";
	if(EnableFunction(ver)) {
		obj = ModuleInstallCheck();
		if (obj == null) return;
	    return obj.GetClientUID();
	} else {
		var msg;
		//msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â Áö¿øÇÏÁö ¾Ê´Â±â´ÉÀÔ´Ï´Ù."
	    //msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
	    msg = "\n .. °ø»çÁßÀÔ´Ï´Ù... "
		if (EnableMsg) alert(msg);
	}
	return;
}

function MakeTaxData(inform, outform)
{
	var gValue = "";
    var ret  = "";

	len = inform.elements.length;
    outform.INIpluginTax.value="";

    // INIplugin-128 Install Check
    INIpluginObject = ModuleInstallCheck();
    if (INIpluginObject == null) return false;

    for (i = 0; i < len; i++) {
    	var name = inform.elements[i].name;
        var value = INIpluginObject.URLEncode(inform.elements[i].value);
        gValue = gValue + name + "=" + value + "&";
    }

    ret = INIpluginObject.MakeTaxData(gValue);
    if(ret == "" || ret == "CERT_NOT_FOUND") return false;
    outform.INIpluginTax.value = ret;

    return true;
}

function EncMakeTaxData(inform, outform)
{
	if(MakeTaxData(inform, outform)) {
		alert(outform.INIpluginTax.value);
		return EncForm(outform);
	}
	return false;
}

function SaveTaxData(taxData)
{
        // INIplugin-128 Install Check
        INIpluginObject = ModuleInstallCheck();
        if (INIpluginObject == null) return false;
        if(INIpluginObject.SaveTaxData(taxData)) {
                return true;
        } else {
                return false;
        }
}

function SaveTaxData2Clt(pfile, taxData)
{
        // INIplugin-128 Install Check
        INIpluginObject = ModuleInstallCheck();
        if (INIpluginObject == null) return false;
        if(INIpluginObject.SaveTaxData2Clt(pfile, taxData)) {
                return true;
        } else {
                return false;
        }
}

function ManageTax()
{
	INIpluginObject = ModuleInstallCheck();
        if (INIpluginObject == null) return false;
        if(INIpluginObject.manageTax()) {
                return true;
        } else {
                return false;
        }
}

function IniSign(form, data, inputtitle, inputdata)
{
	var ver = "4, 1, 9, 0";
	if(EnableFunction(ver)) {
		INIpluginObject = ModuleInstallCheck();
		if (INIpluginObject == null) return false;

		form.PKCS7SignedData.value = INIpluginObject.IniSign("sha1", data, TimeURL, inputtitle, inputdata);
		if(form.PKCS7SignedData.value=="") return false;
		//alert(PKCS7SignedData);
		return true;
	} else {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀüÀÚ¼­¸í ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg) alert(msg);
		return false;
	}
}

function IniSign2(form, data)
{
	var ver = "4, 1, 9, 0";
	if(EnableFunction(ver)) {
		INIpluginObject = ModuleInstallCheck();
		if (INIpluginObject == null) return false;

		form.PKCS7SignedData.value = INIpluginObject.IniSign2("sha1", data, TimeURL);
		if(form.PKCS7SignedData.value=="") return false;
		return true;

	} else {alert("this");
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀüÀÚ¼­¸í ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		//msg = "\n .. °ø»çÁßÀÔ´Ï´Ù... "
		if (EnableMsg) alert(msg);
		return false;
	}
}

function AddSignValue(data, name, value)
{
	if(data!="") data += "&";
	data += URLEncode(name);
	data += "=";
	data += URLEncode(value);
	return data;
}

function EncLocation(indata)
{
	var	INIdata;
	var s = indata.indexOf('?');
	var url = indata.substring(0, s) + "?INIpluginData=";
	var encData = indata.substring(s+1);

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	var ver="4,2,0,0";
	if(AddServerTime && EnableFunction(ver)) {
		if(encData!=""){
				encData = "__INIts__=" + obj.GetServerTime(TimeURL) + "&" + encData;
		}
		else{
				encData = "__INIts__=" + obj.GetServerTime(TimeURL);
		}
	}

	if( (INIdata = obj.MakeINIpluginData("0", cipher, encData, "")) == "" )
		return;
	url += obj.URLEncode(INIdata);

	return url;
}

/*function EncLocation_url(indata)
{
	var	INIdata;
	var s = indata.indexOf('?');
	var url = indata.substring(0, s) + "?INIpluginData=";
	var encData = indata.substring(s+1);

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	var ver="4,2,0,0";
	if(AddServerTime && EnableFunction(ver)) {
		if(encData!=""){
				encData = "__INIts__=" + obj.GetServerTime(TimeURL) + "&" + encData;
		}
		else{
				encData = "__INIts__=" + obj.GetServerTime(TimeURL);
		}
	}

	if( (INIdata = obj.MakeINIpluginData("0", cipher, encData, "")) == "" )
		return;
	url += obj.URLEncode(INIdata);
	url += url + "&"+indata;
	//alert(url);
	return url;
}*/


function EncLocation_url(indata)
{
	var	INIdata;
	var s = indata.indexOf('?');
	var url = indata.substring(0, s);
	var encData = indata.substring(s+1);
	var plainData = encData;

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	var ver="4,2,0,0";
	if(AddServerTime && EnableFunction(ver)) {
		if(encData!=""){
				encData = "__INIts__=" + obj.GetServerTime(TimeURL) + "&" + encData;
		}
		else{
				encData = "__INIts__=" + obj.GetServerTime(TimeURL);
		}
	}

	if( (INIdata = obj.MakeINIpluginData("0", cipher, encData, "")) == "" )
		return;

	url += "?"+plainData + "&INIpluginData=";
	url += obj.URLEncode(INIdata);

	return url;
}




function AddSignValue(data, name, value)
{
	if(data!="") data += "&";
	data += URLEncode(name);
	data += "=";
	data += URLEncode(value);
	return data;
}

// 2007.03.20 Ãß°¡, Æû µ¥ÀÌÅ¸ ÀüÃ¼¸¦ ¼­¸íÇÒ¶§
function GatherValueForSign(form, start, eraseObjNames)
{
	var strResult = "";
	var name = "";
	var value = "";
	var sel=0;
	var eObjs;

	if(typeof(eraseObjNames)=="string")
		eObjs = eraseObjNames.split(",");
	else
		eObjs = eraseObjNames;

	// INIplugin-128 Install Check
	obj = ModuleInstallCheck();
	if (obj == null) return "";

	len = form.elements.length;
	for(i=start; i<len; i++)
	{
		element = form.elements[i];

		//add to wakano 2002/03/13
		if(element.name=="") continue;
		if(element.name=="INIpluginData") continue;
		if(element.name=="input") continue;
		//add to smgrl 2004/07/16
		if(element.name=="SIGNVALUE") continue;
		if(element.name=="PKCS7SignedData") continue;
		if(element.name=="filedata") continue;
		//add to yhseo 2007/05/27
		if(element.type=="password") continue;
		if(element.name=="ORIGIN_TRXID") continue;
		if(element.name=="ACCOUNT_PWD") continue;
		//add to yhseo 2009/11/06
		if(element.name=="SIGN") continue;

		//add to smgrl 2004/07/16
		if(eObjs!=null){
			var j, eFlag = false;

			for(j=0; j<eObjs.length; j++){
				if(element.name==eObjs[j]){
					eFlag = true;
					break;
				}
			}

			if(eFlag==true)
				continue;
		}

		if ((ShinHan_plugin) && (element.name=="input")) // with for Shinhan Bank
			continue;
		if (!((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")))
			continue;

		if ( ((element.type == "radio") || (element.type == "checkbox")) && (element.checked!=true) )
			continue;
		// File Field´Â SKIPÇÑ´Ù.
		if(form.elements[i].name.indexOf('file_', 0) >= 0) {
			continue;
		}

		if (element.type == "select-one") {
			sel = element.selectedIndex;
			if(sel<0) continue;
			/*
			if (element.options[sel].value != ''){
				value = element.options[sel].value;
			} else {
				value = element.options[sel].text;
			}
			*/
			value = element.options[sel].value;
			// simz ÁÖ¼®Ã³¸®..
			//alert("'"+value+"'");
		} else{
			value = element.value;
		}

		//add to smgrl 2004/06/29
		if(element.type == "select-multiple") {
			var j;

			for(j=0;j<element.options.length;j++){
				if(element.options[j].selected==true){
					if(strResult!="") strResult += "&";
					strResult += element.name;
					strResult += "=";
					strResult += obj.URLEncode(element.options[j].value);
				}
			}
			continue;
		}

		if (strResult!="") strResult += "&";

		// modify brson 2002/06/11 check element.name
		if(element.name!=""){
			strResult += element.name;
			strResult += "=";
			strResult += obj.URLEncode(value);
			//alert(element.name + "/"+ element.type);
			//alert(strResult);
		}
	}
	return strResult;
}

function PKCS7SignedData(form, data, view)
{
	var ver = "4, 1, 14, 0";
	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	if(EnableFunction(ver)) {

		form.PKCS7SignedData.value = obj.PKCS7SignData("sha1", data, TimeURL, view);
		if(form.PKCS7SignedData.value=="") return false;
		return true;

	} else {
		alert("this");
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀüÀÚ¼­¸í ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg)	alert(msg);
		return false;
	}
}

function SignFile(filename)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	return obj.SignFile(filename);
}

function EncryptTo(cert, data)
{
	var ver = "4, 3, 1, 0";
	if(EnableFunction(ver)) {
		obj = ModuleInstallCheck();
		if (obj == null) "";
		return obj.MakeINIpluginData2(cert, 0, cipher, data, "");
	} else {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀÌÁß¾ÏÈ£È­ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg) alert(msg);
		return "";
	}
	return "";
}

function AddValue(data, name, value)
{
	if(data!="") data += "&";
	data += URLEncode(name);
	data += "=";
	data += URLEncode(value);
	return data;
}

function SetProperty(name, value)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";
	return obj.SetProperty(name, value);
}

function makeSK(BSCert, form) {

	var ver = "4, 5, 2, 11";
	if(!EnableFunction(ver)) {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀÌÁß¾ÏÈ£È­ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg) alert(msg);
		return false;
	}

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	if (typeof form.INIencSK == "undefined") {
		alert("INIecnSK(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
		return false;
	}
	form.INIencSK.value = obj.MakeSessionKeyInfo(BSCert, "SEED-CBC");
	return true;
}


function makeSK2(BSCert, form) {

	var ver = "4, 5, 2, 11";
	if(!EnableFunction(ver)) {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀÌÁß¾ÏÈ£È­ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg) alert(msg);
		return false;
	}

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}

	if (typeof form.MstEncSK == "undefined") {
		alert("MstEncSK(form.name)°¡ ÇÊ¿äÇÕ´Ï´Ù.");
		return false;
	}

	form.MstEncSK.value = obj.MakeSessionKeyInfo(BSCert, "SEED-CBC");
	return true;


}

function EncryptToSK(name, form)
{
	var ver = "4, 5, 2, 11";
	if(!EnableFunction(ver)) {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀÌÁß¾ÏÈ£È­ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		if (EnableMsg) alert(msg);
		return false;
	}

	obj = ModuleInstallCheck();
	if (obj == null) {
		alert("¾ÏÈ£È­ÇÁ·¹ÀÓ(secureframe)À» Ã£À»¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	for(var i=0; i<form.elements.length; i++)
	{
		var element = form.elements[i];
		if (element.name == name) {
			element.value = obj.EncryptWithSKInfo2(form.INIencSK.value, element.value);
			return true;
		}
	}

	alert("ÀÌÁß¾ÏÈ£È­ÇÒ form.name(" + name + ")À» Ã£À»¼ö°¡ ¾ø½À´Ï´Ù.");
	return false;
}



function IsCachedCert()
{
	var obj = ModuleInstallCheck();
	if (obj == null) return false;
	return obj.IsCachedCert();
}

function GetCachedCert(name)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";
	return obj.GetCachedCert(name);
}

function CheckCRL(cert)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return false;
	return obj.CheckCRL(cert);
}

function ViewCert(cert)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return;
	obj.ViewCert(cert);
}

//¼±Á¾ Ãß°¡... HTML Encrypt ¿ë...
function setSharedAttribute(name, value){
	obj = ModuleInstallCheck();
	if (obj == null) return false;

	obj.setSharedAttribute(name, value);
	return true;
}

function getSharedAttribute(name){
	obj = ModuleInstallCheck();
	if (obj == null) return null;

	return obj.getSharedAttribute(name);
}

function EncryptFile(sk,file1,file2){

	alert("file1["+file1+"]");
	alert("file2["+file2+"]");

	obj = ModuleInstallCheck();
 	if (obj == null) return null;
 	b64key = obj.Base64(0, sk+'INISAFE NETWORK.');
 	ret = obj.EncryptFile("SEED-CBC", b64key, file1, file2);
 	alert(ret);
  	return ret;

}


//ÆÄÀÏ °æ·Î¸¦ ÀÔ·Â¹Þ¾Æ ÇØ½¬°ª ¸®ÅÏÇØÁÜ.
function FileHash(filepath)
{
	//SetProperty("FileHash", filepath);

	alert("filepath : " + filepath);
	if (obj == null){
		alert("obj load fail");
	}
	else
	{
		return obj.ExtendMethod("FileHash", filepath);
	}
}

// 2007.04.02 for BankTown ¹ðÅ·¼­¹ö E2E Ãß°¡

function E2EInit()
{
    obj = ModuleInstallCheck();
    if (obj == null) return null;

    return obj.E2EInit(KEYVENDOR);
}

function E2ESetKey(enckey2)
{
    obj = ModuleInstallCheck();
    if (obj == null) return null;

    return obj.E2ESetKey(enckey2);
}

function check_name(a){
  if(typeof(check_name_) == "undefined"){
    var e2e_list = '';
  }else{
    e2e_list = check_name_();
  }
  var e2e_f_list = e2e_list.split(',');
  for(i=0;i<e2e_f_list.length;i++){
    if(a==e2e_f_list[i]){
      return true;
    }
  }
  return false;
}

//Å°º¸µå º¸¾È ¸ðµâ ¾÷Ã¼¸í ¼ÂÆÃ
function initKeyBoardModule(){

	SetProperty("E2ECrypt", KEYVENDOR);
	SetProperty("certmanui_securekey", KEYVENDOR);
}

/*
	E2E¿ë Å° ÃÊ±âÈ­
*/
function InitSeal4E2E()
{
		//alert("InitSeal4E2E1");

	var obj = ModuleInstallCheck();
	if (obj == null) return "";
		//alert("InitSeal4E2E2");
	//»õ·Î¿î random°ª »ý¼º
	var rand = (Math.random() * 1000);
			//alert("InitSeal4E2E3");

	obj.setSharedAttribute(E2ESID, rand.toString());
	//alert("InitSeal4E2E4");
}

/*
E2EÀü¿ë
keyStr1 = ½ÇÁ¦ ÇÊµå°ª
keyStr2 = ½ÇÁ¦ ÇÊµå°ª ¶Ç´Â Å°º¸µåº¸¾ÈµÈ ÇÊµå°ª
align = º¹È£È­ÈÄ Á¤·Ä°ª
envelop_count = ENVELOP_DATA°ªÀº Ã³À½ ÇÑ¹ø¸¸ ºÒ·¯ÁÖ¸é µÈ´Ù.
*/
function makeE2EForBt(keyStr1 , keyStr2 , align , envelop_count)
{
	 var e2eMsg="";
	 align = align.toUpperCase();
	 e2eMsg += ("^|BT|^" + "CRYPTO=Y" + ',');

	 e2eMsg += ("DEC_LEN=" + keyStr1.length + ',');

	 e2eMsg += ("PAD=" + ' ' + ',');
	 e2eMsg += ("ALIGN=" + align + ',');
	 //alert("makeE2EForBt ==>keyStr1:"+keyStr1+",keyStr2:"+keyStr2+",align:"+align+",envelop_count:"+envelop_count);
	//if (envelop_count <= 1)
	// {
	   	 //e2eMsg += ("FIELD_SIZE=602" + ',');//E2EµÈ ÀüÃ¼±æÀÌ.ÆÄÀÌ½ã¿£Áø¿¡¼­ »ý¼º

		 //ENVELOP_DATA °ªÀº ÇÏ³ªÀÇ form ¾È¿¡¼­ ¿©·¯°³ÀÇ E2E°ªÀÌ ¹ß»ýÇÒ°æ¿ì
		 //Ã³À½ ÇÑ¹ø¸¸ ³ÖÀ¸ÁÖ¸é µÈ´Ù.
		 var seal4e2e_data = PkiCube_Seal4E2E(doubleCert, keyStr2, INITCHECK);
		 	 //alert("makeE2EForBt ==>seal4e2e_data, "+seal4e2e_data);

		 if ( seal4e2e_data == 'FAIL' || seal4e2e_data == '')
		 	return false;

		 e2eMsg += ("ENVELOP_DATA=" + seal4e2e_data + ',');
  	//}
  	 /*
  	else
  	{
	   //e2eMsg += ("FIELD_SIZE=154" + ',');  // E2EµÈ ÀüÃ¼±æÀÌ.ÆÄÀÌ½ã¿£Áø¿¡¼­ »ý¼º
		 e2eMsg += ("ENVELOP_DATA=" + '' + ','); // 448
		 	 //alert("makeE2EForBt ==>4");

  	}
	*/
	var encrypt4e2e_data = PkiCube_Encrypt4E2E( keyStr2 );
		 //alert("makeE2EForBt ==>6");

	if ( encrypt4e2e_data == 'FAIL' || encrypt4e2e_data == '')
		return false;

	e2eMsg += ("ENC_DATA=" + encrypt4e2e_data + ',');
		 //alert("makeE2EForBt ==>7");

	e2eMsg += ("GSID=" + PkiCube_GetGUID("") + "^|BT|^");
		 //alert("makeE2EForBt ==>8");
	return 	e2eMsg;
}

/*
	E2E¿ë Enveloped Data »ý¼º
	cert : ¼­¹öÃø ÀÎÁõ¼­
	data : ¾ÏÈ£È­ÇÒ µ¥ÀÌÅÍ
	opt : ÃÊ±âÈ­ ¿©ºÎ "INITECH=TRUE" ÀÏ°æ¿ì sid °ª »õ·Î »ý¼ºÇØ¼­ ¾ÏÈ£È­ÇÑ´Ù.
	    : "" ÀÏ°æ¿ì ±âÁ¸ÀÇ sid°ªÀ¸·Î ¾ÏÈ£È­

	return value
		¼º°ø : Enveloped Data
		½ÇÆÐ : ""
*/
function PkiCube_Seal4E2E(cert, data, opt){
	//alert(data);
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	//Å° ÃÊ±âÈ­
	if(opt == "INITCHECK=TRUE")
		InitSeal4E2E();

	if(data)
	{
		var skid = obj.getSharedAttribute(E2ESID);
		//alert("PkiCube_Seal4E2E ==>skid:"+skid+",cert:"+cert+",data:"+data+",opt:"+opt);

		res = obj.ExtendMethod("MakePKCS7EnvelopedData" , AddData(skid) + AddData(cert) + AddData("SEED-CBC") + AddData(data));
		//alert("PkiCube_Seal4E2E res==>4"+res);

		return res;
	}

	return "";
}

/*
	E2E¿ë  Encrypt Data »ý¼º
	data : ¾ÏÈ£È­ÇÒ µ¥ÀÌÅÍ

	return value
		¼º°ø : SEED ¾ÏÈ£È­ µ¥ÀÌÅÍÀÇ Base64 ÀÎÄÚµùµÈ ½ºÆ®¸µ
		½ÇÆÐ : ""
*/

function PkiCube_Encrypt4E2E(data) {
	var obj = ModuleInstallCheck();
	if (obj == null) return "";
	//alert("PkiCube_Encrypt4E2E ==>1");
	var skid = obj.getSharedAttribute(E2ESID);
		//alert("PkiCube_Encrypt4E2E ==>2 skid:"+skid+", data:"+data);

	res = obj.ExtendMethod("EncryptWithSKID", AddData(skid) + AddData("SEED-CBC") + AddData(data));
		//alert("PkiCube_Encrypt4E2E res==>"+res);

	return res;

}
/*
E2EÀü¿ë ¾ÏÈ£È­¿¡ »ç¿ëµÈ ¼¼¼Ç ID°ªÀ» ¾ò´Â´Ù.
ÀÌ ÇÔ¼ö°¡ È£ÃâµÇ±â Àü¿¡ SealForE2E°¡ È£ÃâµÇ¾î¾ß ÇÑ´Ù.
*/

function PkiCube_GetGUID(opt){

	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	var skid = obj.getSharedAttribute(E2ESID);
	return skid;
}

/*
	E2E¿ë  Decrypt Data »ý¼º
	data : SEED ¾ÏÈ£È­ µ¥ÀÌÅÍÀÇ Base64 ÀÎÄÚµùµÈ ½ºÆ®¸µ

	return value
		¼º°ø : º¹È£È­µÈ µ¥ÀÌÅÍ
		½ÇÆÐ : ""
*/
function PkiCube_DecryptForE2E(data)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	var skid = obj.getSharedAttribute(E2ESID);
	//res = obj.DecryptWithSKID(skid, "SEED-CBC", data);
	res = obj.ExtendMethod("DecryptWithSKID", AddData(skid) + AddData("SEED-CBC") + AddData(data));
	return res;
}

/*
	MAC Address ¸¦ »Ì¾Æ¿Â´Ù.
	ÇÑ°³ÀÇ °æ¿ì MAC
	¿©·¯°³ÀÇ °æ¿ì | ·Î ±¸ºÐÇÑ´Ù.
	MAC1|MAC2|MAC3
*/
function PkiCube_MacAddrInfo(){
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	var ret = obj.ExtendMethod("GetMacAddr","");
	return ret;
}

function getEnvE2E123(enc_dt, pw_len, align) {			//ºñ¹Ð¹øÈ£ (Ä¡È¯Å×ÀÌºí)
  var strEnvStr = "";
  strEnvStr = "_E2E123_PAD: ;ALIGN:" + align + ";FIELD_LEN:" + pw_len + ";ORI_DT:;ENC_DT:" + enc_dt + "_/E2E123_";
  return strEnvStr;
}

function getBTPW(enc_dt, pw_len, align) { //¼¼¼ÇÀ¯Áö ºñ¹Ð¹øÈ£
	var strEnvStr = "";
	strEnvStr = "&_BT_PWD_=PAD: ;ALIGN:" + align + ";FIELD_LEN:" + pw_len + ";ORI_DT:;ENC_DT:" + enc_dt + "_/BankTown_";
  return strEnvStr;
}