/**
	ÆÄÀÏ¸í : validate.js 
	¸ñ  Àû : °øÅëÇÔ¼ö
	ÀÛ¼ºÀÚ : ÀÌ¼º¿ø
	³»  ¿ë : 
	----------------------------------------------------------------------------

	[Function Category]
		A.  ÀÔ·ÂÀ¯È¿¼º °Ë»ç.
    

    [Function List]
		V-1. ÀÔ·Â °´Ã¼ÀÇ °ªÀÌ ³Î(null)ÀÎÁö¸¦ °Ë»çÇÑ´Ù.
		V-2.   isValid	         ÀÔ·Â°ªÀÇ À¯È¿¼ºÀ» °Ë»çÇÑ´Ù.
		V-3.   isValidSize       ÀÔ·Â°ªÀÇ Å©±â¸¦ °Ë»çÇÑ´Ù.
		V-4.   isNumber          °´Ã¼ÀÇ °ªÀÌ ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
		V-5.   isKorean          °´Ã¼ÀÇ °ªÀÌ ÇÑ±ÛÀÎÁö °Ë»çÇÑ´Ù.
		V-6.   isAlphabet        °´Ã¼ÀÇ °ªÀÌ ¿µ¹®ÀÎÁö °Ë»çÇÑ´Ù.
		V-7.   isAlphaNumeric    °´Ã¼ÀÇ °ªÀÌ ¿µ¹® ¶Ç´Â ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
		V-8.   isSame            µÎ °´Ã¼ÀÇ °ªÀÌ µ¿ÀÏÇÑÁö °Ë»çÇÑ´Ù.
		V-9.   isId              °´Ã¼ÀÇ °ªÀÌ ¾ÆÀÌµð¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù. * - ¾ÆÀÌµðÇü½Ä : ¿µ¹®, ¼ýÀÚ, _ ¸¦ »ç¿ëÇÏ¿© 5ÀÚÀÌ»ó 10ÀÚÀÌÇÏ
		V-10.  isMail            °´Ã¼ÀÇ °ªÀÌ E-Mail¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-11.  isUrl             °´Ã¼ÀÇ °ªÀÌ URL¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-12.  isIp              °´Ã¼ÀÇ °ªÀÌ IP¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-13.  isJumin           °´Ã¼ÀÇ °ªÀÌ ÁÖ¹Î¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-14.  isJumin2          °´Ã¼ÀÇ °ªÀÌ ÁÖ¹Î¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-15.  isPhone           °´Ã¼ÀÇ °ªÀÌ ÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-16.  isPhone2          °´Ã¼ÀÇ °ªÀÌ ÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-17.  isCellular        °´Ã¼ÀÇ °ªÀÌ ÈÞ´ëÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-18.  isCellular2       °´Ã¼ÀÇ °ªÀÌ ÈÞ´ëÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-19.  setCheckbox       CHCKBOX¸¦ ¸ðµÎ Ã¤Å©»óÅÂ·Î ÇÑ´Ù..
		V-20.  resetCheckbox     CHCKBOX °´Ã¼¸¦ ¸ðµÎ ÇØÁ¦ÇÑ´Ù.
		V-21.  reverseCheckbox   CHCKBOX °´Ã¼¸¦ ¸ðµÎ ¹ÝÀüÇÑ´Ù.
		V-22.  isChecked         CHCKBOX, RADIO °´Ã¼°¡ Ã¤Å©µÇ¾ú´ÂÁö °Ë»çÇÑ´Ù.
		V-23.  isValidYear       °´Ã¼ÀÇ °ªÀÌ ¿¬µµ¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-24.  isValidMonth      °´Ã¼ÀÇ °ªÀÌ ¿ù¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-25.  isValidDate       °´Ã¼ÀÇ °ªÀÌ ÀÏ¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-26.  isValidDate2      °´Ã¼ÀÇ °ªÀÌ ÀÏ¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-27.  isValidYearMonth  °´Ã¼ÀÇ °ªÀÌ ¿¬¿ù¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
		V-28.  isValidYearMonth2 °´Ã¼ÀÇ °ªÀÌ ¿¬¿ù¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
*/

