<!--
/**
 '==============================================================================
 '#	INFORMATION
 '------------------------------------------------------------------------------
 '#	@Author 				: JJang. Jang,Seon-Joo (jeuse7@hanmail.net)
 '# @Reference 			: Kent. Y, Park (kkabi71@gmail.com)
 '#	@FileName 			: FormValidator.Kor.js
 '#	@Description 		: ÆûÀ¯È¿¼º Ã¼Å© Å¬·¡½º
 '#	@Version 				: 1.0.0
 '#	@CreateDate 		: 2003.12.22
 '#	@UpdateDate 		: 2007.06.14
 '#	@Requirement 		: ../prototype/prototype.js, String.js
 '#	@Function List	: 
 '#		N/A
 '#		
 '==============================================================================
*/


var CONST_UPLOAD_DenyFileType = "jsp/class/asp/aspx/php/php3/exe/com/bat/sh/pl/asa/cgi/inc/js/xls/xlsx/do";	//¾÷·Îµå Á¦ÇÑ È®ÀåÀÚ (""ÀÏ°æ¿ì Á¦ÇÑ ¾øÀ½)
var CONST_UPLOAD_AllowPhotoType = "jpg/jpeg/gif";																								//ÀÌ¹ÌÁöÆÄÀÏ Çã¿ë È®ÀåÀÚ (""ÀÏ°æ¿ì Á¦ÇÑ ¾øÀ½)
var CONST_UPLOAD_AllowMovieType = "asf/wma/wmv";																		//µ¿¿µ»óÆÄÀÏ Çã¿ë È®ÀåÀÚ (""ÀÏ°æ¿ì Á¦ÇÑ ¾øÀ½)
/**
 * ÆûÀ¯È¿¼º Ã¼Å© Constructor
 * @param _objForm	(Æû°´Ã¼)
 */
var FormValidator = function(_objForm) {
	this.objForm = _objForm;
	this.fieldIndex = 0;
	this.arrField = new Array();
	this.ELEMENT_OBJ = null;
	this.ELEMENT_TITLE = null;
	this.ELEMENT_TYPE	= null;
	this.FOCUS_OBJ = null;
	this.ERR_MESSAGE_DEFAULT = null;
	this.ERR_MESSAGE_NEW	= null;
	this.IS_DELETED = false;
	this.IS_SELECTED = false;
	this.IS_PASSING = true;
}

/**
 * ÇÊµå¿ä¼Ò Á¤º¸ÀúÀå Constructor
 * @param fieldName		(ÇÊµåÀÇ ÀÌ¸§ ¶Ç´Â °´Ã¼)
 * @param fieldTitle	(ÇÊµåÀÇ Á¦¸ñ)
 * @param fieldChk		(ÇÊµåÃ¼Å© ¿ä¼Ò)
 */
var ElementInfo = function(_fieldName, _fieldTitle, _fieldChk) {
	this.fieldName = _fieldName;
	this.fieldTitle	= _fieldTitle;
	this.fieldChk = _fieldChk;
}

/**
 * ÀÏ°ý ÆûÀ¯È¿¼º Ã¼Å©ÇÒ ÇÊµåÃß°¡
 * @param fieldName		(ÇÊµåÀÇ ÀÌ¸§ ¶Ç´Â °´Ã¼)
 * @param fieldTitle	(ÇÊµåÀÇ Á¦¸ñ)
 * @param fieldChk		(ÇÊµåÃ¼Å© ¿ä¼Ò)
 */
FormValidator.prototype.addField = function(fieldName, fieldTitle, fieldChk) {
	this.arrField[this.fieldIndex] = new ElementInfo(fieldName, fieldTitle, fieldChk);
	this.fieldIndex++;
}

/**
 * ÀÏ°ý ÆûÀ¯È¿¼º Ã¼Å©ÈÄ °á°ú ¸®ÅÏ
 * @return boolean	(ÆûÀ¯È¿¼º ¿©ºÎ)
 */
