/*	½ÃÅ¥¾ÆÀÌ´åÄÄ Å¬¶óÀÌ¾ðÆ® ¿ë º¸¾È ¸ðµâ 		*/
/*			2001.11.27 ÀÛ¼ºÀÚ ¾ç Àç¿õ 	*/


//var pluginURL = "/common/secu/SecuiJoinsIE.cab"; //ÇÃ·¯±× ÀÎ URL
//var cabVersion = "#Version=1,0,0,6"; //Plug_IN ¹öÀü

var pluginURL = "/book/include/SecuiJoinsIE.cab"; //ÇÃ·¯±× ÀÎ URL
//var cabVersion = "#Version=1,0,0,5"; //Plug_IN ¹öÀü
var cabVersion = "#Version=4,0,0,4"; //Plug_IN ¹öÀü

var EncALGO = "SEED"; //´ëÄªÅ° ¾ÏÈ£È­ ¾Ë°í¸®Áò
var signALGO = "SHA1"; // ¼­¸í¿ë ÇØ½¬ ¾Ë°í¸®Áò
var signcert = null; //»ç¿ëÀÚ ÀÎÁõ¼­
var signValue = null;


//var serverCert = "-----BEGIN CERTIFICATE-----|";
//serverCert += "MIICazCCAdSgAwIBAgICIpEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCS1Ix|";
//serverCert += "EDAOBgNVBAoTB1NBTVNVTkcxEDAOBgNVBAsTB0dMT05FVFMxDzANBgNVBAMTBkNM|";
//serverCert += "QVNTMTAeFw0wMTAzMTkwNDQ5MzZaFw0wMjAzMTgwNDQ5MzZaMIGBMQswCQYDVQQG|";
//serverCert += "EwJLUjESMBAGA1UEChMJU0VDVUkuQ09NMRAwDgYDVQQLEwdUcnVzdENBMREwDwYD|";
//serverCert += "VQQLEwhUcnVzdFJBMTEMMAoGA1UECxMDU0MyMQwwCgYDVQQLEwNTQzMxHTAbBgNV|";
//serverCert += "BAMTFDY2NWNmMTg2ZTdkMjc2YjllYjcyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB|";
//serverCert += "iQKBgQC6ED0g9iDSKu05qdAUSwMfK/vbWL41vxwV+nRQ9xJeB1a3DPSEee+26iCO|";
//serverCert += "Z/csYI/X7OwFRubbDzd1QwNo8+fjCZCKBlF+RIgJbqNXlpFk+pikyzeqCENXgbPF|";
//serverCert += "BCr50/OPy1pMiagH4QP+uC0IXtIPDYhAvj4S4KDGIAQv7Dor2wIDAQABozAwLjAf|";
//serverCert += "BgNVHSMEGDAWgBQlgr1rDCJNcpHkcwrBHhx2osRNITALBgNVHQ8EBAMCAzgwDQYJ|";
//serverCert += "KoZIhvcNAQEFBQADgYEAkMJUijOxfwRLpmX9EhUlRO5WhIMeduvjqJSLUWG7gPxK|";
//serverCert += "Icz/CPCSi5SGlR8x9ZpY35d+7eJ8nNcohPwEw8PkGNCjTMu25NEat0ZU0IGDypp2|";
//serverCert += "mC99xsfMhDfV9Zzq5tHtk7WYV/oZQR7jzSdEDDMmwegTu0GTngUrXlBYOKAVHQ8=|";
//serverCert += "-----END CERTIFICATE-----";  //¼­¹ö ÀÎÁõ¼­