/**
 * V-2. ÀÔ·Â°ªÀÇ À¯È¿¼ºÀ» °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @param type	Å¸ÀÔ(K : ÇÑ±Û, A : ¿µ¹®, AN : ¿µ¼ýÀÚ È¥ÇÕ)
 * @param min	ÃÖ¼Ò ÀÚ¸®¼ö 
 * @param max	ÃÖ´ë ÀÚ¸®¼ö 
 * @return		°´Ã¼ ÀÌ¸§
 */
function isValid(obj, type, min, max) {
	window.alert("DISABLED FUNCTION");
	return false;
}

/**
 * V-3. ÀÔ·Â°ªÀÇ Å©±â¸¦ °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @param min	ÃÖ¼Ò ÀÚ¸®¼ö 
 * @param max	ÃÖ´ë ÀÚ¸®¼ö 
 * @return
 */
function isValidSize(obj, min, max) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	if(strlen(str) < min) {
		window.alert("[" + min + "]ÀÚ ÀÌ»óÀ¸·Î ÀÔ·ÂÇÏ¼¼¿ä.");
        obj.focus();
		return false;
	}

	if(parseInt(max) != 0 && strlen(str) > max) {
		window.alert("[" + max + "]ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇÏ¼¼¿ä");
        obj.focus();
		return false;
	}

	return true;
}

/**
 * V-4. °´Ã¼ÀÇ °ªÀÌ ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isNumber(obj) {
	if(isNull(obj)) {
	     obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	for(var i=0; i < str.length ; i++) {
		var code = str.charCodeAt(i);

		if(!(code >= 48 && code <= 57) && code != 44) {
            obj.focus();
			return false;
		}
	}

	return true;
}

/**
 * V-5. °´Ã¼ÀÇ °ªÀÌ ÇÑ±ÛÀÎÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isKorean(obj) {
	if(isNull(obj)) {
	     obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	for(var i=0; i < str.length ; i++) {
		var code = str.charCodeAt(i);

		if(!(code > 255)) {
            obj.focus();
			return false;
		}
	}

	return true;
}

/**
 * V-6. °´Ã¼ÀÇ °ªÀÌ ¿µ¹®ÀÎÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isAlphabet(obj) {
	if(isNull(obj)) {
	     obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	for(var i=0; i < str.length ; i++) {
		var code = str.charCodeAt(i);

        if(!(code >= 65 && code <= 122)) {
            obj.focus();
			return false;
		}
	}

	return true;
}

/**
 * V-7. °´Ã¼ÀÇ °ªÀÌ ¿µ¹® ¶Ç´Â ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isAlphaNumeric(obj) {
	if(isNull(obj)) {
	     obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	for(var i=0; i < str.length ; i++) {
		var code = str.charCodeAt(i);

		if(!(code >= 65 && code <= 122) && !(code >= 48 && code <= 57)) {
            obj.focus();
			return false;
		}
	}

	return true;
}


/**
 * V-8. µÎ °´Ã¼ÀÇ °ªÀÌ µ¿ÀÏÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj1	°´Ã¼1 ID
 * @param obj2	°´Ã¼2 ID
 * @return 
 */
function isSame(obj1, obj2) {
	if(isNull(obj1)) {
	     obj1.focus();
		return false;
	}	

	if(isNull(obj2)) {
	     obj2.focus();
		return false;
	}	

	var str1 = trim(obj1.value);
	var str2 = trim(obj2.value);

	if(str1 != str2) {
        obj1.focus();
		return false;
	}

	return true;
}

