/*
 * 1. È­ÀÏ¸í     :    util.js
 * 2. ÀÛ¼ºÀÏÀÚ   :    2004-01-08
 * 3. ÀÛ¼ºÀÚ     :    ¹éÁøÇö
 * 4. ¼³¸í       :    JSP¿¡¼­ »ç¿ëÇÏ´Â utility ÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Â È­ÀÏ.
 * 5. º¯°æÀÌ·Â 
 *    1) 2004-01-08 / ¹éÁøÇö / ÃÖÃÊ ÀÛ¼º
 *    1) 2004-09-13 / ¹éÁøÇö / ÃÖÃÊ ÀÛ¼º
 *    2) 2004-10-07 / ÇÑÁö¿¬ / parseInt()¸¦ new Number()·Î ¼öÁ¤ÇÔ.(parseInt ¹ö±×¶«½Ã)
 */

/*
 * <pre>
 * ÇØ´ç ¹®ÀÚ¿­ ¾çÂÊÀÇ space¸¦ trimÇÏ¿© Á¦°ÅÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   str - ¼Ò½º ¹®ÀÚ¿­.
 * 
 * <b>return</b>
 *   ¼Ò½º ¹®ÀÚ¿­À» trimÇÑ ¹®ÀÚ¿­
 * 
 * </pre>
 */
function trim(str) {
	for (i = 0; i < str.length; i++) {
		var ch = str.charAt(i);
		if (ch != ' ' && ch != '\r' && ch != '\n' && ch != '\t') break;
	}
	var spos = i;
	for (i = str.length - 1; i > spos; i--) {
		ch = str.charAt(i);
		if (ch != ' ' && ch != '\r' && ch != '\n' && ch != '\t') break;
	}
	var epos = i + 1;
	
	return str.substring(spos, epos);
}

/*
 * <pre>
 * fieldÀÇ name ÇÊµå¿¡ ÇØ´çÇÏ´Â valueÀÇ °ªÀ» ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    ¿¡·¯°¡ ¹ß»ýÇÒ °æ¿ì °ªÀ» ¼¼ÆÃÇÏÁö ¾Ê°í ¸®ÅÏ.
 * 
 * <b>Parameters</b>
 *   field - ¼¼ÆÃÇÏ°íÀÚ ÇÏ´Â field
 * 
 * </pre>
 */
function setValue(field) {
	try {
		if ((typeof field.value == "undefined") || (field.value == "")) {
			field.value = "";
			return;
		}
	} catch(e) { }
	
	try {
		if (field.ivalue != field.value) {
			if ((typeof field.ivalue == "undefined") || (field.ivalue == "")) {
				field.ivalue == "";
				return;
			}
		}
	} catch(e) { }

	
	try {
		tmpValue = 	field.ivalue;
		if (field.type == "checkbox") {
			field.checked = eval(tmpValue);
		} else {
			if (field.isDate == "Y") {
				value = plusDate(tmpValue);
			} else if (field.isBN == "Y") {
				value = plusBN(tmpValue);
			} else if (field.isID == "Y") {
				value = plusID(tmpValue);
			} else if (field.isNum == "Y") {
				value = plusComma(tmpValue);
			} else {
				value = tmpValue;
			}
			field.value = value;
		}
	} catch(e) { }
}

/*
 * <pre>
 * ÇØ´ç ÇÊµå¿¡ ´ëÇÑ ±âº»ÀûÀÎ check¸¦ ÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    check ¿ä¼Ò
 *    ¼Ó¼ºÀÌ isNotNullÀÏ °æ¿ì
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   field - checkÇÏ°íÀÚ ÇÏ´Â field
 * 
 * <b>return</b>
 *   check¸¦ ¼º°øÇßÀ» °æ¿ì true¸¦ ¸®ÅÏÇÏ°í, ½ÇÆÐÇßÀ» °æ¿ì false¸¦ ¸®ÅÏ.
 * 
 * </pre>
 */
function checkField(field) {
	if (trim(field.value) == "") {
		if (field.isNotNull == "Y") {
			getMessage("R00005", new Array(field.id));
			setFocus(field);
			return false;
		}
	}
	return true;
}
		
/*
 * <pre>
 * name°ú value°ªÀ¸·Î µé¾î¿Â ÆÄ¶ó¹ÌÅÍ¸¦ ÀÌ¿ëÇÏ¿© Field ½ºÆ®¸µÀ» »ý¼ºÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   name - fieldÀÇ nameÀ¸·Î ¼¼ÆÃµÉ ÆÄ¶ó¹ÌÅÍ
 *   value - fieldÀÇ value·Î ¼¼ÆÃµÉ ÆÄ¶ó¹ÌÅÍ
 * 
 * <b>return</b>
 *   name°ú value°ªÀ¸·Î ¼¼ÆÃµÈ field ½ºÆ®¸µ
 * 
 * </pre>
 */
