var var_kLicense;
var kdfv_domain = window.location.hostname;

//-- kyobo ----------------------------------------
if(kdfv_domain.search(".kyobo.com") != -1)
{
  	var_kLicense = "89cd8988b283c08fa0b1bbd0beafb82d4d8fbbcafd22422bb6de5c119e74102fd0";
}
else if(kdfv_domain.search("kyobo.com") != -1)
{
  	var_kLicense = "d2d8bdd271650fa7aab53a405bd7f68acebedad0c5e844b12e97f636e620fa2161";
}
else if(kdfv_domain.search(".kyobo.co.kr") != -1)
{
  	var_kLicense = "4f803de059cfe85daccc04c31e1308b3633e44ad397c08fc678c0400ece7301df0";
}
else if(kdfv_domain.search("kyobo.co.kr") != -1)
{
  	var_kLicense = "36ba0d8a88790e8b2267efc5bfdbc59fffbf7770ce176fbb9f3452130e36430621";
}
else if(kdfv_domain.search(".directlife.co.kr") != -1)
{
  	var_kLicense = "f2d6aad191b0823960da05b45ce678ba937221ea456b458b2215aa792ed6cd7a40";
}
else if(kdfv_domain.search("directlife.co.kr") != -1)
{
  	var_kLicense = "12021647e26fe7c87c11ab74bffc548313355e8bb9ff05ebb1a3ee44693ee645f0";
}
else if(kdfv_domain.search(".kyobohrd.co.kr") != -1)
{
  	var_kLicense = "0dc2c72023b72372478370f21df53f779c58f499d8a26202733daed78bffbe6ca0";
}
else if(kdfv_domain.search("kyobohrd.co.kr") != -1)
{
  	var_kLicense = "1fa7233735c83a76fd5b2e4dc8d7f2cb8c9e90eaf7c1048b37abe649267e5b0090";
}
//ì ê·ììë ìë«ë¶ë¶ else if ì ì¸ ìì´í¼ ë°íê±°ë¼ ìëì~
else if(kdfv_domain.search("100.1.131.106") != -1)
{
  	var_kLicense = "f431a7d882af1768af02d97a9c17b1d7ba5a42bb28ba80eb1964d41ea41e606101";
}
else if(kdfv_domain.search("203.233.85.12") != -1)
{
  	var_kLicense = "9ee2c51041d13cedaa7db137e6a3fc415c447f253d48f45d4754858c23d63f9000";
}
else if(kdfv_domain.search("203.233.85.11") != -1)
{
  	var_kLicense = "486fde91d2c8067e5d5603badf73f8f0a54f857ffdae5db6676e905fe2e114b0f0";
}
else if(kdfv_domain.search("10.33.3.17") != -1)
{
  	var_kLicense = "214a2a9db55a7f657d931279567d10eaa6fea46ffa688029659a24f7cf704d3910";
}
else if(kdfv_domain.search(".kyobodirect.com") != -1)
{
    var_kLicense = "e3d898c4b7395ce087865f3c801b5d676ce5dacbde691a8d7eb2cd1604a9efa751";
}
else if(kdfv_domain.search("kyobodirect.com") != -1)
{
    var_kLicense = "ee84bb0d4c9b8839965f893e011e659cf1759e53ddba82c218f54582e4f4af1a10";
} 

