/**
 * ºó°ª ÀÔ·Â
 */
function emptyValue(obj) {
	
	obj.value = "";
	
}

/**
 * °ø¹é ÀÔ·Â Ã¼Å©
 */
function isEmptyValue(obj) {
	
	var returnValue = false;
	if (obj.value.replace(/^\s*|\s*$/g, "") == "") {
		returnValue = true;
	}
	
	return returnValue;
	
}

/**
 * °ø¹é ÀÔ·Â Ã¼Å©
 */
function isEmptyCheck( obj, objName) {
	
	var returnValue = isEmptyValue(obj);
	if( returnValue ){
		alert( objName + "¸¦(À») ÀÔ·ÂÇÏ¿© ÁÖ¼¼¿ä");
		obj.focus();	
	}
	return returnValue;
	
}

/**
 * °ø¹é ÀÔ·Â Ã¼Å© - jquery
 */
function isEmptyValue($obj) {
	
	var returnValue = false;
	if ($($obj).val().replace(/^\s*|\s*$/g, "") == "") {
		returnValue = true;
	}
	
	return returnValue;
	
}

/**
 * °ø¹é ÀÔ·Â Ã¼Å© - jquery
 */
function isEmptyCheck( $obj, objName) {
	
	var returnValue = isEmptyValue($obj);
	if( returnValue ){
		alert( objName + "¸¦(À») ÀÔ·ÂÇÏ¿© ÁÖ¼¼¿ä");
		$obj.focus();	
	}
	return returnValue;
	
}

/**
 * ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ(chars)¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
 * Æ¯Á¤ ¹®ÀÚ¸¸ Çã¿ëÇÏ·Á ÇÒ ¶§ »ç¿ë
 * ex) if (!hasCharsOnly(form.blood,"ABO")) {
 *         alert("Ç÷¾×Çü ÇÊµå¿¡´Â A,B,O ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.");
 *     }
 */
function hasCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}

/**
 *  ÀÔ·Â°ª¿¡ ¼ýÀÚ¸¸ ÀÖ´ÂÁö Ã¼Å©
 *  (¹øÈ£ ÀÔ·Â¶õ Ã¼Å©.
 *  ±Ý¾×ÀÔ·Â¶õÀº isNumComma¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.)
 */
function isNumber(input) {
    var chars = "0123456789";
    return hasCharsOnly(input,chars);
}


/**
 * ¼ýÀÚ¸¸ ÀÖ´ÂÁö Ã¼Å© 
 */
function checkIsNumber( obj, name ){
	if(!isNumber( obj )){
		alert(name+ "Àº ¼ýÀÚ¸¸ ÀÔ·Â°¡´ÉÇÕ´Ï´Ù");
		obj.focus();
		return false;
	}
	return true;
} 

/**
 *  ÀÔ·Â°ªÀÌ ¼ýÀÚ,ÄÞ¸¶(,)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
 *  (±Ý¾× ÀÔ·Â¶õ Ã¼Å©)
 */
function isNumComma(input){
    var chars = ",0123456789";
    if(!hasCharsOnly(input,chars))
    {
        alert(input.name+"¿¡´Â ¼ýÀÚ¿Í ','¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù");
        input.value = '';
        input.focus();
        return false;
    }
    else
        return true;    
}

/**
 * Á¤±Ô½Ä Ã¼Å©
 */
function isRegexCheck(obj, regex) {
	
	var returnValue = false;
	
	returnValue = regex.test(obj.value);
	
	return returnValue;
	 
}

/**
 * Á¤±Ô½Ä Ã¼Å©
 */
function isValidCheck( obj, regexName, msg) {

	var regex = "";
	var eMsg = "";
	
	if( regexName == "ID" ) {
		regex = /^[a-z0-9]{6,12}$/;
		eMsg = "¾ÆÀÌµð´Â ¿µ¹® ¼Ò¹®ÀÚ, ¼ýÀÚ 6~12 ÀÚ¸®ÀÔ´Ï´Ù.";
	} else if( regexName == "PWD" ) {		
		regex = /^[a-z0-9]{6,12}$/;
		eMsg = "ºñ¹Ð¹øÈ£´Â ¿µ¹® ¼Ò¹®ÀÚ, ¼ýÀÚ 6~12 ÀÚ¸®ÀÔ´Ï´Ù.";
	} else if( regexName == "EMAIL" )	{
		regex = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
		eMsg = "ÀÌ¸ÞÀÏ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";

	} else if( regexName == "EMAIL1" )	{
		regex = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*$/;
		eMsg = "ÀÌ¸ÞÀÏ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
	} else if( regexName == "EMAIL2" )	 {
		regex = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
		eMsg = "ÀÌ¸ÞÀÏ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
	} else if( regexName == "TEL" )	 {
		regex = /^\d{2,3}-\d{3,4}-\d{4}$/;
		eMsg = "ÀüÈ­¹øÈ£ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
	} else if( regexName == "MOBILE" )	 {
		regex = /^\d{3}-\d{3,4}-\d{4}$/;
		eMsg = "ÈÞ´ëÀüÈ­¹øÈ£ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
	} else {
		regex = regexName; 
		eMsg = msg;
	}
	

	var returnValue = isRegexCheck(obj, regex);
	if( returnValue == false){
		alert( eMsg );
		obj.focus();	
	}
	return returnValue;
	
}