function makeField(name, value) {
	if(typeof(value) == 'string') value = value.replace(/'/g,"\\'");
	field = "<input type='hidden' name='" + name + "' value='" + value + "'>";
	
	return field;
}

/*
 * <pre>
 * ÀÔ·Â¹ÞÀº field·Î Æ÷Ä¿½º¸¦ ÀÌµ¿ÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    field - Focus°¡ µÉ field
 * 
 * </pre>
 */
function setFocus(field) {
	try {
		if (field.tagName == "SELECT" || field.value == "") {
			field.focus();
		} else {
			field.select();
		}
	} catch(e) {}
}

/*
 * <pre>
 * È­¸é¿¡ º¸¿©ÁÖ´Â ÇÊµåÀÇ ¿©·¯°¡Áö È­¸é Æ÷¸ËÀ» Á¦°ÅÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   field - ÇÊµåÀÇ Æ÷¸ËÀ» Á¦°ÅÇÏ°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *   ÇÊµåÀÇ Æ÷¸ËÀÌ Á¦°ÅµÈ ½ÇÁ¦ÀûÀÎ °ª.
 * 
 * </pre>
 */
function clearMask(field) {
	if (field.isDate == "Y") {
		return rmDate(field.value);
	} else if (field.isBN == "Y") {
		return rmBN(field.value);
	} else if (field.isID == "Y") {
		return rmID(field.value);
	} else if (field.isNum == "Y") {
		return rmNum(field.value);
	} else if (field.isNumIN == "Y") {
		return rmNum(field.value);
	} else return field.value;
}

/*
 * <pre>
 * selectbox¿¡¼­ ¼±ÅÃ°ª ¼ÂÆÃÇÏ±â
 *
 * 1. ¼³ ¸í
 *   selectbox¿¡¼­ µðÆúÆ®°ªÀÌ³ª db¿¡¼­ °¡Á®¿Â°ªÀ» ¼ÂÆÃÇÏ±â
 *
 * 2. Æ¯ÀÌ»çÇ×
 *   µðÆúÆ®¼ÂÆÃÀÌ ÇÊ¿äÇÑ°ÍÀ» 1Â÷ ¹è¿­·Î ³Ñ°ÜÁØ´Ù. 
 * </pre>
 */
 
function selectBoxSet(selArray) {
	selectList = document.getElementsByTagName("SELECT");
	if (selectList.length == 0) return;
	
	for (i = 0; i <  selArray.length; i++) {
		for (j = 0; selectList.length; j++) {
			if (selArray[i][0] == selectList(j).name) {
				selectList(j).value = selArray[i][1];
				break;
			}
		}
	}
}
 function enter()
{
	var keycode = event.keyCode;
	if (keycode == 13) 
	{
		eventObj = event.srcElement;
		/* Å¸ÀÔÀÌ ³¯Â¥ÀÎ °æ¿ì convert ÇØ¼­ Á¶È¸*/
		if (eventObj.isDate=='Y')
		{
			 if (!checkDate(eventObj.value))
			{ // ³¯Â¥ validation
				getMessage("R00001");
				eventObj.value = "";
				setFocus(eventObj);
				return;
			}
			eventObj.value = plusDate(eventObj.value);	
		}
		verify();
	}
}

/*
 * <pre>
 * ¹®ÀÚ¿­ sValÀ» iLen±æÀÌ°¡ µÉ¶§±îÁö sValÀÇ ¾Õ¿¡ "0"À» ºÙÀÎ ¹®ÀÚ¿­À» ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ¹®ÀÚ¿­ sValÀ» iLen±æÀÌ°¡ µÉ¶§±îÁö sValÀÇ ¾Õ¿¡ "0"À» ºÙÀÎ ¹®ÀÚ¿­À» ¸®ÅÏ
 *    ¿¹) sVal¿¡ '23'À» iLen¿¡ 5¸¦ ÁÖ¸é ¸®ÅÏ°ªÀº '00023' ÀÌ´Ù.
 * 
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   sVal - ¹®ÀÚ¿­
 *   iLen - ±æÀÌ(integer)
 * 
 * <b>return</b>
 *   ¹®ÀÚ¿­ sValÀ» iLen±æÀÌ°¡ µÉ¶§±îÁö sValÀÇ ¾Õ¿¡ "0"À» ºÙÀÎ ¹®ÀÚ¿­À» ¸®ÅÏ
 * 
 * </pre>
 */
function cGetZero(sVal, iLen){
	var sStr = sVal + "";

	for (ii = sStr.length; ii < iLen; ii++) {
		sStr =  "0" + sStr;
	}
	return sStr;
}

/*
 * <pre>
 * ¹®ÀÚ¿­(str)ÀÌ (0-9)¸¸À¸·Î ÀÌ·ç¾îÁ³´ÂÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ¹®ÀÚ¿­(str)ÀÌ (0-9)¸¸À¸·Î ÀÌ·ç¾îÁ³´ÂÁö Ã¼Å©
 * 
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   str : ¼ýÀÚ¸¦ Ã¼Å©ÇÏ±â À§ÇÑ ¹®ÀÚ¿­
 * 
 * <b>return</b>
 *   ¹®ÀÚ¿­(str)ÀÌ (0-9)¸¸À¸·Î ÀÌ·ç¾îÁ³´ÂÁö Ã¼Å©
 * 
 * </pre>
 */
function cIsNumStr(str) {
	if(cIsNull(str)) return false;
	
	var temp = "";
	var n = String(str);
	var len = n.length;
	var pos = 0;
  	var ch = '';
	  	
	while (pos < len) {
		ch = n.charAt(pos);
		if ((ch >= '0') && (ch <= '9')) {
			temp = temp + ch;
		}else{					
			return false;
		}
		pos = pos + 1;
	}
	return true;
}

/*
 * <pre>
 * ¹®ÀÚ¿­(str) À±³âÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ¹®ÀÚ¿­(str) À±³âÀÎÁö Ã¼Å©
 * 
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   str : Ã¼Å©ÇÒ ¹®ÀÚ¿­
 * 
 * <b>return</b>
 *   ¹®ÀÚ¿­(str) À±³âÀÎÁö Ã¼Å©
 * 
 * </pre>
 */
function cIsLeafYear(str) {
	if(cIsNull(str)) return false;	//°ø¹éÀÌ¶ó¸é
	var YYYY = new Number(str);
	if ( ( (YYYY%4 == 0) && (YYYY%100 != 0) ) || (YYYY%400 == 0) ) {
		return true;
	}
	return false;
}

/*
 * <pre>
 * strÀÌ null, undefined, NaN, °ø¹é("") ÀÌ¸é trueÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    strÀÌ null, undefined, NaN, °ø¹é("") ÀÌ¸é true
 * 
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   str : Ã¼Å©ÇÒ ¹®ÀÚ¿­
 * 
 * <b>return</b>
 *   strÀÌ null, undefined, NaN, °ø¹é("") ÀÌ¸é true
 * 
 * </pre>
 */
function cIsNull(str) {
 	if (str+"" == "undefined" || str+"" == "NaN" || str+"" == "null" || str+"" == "")
 		return true;
	return false;
} 

/*
 * <pre>
 * 19000909ÇüÅÂÀÇ ³¯Â¥(str)°¡  ¿Ã¹Ù¸¥ ³¯Â¥ÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    19000909ÇüÅÂÀÇ ³¯Â¥(str)°¡  ¿Ã¹Ù¸¥ ³¯Â¥ÀÎÁö Ã¼Å©
 * 
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   str : Ã¼Å©ÇÒ ³¯Â¥ ¹®ÀÚ¿­
 * 
 * <b>return</b>
 *   19000909ÇüÅÂÀÇ ³¯Â¥(str)°¡  ¿Ã¹Ù¸¥ ³¯Â¥ÀÎÁö Ã¼Å©
 * 
 * </pre>
 */
function cIsDate(str) {
	if(cIsNull(str)) return false;	//°ø¹éÀÌ¶ó¸é
	var valid = true;
	var msg="";
	var birth = str;
	var yyyy = birth.substring(0,4);
	var mm = birth.substring(4,6);
	var dd = birth.substring(6,8);
	var months = new Array("", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12");
	
	if ((cIsNull(birth) || birth.length != 8) || !cIsNumStr(birth)){
	msg+="¿¹)19700101\n"; 
		valid= false;
		return valid;
	 }
	if(!(yyyy.substring(0,2)=="19" || yyyy.substring(0,2)=="20")){
	msg+="³âµµÀÔ·Â¿À·ù!\n";
		valid= false;
	}

	if(mm>12 || mm<1){
	msg+="¿ùÀÔ·Â¿À·ù!(1~12)\n";
		valid =  false;
	}
	
	if ((mm != 02) && (mm == 04 || mm == 06 || mm == 09 || mm == 11) && dd > 30) {
	msg+= months[mm] + "¿ùÀÇ ¸¶Áö¸· ³¯Àº 30ÀÏ ÀÔ´Ï´Ù.\n";
		valid = false;
	}else if ((mm != 02) && (dd > 31)) {
	msg+= months[mm] + "¿ùÀÇ ¸¶Áö¸· ³¯Àº  31ÀÏ ÀÔ´Ï´Ù.\n";
		valid = false;
	}
	
	if(mm == 02)
	{
	  var leap;
	  leap = cIsLeafYear(yyyy); // À±³âÀº 29ÀÏ±îÁö ÀÖ´Ù.
	  if(leap == true && dd > 29)
	  {
	    msg+= yyyy + "³âÀÇ  2¿ùÀº 29ÀÏ ±îÁö ÀÖ½À´Ï´Ù.";
	    valid = false;
	  }
	  else if(leap == false && dd > 28)
	  {
	    msg+= yyyy + "³âÀÇ 2¿ùÀº 28ÀÏ ±îÁö ÀÖ½À´Ï´Ù.";
	    valid = false;
	  }
	}
		
	if(dd>31 || dd<1){
	msg+="ÀÏÀÔ·Â¿À·ù!(1~31)\n";
		valid= false;
	}
	if(valid==false){
		alert(msg);
	}
	return valid;
}

/*
 * <pre>
 * ¹®ÀÚ¿­ÀÌ ³âµµÇüÅÂÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ¹®ÀÚ¿­ÀÌ ³âµµÇüÅÂÀÎÁö Ã¼Å©
 * 
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   str : Ã¼Å©ÇÒ ³¯Â¥ ¹®ÀÚ¿­
 * 
 * <b>return</b>
 *   ¹®ÀÚ¿­ÀÌ ³âµµÇüÅÂ ÀÌ¸é true
 * 
 * </pre>
 */
// ¹®ÀÚ¿­ÀÌ ³âµµÇüÅÂ ÀÌ¸é true
function cIsYear(str){
	if(cIsNull(str)) return false;	//°ø¹éÀÌ¶ó¸é
	var isValid=false;

	if(cIsNumStr(str)){
		if(str.length==4 && (str.charAt(0)==1 || str.charAt(0)==2) && (str.charAt(1)==0 || str.charAt(1)==1 ||str.charAt(1)==9)){
			if(str>1000) isValid = true;
			}
	}
	return isValid;
}

/*
 * <pre>
 * formatÀÇ ÇüÅÂ·Î Å¬¶óÀÌ¾ðÆ® pcÀÇ ÇöÀç ³¯ÀÚ¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    formatÀÇ ÇüÅÂ·Î Å¬¶óÀÌ¾ðÆ® pcÀÇ ÇöÀç ³¯ÀÚ¸¦ ¸®ÅÏ
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   format - "yyyymmdd", "yyyy-mm-dd", "yyyymmddhhmmss", "yyyy-mm-dd hh:mm:ss".
 * 
 * <b>return</b>
 *   ¼Ò½º ¹®ÀÚ¿­À» trimÇÑ ¹®ÀÚ¿­
 * 
 * </pre>
 */
function cGetToday(format) {
	var dNow = new Date();
	var yyyy = "";
	var MM   = "";
	var dd   = "";
	var hh = ""; 
	var mm   = "";
	var sss   = "";

	yyyy = dNow.getYear();
	MM   = dNow.getMonth()+1;
	dd   = dNow.getDate();
	hh   = dNow.getHours();
	mm   = dNow.getMinutes();
	sss  = dNow.getSeconds();

	yyyy = cGetZero( yyyy, 4 );
	MM   = cGetZero( MM,   2 );
	dd   = cGetZero( dd,   2 );
	hh   = cGetZero( hh,   2 );
	mm   = cGetZero( mm,   2 );
	sss  = cGetZero( sss,  2 );

	if (format == "yyyymmdd")
		return (yyyy + MM + dd);
	else if (format == "yyyy-mm-dd")
		return (yyyy + "-" + MM + "-" + dd);
	else if (format == "yyyymmddhhmmss")
		return (yyyy + MM + dd + hh + mm + sss);
	else if (format == "yyyy-mm-dd hh:mm:ss")
		return (yyyy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + sss);
}

/*
 * <pre>
 * ¹®ÀÚ¿­(str)À» ³¯Â¥Çü½Ä¿¡ ÀÇÇØ '-' »ðÀÔÇÏ¿© ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ¹®ÀÚ¿­(str)À» ³¯Â¥Çü½Ä¿¡ ÀÇÇØ '-' »ðÀÔÇÏ¿© ¸®ÅÏ
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   date : 8ÀÚ·Î ±¸¼ºµÈ ³¯Â¥Çü½Ä
 * 
 * <b>return</b>
 *   ¹®ÀÚ¿­(str)À» ³¯Â¥Çü½Ä¿¡ ÀÇÇØ '-' »ðÀÔÇÏ¿© ¸®ÅÏ
 * 
 * </pre>
 */
function cSetDateDashStr(str) {
	if(!cIsDate(str)){		//¿Ã¹Ù¸¥ ÇüÅÂ°¡ ¾Æ´Ï¶ó¸é
		return false;
	}
	str = str.substr(0,4)+"-"+str.substr(4,2)+"-"+str.substr(6,2);	
	return str;
}

/*
 * <pre>
 * ³¯Â¥¹®ÀÚ¿­(yyyy-mm-dd hh:mi:se)¸¦ ÀÏ·ÃÀÇ ÃÊ´ÜÀ§·Î ÀüÈ¯ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ³¯Â¥¹®ÀÚ¿­(yyyy-mm-dd hh:mi:se)¸¦ ÀÏ·ÃÀÇ ÃÊ´ÜÀ§·Î ÀüÈ¯ÇÏ¿© return ÇÑ´Ù.°ø¹éÀÌ¶ó¸é NaN¸®ÅÏ.
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   date : yyyy-mm-dd hh:mi:seÇü½ÄÀ¸·Î ±¸¼ºµÈ ³¯Â¥Çü½Ä
 * 
 * <b>return</b>
 *   ³¯Â¥¹®ÀÚ¿­(yyyy-mm-dd hh:mi:se)¸¦ ÀÏ·ÃÀÇ ÃÊ´ÜÀ§·Î ÀüÈ¯
 * 
 * </pre>
 */
function cGetDateNum(str) {

	var retval = 0;
	var monthDays = new Array(12);

	var yyyy = new Number(str.substr(0,4));
	var mm 	 = new Number(str.substr(5,2));
	var dd 	 = new Number(str.substr(8,2));
	var hh   = new Number(str.substr(11,2));
	var min  = new Number(str.substr(14,2));
	var sec  = new Number(str.substr(17,2));
	
	isLeapYear = (((yyyy % 4 == 0) && (yyyy % 100 != 0 )) || (yyyy % 400 == 0));
	monthDays = cGetArrayMaxDay(isLeapYear); // ÇØ´ç ´ÞÀÇ ¸¶Áö¸· ³¯Â¥ ¾ò¾î¿È
	retval = (yyyy-1)*365*24*60*60;
	
	for (var i=1 ; i < mm ; i++){
		retval = retval + ( monthDays[i-1] ) * 24 * 60 * 60;
	}
	retval = retval + (dd -1)*24*60*60  ;
	retval = retval + sec + (hh*60*60) + (min)*60;
	return retval;
}

/*
 * <pre>
 * ¿ùº° ¸¶Áö¸· ³¯À» ¹è¿­·Î ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ¿ùº° ¸¶Áö¸· ³¯À» ¹è¿­·Î ¸®ÅÏ
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   cGetDateNum() ÇÔ¼ö¿¡¼­ ³¯Â¥¸¦ ÃÊ´ÜÀ§·Î º¯È¯ÇÒ¶§ ¿ùº° ÃÖ´ëÀÏÀÚ ±¸ÇÔ
 *   isLeapYear - À±³âÀÌ¶ó¸é true, ¾Æ´Ï¶ó¸é false¸¦ ¼ÂÆÃ
 * 
 * <b>return</b>
 *   ¿ùº° ¸¶Áö¸· ³¯À» ¹è¿­·Î ¸®ÅÏ
 * 
 * </pre>
 */
function cGetArrayMaxDay(isLeapYear) {
	retMon = new Array(12);
	retMon[0] = 31;

	if (isLeapYear) retMon[1] = 29 ;
	else retMon[1] = 28;
	
	retMon[2] = 31;
	retMon[3] = 30;
	retMon[4] = 31;
	retMon[5] = 30;
	retMon[6] = 31;
	retMon[7] = 31;
	retMon[8] = 30;
	retMon[9] = 31;
	retMon[10] = 30;
	retMon[11] = 31;

	return  retMon;
}

/*
 * <pre>
 * Date°´Ã¼¸¦  yyyy-mm-dd  hh:mm:ss ÀÇ ¹®ÀÚ¿­·Î ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    Date°´Ã¼¸¦  yyyy-mm-dd  hh:mm:ss ÀÇ ¹®ÀÚ¿­·Î ¸®ÅÏ
 *    paramDateTimeÀÇ Å¸ÀÔÀº Date(³»Àå°´Ã¼)ÀÌ´Ù.
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   paramDateTime - Date(³»Àå°´Ã¼)
 * 
 * <b>return</b>
 *   Date°´Ã¼¸¦  yyyy-mm-dd  hh:mm:ss ÀÇ ¹®ÀÚ¿­·Î ¸®ÅÏ
 * 
 * </pre>
 */
function cGetDateTime(paramDateTime)
{
	var myDate = paramDateTime;
	var yy, mm, dd; // ³¯Â¥
	var ho, mi, se; // ½Ã°£

	yy=(myDate.getYear()<100) ? "19" + myDate.getYear() : myDate.getYear();
	mm = myDate.getMonth() + 1 ;
	mm = (mm < 10) ? "0" + mm : mm;
	dd = myDate.getDate();
	dd = (dd < 10) ? "0" + dd : dd;

	ho = myDate.getHours();
	mi = myDate.getMinutes();
	se = myDate.getSeconds();

	return (yy + "-" + mm + "-" + dd + " " + cGetZero(ho,2) + ":" + cGetZero(mi,2) + ":" + cGetZero(se,2));
}

/*
 * <pre>
 * ÀÔ·Â¹ÞÀº ³â,¿ùÀÇ ÃÖ´ë ÀÏÀÚÀ» ±¸ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    ÀÔ·Â¹ÞÀº ³â,¿ùÀÇ ÃÖ´ë ÀÏÀÚÀ» ±¸ÇÔ.
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    yyyy, mm Àº String, Integer ¸ðµÎ °¡´É
 * 
 * <b>Parameters</b>
 *   yyyy - ³â
 *   mm - ¿ù
 * 
 * <b>return</b>
 *   ³â, ¿ù¿¡ ÇØ´çÇÏ´Â ÃÖ´ë ÀÏÀÚ.
 * 
 * </pre>
 */
function cGetMaxDay(yyyy, mm) {
	if(cIsNull(yyyy) || cIsNull(mm)) return false;	//°ø¹éÀÌ¶ó¸é
	
	var monthDD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	var iMaxDay = 0;

	if ( cIsLeafYear(yyyy) ) {
		monthDD[1] = 29;
	}
	iMaxDay = monthDD[new Number(mm) - 1];

	return iMaxDay;
}

/*
 * <pre>
 * yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ Áõ°¡ÇÑ ³¯Â¥¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ Áõ°¡ÇÑ ³¯Â¥¸¦ ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   yyyy - ³â
 *   mm - ¿ù
 *   dd - ÀÏ
 *   val - Áõ°¡Ä¡
 *
 * <b>return</b>
 *   yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ Áõ°¡ÇÑ ³¯Â¥¸¦ ¸®ÅÏ
 * 
 * </pre>
 */
function cGetPlusDate(yyyy, mm, dd, val) {

	var iYear  = new Number(yyyy);
	var iMonth = new Number(mm);
	var iDay   = new Number(dd);
	var ival = new Number(val);
	ival += iDay ;

	var iMaxDay = 0;

	while (true) {
		iMaxDay = cGetMaxDay(iYear, iMonth);
		if (ival <= iMaxDay) {
			iDay = ival;
			break;
		} else {
			if (iMonth == 12) {
				iYear  = iYear + 1;
				iMonth = 1;
			} else {
				iMonth = iMonth + 1;
			}
			ival = ival - iMaxDay;
		}
	}

	return ( iYear.toString() + cGetZero(iMonth.toString(), 2) + cGetZero(iDay.toString(), 2) );
}


/*
 * <pre>
 * yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ ¿ùÀ» Áõ°¡ÇÑ ³¯Â¥¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ ¿ùÀ» Áõ°¡ÇÑ ³¯Â¥¸¦ ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   yyyy - ³â
 *   mm - ¿ù
 *   dd - ÀÏ
 *   val - Áõ°¡Ä¡
 *
 * <b>return</b>
 *   yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ ¿ùÀ» Áõ°¡ÇÑ ³¯Â¥¸¦ ¸®ÅÏ
 * 
 * </pre>
 */
function cGetPlusMonth(yyyy, mm, dd, val) {

	var iYear  = new Number(yyyy);
	var iMonth = new Number(mm);
	var iDay   = new Number(dd);
	var ival = new Number(val);

	var iAddYear =0;
	
	if(ival >= 12) {	
		iAddYear = new Number(ival/12);
		iYear = iYear + iAddYear;		
		iMonth = iMonth + ( ival%12);
		
	} else {
	
		ival += iMonth ;

		if (ival > 12) {
			iYear  = iYear + 1;
			iMonth = ival - 12;
		} else {
			iMonth = ival;
		}
	}
	
	// 
	iMaxDay = cGetMaxDay(iYear, iMonth);	
	if ( iDay > iMaxDay) {
		iDay = iMaxDay;
	}
	
	// 1Â÷ : 2°³¿ù : 20040201 ~ 20040401
	// ÃÖÁ¾°è»ê : 20040201 ~ 20040331
	// µû¶ó¼­ 1Â÷ °è»êµÈ ÀÏÀÚ¿¡¼­ ÇÏ·ç¸¦ »©¼­ ¸®ÅÏÇÔ.
	
	return cGetMinusDate( iYear.toString(), cGetZero(iMonth.toString(), 2), cGetZero(iDay.toString(), 2), 1);
	
}

/*
 * <pre>
 * yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ °¨¼ÒµÈ ³¯Â¥¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ °¨¼ÒµÈ ³¯Â¥¸¦ ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    °¢ ¾Æ±Ô¸ÕÆ®µéÀº integer, string Å¸ÀÔ ¸ðµÎ °¡´É
 * 
 * <b>Parameters</b>
 *   yyyy - ³â
 *   mm - ¿ù
 *   dd - ÀÏ
 *   val - °¨¼ÒÄ¡
 *
 * <b>return</b>
 *   yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ °¨¼ÒµÈ ³¯Â¥¸¦ ¸®ÅÏ
 * 
 * </pre>
 */
function cGetMinusDate(yyyy, mm, dd, val) {
	var iYear  = new Number(yyyy);
	var iMonth = new Number(mm);
	var iDay   = new Number(dd);
	var ival = new Number(val);
	var iMaxDay = 0;
	
	var isTrue = true;
	if (iDay > ival) {
		iDay = iDay - ival;
		isTrue = false;
	} else if (ival == iDay) {
		ival = 0;
	} else
		ival = ival - iDay;

	while (isTrue) {
		if (iMonth == 1) {
			iYear  = iYear - 1;
			iMonth = 12;
		} else {
			iMonth = iMonth - 1;
		}

		iMaxDay = cGetMaxDay(iYear, iMonth);

		if (ival == 0) {
			ival = iMaxDay;
			iDay = ival;
			break;
		} else if (ival < iMaxDay) {
			iDay = iMaxDay - ival;
			break;
		} else {
			ival = ival - iMaxDay;
		}
	}

	return ( iYear.toString() + cGetZero(iMonth.toString(), 2) + cGetZero(iDay.toString(), 2) );
}

/*
 * <pre>
 * yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ ¿ùÀ» °¨¼ÒÇÑ ³¯Â¥¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ ¿ùÀ» °¨¼ÒÇÑ ³¯Â¥¸¦ ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   yyyy - ³â
 *   mm - ¿ù
 *   dd - ÀÏ
 *   val - °¨¼ÒÄ¡
 *
 * <b>return</b>
 *   yyyy, mm, dd ·Î ¹ÞÀº ³¯Â¥¿¡¼­ val¸¸Å­ ¿ùÀ» °¨¼ÒÇÑ ³¯Â¥¸¦ ¸®ÅÏ
 * 
 * </pre>
 */
function cGetMinusMonth(yyyy, mm, dd, val) {

	var iYear  = new Number(yyyy);
	var iMonth = new Number(mm);
	var iDay   = new Number(dd);
	var ival = new Number(val);
	ival = iMonth - ival ;
	
	if (ival <= 0) {
		iYear  = iYear - 1;
		iMonth = 12 - ival;
	} else {
		iMonth = ival;
	}

	return ( iYear.toString() + cGetZero(iMonth.toString(), 2) + cGetZero(iDay.toString(), 2) );
}

/*
 * <pre>
 * µÎ ³¯Â¥ÀÇ Â÷ÀÌ¸¦ ³¯(ìí)¼ö·Î ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    µÎ ³¯Â¥ÀÇ Â÷ÀÌ¸¦ ³¯(ìí)¼ö·Î ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    basicDayStr¿¡¼­ compareDayStrÀ» »« ³¯Â¥¼ö ¸®ÅÏ
 *    ³¯Â¥ Çü½ÄÀº "YYYY-MM-DD" ¶Ç´Â "YYYYMMDD"
 * 
 * <b>Parameters</b>
 *   basicDayStr - "YYYY-MM-DD" ¶Ç´Â "YYYYMMDD"
 *   compareDayStr - "YYYY-MM-DD" ¶Ç´Â "YYYYMMDD"
 *
 * <b>return</b>
 *   µÎ ³¯Â¥ÀÇ Â÷ÀÌ¸¦ ³¯(ìí)¼ö·Î ¸®ÅÏ
 * 
 * </pre>
 */
function cGetDifTodayInputday(basicDayStr, compareDayStr) {
	basicDayStr = cRmString(basicDayStr, '-');		// '-'°¡ ÀÖ´Ù¸é Á¦°Å 
	compareDayStr = cRmString(compareDayStr, '-');
	if(!cIsDate(basicDayStr) ||!cIsDate(compareDayStr)) return false;		//³¯Â¥ Çü½ÄÀÌ ¾Æ´Ï¶ó¸é

	date1 = new Date();	
	date2 = new Date();     

	date1.setYear(basicDayStr.substring(0,4));
	date1.setMonth(basicDayStr.substring(4,6)-1);
	date1.setDate(basicDayStr.substring(6,8));

	date2.setYear(compareDayStr.substring(0,4));
	date2.setMonth(compareDayStr.substring(4,6)-1);
	date2.setDate(compareDayStr.substring(6,8));
	
	var v_date1 = cGetDateNum(cGetDateTime(date1)); // date¸¦ ÃÊ·Î º¯È¯
	var v_date2 = cGetDateNum(cGetDateTime(date2)); 
	
	var rtVal = v_date1 - v_date2;

	if(rtVal != 0) rtVal = rtVal/(24*60*60);  // 1ÀÏ = 24*60*60 = 86,400ÃÊ
	else rtVal = 0;
			
	return rtVal;
}

/*
 * <pre>
 * strÀÇ ¹®ÀÚ¿­Áß rmCharÀÇ Æ¯Á¤ ¹®ÀÚ¸¸ »èÁ¦ÇÑ ¹®ÀÚ¿­À» ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    strÀÇ ¹®ÀÚ¿­Áß rmCharÀÇ Æ¯Á¤ ¹®ÀÚ¸¸ »èÁ¦ÇÑ ¹®ÀÚ¿­À» ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 * 
 * <b>Parameters</b>
 *   str - strÀÇ ¹®ÀÚ¿­
 *   rmChar - ±æÀÌ 1ÀÇ ¹®ÀÚ
 *
 * <b>return</b>
 *   strÀÇ ¹®ÀÚ¿­Áß rmCharÀÇ Æ¯Á¤ ¹®ÀÚ¸¸ »èÁ¦ÇÑ ¹®ÀÚ¿­À» ¸®ÅÏ
 * 
 * </pre>
 */
function cRmString(str, rmChar){
	//nullÀÌ ÀÖ´Ù¸é	
	if(cIsNull(str) || cIsNull(rmChar)) return false;
	
	// ÇÑÀÚ¸®ÀÇ rmCharÀÎÁö Ã¼Å©
	if(rmChar.length != 1){
		alert("[½ºÅ©¸³Æ® »ç¿ë ¿À·ù]\r\n rmStr¿¡´Â 1ÀÚ¸®ÀÇ ¹®ÀÚ¸¸ ¿Ã ¼ö ÀÖ½À´Ï´Ù.");
		return;
	}
	var len = str.length;
	var rtValue = "";
	
	for(var i =0 ; i < len ; i++){
		if(str.charAt(i) != rmChar){
			rtValue += str.charAt(i);
		}	
	}
	return rtValue;
}

/*
 * <pre>
 * toDate°¡ fromDateº¸´Ù Å©¸é(ÃÖ±ÙÀÏÀÚ) true ¸®ÅÏÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    toDate°¡ fromDateº¸´Ù Å©¸é(ÃÖ±ÙÀÏÀÚ) true ¸®ÅÏ
 *    
 * 2. Æ¯ÀÌ»çÇ×
 * 
 * <b>Parameters</b>
 *   toDate - 
 *   fromDate - 
 *
 * <b>return</b>
 *   toDate°¡ fromDateº¸´Ù Å©¸é(ÃÖ±ÙÀÏÀÚ) true ¸®ÅÏ
 * 
 * </pre>
 */
function cIsBig(toDate, fromDate) {
	toDate = cRmString(toDate, '-');		// '-'°¡ ÀÖ´Ù¸é Á¦°Å 
	fromDate = cRmString(fromDate, '-');
	if(!cIsDate(toDate) ||!cIsDate(fromDate)) return false;		//³¯Â¥ Çü½ÄÀÌ ¾Æ´Ï¶ó¸é
	var fromYear = fromDate.substring(0,4);
	var fromMonth = fromDate.substring(4,6);
	var fromDay = fromDate.substring(6,8);
	var toYear = toDate.substring(0,4);
	var toMonth = toDate.substring(4,6);
	var toDay = toDate.substring(6,8);
	
	if (toYear > fromYear) return true
	else if (toYear < fromYear) return false
	
	if (toMonth > fromMonth) return true
	else if (toMonth < fromMonth) return false
	
	if (toDay > fromDay) return true
	
	return false
}

/*
 * <pre>
 * input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ÁÖ¹Î¹øÈ£ÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ÁÖ¹Î¹øÈ£ÀÎÁö Ã¼Å©
 *    
 * 2. Æ¯ÀÌ»çÇ×
 * 
 * <b>Parameters</b>
 *   obj - ÁÖ¹Î¹øÈ£¸¦ °¡Áø obj³ª value
 *
 * <b>return</b>
 *   input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ÁÖ¹Î¹øÈ£ÀÎÁö Ã¼Å©ÇÏ¿© ¸ÂÀ¸¸é true ¸®ÅÏ.
 * 
 * </pre>
 */
function cIsJumin( obj ) {
	var str = "";
	if (typeof obj=="object") str = obj.value;
	else			  str = obj;
	
	if(cIsNull(str)) return false;	//°ø¹éÀÌ¶ó¸é
		
	str = cRmString(str, "-");	// "-" Á¦°Å
	var  j=9
	var  id_chk=0  

	object =  new Array(13)    
	for(var i=0;i < 13;i++) {  
		object[i] = str.substring(i,i+1)   
	}  
	var chkdigit = str.substring(12, 13)   
	for(var i=0;i < 12;i++){   
	    if( i == 8 )     
	    j = 9
	    object[i]=object[i]*j  
	    j--  
	    id_chk +=object[i]     
	}  
    if(((id_chk%11 == 0) && (chkdigit == 1)) || ((id_chk%11 ==10)&& (chkdigit ==0))){     
         return true;
    } 
    else if((id_chk %11 != 0) && (id_chk % 11 != 10 ) && (id_chk % 11 == chkdigit)){
         return true;
    } 
    else{   
         return clsAlienJumin(str);
    } 
} 

/*
 * <pre>
 * input ÇÊµåÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ¿Ü±¹ÀÎ ÁÖ¹Î¹øÈ£ÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    input ÇÊµåÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ¿Ü±¹ÀÎ ÁÖ¹Î¹øÈ£ÀÎÁö Ã¼Å©
 *    
 * 2. Æ¯ÀÌ»çÇ×
 * 
 * <b>Parameters</b>
 *   obj - ¿Ü±¹ÀÎ ÁÖ¹Î¹øÈ£¸¦ °¡Áø value
 *
 * <b>return</b>
 *   input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ¿Ü±¹ÀÎ ÁÖ¹Î¹øÈ£ÀÎÁö Ã¼Å©ÇÏ¿© ¸ÂÀ¸¸é true ¸®ÅÏ.
 * 
 * </pre>
 */
function clsAlienJumin(fgn_reg_no){ 

    if (fgn_reg_no == ''){ 
        return false; 
    } 
    if (fgn_reg_no.length != 13) { 
        return false; 
    } 
    
    var birthYear = "";
    var birthMonth = "";
    var birthDate = "";
    var birth = null;
    
    if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6")) { 
        birthYear = "19"; 
    } else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8")) { 
        birthYear = "20"; 
    } else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0")) { 
        birthYear = "18"; 
    } else { 
        return false; 
    }         

    birthYear += fgn_reg_no.substr(0, 2); 
    birthMonth = fgn_reg_no.substr(2, 2) - 1; 
    birthDate = fgn_reg_no.substr(4, 2); 
    birth = new Date(birthYear, birthMonth, birthDate); 
     
    if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) || 
         birth.getMonth() != birthMonth || 
         birth.getDate() != birthDate) { 
        return false; 
    } else {
        return true; 
    }
} 


