var addFields;
var nProtectJS;
var certSubjectDN;
var certIssuerDN;
var certSerialNM;

    
function createForm(nm,mt) {
    var f=document.createElement("form");
    f.name=nm;
    f.method=mt;
    return f;
}

function addHidden(f,n,v) {
    var i=document.createElement("input");
    i.type="text";
    i.name=n;
    i.value=v;
    f.insertBefore(i);
    return f;
}

/* ¿¡·¯¿ë INIpluginData Æû »ý¼º */
function E2E_ERRINIpluginData(oForm, oHiddenNm) {
    /*
    var frm=createForm("sendForm", "post");
    frm=addHidden(frm, "INIpluginData", "");
    document.insertBefore(frm);
    */
    var formNM_NM = oForm.name;
	var inputNM   = eval("document."+formNM_NM+"."+oHiddenNm+"");
    
	if(inputNM==undefined || inputNM=="undefined" || inputNM==null) {
		var oInputHidden = document.createElement("<input type=\"hidden\" name="+ oHiddenNm +">");
		oForm.appendChild(oInputHidden);
	}
}

/* INIpluginData Æû »ý¼º */
function E2E_INIpluginData() {
    
    
    //var oForm = document.createElement("<form name=\"sendForm\"></form>");
    var oForm = document.createElement("<form name=\"sendForm\" style=\"display:none\"></form>");
    oForm.method = "post";
    
    var oInputHidden = document.createElement("<input type=\"hidden\" name=\"INIpluginData\">");
    oForm.appendChild(oInputHidden);
    //oForm.appendChild(nProtectJS);
    //oForm.appendChild(oFormEnd);
    
    
    document.body.appendChild(oForm);
    
    
    /*
    var oScr = document.createElement('script');
    oScr.type = 'text/javascript';
    oScr.src = nProtectJS;
    
    document.getElementsByTagName("head")[0].appendChild(oScr);
*/
    
    //var externalScript  = document.createElement('script'); 
    
//if(document.all.item("NPKXSite")==null || document.all.item("NPKXSite")==undefined) {
    //document.body.appendChild(externalScript); 
//    document.getElementsByTagName("head")[0].appendChild(externalScript); 
//    externalScript.setAttribute('src', nProtectJS);
    
//    alert(document.all.item("NPKXSite").length);
//}

    //var frm=createForm("frmlogon", "post");
    //frm=addHidden(frm, "INIpluginData", "11");
    //document.body.insertBefore(frm);
}

/* È®Àå E2E Àû¿ë ÇÊµå Setting */
function E2E_Hidden(formNM) {   
    E2E_INIpluginData();
 //alert("1");
    var InHiddenText = new Array();
    var addFieldsValue = new Array();
    var formNM_NM = formNM.name;
    var addMaxlength;
    var addMaxlengthVal;
    var objMaxlength;

 //alert("2");
    if(addFields!=undefined && addFields!="" && addFields!=null) {
        for (ii=0;ii<addFields.length;ii++) {
            addMaxlengthVal = "";
            
            if( eval("document."+formNM_NM+"."+addFields[ii]+"") == null || eval("document."+formNM_NM+"."+addFields[ii]+"") == undefined )
                continue;
            
            //  e2e Àû¿ë ´ë»ó maxlegnth °¡Á®¿À±â
            addMaxlength = eval("document."+formNM_NM+"."+addFields[ii]+"").getAttribute("maxLength");
            
            // e2e Àû¿ë ´ë»óÀÇ hidden ÇÊµåÀÇ maxlength ±¸ÇÏ±â (´ë»óÇÊµå * 24)
			if (addMaxlength != null && (addMaxlength > 0 && eval(addMaxlength) != "2147483647")) {
               addMaxlengthVal = addMaxlength * 24;     
               objMaxlength = " maxlength="+ addMaxlengthVal +"" ;
               
              // alert(eval("document."+formNM_NM+"."+addFields[ii]+"").name+"="+addMaxlength +"//"+objMaxlength);
			}
			    
            addFieldsValue[ii] = eval("document."+formNM_NM+"."+addFields[ii]+"");
            addFieldsValue[ii].value = "";
            InHiddenText[ii] = document.createElement("<input type=\"hidden\" name=_ExtE2E123_"+ addFields[ii] +""+ objMaxlength +">");
            formNM.appendChild(InHiddenText[ii]);
            SetIncaExtbyName(formNM,  addFields[ii], "_ExtE2E123_"+ addFields[ii], 0);
        }
    }
    
    SetProperty('GetDevSNInfo' , 'true' ); //ÀÎÁõ¼­ ½Ã¸®¾ó ÃßÃâ
    SetProperty('GetExhibitionCertStoreInfo','TRUE'); //ÀÎÁõ¼­ ¸ÅÃ¼ ÃßÃâ
}