if (window.ActiveXObject)
{	
	document.write('<object id=kdefense classid="CLSID:A4508A45-F1C4-40f3-99B4-0CA08AC77E3B"');
	document.write('	codebase="http://kings.nefficient.co.kr/kings/kdfx/kdfx336/kdfense8.cab#Version=8,3,3,6"');
	document.write('	height=0 width=0 align=left size=0>');

	document.write('	<PARAM name="nOption" value=', parseInt("0x00010006",16), '>');
	document.write('	<PARAM name="nOptionEx" value=', parseInt("0x01010001",16), '>');
	document.write('	<PARAM name="nOptionEx2" value=', parseInt("0x0000000C",16), '>');	
	
	document.write('	<PARAM name="szIconON" value="http://kings.nefficient.co.kr/kings/ksite/kyobolife/iconon.ico">');
	document.write('	<PARAM name="szIconONHash" value="26700AF92D43D48C2D61387C4C24AEF7">');
	document.write('	<PARAM name="szIconOFF" value="http://kings.nefficient.co.kr/kings/ksite/kyobolife/iconoff.ico">');
	document.write('	<PARAM name="szTipImage" value="http://kings.nefficient.co.kr/kings/ksite/kyobolife/kyobo.bmp">');
	document.write('	<PARAM name="szTipImageHash" value="D9083BBFD891AACA93222F89A039564D">');
	
	document.write('	<PARAM name="nModuleVersion" value="411061501">');
	document.write('	<PARAM name="szModulePath" value="http://kings.nefficient.co.kr/kings/kdfinj6x/411061501_6042/kdfinj.dll">');
	document.write('	<PARAM name="szModuleHash" value="59B9493DE0D475035DC4DAA8C08B374C">');

	document.write(' <PARAM name="nExModuleVersion" value="711052401">');
	document.write(' <PARAM name="szExModulePath" value="http://kings.nefficient.co.kr/kings/kdfmod3x/711052401/kdfmod.dll">');
	document.write(' <PARAM name="szExModuleHash" value="C98FA303FD841AA6DE33AC86AFF031C7">');
	
	document.write('	<PARAM name="szGKey" value="58c705643199c2ff067850db4181dff9f0d63edeecde16ab33ac57c24703d22ff0">');
	document.write('	<PARAM name="kLicense" value=', var_kLicense, '>');
	document.write('</object>');
}





function fnGetKDefenseObject(){	

	var objKDefense;

	if(document.getElementById)	{

		objKDefense = document.getElementById("kdefense");

	}

	else{

		objKDefense = document.kdefense;

	}

	try	{

		if(objKDefense.GetOCXVersion() == ""){

			return null;

		}

		else{

			return objKDefense;

		}

	}

	catch(e){

		return null;

	}

}



function onKdfStop()

{

	

	var objKDefense = fnGetKDefenseObject();



	if( objKDefense != null )

	{

		objKDefense.StopK();

	}



}

function Get_Xgate_addr()
{
	enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);
	alert("Get_Xgate_addr");
	return enc_xgate;
}

function kdfSFExtE2E(value)
{
	var enc_xgate;
	var objKDefense ;
	enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);


	objKDefense = fnGetKDefenseObject();
	if( objKDefense != null)
	{
		alert(enc_xgate);
		objKDefense.SoftForumExtE2E(enc_xgate, value);
	}
	else
	{
		alert("objKDefense is NULL");
	}
}


/**
 * 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
 * ex) if (isEmpty(form.keyword)) {
 *         alert("검색조건을 입력하세요.");
 *     }
 */
function isEmpty_K(input)
{
	if (input.value == null || input.value.replace(/ /gi,"") == "")
	{
		return true;
	}
	return false;
}

/**
 *  문자열에 있는 특정문자패턴을 다른 문자패턴으로 바꾸는 함수.
 */
function replace_K(targetStr, searchStr, replaceStr)
{
	var len, i, tmpstr;
	len = targetStr.length;
	tmpstr = "";

	for ( i = 0 ; i < len ; i++ )
	{
		if ( targetStr.charAt(i) != searchStr )
		{
			tmpstr = tmpstr + targetStr.charAt(i);
		}
		else
		{
			tmpstr = tmpstr + replaceStr;
		}
	}
	return tmpstr;
}

/**
 *  문자열에서 좌우 공백제거
 */
function trim_K(str)
{
	return replace_K(str," ","");
}

/**
 * 입력값이 특정 문자(chars)만으로 되어있는지 체크
 * 특정 문자만 허용하려 할 때 사용
 * 	(2004.03.18:MAXUP)
 * ex) if (!hasCharsOnly_K(form.blood,"ABO")) {
 *         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
 *     }
 */
function hasCharsOnly_K(input,chars)
{
	var objKDefense = fnGetKDefenseObject();
	var nRet;
	if(input.type == "password")
	{
		if( objKDefense != null )
		{
			nRet = objKDefense.checkChars(input.form.name, input.name, input.value, chars);
			if(nRet == 1)
			{
				return true;
			}
			else if(nRet == 2)
			{
				return false;
			}
		}
	}

	for (var inx = 0; inx < input.value.length; inx++)
	{
		if (chars.indexOf(input.value.charAt(inx)) == -1)
		{
			return false;
		}
	}
	return true;
}