FormValidator.prototype.formCheck = function() {
	for (var i = 0; i < this.arrField.length; i++) {
		var arrMethod = this.arrField[i].fieldChk.split("|");
		for (var j = 0; j < arrMethod.length; j++) {
			if (!isEmptyTrim(arrMethod[j])) {
				this.ELEMENT_OBJ = isObject(this.arrField[i].fieldName) ? this.arrField[i].fieldName : this.objForm[this.arrField[i].fieldName];
				this.ELEMENT_TITLE = this.arrField[i].fieldTitle;
				this.ELEMENT_TYPE = this.ELEMENT_OBJ.type;
				this.FOCUS_OBJ = this.ELEMENT_OBJ;
				if (this.ELEMENT_TYPE == undefined) {
					this.ELEMENT_TYPE = this.ELEMENT_OBJ[0].type;
					this.FOCUS_OBJ = this.ELEMENT_OBJ[0];
				}
				if (this.ELEMENT_OBJ.disabled) continue;
				if (!eval("this." + arrMethod[j])) return false;
			}
		}
	}
	return true;
}

/**
 * ´ÜÀ§º° ÆûÀ¯È¿¼º Ã¼Å©
 * @param fieldName		(ÇÊµåÀÇ ÀÌ¸§ ¶Ç´Â °´Ã¼)
 * @param fieldTitle	(ÇÊµåÀÇ Á¦¸ñ)
 * @param fieldChk		(ÇÊµåÃ¼Å© ¿ä¼Ò)
 */
FormValidator.prototype.checkField = function(fieldName, fieldTitle, fieldChk) {
	if (this.IS_PASSING) {
		if (!isObject(fieldName) && fieldName.isIn("FCKeditor_")) {
			var newFieldName = fieldName.replace("FCKeditor_", "");
			var arrMethod = fieldChk.split("|");
			for (var i = 0; i < arrMethod.length; i++) {
				if (this.IS_PASSING) {
					if (isEmptyTrim(arrMethod[i])) continue;
					if (arrMethod[i] == "required()") {
						if (isEmptyTrim(FCKeditor.getValue(newFieldName).getTrim())) {
							alert(fieldTitle + "Àº(´Â) ÇÊ¼öÇ×¸ñÀÔ´Ï´Ù!! ");
							FCKeditor.focus(newFieldName);
							this.IS_PASSING = false;
						}
					}
				}
			}
		} else {
			var arrMethod = fieldChk.split("|");
			for (var i = 0; i < arrMethod.length; i++) {
				if (this.IS_PASSING) {
					if (!isEmptyTrim(arrMethod[i])) {
						this.ELEMENT_OBJ = isObject(fieldName) ? fieldName : this.objForm[fieldName];
						this.ELEMENT_TITLE = fieldTitle;
						this.ELEMENT_TYPE = this.ELEMENT_OBJ.type;
						this.FOCUS_OBJ = this.ELEMENT_OBJ;
						if (this.ELEMENT_TYPE == undefined) {
							this.ELEMENT_TYPE = this.ELEMENT_OBJ[0].type;
							this.FOCUS_OBJ = this.ELEMENT_OBJ[0];
						}
						if (this.ELEMENT_OBJ.disabled) continue;
						if (!eval("this." + arrMethod[i])) this.IS_PASSING = false;
					}
				}
			}
		}
	}
}

/**
 * ´ÜÀ§º° ÆûÀ¯È¿¼º Ã¼Å© °á°ú ¸®ÅÏ
 * @return boolean	(ÆûÀ¯È¿¼º ¿©ºÎ)
 */
FormValidator.prototype.isPassing = function() {
	return this.IS_PASSING;
}

/**
 * ¿¡·¯¸Þ½ÃÁö Ãâ·Â ¹× Æ÷Ä¿½ºÃ³¸®
 */
FormValidator.prototype.executeError = function() {
	if (!isEmptyTrim(this.ERR_MESSAGE_NEW)) alert(this.ERR_MESSAGE_NEW);
	else alert(this.ELEMENT_TITLE + this.ERR_MESSAGE_DEFAULT);
	if (this.IS_DELETED) this.ELEMENT_OBJ.value = "";
	this.ERR_MESSAGE_NEW = null;
	this.IS_DELETED = false;
	if(this.FOCUS_OBJ) {
		try {
			Field.focus(this.FOCUS_OBJ);
			if (this.IS_SELECTED) Field.select(this.FOCUS_OBJ);
		} catch (E) {}
	}
	this.IS_SELECTED = false;
}