/**
 * V-9. °´Ã¼ÀÇ °ªÀÌ ¾ÆÀÌµð¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * - ¾ÆÀÌµðÇü½Ä : ¿µ¹®, ¼ýÀÚ, _ ¸¦ »ç¿ëÇÏ¿© 5ÀÚÀÌ»ó 10ÀÚÀÌÇÏ
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isId(obj) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	
	var str = trim(obj.value);

	if(!isValidSize(obj, 5, 10)) {
		obj.focus()
		return false;
	}

	if(!isAlphaNumeric(obj)) {
		obj.focus();
		return false;
	}

	return true;
}

/**
 * V-10. °´Ã¼ÀÇ °ªÀÌ E-Mail¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isMail(obj) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	var i = str.indexOf("@");
	if(i < 0) {
        obj.focus();
		return false;
	}

	i = str.indexOf(".");
	if(i < 0) {
		obj.focus();
		return false;
	}

	return true;
}

/**
 * V-11. °´Ã¼ÀÇ °ªÀÌ URL¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isUrl(obj) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);

	if(str.match(/^(http)\:\/\/\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%]\w+)*\/?$/i)) {
		return true;
	}
	else {
		obj.focus();
		return false;
	}
}

/**
 * V-12. °´Ã¼ÀÇ °ªÀÌ IP¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isIp (obj) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);
	var ipArray = str.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);

	if(str == "0.0.0.0") {
		return false;
		obj.focus();
	}
	else if(str == "255.255.255.255") {
		return false;
		obj.focus();
	}

	if (ipArray == null) {
		return false;
		obj.focus();
	}
	else {
		for(i = 1; i <= 4; i++) {
			thisSegment = ipArray[i];
			if (thisSegment > 255) {
				obj.focus();
				return false;
			}

			if ((i == 0) && (thisSegment > 255)) {
				obj.focus();
				return false;
		  }
	   }
	}

	return true;
}

/**
 * V-13. °´Ã¼ÀÇ °ªÀÌ ÁÖ¹Î¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj1	°´Ã¼1 ID
 * @param obj2	°´Ã¼2 ID
 * @return 
 */
function isJumin(obj1, obj2) {
	if(isNull(obj1)) {
	    obj1.focus();
		return false;
	}	
	
	if(isNull(obj2)) {
	    obj2.focus();
		return false;
	}	

	var str1 = obj1.value;
	var str2 = obj2.value;

	if(!isValidSize(obj1, 6, 6)) {
		obj1.focus();
		return false;
	}

	if(!isValidSize(obj2, 7, 7)) {
		obj2.focus();
		return false;
	}

	var hap = 0;
	for(var i = 0; i < 6; i++) {
		var temp = str1.charAt(i) *(i+2);
		hap += temp;
	}

	var n1 = str2.charAt(0);
	var n2 = str2.charAt(1);
	var n3 = str2.charAt(2);
	var n4 = str2.charAt(3);
	var n5 = str2.charAt(4);
	var n6 = str2.charAt(5);
	var n7 = str2.charAt(6);

	hap += n1*8+n2*9+n3*2+n4*3+n5*4+n6*5;
	hap %= 11;
	hap = 11 - hap;
	hap %= 10;

	if(hap != n7) {	
        obj1.focus();
		return false;
	}

	return true;
}

/**
 * V-14. °´Ã¼ÀÇ °ªÀÌ ÁÖ¹Î¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj1	°´Ã¼ ID
 * @param sep	±¸ºÐ ¹®ÀÚ
 * @return 
 */
function isJumin2(obj, sep) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);
	var arr = new Array(); 
	arr = str.split(sep);

	if(arr.length != 2) {
		obj.focus();
		return false;
	}

	if(!Number(arr[0])) {
	    obj.focus();
		return false;
	}

	if(!ValidSize(arr[0], 6, 6)) {
		obj.focus();
		return false;
	}

	if(!Number(arr[1])) {
	    obj.focus();
		return false;
	}

	if(!ValidSize(arr[1], 7, 7)) {
        obj.focus();
		return false;
	}

	var hap = 0;
	for(var i = 0; i < 6; i++) {
		var temp = arr[0].charAt(i) *(i+2);
		hap += temp;
	}

	var n1 = arr[1].charAt(0);
	var n2 = arr[1].charAt(1);
	var n3 = arr[1].charAt(2);
	var n4 = arr[1].charAt(3);
	var n5 = arr[1].charAt(4);
	var n6 = arr[1].charAt(5);
	var n7 = arr[1].charAt(6);

	hap += n1*8+n2*9+n3*2+n4*3+n5*4+n6*5;
	hap %= 11;
	hap = 11 - hap;
	hap %= 10;

	if(hap != n7) {	
        obj.focus();
		return false;
	}

	return true;
}

/**
 * V-15. °´Ã¼ÀÇ °ªÀÌ ÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj1	°´Ã¼1 ID
 * @param obj2	°´Ã¼2 ID
 * @param obj3	°´Ã¼3 ID
 * @return 
 */