var serverCert = "-----BEGIN CERTIFICATE-----|MIICazCCAdSgAwIBAgICIpEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCS1Ix|EDAOBgNVBAoTB1NBTVNVTkcxEDAOBgNVBAsTB0dMT05FVFMxDzANBgNVBAMTBkNM|QVNTMTAeFw0wMTAzMTkwNDQ5MzZaFw0wMjAzMTgwNDQ5MzZaMIGBMQswCQYDVQQG|EwJLUjESMBAGA1UEChMJU0VDVUkuQ09NMRAwDgYDVQQLEwdUcnVzdENBMREwDwYD|VQQLEwhUcnVzdFJBMTEMMAoGA1UECxMDU0MyMQwwCgYDVQQLEwNTQzMxHTAbBgNV|BAMTFDY2NWNmMTg2ZTdkMjc2YjllYjcyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB|iQKBgQC6ED0g9iDSKu05qdAUSwMfK/vbWL41vxwV+nRQ9xJeB1a3DPSEee+26iCO|Z/csYI/X7OwFRubbDzd1QwNo8+fjCZCKBlF+RIgJbqNXlpFk+pikyzeqCENXgbPF|BCr50/OPy1pMiagH4QP+uC0IXtIPDYhAvj4S4KDGIAQv7Dor2wIDAQABozAwLjAf|BgNVHSMEGDAWgBQlgr1rDCJNcpHkcwrBHhx2osRNITALBgNVHQ8EBAMCAzgwDQYJ|KoZIhvcNAQEFBQADgYEAkMJUijOxfwRLpmX9EhUlRO5WhIMeduvjqJSLUWG7gPxK|Icz/CPCSi5SGlR8x9ZpY35d+7eJ8nNcohPwEw8PkGNCjTMu25NEat0ZU0IGDypp2|mC99xsfMhDfV9Zzq5tHtk7WYV/oZQR7jzSdEDDMmwegTu0GTngUrXlBYOKAVHQ8=|-----END CERTIFICATE-----"

//ÇÃ·¯±× ÀÎ ·Îµå 
document.writeln('<OBJECT ID="SecuiSS" CLASSID="clsid:6989C944-3529-4DA8-8C60-187E95F580E2" width=0 height=0 ');
document.writeln('CODEBASE='+ pluginURL + cabVersion + ' onError="objectError()">');
document.writeln('</OBJECT>');
	
document.writeln('<OBJECT ID="SecuiTS" CLASSID="clsid:168953DC-731B-4360-8783-072A2B0F894A" width=0 height=0 ');
document.writeln('CODEBASE='+ pluginURL + cabVersion + '>');
document.writeln('</OBJECT>');

/*		
document.writeln('<OBJECT ID="SecuiDS" CLASSID="CLSID:A694EA6D-5973-4B4A-BF0D-F81B1EE0B743" width=10 height=10 ');
document.writeln('CODEBASE='+ pluginURL + cabVersion + '>');
document.writeln('</OBJECT>');	
*/

//¾ÏÈ£È­µÈ µ¥ÀÌÅÍ Àü¼ÛÀ» À§ÇÑ hidden Form Á¤ÀÇ
document.writeln('<form name=secuiform METHOD=POST>');
document.writeln( '<input name=ENCSYMM type=hidden>'); //¾ÏÈ£È­µÈ ´ëÄªÅ°
document.writeln( '<input name=SIGNCERT type=hidden>'); //»ç¿ëÀÚ ÀÎÁõ¼­
document.writeln( '<input name=ENCDATA type=hidden>'); //¾ÏÈ£È­µÈ µ¥ÀÌÅÍ
document.writeln( '<input name=ENCALGO type=hidden>'); //´ëÄªÅ° ¾Ë°í¸®Áò
document.writeln( '<input name=SIGNALGO type=hidden>'); //ÀüÀÚ¼­¸í ÇØ½¬ ¾Ë°í¸®Áò
document.writeln( '<input name=SIGNVALUE type=hidden>'); //ÀüÀÚ¼­¸í°ª
document.writeln('</form>');


// ¼³Ä¡½Ã "No" ¹öÆ°À» ¼±ÅÃÇÏ´Â °æ¿ì³ª, ActiveX °´Ã¼¸¦ È£ÃâÇÏÁö ¸øÇÏ´Â °æ¿ì 2°¡Áö ÀüºÎ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
//<OBJECT ID= ~~~~~~~~ onError="objectError()"> ½ÄÀ¸·Î »ç¿ëÇÔ.
function getCookie(name) {
   var from_idx = document.cookie.indexOf(name+'=');
   if (from_idx != -1) { 
	  from_idx += name.length + 1
	  to_idx = document.cookie.indexOf(';', from_idx) 

	  if (to_idx == -1) {
			to_idx = document.cookie.length
	  }
	  return unescape(document.cookie.substring(from_idx, to_idx))
   }
}