function E2E_Submit(readForm) {
    //alert(readForm.action + "///////////");
    
    if(document.sendForm == undefined) {
        alert("INIpluginData°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
        history.back();
    } else {
        var sendForm = document.sendForm;
        sendForm.action = readForm.action;
        if(readForm.target==""||readForm.target==null) {
            readForm.target = "_self";
        }
        sendForm.target = readForm.target;
        
        //À×Ä«ÂÊ ½ºÅ©¸³Æ® Ã¼Å© Ãß°¡
        if(addFields!=undefined && addFields!="undefined" ) {
           // alert(addFields.length);
            check_e2e_Seed(readForm);
        }
        
        E2E_CheckSendForm(readForm, sendForm);
    }
}

function E2E_PopSubmit(readForm) {
    //alert(readForm.action + "///////////");
    
    if(opener.document.sendForm == undefined) {
        alert("INIpluginData°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
        history.back();
    } else {
        var sendForm = opener.document.sendForm;
        sendForm.action = readForm.action;
        E2E_CheckSendForm(readForm, sendForm);
    }
}

function E2E_CheckSendForm(readForm, sendForm){
    //alert(sendForm.INIpluginData.value);
	if (EncForm2(readForm, sendForm)) {		
	    sendForm.submit();
        return false;
    } else {
        alert("º¸¾È»ó ¹®Á¦°¡ »ý°Ü Àü¼ÛÀÌ Ãë¼Ò µÇ¾ú½À´Ï´Ù.");
    }
    return false;
}


function E2E_Submit2(sendForm) {
    if(typeof sendForm.INIpluginData == "undefined" || typeof sendForm.INIpluginData == undefined) {
        E2E_ERRINIpluginData(sendForm, 'INIpluginData');
    }
    
    sendForm.method="post";
    
    if(typeof sendForm.INIpluginData == "undefined" || typeof sendForm.INIpluginData == undefined) {
        alert("INIpluginData°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
        history.back();
    } else {
        E2E_CheckSendForm2(sendForm);
    }
}

function E2E_CheckSendForm2(sendForm){
    //alert(sendForm.INIpluginData.value);
	if (EncForm(sendForm)) {	      
		  sendForm.submit();
        return false;
    } else {
        alert("º¸¾È»ó ¹®Á¦°¡ »ý°Ü Àü¼ÛÀÌ Ãë¼Ò µÇ¾ú½À´Ï´Ù.");
    }
    return false;
}

function E2E_PKCS7SignedData(readForm, data, sendFrm, flag){

    SetProperty("certmanui_SelectCertUIMode","list");       //2010-11-01 ÀÎÁõ¼­ ¼±ÅÃÃ¢ º¯°æ

	InitCache(); //Ä³½ÃµÈ ÀÎÁõ¼­ »èÁ¦
	
	sendForm.action = sendFrm;
	
	if(readForm.target==""||readForm.target==null) {
	  readForm.target = "_self";
	}
	sendForm.target = readForm.target;
	
	var _DevType = GetPluginDev();
	
	//alert(getStorageSerial());
	if(LOGIN_USER_TC!="10") {
	    if(getStorageSerial()=="") {
	        alert("USB³ª ½º¸¶Æ®Ä«µå°¡ ²ÈÇô ÀÖÁö ¾Ê°Å³ª ÀÎ½ÄÇÒ ¼ö ¾ø½À´Ï´Ù.");
	        return false;
	    }
	}
	
	var _DevFilterType = "";
	
	if(LOGIN_MEDIA == undefined || LOGIN_MEDIA == "null" || LOGIN_MEDIA == "") {
		if(_DevType == "unknown" || _DevType == null) {
			_DevFilterType = "HDD|FDD|PHONE";
		}else {
			_DevFilterType = _DevType;
		}
	} else {
		if(LOGIN_MEDIA == "unknown") {
			_DevFilterType = "HDD|FDD|PHONE";
		}else {
			_DevFilterType = LOGIN_MEDIA;
		}
			
	}
	
	if(certIssuerDN != undefined && certIssuerDN != "") {
		var filter = "IssuerDN=" + URLEncode(certIssuerDN) +  "&" + "SerialNumber=" + URLEncode(certSerialNM) ;		
		FilterCert(_DevFilterType, filter);
	}
	
	if(flag == undefined) {
		flag = true;
	}
	var PKC_Result = PKCS7SignedData(readForm, data, flag);
		
	if(PKC_Result) {
		if(EncFormVerify2(readForm, sendForm)){
		    
        	if(LOGIN_USER_TC!="10") {
        	    if(getStorageSerial()=="") {
        	        alert("USB³ª ½º¸¶Æ®Ä«µå°¡ ²ÈÇô ÀÖÁö ¾Ê°Å³ª ÀÎ½ÄÇÒ ¼ö ¾ø½À´Ï´Ù.");
        	        return false;
        	    }
        	}
			sendForm.submit();
            return true;
		} else {
            return false;
		}
	} else {
		  alert("º¸¾È»ó ¹®Á¦°¡ »ý°Ü Àü¼ÛÀÌ Ãë¼Ò µÇ¾ú½À´Ï´Ù.");
	    return false;
    }
}


function E2E_MultiSignedData(readForm, data, cnt, flag){
	var ret;
	
	InitCache(); //Ä³½ÃµÈ ÀÎÁõ¼­ »èÁ¦
	
	if(readForm.target==""||readForm.target==null) {
	  readForm.target = "_self";
	}
	sendForm.target = readForm.target;
	sendForm.action = readForm.action;
	
	var _DevType = GetPluginDev();
	
	//alert(getStorageSerial());
	if(LOGIN_USER_TC!="10") {
	    if(getStorageSerial()=="") {
	        alert("USB³ª ½º¸¶Æ®Ä«µå°¡ ²ÈÇô ÀÖÁö ¾Ê°Å³ª ÀÎ½ÄÇÒ ¼ö ¾ø½À´Ï´Ù.");
	        return false;
	    }
	}
	
	var _DevFilterType = "";
	
	if(LOGIN_MEDIA == undefined || LOGIN_MEDIA == "null" || LOGIN_MEDIA == "") {
		if(_DevType == "unknown") {
			_DevFilterType = "HDD|FDD|PHONE";
		}else {
			_DevFilterType = _DevType;
		}
	}else {
		if(LOGIN_MEDIA == "unknown") {
			_DevFilterType = "HDD|FDD|PHONE";
		}else {
			_DevFilterType = LOGIN_MEDIA;
		}
			
	}

	if(certIssuerDN != undefined && certIssuerDN != "") {
		var filter = "IssuerDN=" + URLEncode(certIssuerDN) +  "&" + "SerialNumber=" + URLEncode(certSerialNM) ;		
		//alert(filter);
		FilterCert(_DevFilterType, filter);
	}
	
	if(flag == undefined) {
		flag = true;
    }
    
    if(cnt == undefined) {
        cnt = 0;
    }
    
    /** 2012-01-01 ÀüÀÚ¼­¸í ¿ø¹® ¾Èº¸ÀÌ°Ô ¼³Á¤. list ·Î ¼³Á¤½Ã ¹«Á¶°Ç ÀÎÁõ¼­Á¦ÃâÃ¢ÀÌ Ãâ·ÂµÊ */
    SetProperty("certmanui_SelectCertUIMode","no");
    if(cnt > 0 || cnt != undefined) {
        for(ii=0;ii<cnt;ii++) {
           ret = MultiPKCS7SignedData(readForm, data[ii], flag, ii);
           if (!ret) return false;
        }
    }
    
    if( ret ) {
       if(EncFormVerify2(readForm, sendForm)){
        
        	if(LOGIN_USER_TC!="10") {
        	    if(getStorageSerial()=="") {
        	        alert("USB³ª ½º¸¶Æ®Ä«µå°¡ ²ÈÇô ÀÖÁö ¾Ê°Å³ª ÀÎ½ÄÇÒ ¼ö ¾ø½À´Ï´Ù.");
        	        return false;
        	    }
        	}
           sendForm.submit();
            return true;
       } else {
            return false;
       }
    } else {
		alert("º¸¾È»ó ¹®Á¦°¡ »ý°Ü Àü¼ÛÀÌ Ãë¼Ò µÇ¾ú½À´Ï´Ù.");
	    return false;
    }
}


/**
*	ÀÏ¹Ý ÆË¾÷À» ¶ç¿ì´Â ÇÔ¼ö
* strForm    : submitÇÒ form ÀÌ¸§
* strTarget  : Å¸°Ù¸í
* strUrl     : action url
* strStyle   : ÆË¾÷ ½ºÅ¸ÀÏ
*/
function E2E_PopOpen(strForm, strTarget, strUrl, strStyle){
	//ÆË¾÷Ã¢ÀÌ Ç×»ó °¡¿îµ¥¿¡ È­¸é °¡¿îµ¥¿¡ ¶ßµµ·Ï ¼öÁ¤
	var sVal = strStyle.split(",");
	var tmpWidth = "";
	var tmpHeight = "";
	var tmpStr = "";
	for(i = 0 ; i < sVal.length ; i++) {
		tmpStr = ib_trim(sVal[i]).toLowerCase();

		if(tmpStr.indexOf("width=") >= 0) {
			tmpWidth = tmpStr.substring(tmpStr.indexOf("=")+1);
		}
		if(tmpStr.indexOf("height=") >= 0) {
			tmpHeight = tmpStr.substring(tmpStr.indexOf("=")+1);
		}
	}
	if(tmpWidth != "" && tmpHeight != "") {
		var nLeft  = screen.width/2 - tmpWidth/2 ;
		var nTop   = screen.height/2 - tmpHeight/2 ;
		strStyle = "left=" + nLeft + ",top=" +  nTop + "," + strStyle;
	}
	
	window.open("", strTarget, strStyle);
	strForm.target = strTarget;
	strForm.action = strUrl;
	E2E_Submit2(strForm);
}

/**
*	ÀÏ¹Ý ÆË¾÷À» ¶ç¿ì´Â ÇÔ¼ö
* strForm    : submitÇÒ form ÀÌ¸§
* strTarget  : Å¸°Ù¸í
* strUrl     : action url
* strStyle   : ÆË¾÷ ½ºÅ¸ÀÏ
*/
function E2E_PopOpen2(strForm, strTarget, strUrl, strStyle){
	
	var sVal = strStyle.split(",");
	var tmpWidth = "";
	var tmpHeight = "";
	var tmpStr = "";
	for(i = 0 ; i < sVal.length ; i++) {
		tmpStr = ib_trim(sVal[i]).toLowerCase();

		if(tmpStr.indexOf("width=") >= 0) {
			tmpWidth = tmpStr.substring(tmpStr.indexOf("=")+1);
		}
		if(tmpStr.indexOf("height=") >= 0) {
			tmpHeight = tmpStr.substring(tmpStr.indexOf("=")+1);
		}
	}
	if(tmpWidth != "" && tmpHeight != "") {
		var nLeft  = screen.width/2 - tmpWidth/2 ;
		var nTop   = screen.height/2 - tmpHeight/2 ;
		strStyle = "left=" + nLeft + ",top=" +  nTop + "," + strStyle;
	}
	
	window.open("", strTarget, strStyle);
	strForm.target = strTarget;
	strForm.action = strUrl;
	E2E_Submit(strForm);
}

function ib_trim(str){
    return str.replace(/(^\s*)|(\s*$)/g,"");
}


/**
*	´Ü¼ø¸µÅ© ÇÔ¼ö
* strUrl     : action url
*/
function E2E_Location(strUrl){
    location.href=EncLocation(strUrl);
}

function E2E_HiddenData(oForm, oHiddenNm, oHiddenVal) {
    var oInputHidden = document.createElement("<input type=\"hidden\" name="+ oHiddenNm +" value="+ oHiddenVal +">");
    oForm.appendChild(oInputHidden);
}
<!-- È«¼öÁø ÀÓ½Ã -->
function E2E_PKCS7SignedData2(readForm){
		InitCache();
		if (EncFormVerify2(readForm,sendForm)) {
			document.sendForm.submit();
		} else {
			alert("º¸¾È»ó ¹®Á¦°¡ »ý°Ü Àü¼ÛÀÌ Ãë¼Ò µÇ¾ú½À´Ï´Ù.");
		}
}

// ²ÈÇôÀÖ´Â ¸ÅÃ¼ °¡Á®¿À±â
function getStorage() {
    var storage = GetPluginDev();
    return stroage;
}

// ²ÈÇôÀÖ´Â ¸ÅÃ¼ ½Ã¸®¾ó °¡Á®¿À±â
function getStorageSerial() {
    var storage = GetPluginDev();
    var storageSerial = GetSerial(storage);
    return storageSerial;
}

// ²ÈÇôÀÖ´Â ¸ÅÃ¼ ½Ã¸®¾ó °¡Á®¿À±â
function getKDBSerial() {
    var storage = GetPluginDev();
    var storageSerial = GetSerial(storage);
    return storageSerial;
}

// ÇÉ¹øÈ£ °ËÁõ
function verifyPinStorage(obj) {
    //alert("obj = "+ obj);
    var storage = GetPluginDev();
    if (storage == "" || storage == null || storage == "unknown") {
       alert("USB¶Ç´Â ½º¸¶Æ®Ä«µå°¡ ¿¬°áµÇÁö ¾Ê¾Ò½À´Ï´Ù.");
       return;
    } 
    
    if(storage == "SCARD") {
        //½º¸¶Æ®Ä«µå¹øÈ£°ËÁõ·ÎÁ÷
    } else {
        //alert(PinVerifyUI(storage));
        return PinVerify(obj);
    }
}

// À×Ä«ÂÊ Ã¼Å© ÇÔ¼ö
function check_e2e_Seed(frm) { 
	var seedLength; 
    
	if (typeof frm._ETEExt_SEED_ == "undefined") { 
       //alert("¾ÏÈ£È­ Å°¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù."); 
       alert("¾ÏÈ£È­ Å°¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù.\n http://www.kdb.co.kr ÆÄÀÏ´Ù¿î·Îµå ÀÌµ¿ÈÄ Å°º¸µå ÇØÅ·¹æÁö º¸¾ÈÇÁ·Î±×·¥ ¼öµ¿¼³Ä¡ÆÄÀÏ \n ¼³Ä¡ÇÏ¿© ÁÖ½Ê½Ã¿À."); 
       location.reload();
	} else { 
            if (frm._ETEExt_SEED_.value == null || frm._ETEExt_SEED_.value == "") { 
             //alert("¾ÏÈ£È­ Å°¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù.");
             alert("¾ÏÈ£È­ Å°¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù.\n http://www.kdb.co.kr ÆÄÀÏ´Ù¿î·Îµå ÀÌµ¿ÈÄ Å°º¸µå ÇØÅ·¹æÁö º¸¾ÈÇÁ·Î±×·¥ ¼öµ¿¼³Ä¡ÆÄÀÏ \n ¼³Ä¡ÇÏ¿© ÁÖ½Ê½Ã¿À."); 
             location.reload();
	       } else {
                  seedLength = frm._ETEExt_SEED_.value.length; 
                  if ( (seedLength % 4) != 0 ) {
					 //alert("¾ÏÈ£È­ Å°¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù."); 
					 alert("¾ÏÈ£È­ Å°¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù.\n http://www.kdb.co.kr ÆÄÀÏ´Ù¿î·Îµå ÀÌµ¿ÈÄ Å°º¸µå ÇØÅ·¹æÁö º¸¾ÈÇÁ·Î±×·¥ ¼öµ¿¼³Ä¡ÆÄÀÏ \n ¼³Ä¡ÇÏ¿© ÁÖ½Ê½Ã¿À."); 
                     location.reload();
				  } else { 
					 return true; 
	              } 
	       } 
    } 
}

function E2E_clrFld(obj) {
	obj.value = "";
}
