
var CKKeyPro_CLSID="clsid:6CE20149-ABE3-462E-A1B4-5B549971AA38";	

var CKKeyPro_CODEBASE="http://ck.softforum.co.kr/CKKeyPro/gangbuk/gangbuk.cab";
//var CKKeyPro_CODEBASE_x64= "http://ck.softforum.co.kr/CKKeyPro/gangbuk/CKKeyPro3024_64k.cab";
//var CKKeyPro_CODEBASE_x86= "http://ck.softforum.co.kr/CKKeyPro/gangbuk/CKKeyPro3024_32k.cab";
var CKKeyPro_VERSION="version=3,0,2,4";

var USING_CKKeyPro = "1";

var USING_CUSTOM_IMAGE = "1";

var CUSTOM_IMAGE_URL = "http://ck.softforum.co.kr/CKKeyPro/gangbuk/gangbuk_popup_img.bmp";
//.CUSTOM_IMAGE 1 사용시 해당 이미지 위치 (절대경로,bmp)

if (USING_CKKeyPro == "1")
{
	var Str="";

	Str+= '<object classid="' + CKKeyPro_CLSID + '"';
	Str+= '\n\t codebase="' + CKKeyPro_CODEBASE + '#' + CKKeyPro_VERSION + '"';
 /*
if(navigator.cpuClass.toLowerCase() == "x64")
	{
	Str+= '\n\t codebase="' + CKKeyPro_CODEBASE_x64 + '#' + CKKeyPro_VERSION + '"';
	}
	else
	{
	Str+= '\n\t codebase="' + CKKeyPro_CODEBASE_x86 + '#' + CKKeyPro_VERSION + '"';
	}
*/
	Str+= '\n\tvspace="0" hspace="0" width="0" id="CKKeyPro" style="display:none;">';
	Str+= '\n\t <PARAM name="PKI" value="simple">';

	Str+= '\n\t <PARAM name="ReportDataTypeMismatch" value="script">';
	Str+= '\n\t <PARAM name="DefaultPaste" value="off">';

	Str+= '\n\t <PARAM name="DefaultEnc" value="Off">';
	if(USING_CUSTOM_IMAGE)
		Str+= '\n\t <PARAM name="ImageURL" value="' + CUSTOM_IMAGE_URL + '">';

	//Str+= '\n\tNo CKKeyPro Plugin';
	Str+= '\n</object>';
/*			
	//alert(Str);

	//checking Windows 7
	if(navigator.appVersion.indexOf("Windows NT 6.1") != -1) {
	}
	else {
		document.write(Str);
	}
*/
        document.write(Str);
} 

//고객이 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.forms[frm].elements[ele];
		if( document.createEventObject )
		{
			eventObj = document.createEventObject();
			eventObj.keyCode=keycode;
			if(obj)
			{
				obj.fireEvent(event,eventObj);
			}
		}
	}
	catch(e) {}
}

/*
	Rescan the current HTML Document & protects newly added elements.
	Call this function if you are adding Input Elements through JavaScript.
*/

function XecureCK_ReScan()
{
	if(document.CKKeyPro==null || typeof(document.CKKeyPro) == "undefined" || document.CKKeyPro.object==null)
	{
		//CKKeyPro is not running in current document.
		return;
	}
	document.CKKeyPro.ReScanDocument();
}

function HaveControl_CK()
{
	if(document.CKKeyPro==null || typeof(document.CKKeyPro) == "undefined" ||document.CKKeyPro.object==null)
	{
		alert("키보드 보안 프로그램이 설치되지 않았습니다.");
		return false;
	}
	else
		return true;
}