function hasCharsOnly2_K(input,ivalue,chars)
{
	var objKDefense = fnGetKDefenseObject();
	var nRet;
	if(input.type == "password")
	{
		if( objKDefense != null )
		{
			nRet = objKDefense.checkChars(input.form.name, input.name, ivalue, chars);
			if(nRet == 1)
			{
				return true;
			}
			else if(nRet == 2)
			{
				return false;
			}
		}
	}

	for (var inx = 0; inx < ivalue.length; inx++)
	{
		if (chars.indexOf(ivalue.charAt(inx)) == -1)
		{
			return false;
		}
	}
	return true;
}

/**
 *	입력값에 숫자만 있는지 체크
 *	(번호 입력란 체크.
 *	 금액입력란은 isNumComma를 사용해야 합니다.)
 */
function isNumber_K(input)
{
	var chars = "0123456789";
	return hasCharsOnly_K(input,chars);
}

function isNumberSize(input, Size)
{
	if(isNumber_K(input) && input.length == Size)
	{
		return true;
	}
	return false;
}

/**
 *	패스워드 입력란 체크
 *	check : size 4 , 숫자만입력
 */
function isPassword_K(input)
{
	var chars = "0123456789";
	if(isEmpty_K(input))
	{
    	return false;
	}
    else if(!hasCharsOnly_K(input,chars))
    {
	   	return false;
    }
    else if(input.value.length != 4)
    {
		return false;
	}
   	return true;
}

/**
 *	영문 & 숫자만 입력 가능
 *	(2004.03.29:MAXUP)
 */
function isAlphaNum_K(input)
{
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
	return hasCharsOnly_K(input,chars);
}

/**
 *	특수문자 있는지 확인
 *	있으면 false, 없으면 true리턴
 *	(2004.03.29:MAXUP)
 */
function hasPeculChar_K(input)
{
	var input_chars = trim_K(input.value);
	if(input_chars.length == 0)
	{
		return true;
	}
	else
	{
		var chars = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz{}|~";
		return hasCharsOnly2_K(input, input_chars, chars);
	}
}


/**
 *	Form과 특정 Password Type의 Element에 대해서
 *	인증서 연동 암호화를 수행한다.
 *	kFormEleString은 "FormName.EleName" 형태이다.
 *	(2004.03.18:MAXUP)
 */
function regFormEle_K(kFormEleString, caseOption)
{
//   alert("regFormEle_K : "+ kFormEleString);
	var objKDefense = fnGetKDefenseObject();
	var szFormEle;
	if( objKDefense != null )
	{

		if(caseOption == "toUpperCase")
		{
			objKDefense.RegFormEle(kFormEleString, 1);
		}
		else if(caseOption == "toLowerCase")
		{
			objKDefense.RegFormEle(kFormEleString, 2);
		}
		else if(caseOption == "onlyNumber")
		{
			objKDefense.RegFormEle(kFormEleString, 3);
		}
		else if(caseOption == "none")
		{
			objKDefense.RegFormEle(kFormEleString, 0);
		}
	}
}


/**
 * 	2004.01.30 MAXUP
 * 	암호화된 Password 값을 얻는다.
 */
function GetPwdValue_K(form, element, extention, StartTag, EndTag)
{
	var objKDefense = fnGetKDefenseObject();
	if( objKDefense != null )
	{
	    return objKDefense.GetPwdValue(form.name, element.name, element.value, extention, StartTag, EndTag);
	}

	return element.value;
}

function GetPwdValue_K2(form, element)
{
	
	var objKDefense = fnGetKDefenseObject();
	
	var enc_xgate;
			
	if(document.XecureWeb.GetVerInfo(0)>='7, 2, 1, 7')
	{
		enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);
	}
	else
	{
		enc_xgate = xgate_addr;
	}

	

	if( objKDefense != null )
	{
//		alert("enc_xgate = [" + enc_xgate + "]");
//		alert("GetPwdValue : " + form.name + "." + element.name + " = [" + element.value  + "]");
	    return objKDefense.GetPwdValue(form, element.name, element.value, enc_xgate, "", "");
	}

	return element.value;
}

