<!--
/******************************************************************************
 * °ø¿ë js ¸ðÀ½
 *
 * @(#) default.js<p>
 *
 * Version : v 1.0<br>
 * Date : 2006. 05. 09.<br>
 * Copyright 1998-2006 by (ÁÖ)Æ÷Æ®Æú¸®¿À All right reserved.<br>
 * @author Woo-Chang Yang, routine@protfolioad.com<p>
 *****************************************************************************/
/******************************************************************************
 * 2009.03.27 ¼öÁ¤ »çÇ× [°­**]
 * 1) ÀÔ·ÂµÈ °ªÀÌ ÀÖÀ» ¶§¸¸,  phone, mobile, email, jumin, biznum À¯È¿¼º °Ë»ç ÇÏµµ·Ï Á¶°Ç¹® Ãß°¡
 * 2) phone, mobile, email À¯È¿¼º °Ë»ç °æ°í ¸Þ¼¼Áö¿¡ fname Ç¥½ÃµÇµµ·Ï Ãß°¡ 
 * 3) onlynum Ãß°¡ : °ª¿¡ ¼ýÀÚ¸¸À¸·Î ÀÔ·Â ºÒ°¡´É
 *****************************************************************************/


/******************************************************************************
 * prototype ¸ðÀ½
 *****************************************************************************/

//-----------------------------------------------------------------------------
// ¹®ÀÚ ¾Õ µÚ °ø¹éÀ» Á¦°Å ÇÑ´Ù.
//-----------------------------------------------------------------------------
String.prototype.trim = function() { 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

//-----------------------------------------------------------------------------
// ³»¿ëÀÌ ÀÖ´ÂÁö ¾ø´ÂÁö È®ÀÎÇÏ´Ù.
//
// @return : true(³»¿ë ÀÖÀ½) | false(³»¿ë ¾øÀ½)
//-----------------------------------------------------------------------------
String.prototype.notNull = function() {
	return (this == null || this.trim() == "") ? false : true; 
}

//-----------------------------------------------------------------------------
// ¸ÞÀÏÀÇ À¯È¿¼ºÀ» Ã¼Å© ÇÑ´Ù.
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.mail = function() {
	var em = this.trim().match(/^[_\-\.0-9a-zA-Z]{3,}@[-.0-9a-zA-z]{2,}\.[a-zA-Z]{2,4}$/);
	return (em) ? true : false;
}

//-----------------------------------------------------------------------------
// ÁÖ¹Î¹øÈ£ Ã¼Å© XXXXXX-XXXXXXX ÇüÅÂ·Î Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.jumin = function() {
	var num = this.trim().onlyNum();
	if(num.length == 13) {
		num = num.substring(0, 6) + "-" + num.substring(6, 13);	
	}
	else {
		return false;
	}
	num = num.match(/^([0-9]{6})-?([0-9]{7})$/);
	if(!num) return false;
	var num1 = RegExp.$1;
	var num2 = RegExp.$2;
	if(!num2.substring(0, 1).match(/^[1-4]{1}$/)) return false;
	num = num1 + num2;
	var sum = 0;
	var last = num.charCodeAt(12) - 0x30;
	var bases = "234567892345";
	for (i=0; i<12; i++) {
		sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
	}
	var mod = sum % 11;
	return ((11 - mod) % 10 == last) ? true : false;
}

//-----------------------------------------------------------------------------
// »ç¾÷ÀÚ¹øÈ£ Ã¼Å© XXX-XX-XXXXX ÇüÅÂ·Î Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.biznum = function() {
	var num = this.trim().onlyNum();
	if(num.length == 10) {
		num = num.substring(0, 3) + "-" + num.substring(3, 5) + "-" + num.substring(5, 10);
	}
	else {
		return false;
	}
	num = num.match(/([0-9]{3})-?([0-9]{2})-?([0-9]{5})/);
	if(!num) return false;
	num = RegExp.$1 + RegExp.$2 + RegExp.$3;
	var cVal = 0;
	for (var i=0; i<8; i++) {
		var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp  == 1 ) ? 3 : 7);
		cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10;	
	}
	var li_temp = parseFloat(num.substring(i,i+1)) * 5 + '0';
	cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
	return (parseInt(num.substring(9,10)) == 10 - (cVal % 10)%10) ? true : false;
}

