/**
 * »ç¿ëÀÚ ÀÔ·ÂÇ×¸ñ¿¡ ´ëÇÑ Ã¼Å©¸¦ ´ã´çÇÏ´Â ÀÚ¹Ù½ºÅ©¸³Æ® °´Ã¼ <BR>
 *
 * @version	1.0, 2003-12-16
 * @author	namjinpark
 *@constructor
 */
function InputChecker() {
	this.isAscii		 	= isAscii_InputChecker;
	this.isValidEmail	 	= isValidEmail_InputChecker;
	this.isValidImageFile	= isValidImageFile_InputChecker;
	this.isValidXmlFile		= isValidXmlFile_InputChecker;
	this.isValidMusicFile	= isValidMusicFile_InputChecker;
	this.isValidVideoFile	= isValidVideoFile_InputChecker;
	this.isValidFileExt		= isValidFileExt_InputChecker;
	this.isNum				= isNum_InputChecker;
	this.isNumberRange		= isNumberRange_InputChecker;
	this.isNonSpecial		= isNonSpecial_InputChecker;
	this.isValidUrl			= isValidUrl_InputChecker;
	this.validate			= validate_InputChecker;
	this.getStrByteSize		= getStrByteSize_InputChecker;
}

/**
 * ÀÔ·ÂÇ×¸ñ Ã¼Å©ÀÇ ´ë»óÀÌ µÇ´Â Form »óÀÇ ´ÜÀ§ Input ¿ä¼Ò ¹× ±×¿¡ ´ëÇÑ ¼Ó¼ºÀ» ³ªÅ¸³½´Ù.<BR>
 * @param	pm_oObject		FormÀÇ ÀÔ·Â °´Ã¼
 * @param	pm_sName		ÀÔ·Â°´Ã¼ÀÇ Ç¥½ÃÀÌ¸§
 * @param	pm_bRequired	ÇÊ¼öÀ¯¹«
 * @param	pm_iMin			¹®ÀÚ¿­ ±æÀÌÀÇ ÃÖ¼Ò °ª (-1 ÀÌ¸é ÃÖ¼Ò °ªÀÌ ¾øÀ½)
 * @param	pm_iMax			¹®ÀÚ¿­ ±æÀÌÀÇ ÃÖ´ë °ª (-1 ÀÌ¸é ±æÀÌ Á¦ÇÑ ¾øÀ½)
 * @param	pm_sDataType	µ¥ÀÌÅÍÅ¸ÀÔ ("string" : ¹®ÀÚ¿­ "num" : ¼ýÀÚ "email" : ÀÌ¸ÞÀÏ)
 * @version	1.0, 2003-12-17
 * @author	namjinpark
 *@constructor
 */
function CheckField(pm_oObject, pm_sName, pm_bRequired, pm_iMin, pm_iMax, pm_sDataType) {
	/** FormÀÇ ÀÔ·Â °´Ã¼ */
	this.im_oObject 	= pm_oObject;

	/** ÀÔ·Â°´Ã¼ÀÇ Ç¥½ÃÀÌ¸§ */
	this.im_sName 		= pm_sName;

	/** ÇÊ¼öÀ¯¹« */
	this.im_bRequired 	= pm_bRequired;

	/** ¹®ÀÚ¿­ ±æÀÌÀÇ ÃÖ¼Ò °ª (-1 ÀÌ¸é ÃÖ¼Ò °ªÀÌ ¾øÀ½) */
	this.im_iMin 		= pm_iMin;

	/** ¹®ÀÚ¿­ ±æÀÌÀÇ ÃÖ´ë °ª (-1 ÀÌ¸é ±æÀÌ Á¦ÇÑ ¾øÀ½) */
	this.im_iMax 		= pm_iMax;

	/** µ¥ÀÌÅÍÅ¸ÀÔ */
	this.im_sDataType 	= pm_sDataType;

	/** ÀÔ·Â °´Ã¼ ¼³Á¤ °ª*/
	this.im_sValue		= "";

	/** FormÀÇ ÀÔ·Â °´Ã¼°¡ ¹è¿­ ¿ä¼ÒÀÎÁöÀÇ º¯¼ö */
	this.im_bArray		= false;
	switch (pm_oObject.type){
		case "file":
		case "text":
		case "textarea":
		case "password":
		case "hidden":
			this.im_sValue = this.im_oObject.value;
			break;
		case "select-one":
		case "select-multiple":
			if(this.im_oObject.selectedIndex != -1)
				this.im_sValue = this.im_oObject.options[this.im_oObject.selectedIndex].value;
			break;
		case "checkbox":
		case "radio":
			this.im_sValue = (this.im_oObject.checked ? this.im_oObject.value : "");
			break;
		default:
			if(this.im_oObject.length) {
				this.im_bArray = true;
				switch (pm_oObject[0].type){
					case "file":
					case "text":
					case "textarea":
					case "password":
					case "hidden":
						this.im_sValue = this.im_oObject[0].value;
						break;
					case "checkbox":
					case "radio":
						for(var i=0; i < this.im_oObject.length; i++) {
							this.im_sValue = (this.im_oObject[i].checked ? this.im_oObject[i].value : "");
							if(this.im_sValue != "") break;
						}
				}
			}
	}
}