function isPhone(obj1, obj2, obj3) {
	if(isNull(obj1)) {
	    obj1.focus();
		return false;
	}

	if(isNull(obj2)) {
	    obj2.focus();
		return false;
	}	

	if(isNull(obj3)) {
	    obj3.focus();
		return false;
	}	

	var str1 = trim(obj1.value);
	var str2 = trim(obj2.value);
	var str3 = trim(obj3.value);

	if(!isNumber(obj1) || !isValidSize(obj1, 2, 3)) {
		return false;
	}

	var ddd = ["02", "051", "053", "032", "062", "042", "052", "031", "033", "041", "043", "054", "055", "061", "063", "064"];

	var flag = false;
  	for(var i = 0; i < ddd.length; i++) {
		if(ddd[i] == str1) {
			flag = true;
		}

	}

	if(!flag) {
        obj1.focus();	
		return false;
	}

	if(!isNumber(obj2) || !isValidSize(obj2, 3, 4)) {
		obj2.focus();
		return false;
	}

	if(!isNumber(obj3) || !isValidSize(obj3, 4, 4)) {
		obj3.focus();
		return false;
	}

	return true;
}

/**
 * V-16. °´Ã¼ÀÇ °ªÀÌ ÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @param sep	±¸ºÐ ¹®ÀÚ
 * @return 
 */
function isPhone2(obj, sep) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);
	var arr = new Array(); 
	arr = str.split(sep);

	if(arr.length != 3) {
        obj.focus();
		return false;
	}


	if(!Number(arr[0])) {
        obj.focus();
		return false;
	}

	if(!ValidSize(arr[0], 2, 3)) {
		obj.focus();
		return false;
	}

	var ddd = ["02", "051", "053", "032", "062", "042", "052", "031", "033", "041", "043", "054", "055", "061", "063", "064"];

	var flag = false;
  	for(var i=0;i<ddd.length;i++) {
		if(ddd[i] == arr[0]) {
			flag = true;
		}

	}

	if(!flag) {
        obj.focus();
		return false;
	}

	if(!Number(arr[1])) {
	    obj.focus();
		return false;
	}

	if(!ValidSize(arr[1], 3, 4)) {
		obj.focus();
		return false;
	}

	if(!Number(arr[2])) {
	    obj.focus();
		return false;
	}

	if(!ValidSize(arr[2], 4, 4)) {
		obj.focus();
		return false;
	}

	return true;
}

/**
 * V-17. °´Ã¼ÀÇ °ªÀÌ ÈÞ´ëÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj1	°´Ã¼1 ID
 * @param obj2	°´Ã¼2 ID
 * @param obj3	°´Ã¼3 ID
 * @return 
 */
function isCellular(obj1, obj2, obj3) {
	if(isNull(obj1)) {
	    obj1.focus();
		return false;
	}
	
	if(isNull(obj2)) {
	    obj2.focus();
		return false;
	}	
	
	if(isNull(obj3)) {
	    obj3.focus();
		return false;
	}	

	var str1 = trim(obj1.value)
	var str2 = trim(obj2.value)
	var str3 = trim(obj3.value)

	if(!isNumber(obj1) || !isValidSize(obj1, 3, 3)) {
		obj1.focus();
		return false;
	}

	var ddd =["010", "011","016","017","018","019"];

	var flag = false;
  	for(var i = 0; i < ddd.length;i++) {
		if(ddd[i] == str1) {
			flag = true;
		}
	}

	if(!flag) {
        obj1.focus();	
		return false;
	}

	if(!isNumber(obj2) || !isValidSize(obj2, 3, 4)) {
		obj2.focus();
		return false;
	}

	if(!isNumber(obj3) || !isValidSize(obj3, 4, 4)) {
		obj2.focus();
		return false;
	}

	return true;
}

/**
 * V-18. °´Ã¼ÀÇ °ªÀÌ ÈÞ´ëÀüÈ­¹øÈ£¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @param sep	±¸ºÐ ¹®ÀÚ
 * @return 
 */