/**
 * Ã¼Å©¹Ú½º, ¶óµð¿À¹Ú½º ¼±ÅÃ°¹¼ö Ã¼Å©
 */
function countChecked(obj) {
	
	var returnValue = 0;
	
	var checkedNum = 0;
	
	for (var i = 0; i < obj.length; i++) {
		if (obj[i].checked == true) {
			checkedNum++;
		}
	}
	
	returnValue = checkedNum;
	
	return returnValue;
	
}

/**
 * ¿£ÅÍÅ° ÀÔ·Â Ã¼Å©
 */
function isEnterKey(obj) {
	
	var returnValue = false;
	
	if (obj.keyCode == 13) {
		returnValue = true;
	}
	
	return returnValue;
	
}

/**
 * ÀÌ¸ÞÀÏ ÁÖ¼Ò Ã¼Å©
 */
function checkEmail(email) {
	
	var returnValue = false;
	
    var reg = /^((\w|[\-\.])+)@((\w|[\-\.][^(\.)\1])+)\.([A-Za-z]+)$/;
	
	if (reg.test(email)) {
		returnValue = true;
	}
	
	return returnValue;
	
}

/**
 * ¼¿·ºÆ® ¹Ú½º°¡ ¹Ù²ð¶§¸¶´Ù ¼³¸íºÎºÐÀ» ¹Ù²ãÁØ´Ù.
 * <select><option>¿É¼Ç</option>...</select>
 * <div><div>¼³¸í</div>...</div>
 * @param obj : select box id
 * @param count : ¼³¸íÀÌ ÀÖ´Â optionÀÇ ½ÃÀÛ count
 */
function toggleDesc(obj, count) {
	var seq;
	if ($(obj).find(":selected").val()) {
		$(obj).next().next().show();
		$(obj).prev().val("Y");
	}else {
		$(obj).next().next().hide().find(":input").val("");
		$(obj).prev().val("N");
	}
	$(obj).children().each(function(i) {
		if ($(this).val() == $(obj).val()) {
			seq = i;
		}
	});
	$(obj).next().children().each(function(i) {
		if (i == (seq - count)) {
			$(this).show();
		} else {
			$(this).hide();
		}
	});
}

/**
 * Select BoxÀÇ º¯°æµÈ °ªÀ» ÇØ´ç input:text¿¡ ÀÔ·Â
 * @param obj : select box
 * @param id : °ªÀ» ¹ÞÀ» Element
 */
function changeVal(obj, id) {
	var value = $(obj).find(":selected").val();
	if (value != "direct") {
		$('#' + id).val(value)
		.attr('readonly', true);
	} else {
		$('#' + id).val('')
		.attr('readonly', false).focus();
	}
}

/**
 * ÀÔ·Â³»¿ë ¹ÙÀÌÆ®°è»ê
 */
function getByteLength(obj) {

	var returnValue = 0;
	
	var stringValue = obj.value;
	
	var defaultByte = 1;
	var unicodeByte = 3;
	
	for (var i = 0; i < stringValue.length; i++) {
		var characterValue = escape(stringValue.charAt(i));
		    
		if (characterValue.length == 1) {
			returnValue ++;
		} else if (characterValue.indexOf("%u") != -1) {
			returnValue += unicodeByte;
		} else if (characterValue.indexOf("%") != -1) {
			returnValue += characterValue.length / 3;
		}
	}
	
	return returnValue;
	
}

/**
 * Replace All
 */
function replaceAll(str, searchStr, replaceStr){
	
	 while(str.indexOf(searchStr) != -1){
		 str = str.replace(searchStr, replaceStr);
	 }
	 
	 return str;
}

/**
 * ÁÂ¿ì °ø¹é Á¦°Å
 * 
 * @param s
 * @return
 */
function trim(s){
	s += '';
	return s.replace(/^\s*|\s*$/g,'');
}