/**
 * ÀÔ·ÂÇ×¸ñ Ã¼Å©ÀÇ ´ë»ó¿¡ ´ëÇØ¼­ ÀÔ·ÂÃ¼Å©¸¦ ¼öÇàÇÑ´Ù. <BR>
 * @param	pm_oObject		FormÀÇ ÀÔ·Â °´Ã¼
 * @param	pm_sName		ÀÔ·Â°´Ã¼ÀÇ Ç¥½ÃÀÌ¸§
 * @param	pm_bRequired	ÇÊ¼öÀ¯¹«
 * @param	pm_iMin			¹®ÀÚ¿­ ±æÀÌÀÇ ÃÖ¼Ò °ª (-1 ÀÌ¸é ÃÖ¼Ò °ªÀÌ ¾øÀ½)
 * @param	pm_iMax			¹®ÀÚ¿­ ±æÀÌÀÇ ÃÖ´ë °ª (-1 ÀÌ¸é ±æÀÌ Á¦ÇÑ ¾øÀ½)
 * @param	pm_sDataType	Å×ÀÌÅÍÅ¸ÀÔ ("num", "currency", "email", "string", "ascii", "nonspecial", "string_byte", "html")
 *							"html" ÀÎ °æ¿ì´Â focus Ã³¸®¸¦ ¼öÇàÇÏÁö ¾Ê´Â´Ù.
 *@return	ÀÔ·ÂÃ¼Å©¿¡ ¹®Á¦°¡ ¾ø´Â °æ¿ì´Â true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÑ´Ù.
 */
function validate_InputChecker(pm_oObject, pm_sName, pm_bRequired, pm_iMin, pm_iMax, pm_sDataType) {
	var lm_oCheckField = new CheckField(pm_oObject, pm_sName, pm_bRequired, pm_iMin, pm_iMax, pm_sDataType);
	return validate2_InputChecker(lm_oCheckField);
}

/**
 * ÀÔ·ÂÇ×¸ñ Ã¼Å©ÀÇ ´ë»ó¿¡ ´ëÇØ¼­ ÀÔ·ÂÃ¼Å©¸¦ ¼öÇàÇÑ´Ù. <BR>
 *@param	pm_oCheckField	ÀÔ·ÂÇ×¸ñ °´Ã¼
 *@return	ÀÔ·ÂÃ¼Å©¿¡ ¹®Á¦°¡ ¾ø´Â °æ¿ì´Â true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÑ´Ù.
 */