function isCellular2(obj, sep) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);
	var arr = new Array(); 
	arr = str.split(sep);

	if(arr.length != 3) {
        obj.focus();
		return false;
	}

	if(!Number(arr[0])) {
        obj.focus();
		return false;
	}

	if(!ValidSize(arr[0], 3, 3)) {
		obj.focus();
		return false;
	}

	var ddd =["010", "011","016","017","018","019"];

	var flag = false;
  	for(var i=0;i<ddd.length;i++) {
		if(ddd[i] == arr[0]) {
			flag = true;
		}

	}

	if(!flag) {
        obj.focus();
		return false;
	}

	if(!Number(arr[1])) {
	    obj.focus();
		return false;
	}

	if(!ValidSize(arr[1], 3, 4)) {
		obj.focus();
		return false;
	}

	if(!Number(arr[2])) {
	    obj.focus();
		return false;
	}

	if(!ValidSize(arr[2], 4, 4)) {
		obj.focus();
		return false;
	}

	return true;
}

/**
 * V-19. CHCKBOX¸¦ ¸ðµÎ Ã¤Å©»óÅÂ·Î ÇÑ´Ù..
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function setCheckbox(obj) {
	if(!isArray(obj)) {
		obj.checked = true;
	}

	for(var i = 0; i < obj.length; i++) {
		obj[i].checked = true;
	}
}

/**
 * V-20. CHCKBOX °´Ã¼¸¦ ¸ðµÎ ÇØÁ¦ÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function resetCheckbox(obj) {

	if(!isArray(obj)) {
		obj.checked = false;
	}

	for(var i = 0; i < obj.length; i++) {
		obj[i].checked = false;
	}
}

/**
 * V-21. CHCKBOX °´Ã¼¸¦ ¸ðµÎ ¹ÝÀüÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function reverseCheckbox(obj) {

	if(!isArray(obj)) {
		return false;
	}

	for(var i = 0; i < obj.length; i++) {
		if(obj[i].checked == true)
			obj[i].checked = false;
		else
			obj[i].checked = true;
	}
}

/**
 * V-22. CHCKBOX, RADIO °´Ã¼°¡ Ã¤Å©µÇ¾ú´ÂÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isChecked(obj) {

	var flag = false;

	if(isArray(obj)) {
		for(i=0; i<obj.length; i++) {

			if(obj[i].checked) {
				flag = true;
				break;
			}	
		}
	}
	else {
		if(obj.checked) {
			flag = true;
		}
	}

	if(!flag) {
		return false;
	}

	return true;
}

/**
 * V-23. °´Ã¼ÀÇ °ªÀÌ ¿¬µµ¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isValidYear(obj) {	
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = parseInt(trim(obj.value), 10);

	if(!isNumber(obj) || !(str >= 1900 && str <= 2100)) {

        obj.focus();
		return false;
	}

	return true;

}

/**
 * V-24. °´Ã¼ÀÇ °ªÀÌ ¿ù¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @return 
 */
function isValidMonth(obj) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = parseInt(trim(obj.value), 10);


	if(!isNumber(obj) || parseInt(str) > 12 || parseInt(str) < 1) {
        obj.focus();
		return false;
	}

	if(str.length  == 1) {
		str = "0" + str;
	}

	return true;

}


/**
 * V-25. °´Ã¼ÀÇ °ªÀÌ ÀÏ¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼1 ID
 * @param obj	°´Ã¼2 ID
 * @param obj	°´Ã¼3 ID
 * @return 
 */
function isValidDate(obj1, obj2, obj3) {
	if(isNull(obj1)) {
	    obj1.focus();
		return false;
	}
	
	if(isNull(obj2)) {
	    obj2.focus();
		return false;
	}	
	
	if(isNull(obj3)) {
	    obj3.focus();
		return false;
	}	

	var str1 = parseInt(trim(obj1.value), 10);
	var str2 = parseInt(trim(obj2.value), 10) - 1;
	var str3 = parseInt(trim(obj3.value), 10);


	if(!isValidYear(obj1)) {
		obj1.focus();
		return false;
	}

	if(!isValidMonth(obj2)) {
		obj2.focus();
		return false;
	}
	
	var endstr3 = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
	if((str1 % 4 == 0 && str1 % 100 != 0) || str1 % 400 == 0) {
		endstr3[1] = 29;
	}

	if(!isNumber(obj3) || !(str3 >= 1 && str3 <= endstr3[str2])) {
        obj3.focus();
		return false;
	}


	return true;
}