/**
 * TextÇü½Ä Ã¼Å©
 * - TAGÀÇ title¼Ó¼ºÀ¸·Î AlertÃ³¸®
 * - TAGÀÇ checkYn(ÀÓÀÇ¼Ó¼º)ÀÌ YÀÏ¶§ Ã¼Å©
 * [Ã¼Å©Á¾·ù]
 * empty : °ø¹éÃ¼Å©
 * number : ¼ýÀÚ
 * mail : ÀÌ¸ÞÀÏ Çü½Ä
 * tel : ÀüÈ­¹øÈ£ Çü½Ä
 * mobile : ¸ð¹ÙÀÏ Çü½Ä
 * maxsize : ÃÖ´ë»çÀÌÁî
 * minsize : ÃÖ¼Ò»çÀÌÁî
 * @param formName
 * @returns
 */
function validationText(formName){
	
	var checkType;
	var flag = true;
	var title = "";
	var value = "";
	var reg = "";
	
	$("#"+formName).each(function(){

		// Text Çü½Ä °ËÁõ
		$(this).find(":text,:input[type=textarea]").each(function(){
			
			checkType = $(this).attr("checkType");

			if (checkType) {
				title = $(this).attr("title");
				value = $(this).val().replace(/^\s*|\s*$/g, "");
				
				var chkType = checkType.split(" ");
				for (i=0; i < chkType.length; i++) {
					
					var chkCase = chkType[i].split(":");
					var msg = chkCase[1];
					
					if (chkCase[0] == "empty") { // °ø¹é Ã¼Å©
						if(value == ""){
							alert(msg ? msg : title+"¸¦(À») ÀÔ·ÂÇØÁÖ¼¼¿ä.");
							$(this).focus();
							flag = false;
						}
					} else if (chkCase[0] == "number") { // ¼ýÀÚ
						if( !isRegexCheck(this,/^\d*$/) ){
							alert(title+"´Â(Àº) ¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
							$(this).focus();
							flag = false;
						}
					} else if (chkCase[0] == "mail") { // ÀÌ¸ÞÀÏ Çü½Ä
						reg = /^((\w|[\-\.])+)@((\w|[\-\.][^(\.)\1])+)\.([A-Za-z]+)$/;
						if(!reg.test(value)){
							alert("Çü½Ä¿¡ Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.");
							$(this).focus();
							flag = false;
						}
						reg = "";
					} else if (chkCase[0] == "tel") { // ÀüÈ­¹øÈ£ Çü½Ä
						reg = /^\d{2,3}-\d{3,4}-\d{4}$/;
						if(!reg.test(value)){
							alert("ÀüÈ­¹øÈ£ Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.");
							$(this).focus();
							flag = false;
						}
						reg = "";
					} else if (chkCase[0] == "mobile") { // ¸ð¹ÙÀÏ Çü½Ä
						reg = /^\d{3}-\d{3,4}-\d{4}$/;
						if(!reg.test(value)){
							alert("ÇÚµåÆù¹øÈ£ Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.");
							$(this).focus();
							flag = false;
						}
						reg = "";
					} else if (chkCase[0] == "maxsize") { // ÃÖ´ë »çÀÌÁî Ã¼Å©
						maxlength = $(this).attr("maxlength");
						if((maxlength > 0) && maxlength){
							if( getByteLength( this ) >  maxlength ) {
								alert( "ÀÔ·Â°¡´É ±ÛÀÚ¼ö ÃÊ°úÇÏ¿´½À´Ï´Ù \n\n" + title + "´Â(Àº) °ø¹éÆ÷ÇÔ ÇÑ±ÛÀº " + Math.floor(maxlength/2) + "ÀÚ, ¿µ¹®Àº " + maxlength + "ÀÚ ±îÁö ÀÔ·Â°¡´ÉÇÕ´Ï´Ù"  );
								$(this).focus();
								flag = false;
							}
						}
					} else if (chkCase[0] == "minsize") { // ÃÖ¼Ò »çÀÌÁî Ã¼Å©
						minlength = $(this).attr("minlength");
						if((minlength > 0) && minlength){
							if( getByteLength( this ) <  minlength ) {
								alert( title + "´Â(Àº) °ø¹éÆ÷ÇÔ ÇÑ±ÛÀº " + Math.floor(minlength/2) + "ÀÚ, ¿µ¹®Àº " + minlength + "ÀÚ ÀÌ»ó ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù."  );
								$(this).focus();
								flag = false;
							}
						}
					}
					
					if (!flag)
						return false;
				}
				
				// ½ºÅ©¸³Æ® Ã¼Å©
				if(flag)
				{
					if(
						value.toLowerCase().indexOf('<script') >= 0 ||
						value.toLowerCase().indexOf('script>') >= 0 ||
						value.toLowerCase().indexOf('<body') >= 0 ||
						value.toLowerCase().indexOf('/body') >= 0 
					){
						alert('³»¿ë¿¡ Çã¿ëÇÏÁö ¾Ê´Â ¹®ÀÚ¿­ÀÌ Á¸ÀçÇÕ´Ï´Ù.');
						$(this).focus();
						flag = false;
					}
				}
				
				if(!flag) return false;
			}
		});		
	});
	
	return flag;
}