/**
 * ÇÊ¼öÇ×¸ñÀ» ÀÔ·ÂÇß´ÂÁö Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÇÊ¼öÇ×¸ñ ÀÔ·ÂÇß´ÂÁö ¿©ºÎ)
 */
FormValidator.prototype.required = function(errMsg) {
	var runFunc = "this.ELEMENT_OBJ.value.isEmptyTrim()";
	if (this.ELEMENT_TYPE == "checkbox" || this.ELEMENT_TYPE == "radio")
		runFunc = "!Field.isChecked(this.ELEMENT_OBJ)";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) ÇÊ¼öÇ×¸ñÀÔ´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		if (this.ELEMENT_TYPE != "checkbox" && this.ELEMENT_TYPE != "radio") this.IS_DELETED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÔ·Â°ªÀÌ ¼ýÀÚ(0123456789)·Î¸¸ ±¸¼ºµÇ¾îÀÖ´ÂÁö Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(¼ýÀÚÀÎÁö ¿©ºÎ)
 */
FormValidator.prototype.numeric = function(errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "!this.ELEMENT_OBJ.value.isNumeric()";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) ¼ýÀÚ¸¸ ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÔ·Â°ªÀÌ Number(.0123456789)·Î¸¸ ±¸¼ºµÇ¾îÀÖ´ÂÁö Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(NumberÀÎÁö ¿©ºÎ)
 */
FormValidator.prototype.number = function(errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "!this.ELEMENT_OBJ.value.isNumber()";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) ¼ýÀÚ¸¸ ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÔ·Â°ªÀÌ ¼ýÀÚ¿Í ¿µ¹®À¸·Î¸¸ ±¸¼ºµÇ¾îÀÖ´ÂÁö Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(¼ýÀÚ,¿µ¹®¿¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.alphaNumeric = function(errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "!this.ELEMENT_OBJ.value.isAlphaNumeric()";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) ¿µ¹® ¶Ç´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÇÑ±ÛÀÌ Æ÷ÇÔµÇÁö ¾Ê¾Æ¾ß ÇÏ´Â Á¶°ÇÀ» Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÇÑ±ÛÀÌ ¾ø´ÂÁö ¿©ºÎ)
 */
FormValidator.prototype.denyHangul = function(errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "this.ELEMENT_OBJ.value.isInHangul()";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) ÇÑ±ÛÀ» Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * °ø¹éÀÌ Æ÷ÇÔµÇÁö ¾Ê¾Æ¾ß ÇÏ´Â Á¶°ÇÀ» Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(°ø¹éÀÌ ¾ø´ÂÁö ¿©ºÎ)
 */
FormValidator.prototype.denyBlank = function(errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "this.ELEMENT_OBJ.value.isInBlank()";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) °ø¹éÀ» Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * (ÀÛÀº,Å«)µû¿ÈÇ¥ Æ÷ÇÔµÇÁö ¾Ê¾Æ¾ß ÇÏ´Â Á¶°ÇÀ» Ã¼Å©ÇÑ´Ù.
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(µû¿ÈÇ¥°¡ ¾ø´ÂÁö ¿©ºÎ)
 */
