var TouchEnKey_CLSID="clsid:6CE20149-ABE3-462E-A1B4-5B549971AA38";
var TouchEnKey_CODEBASE_x64= "http://dn.softsecurity.co.kr/TouchEnKey/gangbuk/TouchEnKey3100_64k.cab";
var TouchEnKey_CODEBASE_x86= "http://dn.softsecurity.co.kr/TouchEnKey/gangbuk/TEPack.cab";

//var TouchEnKey_CODEBASE_x86= "http://dn.softsecurity.co.kr/TouchEnKey/gangbuk/TouchEnKey3100_32k.cab";

var TouchEnKey_VERSION="version=3,1,0,0";
var USING_TouchEnKey = "1";
var USING_CUSTOM_IMAGE = 1;
var CUSTOM_IMAGE_URL = "http://dn.softsecurity.co.kr/TouchEnKey/gangbuk/gangbuk_popup_img.bmp|77119C1ECAACEF2F4ADDA5801DBE45168DADE318|8098D88C193F59D44C29D9BA2604C669EE5471F8E26EB6432B005A0DE042F4222B441F35C3768DD2A22CEB86A5CB08C7307A47624F4D3670A22407E4731169551F434535A476722268F7357C5C60A0C0E646A8C5FE56FEA563BF38BED1996E75B29705350314AE86F1015FCB8B7B6EE0AFCA5016F8B8852E062D735810097721";

if (USING_TouchEnKey == "1") {
		var Str="";
		Str+= '<object classid="' + TouchEnKey_CLSID + '"';
		if(navigator.cpuClass.toLowerCase() == "x64")	{
			Str+= '\n\t codebase="' + TouchEnKey_CODEBASE_x64 + '#' + TouchEnKey_VERSION + '"';
		}	else {
			Str+= '\n\t codebase="' + TouchEnKey_CODEBASE_x86 + '#' + TouchEnKey_VERSION + '"';
		}
		Str+= '\n\tvspace="0" hspace="0" width="0" id="TouchEnKey" style="display:none;">';
		Str+= '\n\t <PARAM name="PKI" value="Simple">';
		Str+= '\n\t <PARAM name="DefaultEnc" value="Off">';
		
		Str+= '\n\t <PARAM name="ReportDataTypeMismatch" value="script">';
		Str+= '\n\t <PARAM name="DefaultPaste" value="off">';
		//Str+= '\n\t <PARAM name="ClearBufferOnEmpty" value="true">';
		//Str+= '\n\t <PARAM name="AllowDuplicates" value="true">';
		if(USING_CUSTOM_IMAGE)
			Str+= '\n\t <PARAM name="ImageURL" value="' + CUSTOM_IMAGE_URL + '">';

		Str+= '</object>';
		document.write(Str);
} 
/*else if (navigator.appName.indexOf("Netscape")!=-1) {
		USING_CKKeyPro = "0";
		alert("ÇöÀç °í°´´Ô²²¼­´Â ¼³Ä¡ ºÒ°¡´ÉÇÑ ½Ã½ºÅÛÀ» »ç¿ëÇÏ°í °è½Ê´Ï´Ù.\n\nTouchEnKey¸¦ »ç¿ëÇÏ½Ã·Á¸é Windows 95ÀÌ»ó \n\nInternet Explorer 5.5ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.");
}

*/


//°í°´ÀÌ pressÇÑ Å°¿¡ ´ëÇÑ type ÇÑ±Û·Î º¯È¯
function typeCheckSave(type)
{
	var tempPressKey;

	if(type == "alpha")				tempPressKey = "¿µ¹®";
	else if(type == "num")			tempPressKey = "¼ýÀÚ";
	else if(type == "special")		tempPressKey = "Æ¯¼ö¹®ÀÚ";
	else if(type == "space")		tempPressKey = "½ºÆäÀÌ½º";

	return tempPressKey;
}

//alert print after datatype check
function onCharTypeCheck(type, datatypeName, obj)
{
	var typeKoreanSave = typeCheckSave(type);
	//don't use mask keyword in html
	if(obj.mask == null || typeof(obj.mask) == "undefined")
		alert(typeKoreanSave + "¸¦ ´©¸£¼Ì½À´Ï´Ù.\nÀÌ ÇÊµå´Â " + datatypeName + "¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");	
	//have mask keyword in html
	else
		alert(typeKoreanSave + "¸¦ ´©¸£¼Ì½À´Ï´Ù.\nÀÌ ÇÊµå´Â " + datatypeName + "¿Í(°ú) [" + obj.mask + "] ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");	
}

//µ¥ÀÌÅÍÅ¸ÀÔ ¹Ì½º ¸ÅÄ¡½Ã È£Ãâ
function CKKeyPro_DataTypeMismatch(frm,ele,type)
{
	var datatypeName;
	var	tempDatatype = document.forms[frm].elements[ele].datatype;	//ºñ±³À§ÇØ datatype ÀúÀå
	var obj = document.forms[frm].elements[ele];	//save element

	if(tempDatatype == "numeric" || tempDatatype == "n" || tempDatatype == "digit" || tempDatatype == "d" )	{
		datatypeName = "¼ýÀÚ";	//datatypeÀÇ ÇüÅÂ¸¦ ÀúÀå
		onCharTypeCheck(type, datatypeName, obj);
	}
	else if(tempDatatype == "alpha" || tempDatatype == "a")	{
		datatypeName = "¿µ¹®";	//datatypeÀÇ ÇüÅÂ¸¦ ÀúÀå
		onCharTypeCheck(type, datatypeName, obj);
	}
	else if(tempDatatype == "alphanumeric" || tempDatatype == "an")	{
		datatypeName = "¼ýÀÚ¿Í ¿µ¹®";	//datatypeÀÇ ÇüÅÂ¸¦ ÀúÀå
		onCharTypeCheck(type, datatypeName, obj);
	}
	else if(tempDatatype == "email" || tempDatatype == "e" || tempDatatype == "mail" || tempDatatype == "m")	{
		datatypeName = "ÀÌ¸ÞÀÏ [¼ýÀÚ, ¿µ¹®, -, _, ., @]";	//datatypeÀÇ ÇüÅÂ¸¦ ÀúÀå
		onCharTypeCheck(type, datatypeName, obj);
	}
	else if(tempDatatype == "currency" || tempDatatype == "c" || tempDatatype == "money" || tempDatatype == "won")	{
		datatypeName = "±Ý¾×";	//datatypeÀÇ ÇüÅÂ¸¦ ÀúÀå
		onCharTypeCheck(type, datatypeName, obj);
	}
}





function XecureCK_UIEevents(frm,ele,event,keycode) {
	var obj;
	var eventObj;

	try{
		obj = document.activeElement;
		if( document.createEventObject ) {
			eventObj = document.createEventObject();
			eventObj.keyCode=keycode;
			if(obj)	{
				obj.fireEvent(event,eventObj);
			}
		}
	}
	catch(e) {}
}

function TouchEnKey_ReScan() {
	if(document.TouchEnKey==null || typeof(document.TouchEnKey) == "undefined" || document.TouchEnKey.object==null)	{
		return;
	}
	document.TouchEnKey.ReScanDocument();
}

function HaveControl_TouchEnKey() {
	if(document.TouchEnKey==null || typeof(document.TouchEnKey) == "undefined" ||document.TouchEnKey.object==null) {
		alert("Å°º¸µå º¸¾È ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
		return false;
	}
	else
		return true;
}