/*
 * <pre>
 * input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ¹ýÀÎ¹øÈ£ÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ¹ýÀÎ¹øÈ£ÀÎÁö Ã¼Å©
 *    
 * 2. Æ¯ÀÌ»çÇ×
 * 
 * <b>Parameters</b>
 *   obj - ¹ýÀÎ¹øÈ£¸¦ °¡Áø obj³ª value
 *
 * <b>return</b>
 *   input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ ¹ýÀÎ¹øÈ£ÀÎÁö Ã¼Å©ÇÏ¿© ¸ÂÀ¸¸é true ¸®ÅÏ.
 * 
 * </pre>
 */
function cIsBupin(obj) {
	var str = "";
	if (typeof obj=="object") str = obj.value;
	else			  str = obj;
	
	if(cIsNull(str)) return false;	//°ø¹éÀÌ¶ó¸é
	
	str = cRmString(str, "-");	// "-" Á¦°Å
	
	var check = 1;
	var no = new Array(13);
	var sum = 0;
	var rem = 0;
	var m = 0;
	
	m = new Number(str.charAt(12)); // ¹øÈ£ÀÇ ¸¶Áö¸· ¼ýÀÚ ¾ò±â

	for(var i=0; i<12; i++) no[i] = new Number(str.charAt(i)); // 1~12±îÁö ¼ýÀÚ ¾ò±â

	for(var i=0; i<12; i++) {
		sum += (check * no[i]);
		check = (check==1) ? 2 : 1;
	}

	rem = sum % 10; // ³ª¸ÓÁö ±¸ÇÏ±â
	rem = 10 - rem;
	rem = (rem >= 10) ? rem - 10 : rem;

	// ¸¶Áö¸·¹øÂ°¿Í 10-remÀÇ °ªÀ» ºñ±³
	if(m == rem) return true; // Á¤È®
	// ¹ýÀÎ¹øÈ£ À¯È¿¼º Ã¼Å©½Ã ¿¹¿Ü ¹ýÀÎ¹øÈ£(¿¹¿Ü ¹ß»ý½Ã °è¼Ó Ãß°¡¹Ù¶÷)
	// 20050720 ÃÖÁ¾¸¸ ¼öÁ¤
	else if (str == '1311110020144' )
		return true;
	else return false; // ºÎÁ¤È®
}