FormValidator.prototype.denyMark = function(errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "this.ELEMENT_OBJ.value.isInMark()";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) \' ¶Ç´Â \" ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * µÎ°³ÀÇ Æû°ªÀÌ °°ÀºÁö ºñ±³ÇÑ´Ù.
 * @param fieldName		(ºñ±³ÇÒ ÇÊµå¸í)
 * @param errMsg			(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean		(Æû°ªÀÌ °°ÀºÁö ¿©ºÎ)
 */
FormValidator.prototype.compare = function(fieldName, errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var targetVal = eval("this.objForm." + fieldName + ".value");
	if (targetVal != this.ELEMENT_OBJ.value) {
		this.ERR_MESSAGE_DEFAULT = "ÀÌ(°¡) ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.IS_SELECTED = true;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÔ·Â°ªÀÇ ±æÀÌ°¡ ÃÖ¼Ò°ª°ú ÃÖ´ë°ª¿¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param	minLen		(ÃÖ¼Ò±æÀÌ)
 * @param	maxLen		(ÃÖ´ë±æÀÌ)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÃÖ¼Ò,ÃÖ´ë°ª¿¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.validLen = function(minLen, maxLen, errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "!this.ELEMENT_OBJ.value.isValidLen(minLen, maxLen)";
	if (eval(runFunc)) {
		if (minLen == maxLen) {
			this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minLen + "ÀÚ¸®·Î ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
		} else {
			if (maxLen == 0) this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minLen + "ÀÚ ÀÌ»ó ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
			else if (minLen == 0) this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + maxLen + "ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
			else this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minLen + "ÀÚ ÀÌ»ó " + maxLen + "ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØÁÖ¼¼¿ä!! ";
		}
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÔ·Â°ªÀÇ Byte°¡ ÃÖ¼Ò°ª°ú ÃÖ´ë°ª¿¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param	minByte		(ÃÖ¼Ò Byte°ª)
 * @param	maxByte		(ÃÖ´ë Byte°ª)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÃÖ¼Ò,ÃÖ´ë°ª¿¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.validByte = function(minByte, maxByte, errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "!this.ELEMENT_OBJ.value.isValidByte(minByte, maxByte)";
	if (eval(runFunc)) {
		if (minByte == maxByte) {
			this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minByte + "ÀÚ¸®·Î ÀÔ·ÂÇØÁÖ¼¼¿ä!! \n\n¡Ø ÇÑ±Û 1±ÛÀÚ´Â ¿µ¹® 2±ÛÀÚÀÔ´Ï´Ù ";
		} else {
			if (maxByte == 0) this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minByte + "ÀÚ ÀÌ»ó ÀÔ·ÂÇØÁÖ¼¼¿ä!! \n\n¡Ø ÇÑ±Û 1±ÛÀÚ´Â ¿µ¹® 2±ÛÀÚÀÔ´Ï´Ù ";
			else this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minByte + "ÀÚ ÀÌ»ó " + maxByte + "ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØÁÖ¼¼¿ä!! \n\n¡Ø ÇÑ±Û 1±ÛÀÚ´Â ¿µ¹® 2±ÛÀÚÀÔ´Ï´Ù ";
		}
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * Ã¼Å©¹Ú½º ¼±ÅÃµÈ °³¼ö°¡ ÃÖ¼Ò °³¼ö¿Í ÃÖ´ë °³¼ö¿¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param	minCnt		(ÃÖ¼Ò °³¼ö)
 * @param	maxCnt		(ÃÖ´ë °³¼ö)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÃÖ¼Ò,ÃÖ´ë°ª¿¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.validCheckedCnt = function(minCnt, maxCnt, errMsg) {
	if (!Field.isChecked(this.ELEMENT_OBJ)) return true;
	var result = false;
	if (Field.getCheckedCnt(this.ELEMENT_OBJ) >= minCnt) {
		if (maxCnt > 0) {
			if (Field.getCheckedCnt(this.ELEMENT_OBJ) <= maxCnt) {
				result = true;
			} else {
				result = false;
			}
		} else {
			result = true;
		}
	}
	if (!result) {
		if (minCnt == maxCnt) {
			this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minCnt + "°³ ¼±ÅÃÇØÁÖ¼¼¿ä!! ";
		} else {
			if (maxCnt == 0) this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minCnt + "°³ ÀÌ»ó ¼±ÅÃÇØÁÖ¼¼¿ä!! ";
			else this.ERR_MESSAGE_DEFAULT = "Àº(´Â) " + minCnt + "°³ ÀÌ»ó " + maxCnt + "°³ ÀÌÇÏ·Î ¼±ÅÃÇØÁÖ¼¼¿ä!! ";
		}
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÔ·Â°ª¿¡ ÇØ´ç ¹®ÀÚ¿­ÀÌ Æ÷ÇÔ µÇ¾îÀÖ´ÂÁö Ã¼Å©ÇÑ´Ù.
 * @param	strVal		(°Ë»öÇÒ ¹®ÀÚ¿­)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(Æ÷ÇÔµÇ¾î ÀÖ´ÂÁö ¿©ºÎ)
 */
FormValidator.prototype.isIn = function(strVal, errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var runFunc = "!this.ELEMENT_OBJ.value.isIn(strVal)";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = "Àº(´Â) \"" + strVal + "\" À»(¸¦) ¹Ýµå½Ã Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		alert("");
		this.executeError();
		alert("");
		return false;
	}
	return true;
}

/**
 * ÆÄÀÏÀÔ·Â°ªÀÌ Çã¿ëµÈ ÆÄÀÏÅ¸ÀÔÀÎÁö Ã¼Å©ÇÑ´Ù.
 * @param	strVal		(Çã¿ëÇÒ ÆÄÀÏÅ¸ÀÔ ¹®ÀÚ¿­)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(°á°ú ¿©ºÎ)
 */
FormValidator.prototype.allowFileType = function(strVal, errMsg) {
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var startNum = this.ELEMENT_OBJ.value.lastIndexOf(".") + 1;
	var fileType = this.ELEMENT_OBJ.value.substring(startNum).toLowerCase();
	var runFunc = "!strVal.toLowerCase().isInGubun(fileType, '/')";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = " ¾÷·Îµå´Â \"" + strVal.getReplace("[/]", ", ").getReplace("[.]", "") + "\" ÆÄÀÏÇü½Ä¸¸ °¡´ÉÇÕ´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;	
}

/**
 * ÆÄÀÏÀÔ·Â°ªÀÌ Çã¿ëµÇÁö ¾ÊÀº ÆÄÀÏÅ¸ÀÔÀÎÁö Ã¼Å©ÇÑ´Ù.
 * @param	strVal		(Çã¿ëÇÏÁö ¾ÊÀ» ÆÄÀÏÅ¸ÀÔ ¹®ÀÚ¿­)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(°á°ú ¿©ºÎ)
 */
FormValidator.prototype.denyFileType = function(strVal, errMsg) {
	if(this.ELEMENT_OBJ == null) return true;
	if (this.ELEMENT_OBJ.value.isEmptyTrim()) return true;
	var startNum = this.ELEMENT_OBJ.value.lastIndexOf(".") + 1;
	var fileType = this.ELEMENT_OBJ.value.substring(startNum).toLowerCase();
	var runFunc = "strVal.toLowerCase().isInGubun(fileType, '/')";
	if (eval(runFunc)) {
		this.ERR_MESSAGE_DEFAULT = " ¾÷·Îµå´Â \"" + strVal.getReplace("[/]", ", ").getReplace("[.]", "") + "\" ÆÄÀÏÇü½ÄÀº ºÒ°¡´ÉÇÕ´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ³¯Â¥Çü½ÄÀÌ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(³¯Â¥Çü½ÄÀÌ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.validDate = function(fieldName, errMsg) {
	var sysDate;
	if (isEmptyTrim(fieldName)) {
		if(this.ELEMENT_OBJ.value.isIn("-")){
			sysDate = this.ELEMENT_OBJ.value;
		}else if(this.ELEMENT_OBJ.value.isIn("/")){
			sysDate = this.ELEMENT_OBJ.value.replace("-", "/");
		}else{
			sysDate = this.ELEMENT_OBJ.value.substring(0, 4);
			sysDate += "-" + this.ELEMENT_OBJ.value.substring(4, 6);
			sysDate += "-" + this.ELEMENT_OBJ.value.substring(6, 8);
			if(sysDate == "--"){
				sysDate = "";
			}
		}
		if (sysDate.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value + this.objForm[fieldName+"3"].value;
		if (original.isEmptyTrim()) return true;
		if (this.ELEMENT_OBJ.type == "text") {
			this.objForm[fieldName+"1"].value = this.objForm[fieldName+"1"].value.getAddZero(4);
			this.objForm[fieldName+"2"].value = this.objForm[fieldName+"2"].value.getAddZero(2);
			this.objForm[fieldName+"3"].value = this.objForm[fieldName+"3"].value.getAddZero(2);
		}
		sysDate = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value + "-" + this.objForm[fieldName+"3"].value;
	}
	if (!sysDate.isValidDate()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ¿ìÆí¹øÈ£°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(¿ìÆí¹øÈ£°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.zipCode = function(fieldName, errMsg) {
	var zipCode;
	if (isEmptyTrim(fieldName)) {
		zipCode = this.ELEMENT_OBJ.value;
		if (zipCode.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value;
		if (original.isEmptyTrim()) return true;
		zipCode = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value;
	}
	if (!zipCode.isValidZipCode()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀüÈ­¹øÈ£°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÀüÈ­¹øÈ£°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.phone = function(fieldName, errMsg) {
	var phone;
	if (isEmptyTrim(fieldName)) {
		phone = this.ELEMENT_OBJ.value;
		if (phone.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value + this.objForm[fieldName+"3"].value;
		if (original.isEmptyTrim()) return true;
		phone = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value + "-" + this.objForm[fieldName+"3"].value;
	}
	if (!phone.isValidPhone()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÇÚµåÆù¹øÈ£°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÇÚµåÆù¹øÈ£°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.cellPhone = function(fieldName, errMsg) {
	var cellPhone;
	if (isEmptyTrim(fieldName)) {
		cellPhone = this.ELEMENT_OBJ.value;
		if (cellPhone.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value + this.objForm[fieldName+"3"].value;
		if (original.isEmptyTrim()) return true;
		cellPhone = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value + "-" + this.objForm[fieldName+"3"].value;
	}
	if (!cellPhone.isValidCellPhone()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÀÌ¸ÞÀÏÁÖ¼Ò°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÀÌ¸ÞÀÏÁÖ¼Ò°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.eMail = function(fieldName, errMsg) {
	var eMail;
	if (isEmptyTrim(fieldName)) {
		eMail = this.ELEMENT_OBJ.value;
		if (eMail.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value;
		if (original.isEmptyTrim()) return true;
		eMail = this.objForm[fieldName+"1"].value + "@" + this.objForm[fieldName+"2"].value;
	}
	if (!eMail.isValidEmail()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ÁÖ¹Îµî·Ï¹øÈ£°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(ÁÖ¹Îµî·Ï¹øÈ£°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.juminNo = function(fieldName, errMsg) {
	var juminNo;
	if (isEmptyTrim(fieldName)) {
		juminNo = this.ELEMENT_OBJ.value;
		if (juminNo.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value;
		if (original.isEmptyTrim()) return true;
		juminNo = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value;
	}
	if (!juminNo.isValidJuminNo()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * »ç¾÷ÀÚµî·Ï¹øÈ£°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(»ç¾÷ÀÚµî·Ï¹øÈ£°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.bizNo = function(fieldName, errMsg) {
	var bizNo;
	if (isEmptyTrim(fieldName)) {
		bizNo = this.ELEMENT_OBJ.value;
		if (bizNo.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value + this.objForm[fieldName+"3"].value;
		if (original.isEmptyTrim()) return true;
		bizNo = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value + "-" + this.objForm[fieldName+"3"].value;
	}
	if (!bizNo.isValidBizNo()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

/**
 * ¹ýÀÎµî·Ï¹øÈ£°¡ À¯È¿ÇÑÁö Ã¼Å©ÇÑ´Ù.
 * @param fieldName	(°øÅëµÈ ÇÊµå¸í)
 * @param errMsg		(»õ·Î¿î ¿¡·¯¸Þ½ÃÁö)
 * @return boolean	(¹ýÀÎµî·Ï¹øÈ£°¡ À¯È¿ÇÑÁö ¿©ºÎ)
 */
FormValidator.prototype.corpNo = function(fieldName, errMsg) {
	var corpNo;
	if (isEmptyTrim(fieldName)) {
		corpNo = this.ELEMENT_OBJ.value;
		if (corpNo.isEmptyTrim()) return true;
	} else {
		var original = this.objForm[fieldName+"1"].value + this.objForm[fieldName+"2"].value;
		if (original.isEmptyTrim()) return true;
		corpNo = this.objForm[fieldName+"1"].value + "-" + this.objForm[fieldName+"2"].value;
	}
	if (!corpNo.isValidCorpNo()) {
		this.ERR_MESSAGE_DEFAULT = "°¡(ÀÌ) ¿Ç¹Ù¸£Áö ¾Ê½À´Ï´Ù!! ";
		if (!isEmptyTrim(errMsg)) this.ERR_MESSAGE_NEW = errMsg;
		this.executeError();
		return false;
	}
	return true;
}

//-->