/**
 * V-26. °´Ã¼ÀÇ °ªÀÌ ÀÏ¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @param sep	±¸ºÐ ¹®ÀÚ
 * @return 
 */
function isValidDate2(obj, sep) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);
	var arr = new Array();
	arr = str.split(sep);

	if(sep.length == 0) {
		arr[0] = str.substring(0, 4);
		arr[1] = str.substring(4, 6);
		arr[2] = str.substring(6, 8);
	}
	else {

		if(arr.length != 3) {
            obj.focus();
			return false;
		}
	}

	if(!ValidDate(arr[0], arr[1], arr[2])) {
        obj.focus();
		return false;
	}

	if(arr[1].length == 1) {
		arr[1] = "0" + arr[1];
	}

	if(arr[2].length == 1) {
		arr[2] = "0" + arr[2];
	}

	return true;
}

/**
 * V-27. °´Ã¼ÀÇ °ªÀÌ ¿¬¿ù¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj1	°´Ã¼1 ID
 * @param obj2	°´Ã¼2 ID
 * @return 
 */
function isValidYearMonth(obj1, obj2) {
	if(isNull(obj1)) {
	    obj1.focus();
		return false;
	}
	
	
	if(isNull(obj2)) {
	    obj2.focus();
		return false;
	}	
	

	var str1 = parseInt(trim(obj1.value), 10);
	var str2 = parseInt(trim(obj2.value), 10);


	if(!isValidYear(obj1)) {
	    obj1.focus();
	    return false;
	}
	
	if( !isValidMonth(obj2)) {
		obj2.focus();
		return false;
	}

	return true;
}

/**
 * V-28. °´Ã¼ÀÇ °ªÀÌ ¿¬¿ù¿¡ ÀûÇÕÇÑÁö °Ë»çÇÑ´Ù.
 * 
 * @param obj	°´Ã¼ ID
 * @param sep	±¸ºÐ ¹®ÀÚ
 * @return 
 */
function isValidYearMonth2(obj, sep) {
	if(isNull(obj)) {
	    obj.focus();
		return false;
	}	

	var str = trim(obj.value);
	var arr = new Array(); 

	if(sep.length == 0) {
		arr[0] = str.substring(0, 4);
		arr[1] = str.substring(4, 6);
	}
	else {
		arr = str.split(sep);

		if(arr.length != 2) {
            obj.focus();
			return false;
		}
	}


	if(!ValidYear(arr[0]) || !ValidMonth(arr[1])) {
        obj.focus();
		return false;
	}

	if(arr[1].length == 1) {
		arr[1] = "0" + arr[1];
	}


	return true;
}


function insertSeperatorByWon(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

    var signFlag = false;
    if(str.indexOf("-") != -1)
    {
    	str = removeString(str, "-");
        signFlag = true;
    }

    var size = 3;
	var strMain = "";
    var strTail = "";
	var strTemp = "";
	var strSep = sep;

    if(str.indexOf(".") != -1)
    {
        strMain = str.substring(0, str.indexOf("."));
        strTail = str.substring(str.indexOf("."));
    }
    else
    {
        strMain = str;
    }

    if(str.indexOf(".") == -1) // ¼Ò¼öÁ¡ÀÌ ¾øÀ»°æ¿ì -> ,(Comma)·Î ºÐÇÒÇÑ´Ù
    {
        var strMainLength  = strMain.length;

        if(strMainLength > size)
        {
            var divLength = parseInt((strMainLength)/ size);
            var remLength = parseInt((strMainLength)% size);

            if (remLength > 0)
            {
                strTemp = strMain.substring(0, remLength) + strSep;
            }

            for (i = 0; i < divLength; i++)
            {
                if (i == 0)
                {
                    strTemp = strTemp + strMain.substring(remLength, remLength + size);
                }
                else
                {
                    strTemp = strTemp + strSep + strMain.substring(remLength + (size * i), remLength + (size * i) + size);
                }
            }
        }
        else
        {
            strTemp = strMain;
        }

        obj.value = (signFlag?"-":"") + strTemp + strTail;
    }
    else // ¼Ò¼öÁ¡ÀÌ ÀÖÀ» °æ¿ì
    {
        var strMainLength = strMain.length;
        if(strMainLength <= size) // ¼Ò¼öÁ¡ÀÌ ÀÖ°í ¼Ò¼öÁ¡ÀÌ»óÀÌ 3ÀÚ¸®¸¦ ÃÊ°úÇÏÁö ¾ÊÀ»°æ¿ì -> ¼Ò¼öÁ¡ÀÌ»ó ±×´ë·Î º¹»ç
        {
            strTemp = strMain;
        }
        else // ¼Ò¼öÁ¡ÀÌ ÀÖ°í ¼Ò¼öÁ¡ÀÌ»óÀÌ 3ÀÚ¸®¸¦ ÃÊ°úÇÒ °æ¿ì -> ¼Ò¼öÁ¡ÀÌ»ó ,(Comma)·Î ºÐÇÒÇÑ´Ù.
        {
            var divLength = parseInt((strMainLength)/ size);
            var remLength = parseInt((strMainLength)% size);

            if (remLength > 0)
            {
                strTemp = strMain.substring(0, remLength) + strSep;
            }

            for (i = 0; i < divLength; i++)
            {
                if (i == 0)
                {
                    strTemp = strTemp + strMain.substring(remLength, remLength + size);
                }
                else
                {
                    strTemp = strTemp + strSep + strMain.substring(remLength + (size * i), remLength + (size * i) + size);
                }
            }
        }

        obj.value = (signFlag?"-":"") + strTemp + strTail;
    }
}