function validate2_InputChecker(pm_oCheckField) {
	var lm_bFocus = true;
	if(pm_oCheckField.im_sDataType == "html") lm_bFocus=false;

	//ÇÊ¼öÀÔ·ÂÇ×¸ñ Ã¼Å©
	if(pm_oCheckField.im_bRequired){
		if(pm_oCheckField.im_sValue.replace(/^\s+|\s+$/g, '') == "") {
			alert(pm_oCheckField.im_sName + "À»(¸¦) ÀÔ·ÂÇØÁÖ¼¼¿ä");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}
	//ÃÖ¼Ò±æÀÌ Ã¼Å©
	if(pm_oCheckField.im_sValue.length != 0 && pm_oCheckField.im_iMin != -1){
		if(pm_oCheckField.im_sValue.length < pm_oCheckField.im_iMin) {
			alert(pm_oCheckField.im_sName + "Àº(´Â) ÃÖ¼ÒÇÑ "+pm_oCheckField.im_iMin+"ÀÚ ÀÌ»óÀÌ¾î¾ß¸¸ ÇÕ´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}
	//ÃÖ´ë±æÀÌ Ã¼Å©
	if(pm_oCheckField.im_iMax != -1){
		if(pm_oCheckField.im_sDataType == "string_byte") {
			var length = getStrByteSize_InputChecker(pm_oCheckField.im_sValue);
			if(length > pm_oCheckField.im_iMax) {
				alert(pm_oCheckField.im_sName + "Àº(´Â) ÃÖ´ë ÇÑ±Û(1ÀÚ=2byte),\n±âÅ¸¹®ÀÚ(1ÀÚ=1byte)¸¦ Æ÷ÇÔÇÏ¿© "+pm_oCheckField.im_iMax+"Byte¸¦ ³ÑÀ» ¼ö ¾ø½À´Ï´Ù.");
				if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
				return false;
			}
		} else {
			if(pm_oCheckField.im_sValue.length > pm_oCheckField.im_iMax) {
				alert(pm_oCheckField.im_sName + "Àº(´Â) ÃÖ´ë "+pm_oCheckField.im_iMax+"ÀÚ¸¦ ³ÑÀ» ¼ö ¾ø½À´Ï´Ù.");
				if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
				return false;
			}
		}
	}

	//µ¥ÀÌÅÍ Å¸ÀÔ¿¡ µû¸¥ Ã¼Å©
	if(pm_oCheckField.im_sDataType == "num") {
		if(isNum_InputChecker(pm_oCheckField.im_sValue) == false) {
			alert("¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}
	//Currency Ã¼Å©
	if(pm_oCheckField.im_sDataType == "currency") {
		if(isCurrency_InputChecker(pm_oCheckField.im_sValue) == false) {
			alert("È­ÆóÇü½ÄÀÌ Æ²¸³´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}
	//ÀÌ¸ÞÀÏ Ã¼Å©
	if(pm_oCheckField.im_sDataType == "email") {
		if(isValidEmail_InputChecker(pm_oCheckField.im_sValue) == false) {
			alert("ÀÌ¸ÞÀÏ Çü½ÄÀÌ Æ²¸³´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}
	//È¨ÆäÀÌÁö Ã¼Å©
	if(pm_oCheckField.im_sDataType == "homepage") {
		if(isValidUrl_InputChecker(pm_oCheckField.im_sValue) == false) {
			alert("È¨ÆäÀÌÁö Çü½ÄÀÌ Æ²¸³´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}
	//Ascii ¹®ÀÚ¸¸ ÀÔ·Â °¡´É (ÇÑ±ÛÀÔ·Â ºÒ°¡)
	if(pm_oCheckField.im_sDataType == "ascii") {
		if(isAscii_InputChecker(pm_oCheckField.im_sValue) == false) {
			alert("ÇÑ±ÛÀ» ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}

	//Æ¯¼ö¹®ÀÚ ÀÔ·ÂºÒ°¡
	if(pm_oCheckField.im_sDataType == "nonspecial") {
		if(isNonSpecial_InputChecker(pm_oCheckField.im_sValue) == false) {
			alert("Æ¯¼ö¹®ÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
			if(lm_bFocus) focusCheckField_InputChecker(pm_oCheckField);
			return false;
		}
	}

	return true;
}

/**
 * ÀÔ·ÂÇ×¸ñ¿¡ Æ÷Ä¿½ÌÀ» ÇÑ´Ù. <BR>
 *@param	pm_oCheckField	ÀÔ·ÂÇ×¸ñ °´Ã¼
 */
function focusCheckField_InputChecker(pm_oCheckField) {
	if(pm_oCheckField.im_bArray) pm_oCheckField.im_oObject[0].focus();
	else pm_oCheckField.im_oObject.focus();
}

/**
 * ¸ðµç ¹®ÀÚ¿­ÀÌ Ascii ¹®ÀÚ¿­ÀÎÁö¸¦ È®ÀÎÇÑ´Ù. <BR>
 * ÇÑ±ÛÀÔ·ÂÀ» ±ÝÁöÇÏ´Â °æ¿ì »ç¿ëÇÒ ¼ö ÀÖ´Ù.
 *
 * @param	pm_sStr		¹®ÀÚ¿­
 * @return	¸ðµç ¹®ÀÚ¿­ÀÌ Ascii ¹®ÀÚ¿­ÀÌ¸é true ¾Æ´Ï¸é false
 */
function isAscii_InputChecker(pm_sStr) {
	var tlength = pm_sStr.length;
	for(var i=0; i < tlength; i++) {
		if(pm_sStr.charCodeAt(i) > 256) {
			return false;
		}
	}
	return true;
}

/**
 * ¿Ã¹Ù¸¥ URL ¹®ÀÚ¿­ÀÎÁö¸¦ È®ÀÎÇÑ´Ù. <BR>
 *
 * @param	lm_sStr		¹®ÀÚ¿­
 * @return	¿Ã¹Ù¸¥ URL ¹®ÀÚ¿­ÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidUrl_InputChecker(lm_sStr) {
	if(lm_sStr.length == 0) return true;
	var lm_sReturn = lm_sStr.match(/\http:\/{2}([-\w]+\.)+\w+\S*/g);
	if(lm_sReturn != null) return true;
	return false;
}

/**
 * E-Mail ¿Ã¹Ù¸¥ ÀÌ¸ÞÀÏ ¹®ÀÚ¿­ÀÎÁö¸¦ ¹ÝÈ¯ÇÑ´Ù.
 *
 * @param	lm_sStr		¹®ÀÚ¿­
 * @return	¿Ã¹Ù¸¥ ÀÌ¸ÞÀÏ ¹®ÀÚ¿­ÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidEmail_InputChecker(lm_sStr) {
	if(lm_sStr == null) return false;
	var lm_iIndex = lm_sStr.indexOf('@');

	// 2010-03-29 ¹ÚÁøÇü
	// ½ÅÇöµÎ´Ô ¿äÃ»»çÇ×, È¨ÆäÀÌÁö È¸¿ø°¡ÀÔ½Ã underscore ¹®ÀÚ ('_') Çã¿ëÇÏµµ·Ï 
	// regular expressionÀ» ´Ù¸¥ °ÍÀ» »ç¿ëÇÔ

	//var re=/^[0-9a-z]([-_\.]?[0-9a-z])*@[0-9a-z]([-_\.]?[0-9a-z])*\.[a-z]{2,3}$/i; 
	var re=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if(lm_iIndex == -1 || lm_iIndex == 0 || lm_iIndex == lm_sStr.length-1) return false;
	if(!re.test(lm_sStr)) return false;

	return true;
}


/**
 * ÀûÀýÇÑ ÀÌ¹ÌÁö ÆÄÀÏ ÀÌ¸§ÀÎÁö¸¦ ¹ÝÈ¯ÇÑ´Ù. (gif, jpg, bmp)
 *
 * @param	lm_sFileName	ÆÄÀÏÀÌ¸§
 * @return	È®ÀåÀÚ°¡ ÀûÀýÇÑ ÀÌ¹ÌÁö ÆÄÀÏÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidImageFile_InputChecker(lm_sFileName) {
	if(lm_sFileName == null) return false;
	var lm_iIndex = lm_sFileName.lastIndexOf('.');
	if(lm_iIndex == -1) return false;
	var lm_sExt = lm_sFileName.toLowerCase().substr(lm_iIndex+1);
	if(lm_sExt == "gif" || lm_sExt == "jpg" || lm_sExt == "jpeg" || lm_sExt == "bmp") return true;
	return false;
}

/**
 * Çã¿ëµÈ ÆÄÀÏ È®ÀåÀÚ ÀÎÁö¸¦ ¹ÝÈ¯ÇÑ´Ù. (gif, jpg, bmp)
 *
 * @param	lm_sFileName	ÆÄÀÏÀÌ¸§
 * @param	pm_oExtArray	Çã¿ëµÈ ÆÄÀÏ È®ÀåÀÚ ¹è¿­
 * @return	È®ÀåÀÚ°¡ ÀûÀýÇÑ ÀÌ¹ÌÁö ÆÄÀÏÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidFileExt_InputChecker(lm_sFileName, pm_oExtArray) {
	if(lm_sFileName == null) return false;
	var lm_iIndex = lm_sFileName.lastIndexOf('.');
	if(lm_iIndex == -1) return false;
	var lm_sExt = lm_sFileName.toLowerCase().substr(lm_iIndex+1);
	var lm_bFound = false;
	for(var i=0; i < pm_oExtArray.length; i++) {
		if(pm_oExtArray[i] == lm_sExt) return true;
	}
	return false;
}

/**
 * ÀûÀýÇÑ XML ÆÄÀÏ ÀÌ¸§ÀÎÁö¸¦ ¹ÝÈ¯ÇÑ´Ù. (xml)
 *
 * @param	lm_sFileName	ÆÄÀÏÀÌ¸§
 * @return	È®ÀåÀÚ°¡ ÀûÀýÇÑ XML ÆÄÀÏÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidXmlFile_InputChecker(lm_sFileName) {
	if(lm_sFileName == null) return false;
	var lm_iIndex = lm_sFileName.lastIndexOf('.');
	if(lm_iIndex == -1) return false;
	var lm_sExt = lm_sFileName.toLowerCase().substr(lm_iIndex+1);
	if(lm_sExt == "xml") return true;
	return false;
}

/**
 * ÀûÀýÇÑ À½¾Ç ÆÄÀÏ ÀÌ¸§ÀÎÁö¸¦ ¹ÝÈ¯ÇÑ´Ù. (wma, mp3)
 *
 * @param	lm_sFileName	ÆÄÀÏÀÌ¸§
 * @return	È®ÀåÀÚ°¡ ÀûÀýÇÑ ÀÌ¹ÌÁö ÆÄÀÏÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidMusicFile_InputChecker(lm_sFileName) {
	if(lm_sFileName == null) return false;
	var lm_iIndex = lm_sFileName.lastIndexOf('.');
	if(lm_iIndex == -1) return false;
	var lm_sExt = lm_sFileName.toLowerCase().substr(lm_iIndex+1);
	if(lm_sExt == "wma" || lm_sExt == "mp3") return true;
	return false;
}

/**
 * ÀûÀýÇÑ µ¿¿µ»ó ÆÄÀÏ ÀÌ¸§ÀÎÁö¸¦ ¹ÝÈ¯ÇÑ´Ù. (avi, asf, mpeg)
 *
 * @param	lm_sFileName	ÆÄÀÏÀÌ¸§
 * @return	È®ÀåÀÚ°¡ ÀûÀýÇÑ ÀÌ¹ÌÁö ÆÄÀÏÀÌ¸é true ¾Æ´Ï¸é false
 */
function isValidVideoFile_InputChecker(lm_sFileName) {
	if(lm_sFileName == null) return false;
	var lm_iIndex = lm_sFileName.lastIndexOf('.');
	if(lm_iIndex == -1) return false;
	var lm_sExt = lm_sFileName.toLowerCase().substr(lm_iIndex+1);
	if(lm_sExt == "avi" || lm_sExt == "asf" || lm_sExt == "mpeg") return true;
	return false;
}

/**
 * ¼ýÀÚ°ªÀÌ low º¸´Ù Å©°Å³ª °°°í high º¸´Ù ÀÛ°Å³ª °°ÀºÁö °Ë»çÇÑ´Ù.
 *
 * @param	lm_sFileName	ÆÄÀÏÀÌ¸§
 * @return	È®ÀåÀÚ°¡ ÀûÀýÇÑ ÀÌ¹ÌÁö ÆÄÀÏÀÌ¸é true ¾Æ´Ï¸é false
 */
function isNumberRange_InputChecker(val, low, high){
    if(this.isNum(val) == false) return false;
    var lm_iNum = parseInt(val);
    if ( lm_iNum >= low && lm_iNum <= high){
        return true;
    } else {
        return false;
    }
}

/**
 * ÀÔ·Â°ªÀÌ ¼ýÀÚÀÎÁö¸¦ È®ÀÎÇÑ´Ù. <BR>
 *@param	name	È®ÀÎÇÏ·Á´Â ¹®ÀÚ¿­
 *@return  ÀÔ·Â°ªÀÌ ÀüºÎ ¼ýÀÚÀÏ °æ¿ì true return, ¼ýÀÚ°¡ ¾Æ´Ñ °ªÀÌ Æ÷ÇÔµÇ¾úÀ» °æ¿ì false return
 */
function isNum_InputChecker(name) {
    var ch = "\0";
	var flag = true;

    for (var i = 0, ch = name.charAt(i);
        (i < name.length) && (flag); ch = name.charAt(++i)) {
        if ((ch >= '0') && (ch <= '9'))
        	;
        else if( (i == 0)&&(ch == '-'))
        	;
        else
            flag = false;
    }
    return flag;
}

/**
 * ÀÔ·Â°ªÀÌ È­ÆóÀÎÁö¸¦ È®ÀÎÇÑ´Ù. <BR>
 *@param	name	È®ÀÎÇÏ·Á´Â ¹®ÀÚ¿­
 *@return  ÀÔ·Â°ªÀÌ ¼ýÀÚ, ",", "." ÀÎ °æ¿ì true return, ±× ¿ÜÀÇ ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â ÇÏ´Â false
 */
function isCurrency_InputChecker(name) {
    var ch = "\0";
	var flag = true;

    for (var i = 0, ch = name.charAt(i);
        (i < name.length) && (flag); ch = name.charAt(++i)) {
        if ((ch >= '0') && (ch <= '9'))
        	;
        else if( (i == 0)&&(ch == '-'))
        	;
        else if(ch == ',' || ch == '.')
        	;	
        else
            flag = false;
    }
    return flag;
}

/**
 * ¹®ÀÚ¿­ Áß¿¡ Æ¯¼ö¹®ÀÚ°¡ Æ÷ÇÔµÇ¾ú´ÂÁö¸¦ ÆÄ¾ÇÇÑ´Ù.
 *@param	name 	¹®ÀÚ¿­
 *@return	ÀÔ·Â°ª¿¡ Æ¯¼ö ¹®ÀÚ°¡ ÇÏ³ªµµ Æ÷ÇÔµÇÁö ¾Ê¾ÒÀ» °æ¿ì true return
 */
function isNonSpecial_InputChecker(name) {

    var ch = "\0";

    for (var i = 0, ch = name.charAt(i);
        i <name.length; ch = name.charAt(++i)) {
        if ( ch == ' ' || ch == '~' || ch == '`' || ch == '\\'||
             ch == '-' || ch == '_' || ch == '|' || ch == '+' ||
             ch == '=' || ch == ',' || ch == '.' || ch == '/' ||
             ch == '<' || ch == '>' || ch == '?' || ch == '!' ||
             ch == '@' || ch == '#' || ch == '$' || ch == '%' ||
             ch == '^' || ch == '&' || ch == '*' || ch == '(' ||
             ch == ')' || ch == '\"' || ch == '[' || ch == ']' ||
             ch == ':' || ch == ';' || ch == '\'' || ch == '{' ||
             ch == '}' ) {
            return false;
        }
    }
    return true;
}

/**
 * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ¸î Byte ÀÎÁö¸¦ ±¸ÇÏ´Â Function.<br>
 * html ¹®¼­¿¡¼­ ¹®ÀÚ ±æÀÌ¸¦ °Ë»çÇÏ´Â ºÎºÐ¿¡ ÁÖÀÇÇØ¾ß ÇÒ Á¡ÀÌ ÀÖ½À´Ï´Ù.<br>
 * µ¥ÀÌÅ¸ º£ÀÌ½º¿¡ ¹®ÀÚ¿­ ±æÀÌ¸¦ ÃÖ´ë 10À¸·Î ÇÏ°í 
 * À¥¿¡¼­ ±æÀÌ°¡ 10ÀÌ ³ÑÀ» °æ¿ì ¿¡·¯ ¸Þ½ÃÁö¸¦ º¸¿©ÁÖµµ·Ï
 * (ÀúÀåÇÏ±âÀü¿¡ ´Ù½Ã °Ë»ç¸¦ ÇÏ°ÚÁö¸¸) ÇØÁÖ´Â °æ¿ì Á¦´ë·Î Ã¼Å©¸¦ ¸øÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.<br>
 * ÇÑ±ÛÀÇ °æ¿ì javascript¿¡¼­(Java ¿¡¼­µµ ¸¶Âù°¡Áö) 
 * ±æÀÌ¸¦ 1·Î »ý°¢À» ÇÏ±â ¶§¹®¿¡ °Ë»ç°¡ Á¦´ë·Î µÇÁö ¾Ê½À´Ï´Ù.<br>
 * ±× ÀÌÀ¯´Â ÇÑ±ÛÀÇ °æ¿ì 2 ByteÀÎ 16-bit Unicode·Î ÀÌ·ç¾î Á³±â ¶§¹®ÀÌ´Ù.
 *
 * @param	Byte ¼ö¸¦ ±¸ÇÏ°íÀÚ ÇÏ´Â ¹®ÀÚ¿­
 * @return	ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÇ Byte ¼ö
 */
function getStrByteSize_InputChecker(pm_sStr) {
	var slength = 0;
	var tlength = 0;
	
	if(name != null)
		tlength = pm_sStr.length;
		
	slength = tlength;
	
	var i = 0;
  
	for(i; i < tlength; i++) {
		if(pm_sStr.charCodeAt(i) > 256) {
			slength ++;
		}
	}
	return slength;
}