//-----------------------------------------------------------------------------
// ÀüÈ­¹øÈ£ Ã¼Å© XXX-XXXX-XXXX ÇüÅÂ·Î Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.phone = function() {
	var num = this.trim().onlyNum();
	if(num.substring(1,2) == "2") {
		num = num.substring(0, 2) + "-" + num.substring(2, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
	}
	else {
		num = num.substring(0, 3) + "-" + num.substring(3, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
	}
	num = num.match(/^0[0-9]{1,2}-[1-9]{1}[0-9]{2,3}-[0-9]{4}$/);
	return (num) ? true : false;
}

//-----------------------------------------------------------------------------
// ÇÚµåÆù Ã¼Å© XXX-XXXX-XXXX ÇüÅÂ·Î Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.mobile = function() {
	var num = this.trim().onlyNum();
	num = num.substring(0, 3) + "-" + num.substring(3, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
	num = num.trim().match(/^01[016789]{1}-[1-9]{1}[0-9]{2,3}-[0-9]{4}$/);
	return (num) ? true : false;
}

//-----------------------------------------------------------------------------
// ¼ýÀÚ¸¸ Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.num = function() {
	return (this.trim().match(/^[0-9]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// ¿µ¾î¸¸ Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.eng = function() {
	return (this.trim().match(/^[a-zA-Z]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// ¿µ¾î¿Í ¼ýÀÚ¸¸ Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.engnum = function() {
	return (this.trim().match(/^[0-9a-zA-Z]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// ¿µ¾î¿Í ¼ýÀÚ¸¸ Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.numeng = function() {
	return this.engnum();
}

//-----------------------------------------------------------------------------
// ¾ÆÀÌµð Ã¼Å© ¿µ¾î¿Í ¼ýÀÚ¸¸ Ã¼Å© Ã¹±ÛÀÚ´Â ¿µ¾î·Î ½ÃÀÛ
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.userid = function() {
	return (this.trim().match(/[a-zA-z]{1}[0-9a-zA-Z]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// ÇÑ±Û¸¸ Ã¼Å©
//
// @return : true(¸Â´Â Çü½Ä) | false(Àß¸øµÈ Çü½Ä)
//-----------------------------------------------------------------------------
String.prototype.kor = function() {
	return (this.trim().match(/^[°¡-ÆR]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// ¼ýÀÚ¿Í . - ÀÌ¿ÜÀÇ ¹®ÀÚ´Â ´Ù »«´Ù. - ÅëÈ­·®À» ¼ýÀÚ·Î º¯È¯
//
// @return : ¼ýÀÚ
//-----------------------------------------------------------------------------
String.prototype.toNum = function() {
	var num = this.trim();
	return (this.trim().replace(/[^0-9\.-]/g,""));
}

//-----------------------------------------------------------------------------
// ¼ýÀÚ ÀÌ¿Ü¿¡´Â ´Ù »«´Ù.
//
// @return : ¼ýÀÚ
//-----------------------------------------------------------------------------
String.prototype.onlyNum = function() {
	var num = this.trim();
	return (this.trim().replace(/[^0-9]/g,""));
}

//-----------------------------------------------------------------------------
// ¼ýÀÚ¸¸ »« ³ª¸ÓÁö ÀüºÎ
//
// @return : ¼ýÀÚ ÀÌ¿Ü
//-----------------------------------------------------------------------------
String.prototype.noNum = function() {
	var num = this.trim();
	return (this.trim().replace(/[0-9]/g,""));
}

//-----------------------------------------------------------------------------
// ¼ýÀÚ¿¡ 3ÀÚ¸®¸¶´Ù , ¸¦ Âï¾î¼­ ¹ÝÈ¯
//
// @return : ÅëÈ­·®
//-----------------------------------------------------------------------------
String.prototype.toMoney = function() {
	var num = this.toNum();
	var pattern = /(-?[0-9]+)([0-9]{3})/;
	while(pattern.test(num)) {
		num = num.replace(pattern,"$1,$2");
	}
	return num;
}

//-----------------------------------------------------------------------------
// String length ¹ÝÈ¯
//
// @return : int
//-----------------------------------------------------------------------------
String.prototype.getLength = function() {
	return this.length;
}

//-----------------------------------------------------------------------------
// String length ¹ÝÈ¯ ÇÑ±Û 2±ÛÀÚ ¿µ¾î 1±ÛÀÚ
//
// @return : int
//-----------------------------------------------------------------------------
String.prototype.getByteLength = function() {
	var tmplen = 0;
	for (var i = 0; i < this.length; i++) {
		if (this.charCodeAt(i) > 127)
			tmplen += 2;
		else
			tmplen++;
	}
	return tmplen;
}

//-----------------------------------------------------------------------------
// ÆÄÀÏ È®ÀåÀÚ ¹ÝÈ¯
//
// @return : String
//-----------------------------------------------------------------------------
String.prototype.getExt = function() {
	var ext = this.substring(this.lastIndexOf(".") + 1, this.length);
	return ext;
}

//-----------------------------------------------------------------------------
// String¿¡ µû¶ó¼­ ¹ÞÄ§ÀÌ ÀÖÀ¸¸é Àº|ÀÌ|À» À»
//                 ¹ÞÄ§ÀÌ ¾øÀ¸¸é ´Â|°¡|¸¦ µîÀ» ¸®ÅÏ ÇÑ´Ù.
// str.josa("À»/¸¦") : ±¸ºÐÀÚ´Â Ç×»ó "/"·Î
//
//
// @return : Àº/´Â, ÀÌ/°¡ ...
//-----------------------------------------------------------------------------
String.prototype.josa = function(nm) {
	var nm1 = nm.trim().substring(0, nm.trim().indexOf("/"));
	var nm2 = nm.trim().substring(nm.trim().indexOf("/") + 1, nm.trim().length);
	var a = this.substring(this.length - 1, this.length).charCodeAt();
	a = a - 44032;
	var jongsung = a % 28;
	return (jongsung) ? nm1 : nm2;
}


/******************************************************************************
 * Form¿¡ °ü·ÃµÈ ¸Þ¼­µå
 * 
 * 1. text, textarea
 *    required : °ªÀÌ ¾øÀ¸¸é °æ°í
 *    num : °ª¿¡ ¼ýÀÚ¸¸ °¡´É
 *    onlynum : °ª¿¡ ¼ýÀÚ¸¸ ºÒ°¡´É [2009.03.27]
 *    eng : °ª¿¡ ¿µ¾î¸¸ °¡´É
 *    han : °ª¿¡ ÇÑ±Û¸¸ °¡´É
 *    numeng : °ª¿¡ ¼ýÀÚ¿Í ¿µ¾î¸¸ °¡´É
 *    min=value : ÃÖ¼Ò valueÀÚ ÀÌ»ó
 *    mininput=value : ÀÔ·Â°ªÀÌ ÀÖ´Ù¸é, ÃÖ¼Ò valueÀÚ ÀÌ»ó [2009.03.27]
 *    max=value : ÃÖ´ë valueÀÚ ÀÌÇÏ
 *    maxinput=value : ÀÔ·Â°ªÀÌ ÀÖ´Ù¸é, ÃÖ¼Ò valueÀÚ ÀÌÇÏ [2009.03.27]
 *    len=value : Á¤È®ÇÏ°Ô valueÀÚ¸¸ °¡´É
 *    len=start~end : startÀÚ¿¡¼­ endÀÚ±îÁö °¡´É
 *    userid : ¿µ¾î ¼ýÀÚ¸¸ °¡´ÉÇÏ°í Ã¹¹®ÀÚ´Â ¿µ¾î·Î
 *    phone=value : value°¡ ""¸é ÀÌ ÇÊµå¸¸ ¾Æ´Ï¸é value°¡ °°Àº phone¿¡ °ü·ÃµÈ ¸ðµç ÇÊµå Á¶»ç
 *    mobile=value : value°¡ ""¸é ÀÌ ÇÊµå¸¸ ¾Æ´Ï¸é value°¡ °°Àº mobile¿¡ °ü·ÃµÈ ¸ðµç ÇÊµå Á¶»ç
 *    email=value : value°¡ ""¸é ÀÌ ÇÊµå¸¸ ¾Æ´Ï¸é value°¡ °°Àº email¿¡ °ü·ÃµÈ ¸ðµç ÇÊµå Á¶»ç
 *    jumin=value : value°¡ ""¸é ÀÌ ÇÊµå¸¸ ¾Æ´Ï¸é value°¡ °°Àº jumin¿¡ °ü·ÃµÈ ¸ðµç ÇÊµå Á¶»ç
 *    biznum=value : value°¡ ""¸é ÀÌ ÇÊµå¸¸ ¾Æ´Ï¸é value°¡ °°Àº biznum¿¡ °ü·ÃµÈ ¸ðµç ÇÊµå Á¶»ç
 * 2. select
 *    required : °ªÀÌ ¾øÀ¸¸é °æ°í
 * 3. radio
 *    required : ¾Æ¹«°Íµµ ¼±ÅÃµÇÁö ¾ÊÀ¸¸é °æ°í
 * 4. checkbox
 *    required : ¾Æ¹«°Íµµ ¼±ÅÃµÇÁö ¾ÊÀ¸¸é °æ°í
 *    min=value : ÃÖ¼Ò value°³ ÀÌ»ó °¡´É
 *    max=value : ÃÖ´ë value°³ ÀÌÇÏ °¡´É
 *    len=value : Á¤È®ÇÏ°Ô value°³ °¡´É
 *    len=start~end : start°³¿¡¼­ end°³ ±îÁö °¡´É
 * 5. file
 *    required :  ¾Æ¹«°Íµµ ¼±ÅÃµÇÁö ¾ÊÀ¸¸é °æ°í
 *    allow=value : È®ÀåÀÚ°¡ value ÀÎ ÆÄÀÏ¸¸ ¾÷·Îµå °¡´É (allow="gif jpg jpeg png")
 *    deny=value : È®ÀåÀÚ°¡ value ÀÎ ÆÄÀÏÀº ¾÷·Îµå ºÒ°¡´É
 *****************************************************************************/
//-----------------------------------------------------------------------------
// FormUtil Class »ý¼º
//-----------------------------------------------------------------------------
FormUtil = function(obj) {
	this.obj = obj;
}

//-----------------------------------------------------------------------------
// Æû À¯È¿¼º Ã¼Å©
//
// @return : true | false
//-----------------------------------------------------------------------------
FormUtil.prototype.success = function() {

	for(var i = 0; i < this.obj.elements.length; i++) {
		var f = this.obj[i];

		var fname = (f.getAttribute("FNAME") == null) ? f.name.toUpperCase() : fname = f.getAttribute("FNAME");

		// checkbox
		if(f.type == "checkbox") {
			if(!this.checkbox(f, fname)) {
				return false;
			}
		}
		// radio
		else if(f.type == "radio") {
			if(!this.radio(f, fname)) {
				return false;
			}
		}
		else { // text, textarea, password, select
			// <input required>
			if(f.getAttribute("REQUIRED") != null) {
				var ftype = f.type;
				var msg = " ÀÔ·Â ÇÏ¼¼¿ä";
				if(ftype.indexOf("select") >= 0 || ftype == "file") {
					msg = " ¼±ÅÃÇÏ¼¼¿ä";
				}

				if(!f.value.notNull()) {
					alert(fname + fname.josa("À»/¸¦") + msg);
					f.focus();
					return false;
				}
			}		
			// <input num>
			if(f.getAttribute("NUM") != null && f.value != "") {
				if(!f.value.num()) {
					alert(fname + fname.josa("Àº/´Â") + " ¼ýÀÚ·Î¸¸ ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.");
					f.value = "";
					f.focus();
					return false;
				}	
			}
			// <input onlynum>
			if(f.getAttribute("ONLYNUM") != null && f.value != "") {
				if(f.value.num()) {
					alert(fname + fname.josa("Àº/´Â") + " ¼ýÀÚ·Î¸¸ ±¸¼ºµÉ ¼ö ¾ø½À´Ï´Ù.");
					f.value = "";
					f.focus();
					return false;
				}	
			}
			// <input eng>
			if(f.getAttribute("ENG") != null && f.value != "") {
				if(!f.value.eng()) {
					alert(fname + fname.josa("Àº/´Â") + " ¿µ¾î·Î¸¸ ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.");
					f.value = "";
					f.focus();
					return false;
				}	
			}
			// <input numeng>
			if(f.getAttribute("NUMENG") != null && f.value != "") {
				if(!f.value.numeng()) {
					alert(fname + fname.josa("Àº/´Â") + " ¼ýÀÚ¿Í ¿µ¾î·Î¸¸ ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.");
					f.value = "";
					f.focus();
					return false;
				}	
			}
			// <input han>
			if(f.getAttribute("HAN") != null && f.value != "") {
				if(!f.value.kor()) {
					alert(fname + fname.josa("Àº/´Â") + " ÇÑ±Û·Î¸¸ ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.");
					f.value = "";
					f.focus();
					return false;
				}	
			}
			// <input userid>
			if(f.getAttribute("USERID") != null && f.value != "") {
				if(!f.value.userid()) {
					alert(fname + fname.josa("Àº/´Â") + " ¼ýÀÚ¿Í ¿µ¾î·Î¸¸ ±¸¼ºµÇ¾î¾ß ÇÏ¸ç\n\nÃ¹¹®ÀÚ´Â ¹Ýµå½Ã ¿µ¾î·Î ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù.");
					f.value = "";
					f.focus();
					return false;
				}	
			}
			// <input type="file" deny="value">
			if(f.getAttribute("DENY") != null && f.type == "file" && f.value != "") {
				var ext = f.value.getExt().toLowerCase();
				var ext2 = f.getAttribute("DENY").toLowerCase();
				if(ext2.indexOf(ext) >= 0) {
					alert("È®ÀåÀÚ°¡ " + f.getAttribute("DENY").toUpperCase() + " ÀÎ ÆÄÀÏÀº ¾÷·Îµå ÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.");
					return false;
				}
			}
			// <input type="file" deny="value">
			if(f.getAttribute("ALLOW") != null && f.type == "file" && f.value != "") {
				var ext = f.value.getExt().toLowerCase();
				var ext2 = f.getAttribute("ALLOW").toLowerCase();
				if(ext2.indexOf(ext) < 0) {
					alert("È®ÀåÀÚ°¡ " + f.getAttribute("ALLOW").toUpperCase() + " ÀÎ ÆÄÀÏ¸¸ ¾÷·Îµå °¡´É ÇÕ´Ï´Ù.");
					return false;
				}
			}
			// <input max="10">
			if(f.getAttribute("MAX") != null) {
				var tmpLen = f.value.getLength();
				if(tmpLen > parseInt(f.getAttribute("MAX"))) {
					alert(fname + fname.josa("Àº/´Â") + " " + f.getAttribute("MAX") + "ÀÚ ÀÌÇÏ·Î ÀÔ·Â ÇÏ¼¼¿ä.");
					f.value = "";
					f.focus();
					return false;
				}
			}
			// <input maxinput="10">
			if(f.getAttribute("MAXINPUT") != null) {
				if ( f.value.notNull() )
				{
					var tmpLen = f.value.getLength();
					if(tmpLen > parseInt(f.getAttribute("MAXINPUT"))) {
						alert(fname + fname.josa("Àº/´Â") + " " + f.getAttribute("MAXINPUT") + "ÀÚ ÀÌÇÏ·Î ÀÔ·Â ÇÏ¼¼¿ä.");
						f.value = "";
						f.focus();
						return false;
					}
				}
			}
			// <input min="10">
			if(f.getAttribute("MIN") != null) {
				var tmpLen = f.value.getLength();
				if(tmpLen < parseInt(f.getAttribute("MIN"))) {
					alert(fname + fname.josa("Àº/´Â") + " " + f.getAttribute("MIN") + "ÀÚ ÀÌ»óÀ¸·Î ÀÔ·Â ÇÏ¼¼¿ä.");
					f.focus();
					return false;
				}
			}
			// <input mininput="10">
			if(f.getAttribute("MININPUT") != null) {
				if ( f.value.notNull() )
				{
					var tmpLen = f.value.getLength();
					if(tmpLen < parseInt(f.getAttribute("MININPUT"))) {
						alert(fname + fname.josa("Àº/´Â") + " " + f.getAttribute("MININPUT") + "ÀÚ ÀÌ»óÀ¸·Î ÀÔ·Â ÇÏ¼¼¿ä.");
						f.focus();
						return false;
					}
				}
			}
			// <input len="10">
			if(f.getAttribute("LEN") != null) {
				var tmpLen = f.value.getLength();
				var val = f.getAttribute("LEN");
				if(val.indexOf(val.noNum()) > 0) {
					var num1 = val.substring(0, val.indexOf(val.noNum()));
					var num2 = val.substring(val.lastIndexOf(val.noNum()) + 1, val.length);
					if(tmpLen < parseInt(num1) || tmpLen > parseInt(num2)) {
						alert(fname + fname.josa("Àº/´Â") + " " + num1 + "ÀÚ ÀÌ»ó " + num2 + "ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇÏ¼¼¿ä");
						f.focus();
						return false;
					}
				}
				else {
					if(tmpLen != parseInt(val)) {
						alert(fname + fname.josa("Àº/´Â") + " " + val + "ÀÚ¸® ÀÔ´Ï´Ù.");
						f.focus();
						return false;
					}
				}
			}
		}
	}
	
	for(var i = 0; i < this.obj.elements.length; i++) {
		var f = this.obj[i];

		var fname = (f.getAttribute("FNAME") == null) ? f.name.toUpperCase() : fname = f.getAttribute("FNAME");


		if(f.value.notNull()) {
		//-------------------------------------------------------------------------------

		// <input phone="name">
		if(f.getAttribute("PHONE") != null) {
			var val = "";
			if(f.getAttribute("PHONE") == "") {
				val = f.value
			}
			else {
				val = this.getValue("PHONE", f.getAttribute("PHONE"));
			}
			if(!val.phone()) {
				alert(fname + fname.josa("Àº/´Â") + " " + "¿Ã¹Ù¸¥ ÀüÈ­¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ¿© ÁÖ¼¼¿ä");
				f.focus();
				return false;	
			}
		}
		// <input mobile="name">
		if(f.getAttribute("MOBILE") != null) {
			var val = "";
			if(f.getAttribute("MOBILE") == "") {
				val = f.value
			}
			else {
				val = this.getValue("MOBILE", f.getAttribute("MOBILE"));
			}
			if(!val.mobile()) {
				alert(fname + fname.josa("Àº/´Â") + " " + "¿Ã¹Ù¸¥ ÇÚµåÆù¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ¿© ÁÖ¼¼¿ä");
				f.focus();
				return false;	
			}				
		}
		// <input jumin="name">
		if(f.getAttribute("JUMIN") != null) {
			var val = "";
			if(f.getAttribute("JUMIN") == "") {
				val = f.value
			}
			else {
				val = this.getValue("JUMIN", f.getAttribute("JUMIN"));
			}
			if(!val.jumin()) {
				alert("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ¿© ÁÖ¼¼¿ä");
				f.focus();
				return false;	
			}
		}
		// <input email="name">
		if(f.getAttribute("EMAIL") != null) {
			var val = "";
			if(f.getAttribute("EMAIL") == "") {
				val = f.value
			}
			else {
				val = this.getValue("EMAIL", f.getAttribute("EMAIL"));
			}
			if(!val.mail()) {
				alert(fname + fname.josa("Àº/´Â") + " " + "À¯È¿ÇÑ ÀÌ¸ÞÀÏÀÌ ¾Æ´Õ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ¿© ÁÖ¼¼¿ä");
				f.focus();
				return false;	
			}	
		}
		// <input biznum="name">
		if(f.getAttribute("BIZNUM") != null) {
			var val = "";
			if(f.getAttribute("BIZNUM") == "") {
				val = f.value
			}
			else {
				val = this.getValue("BIZNUM", f.getAttribute("BIZNUM"));
			}
			if(!val.biznum()) {
				alert("À¯È¿ÇÑ »ç¾÷ÀÚ µî·Ï ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ¿© ÁÖ¼¼¿ä");
				f.focus();
				return false;	
			}	
		}

			//-------------------------------------------------------------------------------
		}

		

		
	}
	
	return true;
}

//-----------------------------------------------------------------------------
// Checkbox ÀÏ¶§ À¯È¿¼º Ã¼Å©
//
// @return : true | false
//-----------------------------------------------------------------------------
FormUtil.prototype.checkbox = function(f, fname) {
	var chkObj = eval("this.obj." + f.name);
	// Ã¼Å©¹Ú½º¸¦ ¼±ÅÃÇÏ¿©¾ß ÇÒ ¶§
	var c = 0;
	var len = chkObj.length;
	if(len) {
		for(var j = 0; j < len; j++) {
			if(chkObj[j].checked) c++;
		}
	}
	else {
		if(chkObj.checked) c = 1;
	}
	
	if(f.getAttribute("REQUIRED") != null) {
		if(c == 0) {
			alert(fname + fname.josa("À»/¸¦") + " ¼±ÅÃÇÏ¿© ÁÖ¼¼¿ä");
			return false;
		}
	}
	if(f.getAttribute("MAX") != null) {
		var val = f.getAttribute("MAX");
		if(c > parseInt(val)) {
			alert(fname + fname.josa("Àº/´Â") + " ÃÖ´ë " + val + "°³ ÀÌÇÏ·Î ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
			return false;
		}
	}
	if(f.getAttribute("MIN") != null) {
		var val = f.getAttribute("MIN");
		if(c < parseInt(val)) {
			alert(fname + fname.josa("Àº/´Â") + " ÃÖ¼Ò " + val + "°³ ÀÌ»ó ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
			return false;
		}
	}
	if(f.getAttribute("LEN") != null) {
		var val = f.getAttribute("LEN");
		if(val.indexOf(val.noNum()) > 0) {
			var num1 = val.substring(0, val.indexOf(val.noNum()));
			var num2 = val.substring(val.lastIndexOf(val.noNum()) + 1, val.length);
			if(c < parseInt(num1) || c > parseInt(num2)) {
				alert(fname + fname.josa("Àº/´Â") + " " + num1 + "°³ ÀÌ»ó " + num2 + "°³ ÀÌÇÏ·Î ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
				return false;
			}
		}
		else {
			if(c != parseInt(val)) {
				alert(fname + fname.josa("Àº/´Â") + " " + val + "°³ ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
				f.focus();
				return false;
			}
		}
	}	
	return true;
}

//-----------------------------------------------------------------------------
// Radio À¯È¿¼º Ã¼Å©
//
// @return : true | false
//-----------------------------------------------------------------------------
FormUtil.prototype.radio = function(f, fname) {
	var chkObj = eval("this.obj." + f.name);
	if(f.getAttribute("REQUIRED") != null) {
		var c = 0;
		var len = chkObj.length;
		if(len) {
			for(var j = 0; j < len; j++) {
				if(chkObj[j].checked) c++;
			}
		}
		else {
			if(chkObj.checked) c = 1;
		}
		if(c == 0) {
			alert(fname + fname.josa("À»/¸¦") + " ¼±ÅÃÇÏ¿© ÁÖ¼¼¿ä");
			return false;
		}
	}
	return true;
}

//-----------------------------------------------------------------------------
// Ã¼Å©µÇ¾î ÀÖ´Â °¹¼ö¸¦ ¸®ÅÏÇØ ÁØ´Ù.
//
// @return : int
//-----------------------------------------------------------------------------
FormUtil.prototype.checked = function(btn) {
	var len = btn.length;
	var c = 0;
	if(len) {
		for(var j = 0; j < len; j++) {
			if(btn[j].checked) c++;
		}
	}
	else {
		if(btn.checked) c = 1;
	}
	return c;
}

//-----------------------------------------------------------------------------
// ÇØ´ç nameÀÇ °ªÀÌ °°Àº filed¸¦ ±¸ÇÑ´Ù.
//
// @return : String
//-----------------------------------------------------------------------------
FormUtil.prototype.getValue = function(name, value) {
	var val = "";
	for(var j = 0; j < this.obj.elements.length; j++) {
		if(eval("this.obj[j].getAttribute(\"" + name + "\")") != null && eval("this.obj[j].getAttribute(\"" + name + "\")") == value) {
			if(val == "") {
				val += this.obj[j].value;
			}
			else {
				val += "@" + this.obj[j].value;
			}
		}
	}
	return val;
}
//-->