function insertSeperatorByYearMonth(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 4) {
		obj.value = str.substring(0, 4);
	}
	else if(str.length > 4) {
		obj.value = str.substring(0, 4) + sep + str.substring(4, (str.length > 6)?6:str.length);
	}
}

function insertSeperatorBySsn(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 6) {
		obj.value =  str.substring(0, 6);
	}
	else if(str.length > 6) {
		obj.value =  str.substring(0, 6) + sep + str.substring(6, (str.length > 13)?13:str.length);
	}
}

function insertSeperatorByDate(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 4) {
		obj.value = str.substring(0, 4);
	}
	else if(str.length > 4 && str.length < 6) {
		obj.value = str.substring(0, 4) + sep + str.substring(4, (str.length>6)?6:str.length);
	}
	else if(str.length == 6) {
		obj.value =  str.substring(0, 4) + sep + str.substring(4, 6);
	}
    else if(str.length > 6) {
		obj.value =  str.substring(0, 4) + sep + str.substring(4, 6) + sep + str.substring(6, (str.length > 8)?8:str.length);
	}
}

function insertSeperatorByTime(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 2) {
		obj.value = str.substring(0, 2);
	}
	else if(str.length > 2) {
		obj.value = str.substring(0, 2) + sep + str.substring(2, (str.length > 4)?4:str.length);
	}
}

function insertSeperatorByDay(obj, sep) {
	return insertSeperatorByDate(obj, sep);
}

function insertSeperatorByJumin(obj, sep) {
	return insertSeperatorBySsn(obj, sep);
}

function insertSeperatorByBrn(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 3) {
		obj.value =  str.substring(0, 3);
	}
	else if(str.length > 3 && str.length < 5) {
		obj.value =  str.substring(0, 3) + sep + str.substring(3, (str.length>5)?5:str.length);
	}
	else if(str.length == 5) {
		obj.value =  str.substring(0, 3) + sep + str.substring(3, 5);
	}
    else if(str.length > 5) {
		obj.value =  str.substring(0, 3) + sep + str.substring(3, 5) + sep + str.substring(5, (str.length > 10)?10:str.length);
	}
}

function insertSeperatorByBizno(obj, sep) {
	return insertSeperatorByBrn(obj, sep);
}

function insertSeperatorByOrgno(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 2) {
		obj.value =  str.substring(0, 2);
	}
	if(str.length > 2) {
		obj.value =  str.substring(0, 2) + sep + str.substring(2, (str.length>8)?8:str.length);
	}
}

function insertSeperatorByZipcode(obj, sep) {
	if(!isObject(obj))
		return false;

	var str = trim(obj.value);
	str = removeString(str, sep);

	if(str.length == 3) {
		obj.value =  str.substring(0, 3);
	}
	else if(str.length > 3) {
		obj.value =  str.substring(0, 3) + sep + str.substring(3, (str.length > 6)?6:str.length);
	}
}