function GetPwdValue_K3(form, element, element4AddString)
{
	//alert("GetPwdValue_K3");
	//alert("element --> " +element);
	var objKDefense = fnGetKDefenseObject();
	var enc_xgate;

	if(document.XecureWeb.GetVerInfo(0)>='7, 2, 1, 7')
	{
		enc_xgate = document.XecureWeb.GetEncUserData(xgate_addr);
	}
	else
	{
		enc_xgate = xgate_addr;
	}


	if( objKDefense != null )
	{
		//alert("element4AddString.value -->" +element4AddString);
		enc_xgate = enc_xgate + "|KDF|ADD_STRING_F|" + element4AddString;
		//alert("enc_xgate.value -->" +enc_xgate);
		return objKDefense.GetPwdValue(form, element.name, element.value, enc_xgate, "", "");
	}

	return element.value;
}


/**
 *	값이 암호화되어 저장되는 Password Type의 Element에 대해서
 *	String Operation을 수행한다.
 *	(2004.03.29:MAXUP)
 *      - opString값이 "strcmp" 인 경우 input1.value == input2.value 비교하여
 *        같으면 true를 Return하고 다르면 false를 Return 한다.
 */
function stringOP_K(opString, input1, input2)
{
	var objKDefense = fnGetKDefenseObject();
	var nRet;
	if( objKDefense != null )
	{
		if(opString == "strcmp")
		{
			nRet = objKDefense.StringOP(1, input1.form.name, input1.name, input1.value,
                                                 input2.form.name, input2.name, input2.value);
            if(nRet == 1)
			{
				return true;
			}
            else if(nRet == 2)
			{
				return false;
			}

			if(input1.value == input2.value)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
	}
	else
	{
    	if(opString == "strcmp")
    	{
			if(input1.value == input2.value)
			{
				return true;
			}
			else
			{
				return false;
			}
    	}
	}
    return false;
}


/**
 *	값이 암호화되어 저장되는 주민등록번호에 대하여 정상여부를 검사한다.
 *	(2006.09.14:WONYOUNG)
 */
//--xx
function resNoCheck_K(objResNo2nd, sResNo, sFlag)
{
	var objKDefense = fnGetKDefenseObject();
	var iResult = 0;

	if( objKDefense != null )
    {
		if(sFlag == "_ResNoNE_" || sFlag == "_ResNoEE_")
		{
			iResult = objKDefense.checkChars(objResNo2nd.form.name, objResNo2nd.name, sResNo, sFlag);
		}
	}
	return (iResult == 1) ? true : false;
}
//-->


/**
 * 주민번호에서 두번쨰 자리 첫번째(성별) 값을 얻어옴,
 *  return : 1 - 남자, 2 - 여자, 0 - 에러
 *
 *	input : 13자리의 주민번호, 7자리의 주민번호 뒷자리
 *  chars(옵션) : "_SexNoEE_"
 * 	(2006.11.30:ROCEUN)
 *
 * ex) getSexNum_K(jumin, "_SexNoEE");
 *
 */
function getSexNum_K(input) {
   if(input.type == "password")   {
      if(document.kdefense != null && typeof(document.kdefense) != "undefined" && document.kdefense.object != null) {
		  return document.kdefense.checkChars(input.form.name, input.name, input.value, "_SexNoEE_");
      }
   }

	var check_value;
	if(input.value.length == 13)
	{
		check_value = input.substring(6,7);
	}
	else if(input.value.length == 7)
	{
		check_value = input.substring(1,2);
	}
	else return 0;

	if (check_value == 1 || check_value == 3 || check_value == 5 || check_value == 7) {
		return 1;
	} else if (check_value == 2 || check_value == 4 || check_value == 6 || check_value == 8) {
		return 2;
	} else {
		return 0;
	}
}

/**
 *  3자리 같은 문자가 있는지 검사
 *
 *  input : 검사를 위한 문자열
 *  return : 1: 연속됨, 0: 아님
 * 	(2006.12.01:ROCEUN)
 *
 * ex) if (has3CharCheck_K(passwd)) {
 *         alert("3자리 이상 같은 문자는 비밀번호로 사용할 수 없습니다.");
 *     }
 */
function has3CharCheck_K(input)
{
	if(input.type == "password")   {
       if(document.kdefense != null && typeof(document.kdefense) != "undefined" && document.kdefense.object != null) {
		   return document.kdefense.checkChars(input.form.name, input.name, input.value, "_3CharCheck_");
       }
	}

	var input_val = input.value;
	if(input_val.length < 2) return 0;
	var repeat = 0;

	for (var i = 1; i < input_val.length; i++)
	{
		if(input_val.charAt(i-1) == input_val.charAt(i)) repeat++;
		else repeat = 0;

		if(repeat == 2) return 1;
	}

	return 0;
}

/**
 *  3자리 등차 문자가 있는지 검사
 *
 *  input : 검사를 위한 문자열
 *  return : 1: 연속됨, 0: 아님
 * 	(2006.12.01:ROCEUN)
 *
 * ex) if (has3CharCont_K(passwd)) {
 *         alert("3자리 이상 연속된 문자는 비밀번호로 사용할 수 없습니다.");
 *     }
 */
function has3CharCont_K(input)
{
	if(input.type == "password")   {
       if(document.kdefense != null && typeof(document.kdefense) != "undefined" && document.kdefense.object != null) {
		   return document.kdefense.checkChars(input.form.name, input.name, input.value, "_3CharCont_");
       }
	}

	var input_val = input.value;
	if(input_val.length < 3) return 0;

	var diff = input_val.charAt(1) - input_val.charAt(0);
	for (var i = 1; i < input_val.length; i++)
	{
		if((input_val.charAt(i-1) + diff) == input_val.charAt(i)) return 1;
		else diff = input_val.charAt(i) - input_val.charAt(i-1);
	}

	return 0;
}

 /**
  *  영문, 숫자 혼합만 입력 가능
  * 	(2006.12.01:ROCEUN)
  */
function isAlphaNum2_K(input){
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var nums = "0123456789"

	if(hasCharsOnly_K(input,chars) || hasCharsOnly_K(input, nums))	//영자만 있거나 숫자만 있는 경우
    {
		return 0;
    }
	else if(!hasCharsOnly_K(input, nums+chars)) // 영자, 숫자 이외의 기호가 있는 경우
	{
		return 0;
	}

	return 1;
}

/**
 *	비밀번호에 주민번호의 일부가 있는지 검사한다.
 *	반환값 : [ 1: 일치 ] [ 0: 불일치 ]
 *	(2006.12.08:ROCEUN)
 *      - opString값이 "pwCheckResNE" : 평문의 주민번호 앞자리, 암호화된 주민번호 뒷자리를 합친 주민번호 13자리
 *      - opString값이 "pwCheckResEE" : 암호화된 주민번호 13자리
 *      - passwd: 비밀번호
 */
function passCheck_K(opString, passwd, js_ssn, js_val)
{
	if(js_val.length != 13) return 0;

	if(passwd.type == "password" || js_ssn.type == "password")
    {
		if(document.kdefense != null && typeof(document.kdefense) != "undefined" && document.kdefense.object != null)
		{
	        if(opString == "pwCheckResNE")
			{
				if( document.kdefense.StringOP(2, passwd.form.name, passwd.name, passwd.value,
					                                 js_ssn.form.name, js_ssn.name, js_val) > -1) return 1;
			}
			else if(opString == "pwCheckResEE")
			{
				if( document.kdefense.StringOP(3, passwd.form.name, passwd.name, passwd.value,
					                                 js_ssn.form.name, js_ssn.name, js_val) > -1) return 1;
			}
		}
    }
	else
	{
		var chk;
		var nIndex;

		for(var i = 0; i < 10; i++)
		{
			chk = js_val.charAt(i)+ js_val.charAt(i+1)+js_val.charAt(i+2)+js_val.charAt(i+3);

			nIndex = passwd.indexOf(chk);
			if(nIndex > -1) return 1;
		}
	}

	return 0;
}




/**
 *	값이 암호화되어 저장되는 주민등록번호에 대하여 정상여부를 검사한다.
 *	(2006.12.18:ROCEUN)
 */
//--xx
function resNoCheck2_K(objResNo2nd, sResNo, sFlag)
{
	var objKDefense = fnGetKDefenseObject();
	var iResult = 0;

	if( objKDefense != null )
    {
		if(sFlag == "_ResNoNE2_" || sFlag == "_ResNoEE2_")
		{
			iResult = objKDefense.checkChars(objResNo2nd.form.name, objResNo2nd.name, sResNo, sFlag);
		}
	}
	return (iResult == 1) ? true : false;
}




// 2010.10.14. Kings 추가 : 이 함수를 추가하시면 키보드보안이 이상이 있는경우 그에 따른 경고 메시지를 보여줍니다.
function OnKdfenseError(nError) 
{
	if(nError == '0')
	{
		//alert("정상동작");
	}
	else if(nError == '10006') //kdfmod가 값을 제대로 가져가지 못했을때, 대표값이 나올 수 있으므로 안내페이지로 이동
	{
		window.open('http://www.kings.co.kr/k/help/KError.php?ErrorCode=KDF2003','팝업','width=1000,height=520,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,left=150,top=100');
	}
	else if(nError == '30002') // Debug Tool 탐지, 창 닫기
	{
		alert("Debugging Tool이 탐지되었습니다. \n확인을 누르면 창이 닫히게 됩니다.");
		window.close();
	}
	else
	{
		alert(nError+" : 에러가 발생하였습니다");
		window.open('http://www.kings.co.kr/k/help/KError.php?ErrorCode='+nError,'팝업','width=1000,height=520,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,left=150,top=100');

		//비 정상 
		// nError에 에러 코드가 들어옴

		// 1 : kdfmgr.exe가 실행되어 있지 않은 경우
		// 2 : 일반모드인 경우
		// 3 : 보안 서비스를 할 수 없는 OS임
		// 4 : kdfinj.dll(키보드보안 모듈)이 정상적으로 로드 되지 않음
		// 5 : 타사의 키보드보안과 충돌
		// 10001 : 변조된 kdfmgr.exe가 동작중임
		// 10002 : 키보드보안 프로그램이 정상적으로 설치되어 있지 않음
		// 10003 : 키보드보안 프로그램이 비정상 종료되고 있음
		// 10004 : 키보드보안 프로그램을 업데이트 할 수 없어 정상 실행되지 않음
		// 10005 : 사용자가 권한 상승에 동의하지 않고 취소하여 키보드보안 프로그램이 실행되지 않음
		// 10006 : kdfmod가 값을 제대로 가져가지 못했을때, 대표값이 나올 수 있다는 에러 메시지 
		// 10007 : ActiveX로 전달되는 Param이 정상적이지 않은 경우 

		// 10008 : 웹 보안 모듈이 정상적으로 동작 하지 않음

		// 20001 : Kdfinj.dll 무결성에 문제
		// 20002 : Kdfmod.dll 무결성에 문제
				
		// 30001 : 정상적인 IE가 아님
		// 30002 : Debug Tool 탐지
	}
}


//////////////////////////////////////////////////////////////////////////////////////

//// Jumin2 꼭 input.value 값 말고 input 그대로 넣어주세요
function getInsuAge_K(nowDate, bornDate, jumin2)    
{ 

	if ( bornDate == null || jumin2 == null ||  (bornDate+jumin2.value).length == 0 || (bornDate+jumin2.value).value == "" ) {
	//         alert(bornDate + " || " + jumin2 );
				return 0;
	}

	var nBornYear = 0;

	var yearGb = getSexNum2_K(jumin2);

	if(yearGb == 3 || yearGb==4 || yearGb == 7 || yearGb==8) {
				nBornYear = 2000;
	} else {
				nBornYear = 1900;
	}

	//생년월일
	nBornYear += eval(bornDate.substring(0,2));
	var nBornMonth = bornDate.substring(2,4);
	var nBornDay   = bornDate.substring(4,6);
	
	// 현재날짜
	var nNowYear = parseInt(nowDate / 10000);
	var nNowMonth = parseInt(nowDate / 100) % 100;
	var nNowDay = nowDate % 100;

	// 변수 선언
	var nAge; 
	var errcode = 0;
	var nowDays = new Array( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
	var bornDays = new Array( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );


	// 2월 윤달 계산
	if ( ((nNowYear % 400)== 0) || ((nNowYear % 100)!= 0) && ((nNowYear % 4)== 0) )      {
				nowDays[1] = 29;
	}

	if ( ((nBornYear % 400)== 0) || ((nBornYear % 100)!= 0)       && ((nBornYear % 4)== 0) ) {
				bornDays[1] = 29;
	}           

	// 출생년월일 유효성 점검
	if ( (nBornYear > nNowYear) || (nBornYear < 1900 ) ) {       // 출생년도 유효성 점검                  
				errcode = -1900;
				alert("출생년도를 확인하세요");
				return 0;
	} else if ( (nBornMonth > 12) || (nBornMonth < 1 ) ) {          // 출생월 유효성 점검
				alert("출생월을 확인하세요");
				return 0;
	} else if ( (nBornDay > bornDays[nBornMonth-1]) || (nBornDay < 1 ) ) {      // 출생일자 유효성 점검
				alert("출생일자를 확인하세요");
				return 0;
	}                             

	// 생일이 지나지 않은 경우
	if (nBornDay > nNowDay) {
				nNowMonth = nNowMonth - 1 ;
				nNowDay = nNowDay + nowDays[nBornMonth-1] ;
	}

	if (nBornMonth > nNowMonth)       {
				nNowYear = nNowYear - 1 ;
				nNowMonth = nNowMonth + 12 ;
	}

	nAge = nNowYear - nBornYear ; 

	nNowMonth = nNowMonth - nBornMonth ;

	if ( nNowMonth > 5 )
				nAge = nAge + 1;

	return nAge;             
}
 
 

function getAge_K(jc1, jc2, tY, tM, tD) {
 
    // 변수 선언
    var errno = 0;
    var tDs = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var jDs = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
 
    var jY = evalJumin(jc1, 0);
    var jM = evalJumin(jc1, 2);
    var jD = evalJumin(jc1, 4);
    
    var jS = getSexNum2_K(jc2);
    
    if ((jS == 1)||(jS == 2)) {
        jY += 1900;
    } else if ((jS == 3)||(jS == 4)) {
        jY += 2000;
    }
    
    // 현재날짜
    // 2월 윤달 계산 
    if (((tY % 400)== 0) || ((tY % 100)!= 0) && ((tY % 4)== 0))
        tDs[1] = 29;
 
    if (((jY % 400)== 0) || ((jY % 100)!= 0) && ((jY % 4)== 0))
        jDs[1] = 29;
 
    // 출생년월일 유효성 점검
    if( tY < 1900 ) tY= tY + 1900;     
 
    if ((jY > tY) || (jY < 1900)) // 출생년도 유효성 점검 
    {
        alert("[주민등록번호] 틀렸습니다.\n\n 다시 입력하여 주세요.");
        return errno;
    }
    else if ((jM > 12) || (jM < 1 )) // 출생월 유효성 점검
    {
        alert("[주민등록번호] 틀렸습니다.\n\n 다시 입력하여 주세요.");
        return errno;
    }
    else if ((jD > jDs[jM-1]) || (jD < 1 )) // 출생일자 유효성 점검
    {
        alert("[주민등록번호] 틀렸습니다.\n\n 다시 입력하여 주세요.");
        return errno;
    }
 
    // 생일이 지나지 않은 경우
    if (jD > tD)
    {
        tM = tM - 1 ;
        tD = tD + tDs[jM-1] ;
    }
 
    if (jM > tM)
    {
        tY = tY - 1 ;
        tM = tM + 12 ;
    }
        
//    var nAge = tY - jY ;
//  return nAge;
    
    var nAge = tY - jY ;
    // 추가한 부분(2001년 5월 8일)....
    tM = tM - jM; 
    // 현재달 - 태어난날...
 
    if (tM > 5) {
      nAge = nAge + 1;
    }
 
    if ( jc1.value.length ==6 && jc2.value.length ==7 )
    return nAge;
    else
        return "";
}