function objectError()
{
	//	var url = "/include/secuiInfo.htm" ;
	//	window.open( url, 'infoWin','width=400,height=300,resizable=yes,scrollbars=yes,status=0') ;

	//self.focus();
	
	window.focus();

	var msg = "";
	msg = msg + "»ï¼º¹Ì¼ú°ü È¨ÆäÀÌÁöÀÇ ÀÏºÎ¸Þ´º¸¦ ÀÌ¿ëÇÏ½Ã·Á¸é \n\n" 
	msg = msg + "ActiveX ControlÀ» Á¤»óÀûÀ¸·Î ¼³Ä¡ÇÏ¿©¾ß ÇÕ´Ï´Ù.\n\n";
	msg = msg + "ActiveX Control¼³Ä¡¸¦ ¹¯´Â Ã¢ÀÌ ¶á ÈÄ '¿¹(Y)'¸¦ Å¬¸¯ÇÏ½Ã¸é \n\n"
	msg = msg + "»ï¼º¹Ì¼ú°ü È¨ÆäÀÌÁö¸¦ Á¤»óÀûÀ¸·Î ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.\n\n\n\n";
	msg = msg + "´Ü, ServicePack2 »ç¿ëÀÚ´Â Ãë¼Ò¸¦ ´©¸£½Å ÈÄ\n\n";
	msg = msg + "ºê¶ó¿ìÀú »ó´Ü ActiveXÄÁÆ®·Ñ ¼³Ä¡ ¿äÃ»¿¡ µû¸¥ ¼öµ¿¼³Ä¡ ÈÄ \n\n";
	msg = msg + "¼­ºñ½º ÀÌ¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.";
	if (confirm(msg))
	{
		window.location.reload() ;
	} else 
	{
		//history.back();
		//location.href ="http://www.samsungwelfare.org" ;
	}
}

//Æû¾ÈÀÇ ¾ÏÈ£È­ÇÒ µ¥ÀÌÅ¸ ÃëÇÕ ´ÜÀÏ ½ºÆ®¸µÀ¸·Î ¸¸µë.
function makeSerialForm(objForm)
{
	var strSerialForm = ""
 	var startFlag = false // '&' ºÐ¸®ÀÚ¸¦ »ðÀÔÇÏ´Â ½Ã±â¸¦ ¾Ë·ÁÁÜ.
 	
	for(i = 0; i < objForm.elements.length; i++) 
	{

		
		if((objForm.elements[i].type != "") && (objForm.elements[i].type != "submit") && (objForm.elements[i].type != "reset") && (objForm.elements[i].type != "button"))
		{

			if(objForm.elements[i].type == "radio" || objForm.elements[i].type == "checkbox")
		        {

				if (objForm.elements[i].checked == true)
				{

					if(startFlag)
					{

						strSerialForm += "&";
					}
					else{

						startFlag = true;}
						
					strSerialForm += objForm.elements[i].name; 

					strSerialForm += "=";

					strSerialForm += SecuiSS.Base64Encode(objForm.elements[i].value);

					//strSerialForm += objForm.elements[i].value;	
				}
			}
			else
			{

				if (startFlag )
					strSerialForm += "&";
				else
					startFlag = true;
						
				strSerialForm += objForm.elements[i].name; 
				strSerialForm += "=";

				
				if (objForm.elements[i].type == "select-one") 
				{

					if (objForm.elements[i].options[objForm.elements[i].selectedIndex].value != '')
						strSerialForm += SecuiSS.Base64Encode(objForm.elements[i].options[objForm.elements[i].selectedIndex].value);
						//strSerialForm += objForm.elements[i].options[objForm.elements[i].selectedIndex].value;
					else
						strSerialForm += SecuiSS.Base64Encode(objForm.elements[i].options[objForm.elements[i].selectedIndex].text);
						//strSerialForm += objForm.elements[i].options[objForm.elements[i].selectedIndex].text;
				}
				else 
				{
					//strSerialForm += objForm.elements[i].value;
					strSerialForm += SecuiSS.Base64Encode(objForm.elements[i].value);
				}
			}
		}
	}
	return strSerialForm;
}
 
