	//-----------------------------------------------------
	// Valid Form Control Functions
	//-----------------------------------------------------

	/**
	 * Initialize Form
	 *
	 * @param : frmName - Form Name
	 * @return : form object
	 */
	function getForm( frmName ) {
		var tempFrm = eval( "document." + frm );

		return tempFrm;
	}


	/**
	 * Check Control Value is null or Empty String
	 * Alert when is null
	 *
	 * @param : ctl - Form Control
	 * @param : desc (Optional) - Description
	 * @return : true / false
	 */
	function checkNullString( ctl, desc ) {
		if ( !desc ) desc = "내용";

		with( ctl ) {
			if( value == "" ) {
				alert( desc + "을(를) 입력해 주십시오" );
				focus();
				return false;
			}

			if( /^\s+$/.test(value) ) {
				alert( desc + "에 공백문자만 입력되었습니다.\n\n올바른 " + desc + "을(를) 입력해 주십시오" );
				value = "";
				focus();
				return false;
			}
		}
		return true;
	}


	/**
	 * Check Two Control Values is null or Empty String
	 * Alert when is null
	 *
	 * @param : ctl1 - Form Control1
	 * @param : ctl2 - Form Control2
	 * @param : desc (Optional) - Description
	 * @return : true / false
	 */
	function checkNullString2( ctl1, ctl2, desc ) {
		if ( !desc ) desc = "내용";

		if( ctl1.value == "" || ctl2.value == "" ) {
			alert( desc + "을(를) 입력해 주십시오" );
			ctl1.focus();
			return false;
		}

		if( /^\s+$/.test(ctl1.value) || /^\s+$/.test(ctl2.value) ) {
			alert( desc + "에 공백문자만 입력되었습니다.\n\n올바른 " + desc + "을(를) 입력해 주십시오" );
			ctl1.value = "";
			ctl2.value = "";
			ctl1.focus();
			return false;
		}
		return true;
	}


	/**
	 * Check Control Value is null or Empty String
	 * Alert when is null
	 *
	 * @params : Controls, Description(String)
	 * @return : true / false
	 */
	function checkNullStrings() {
		var args = checkNullStrings.arguments;
		var desc = null;
		var objType = null;
		var isNull = false;
		var isEmpty = false;

		// 1. Check Null Value & 2. Get Description Value
		for( var i = 0; i < args.length; i++ ) {
			if( typeof args[i] == "object" ) {				// 1
				objType = args[i].type;
				if( objType == "text" || objType == "password" ) {
					if( args[i].value == "" ) isNull = true;
					if( /^\s+$/.test(args[i].value) ) {
						isEmpty = true;
						args[i].value = "";
					}
				}
			} else if( typeof args[i] == "string" ) {		// 2
				desc = args[i];
			}
		}
		if( desc == null ) desc = "내용";

		if( isNull ) {
			alert( desc + "을(를) 입력해 주십시오" );
			args[0].focus();
			return false;
		}

		if( isEmpty ) {
			alert( desc + "에 공백문자만 입력되었습니다.\n\n올바른 " + desc + "을(를) 입력해 주십시오" );
			args[0].focus();
			return false;
		}
		return true;
	}


	/**
	 * Check Control Value is null or Empty String
	 *
	 * @params : Controls
	 * @return : true / false
	 */
	function isNullStrings() {
		var args = isNullStrings.arguments;
		var objType = null;

		// Check Null Value
		for( var i = 0; i < args.length; i++ ) {
			if( typeof args[i] == "object" ) {
				objType = args[i].type;
				if( objType == "text" || objType == "password" ) {
					if( args[i].value == "" ) return false;
					if( /^\s+$/.test(args[i].value) ) return false;
				}
			}
		}
		return true;
	}


	/**
	 * Check Specified Index to SelectBox Control's SelectedIndex
	 *
	 * @param : ctl - Form Control
	 * @param : desc (Optional) - Description
	 * @param : checkedIndex (Optional) - Checked Index
	 * @return : true / false
	 */
	function checkSelectIndex( ctl, desc, checkIndex ) {
		if( !desc ) desc = "알맞은 값";
		if( !checkIndex ) checkIndex = 0;

		with( ctl ) {
			if( selectedIndex == checkIndex ) {
				alert( desc + "을(를) 선택해 주십시오." );
				focus();
				return false;
			}
		}
		return true;
	}

	/**
	 * Check MultiValue Control(checkbox, radio) is checked as Specified limit count
	 *
	 * @param : ctl - Form Control
	 * @param : desc - Description
	 * @param : limit (Optional) - checked limit count
	 */
	function checkMultiChecked( ctl, desc, limit ) {
		if( !desc ) desc = "알맞은 항목";
		if( !limit ) limit = 1;

		var cnt = 0;
		// one control only
		if( !ctl.length && ctl.checked ) {
			cnt++;
		} else {
			// more then
			for( var i = 0; i < ctl.length; i++ ) {
				if( ctl[i].checked ) cnt++;
			}
		}

		if( cnt == 0 ) {
			alert( desc + "을(를)" + (limit > 1 ? limit + " 개 이상 " : "") + " 선택해 주십시오." );
			return false;
		}
		return true;
	}


	/**
	 * Check Values of Two Controls is Same Value
	 *
	 * @param : ctl1 - Control 1
	 * @param : ctl2 - Control 2
	 * @param : ctl1Name - Control 1's Name
	 * @param : ctl2Name - Control 2's Name
	 */
	function sameValue( ctl1, ctl2, ctl1Name, ctl2Name ) {
		if( ctl1.value != ctl2.value ) {
			alert( ctl1Name + "의 값과 " + ctl2Name + "의 값이 일치하지 않습니다." );
			ctl1.value = "";
			ctl2.value = "";
			ctl1.focus();

			return false;
		}
		return true;
	}