/*
 * <pre>
 * input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ »ç¾÷ÀÚµî·Ï¹øÈ£ÀÎÁö Ã¼Å©ÇÏ´Â ¸Þ¼Òµå
 *
 * 1. ¼³ ¸í
 *    input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ »ç¾÷ÀÚµî·Ï¹øÈ£ÀÎÁö Ã¼Å©
 *    
 * 2. Æ¯ÀÌ»çÇ×
 * 
 * <b>Parameters</b>
 *   obj - »ç¾÷ÀÚµî·Ï¹øÈ£¸¦ °¡Áø obj³ª value
 *
 * <b>return</b>
 *   input ÇÊµå °´Ã¼(obj)ÀÇ °ªÀÌ ¿Ã¹Ù¸¥ »ç¾÷ÀÚµî·Ï¹øÈ£ÀÎÁö Ã¼Å©ÇÏ¿© ¸ÂÀ¸¸é true ¸®ÅÏ.
 * 
 * </pre>
 */
function cIsResno(obj){
	var str = "";
	if (typeof obj=="object") str = obj.value;
	else			  str = obj;
	
	if(cIsNull(str)) return false;	//°ø¹éÀÌ¶ó¸é
	
	str = cRmString(str, "-");	// "-" Á¦°Å

	var check = 0;
	var no = new Array(10);
	var sum = 0;
	var tmpNo = 0;
	var tmpStr = 0;
	
	for(var i=0; i<10; i++) no[i] = new Number(str.charAt(i)); // 1~10±îÁö ¼ýÀÚ ¾ò±â

	for(var i=0; i<10; i++) {
		if((i%3)==0) 
			tmpNo = no[i] + 0;
		else if ( (i%3) == 1)
			tmpNo = no[i] * 3;
		else if ( (i%3) == 2)
			tmpNo = no[i] * 7;

		if(i==8)
		{
			tmpNo = no[i] * 5;
			if(tmpNo > 9) {
				tmpStr = tmpNo + "";
				tmpNo = new Number(tmpStr.charAt(0)) + new Number(tmpStr.charAt(1));
			}
		}
		sum += tmpNo;
	}
	if( (sum % 10) == 0) return true; // Á¤È®
	else return false; // ºÎÁ¤È®
}


/**
  * ÃÖ¼ÒÀÚ¸®¼ö¸¦ Ã¼Å©ÇÔ  ¸¸¾à minLen ÀÌ 2¶ó¸é 2ÀÚ¸®ÀÌ»óÀÌ¾î¾ßÇÔ
  * param val Ã¼Å©ÇÒ text field
  * minLen ÃÖ¼ÒÀÚ¸®¼ö
  * fieldName ½ÇÁ¦ ÇÊµå¸í 
  */  
function minLen(val, minLen, fieldName){
	if(val.value.length == 0) return true;
	if(val.value.length<minLen) {
		alert(fieldName+"Àº(´Â) "+minLen+"ÀÚ¸® ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.");
		val.focus();
		return false;	
	}
	return true;
}