//¾ÏÈ£È­
function SecuiEncrypt(plainData)
{
	SecuiSS.GenerateEx(EncALGO, serverCert)
	
	return SecuiSS.EncipherEx(plainData)
}

//º¹È£È­
function SecuiDecrypt(EncData)
{	
	return SecuiSS.DecipherEx(EncData)
}

// Å° »ý¼º
function getSecuiKEYIV()
{
	return SecuiSS.getKEYIV();
}



// ¾ÏÈ£È­µÈ È÷µç°ª Æ÷ÇÔÇÑ °æ¿ì submit
function HiddenSecuiSubmit(objForm, srvAction, type) {
	var strName, temp;
	
	for(i = 0; i < objForm.elements.length; i++) 
	{
		if((objForm.elements[i].type == "hidden"))
		{
			strName = objForm.elements[i].name
			temp = SecuiDecrypt(objForm.elements[i].value)
			objForm.elements[i].value = temp;
		}

	}
		
	SecuiSubmit(objForm, srvAction, type);

}

// target ÁöÁ¤ submit
function TargetSecuiSubmit(form, srvAction,type,formTarget) {

	secuiform.target = formTarget;
	SecuiSubmit(form, srvAction,type)

}


//¾ÏÈ£È­µÈ µ¥ÀÌÅ¸ÀÇ ¼­¹ö Àü¼Û
function SecuiSubmit(form, srvAction,type)
{
	//form: ´ë»ó Æû
	//srvAction : ¼­¹ö ¾×¼Ç 
	//type : 1 - key »ý¼º
	//       2 - key »ý¼º ¾ÈÇÔ
	var plainText
	var encText
	var encSymmKey
	var signValue

	
	plainText = makeSerialForm(form)

	if (type == "1")
	{
		encText = SecuiEncrypt(plainText) ;
	} else 
	{
		encText = SecuiSS.EncipherEx(plainText) ;
	}

	if (plainText != null && plainText != "")
	{
		if (encText == null || encText == "")
		{
			alert("¾ÏÈ£È­ ½ÇÆÐ!!!");
			return;
		}
	}
	encSymmKey = SecuiSS.getKEYIV()

	
//	alert("¿ø·¡ ÆÄ¶ó¹ÌÅÍ : " + plainText)
//	alert("¾ÏÈ£È­µÈ ÆÄ¶ó¹ÌÅÍ : " + encText)
//	alert("Key°ª : " + encSymmKey)
//	alert("º¹È£È­ÇÑ ÆÄ¶ó¹ÌÅÍ : " + SecuiDecrypt(encText))

/*
	document.writeln(encText)
	document.writeln(encSymmKey)
	document.writeln(signcert)
*/	
	secuiform.ENCDATA.value = encText
	secuiform.ENCSYMM.value = encSymmKey
	secuiform.ENCALGO.value = EncALGO

	secuiform.action = srvAction

secuiform.submit()
}


// ÆÄÀÏÀ» ¾ÏÈ£È­ÇÏ¿© Àü¼Û
function SecuiFileSubmit(form, srvAction)
{
	var filenum

	for(i=0;i<form.elements.length;i++)
	{
		if(form.elements[i].type == "file")
		{
			filenum = i 
		}
	}

	var strFile = form.elements[filenum].value ;
	//strFile = "E:\\Temp\\test.htm" ;
	
	if (strFile != "")
	{	alert(strFile) ;
		ret = SecuiSS.EncipherFile(strFile, serverCert)
	}

	alert (ret);

	if(ret != 0)
	{
		alert(SecuiSS.GetErrorString())
		return
	}


form.elements[filenum].value = strFile
strFilename = form.elements[filenum].value+".secui"
form.elements[filenum].value = strFilename

alert (strFilename) ;
alert (form.elements[filenum].value) ;

	form.action = srvAction
	form.submit()
}

// ÆÄÀÏ ÀÌ¸§À» º¯°æ
function change()
{
	SecuiSS.RecoverFile()
}
