/*
Please fill in the Name
Please fill in the Subject
Please fill in the Phone No.
Please fill in the Email
*/
	function moveFocus(ele, len, to)
	{
		if (ele.value.length == len)
		{
			to.focus();
		}
	}
	
	function replaceCommaToChar(str){
		var comma =  /\,/g;
		str = str.replace(comma, "¢Ò");
		return str;
	}
	// check.js
	// Ãµ ´ÜÀ§ ÄÞ¸¶(,)³Ö±â
	function inputcomma(what){
		tmpwhat = new String(what);
		newwhat = "";
		for(i = tmpwhat.length-1, j = 0; i >= 0 ; i--, j++){
			if(j % 3 == 0 && j != 0) newwhat = ","+newwhat;
			newwhat = tmpwhat.charAt(i) + newwhat;
		}
		return newwhat;
	}
	// ¼ýÀÚ³Ä?
	function checknum(valuez){
		valuesEx = /[-|][^0-9]/;
		// 0-9 ÀÌ¿ÜÀÇ °ªÀÌ ÀÖ´À³Ä?
		// ¼ýÀÚ°¡ ¾Æ´Ï¸é true ¼ýÀÚ ÀÌ¸é false;
		if(valuesEx.test(valuez)) return false; else return true;
	}
	// ¿µ¹®ÀÚ³ª ¼ýÀÚ -, _ ·Î ÀÌ·ç¾î Á³´À³Ä?
	function checknumcharWithBar(valuez){
		//A-Za-z0-9ÀÌ¿ÜÀÇ °ªÀÌ ÀÖ´À³Ä?
		//A-Za-z0-9ÀÌ¿ÜÀÇ °ªÀÌ ÀÖÀ¸¸é false ¾øÀ¸¸é true¸¦ ¹ÝÈ¯
		valuesEx = /[^A-Za-z0-9 \-_]/;
		if(valuesEx.test(valuez)) return false; else return true;
	}
	// ¿µ¹®ÀÚ³ª ¼ýÀÚ·Î ÀÌ·ç¾î Á³´À³Ä?
	function checknumchar(valuez){
		//A-Za-z0-9ÀÌ¿ÜÀÇ °ªÀÌ ÀÖ´À³Ä?
		//A-Za-z0-9ÀÌ¿ÜÀÇ °ªÀÌ ÀÖÀ¸¸é false ¾øÀ¸¸é true¸¦ ¹ÝÈ¯
		valuesEx = /[^A-Za-z0-9]/; 
		if(valuesEx.test(valuez)) return false; else return true; 
	}
	
	function isAlphaNumOnly(valuez){
		valuesEx = /[A-Za-z0-9]/;
		if(valuesEx.test(valuez)) return true; else return false;
	}
	function checknumwithbar(valuez){
		valuesEx = /[^0-9\-]/;
		// 0-9 - ÀÌ¿ÜÀÇ °ªÀÌ ÀÖ´À³Ä?
		// ÀÖÀ¸¸é false ¾øÀ¸¸é true;
		if(valuesEx.test(valuez)) return false; else return true;
	}
	//»ç¿ëÇÒ ¼ö ¾ø´Â ¾ÆÀÌµð
	function disableId(valuez){
		// ÇØ´ç ´Ü¾î°¡ Æ÷ÇÔµÇ¸é ture ¾Æ´Ï¸é false;
		valuesEx = /admin|ftp|http|mysql|demon|root|webmaster|master|guest|xitem|administrator/;
		// »ó±â ´Ü¾î·Î ±¸¼º µÇ¾ú´Â°¡?
		if(valuesEx.test(valuez)) return true; 
		else if(cellphonenum_tw(valuez)) return true; 
		else if(phonenum_tw(valuez)) return true; 
		else return false;
	}
	//ÀÔ·ÂµÈ °ªÀÌ ÀüÈ­¹øÈ£ Æ÷¸äÀÎ°¡¸¦ Ã¼Å©ÇÑ´Ù.(ÀÔ·Â¹ÞÀ» ¶§)
	function phonenum(valuez){
		//ÀüÈ­ ¹øÈ£ Æ÷¸äÀÌ¸é true ¾Æ´Ï¸é false;
		valuesEx = /(011|016|017|018|019|02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064)(-|)([1-9]{1})([0-9]{2,3})(-|)([0-9]{4})/;
		if(!valuesEx.test(valuez)) return false; else return true;
	}

	function replaceCharToNum(valuez){
		checklist = new Array();
		checklist[0] = new Array( /°ø/g , /ÀÏ/g , /ÀÌ/g , /»ï/g , /»ç/g , /¿À/g , /À°/g , /Ä¥/g , /ÆÈ/g , /±¸/g );
		checklist[1] = new Array( /O/g, /i/g);
		checklist[2] = new Array( /o/g, /I/g );
		for(k = 0; checklist[k] ; k++){
			cheker = checklist[k];
			for(i = 0; cheker[i] ; i++){
				valuez = valuez.replace(cheker[i], i);
			}
		}
		return valuez;
	}

	function removeDash(valuez){
		var dash =  /\-+/g;
		valuez = valuez.replace(dash, "");
		return valuez;
	}

	function removeSpace(valuez){
		var space =  /\s+/g;
		valuez = valuez.replace(space, "");
		return valuez;
	}

	function cellphonenum_tw(valuez){
		valuez = replaceCharToNum_tw(valuez);
		valuez = removeSpace(valuez);
		valuez = removeDash(valuez);
		valuesEx = /09(-|)[0-9]{2}(-|)[0-9]{6}/;
		//valuesEx=/(09)(-|)[0-9]{2}(-|)[0-9]{6}/;
		if(!valuesEx.test(valuez)) return false; else return true;
	}

	function phonenum_tw(valuez){
		//ÀüÈ­ ¹øÈ£ Æ÷¸äÀÌ¸é true ¾Æ´Ï¸é false;
		valuez = replaceCharToNum_tw(valuez);
		valuez = removeSpace(valuez);
		valuez = removeDash(valuez);
		valuesEx = /0[0-9]{1,2}(-|)([0-9]{7,8})/;
		if(!valuesEx.test(valuez)) return false; else return true;
	}

	function replaceCharToNum_tw(valuez){
		checklist = new Array();
		checklist[0] = new Array( /0/g , /1/g , /2/g , /3/g , /4/g , /5/g , /6/g , /7/g , /8/g , /9/g );
		checklist[1] = new Array( /O/g, /i/g);
		checklist[2] = new Array( /o/g, /I/g );
		for(k = 0; checklist[k] ; k++){
			cheker = checklist[k];
			for(i = 0; cheker[i] ; i++){
				valuez = valuez.replace(cheker[i], i);
			}
		}
		return valuez;
	}

	function checkComment(formz){
		if(!submitFrm(formz)) return false;
		if(!checkedinputcash(formz.price)){return false;}
		if(cellphonenum_tw(formz.comment.value)){
			alert(NOT_ALLOW_CELLPHONENUM_FORMAT);
			return false;
		}
		if(phonenum_tw(formz.comment.value)){
			alert(NOT_ALLOW_PHONENUM_FORMAT);
			return false;
		}
		if(check_mail2(formz.comment.value)) {
			alert(NOT_ALLOW_MAIL_FORMAT);
			return false;
		}
		if(formz.price.value <= 0 ) return false;
	}

	//ÀÔ·ÂµÈ °ªÀÌ ÀüÈ­¹øÈ£ Æ÷¸äÀÎ°¡¸¦ Ã¼Å©ÇÑ´Ù.(Ã¼Å©ÇÒ ¶§)
	function phonenum2(valuez){
		//ÀüÈ­ ¹øÈ£ Æ÷¸äÀÌ¸é true ¾Æ´Ï¸é false;
		valuez = replaceCharToNum(removeSpace(valuez));
		//alert(valuez);
		return phonenum(valuez);
	}
	// ÀÔ·ÂµÈ °ªÀÌ ¼ýÀÚ³Ä?
	function checkinputnum(ele) {
		var chr= event.keyCode;
		//alert(chr);
		if(!((chr >= 48 && chr <= 57) || (chr >= 96 && chr <= 105) || (chr >= 35 && chr <= 40) || chr == 9 || chr == 13 || chr == 8 || chr == 46 )){
			  event.returnValue  = false;
			  ele.focus();
			  return false;
		} else {
			return true; 
		}
	}

	function checkAmpsand(ele){
		var tmp = event.keyCode;
		if(tmp == 38) {
		  event.returnValue  = false;
		  ele.focus();
		  return false;
		}
	}
	// ÀÔ·ÂµÈ °ªÀÌ ¼ý³ª ¶Ç´Â  '-' ÀÔ´Ï±î?
	function checkinputnumwithbar(ele){
		var chr= event.keyCode;
		if(!((chr >= 48 && chr <= 57) || chr == 45)){
			  event.returnValue  = false;
			  ele.focus();
			  return false;
		} else {
			return true;
		}
	}
	//  0À» Á¦¿ÜÇÑ ¼ýÀÚ³Ä?
	function checkinputnum1_5(ele) {
		var chr= event.keyCode;
		if(!(chr >= 49 && chr <= 53)){
			  event.returnValue  = false;
			  ele.focus();
			  return;
		}
	}

	function checkinputcash(ele){
		var chr = event.keyCode;
		if(!(chr >= 48 && chr <= 58)){
			  event.returnValue  = false;
			  ele.focus();
			  return;
		}
		if(ele.value.length == 0){
			if(!(chr >= 49 && chr <= 58)){
				  event.returnValue  = false;
				  ele.focus();
				  return;
			}
		}
	}

	function removeFirstChar(tmp){
		var len = tmp.length;
		reVal = "";
		for(i = 1; i < len; i++){
			reVal = reVal + "" + tmp.charAt(i);
		}
		return reVal;
	}

	function checkedinputcash(ele){
		if(isNaN(ele.value)) {alert(MSG_INPUTNUMERIC);ele.value= isNaN(ele.defaultValue) ? 0 : ele.defaultValue;ele.select();return false;}
		var tmp = ele.value;
		while(tmp.charAt(0) == "0"){
			tmp = removeFirstChar(tmp);
		}
		ele.value = tmp;
		chrlength = tmp.length;
		lastchar = tmp.charAt(chrlength-1);
		if(lastchar != 0 && lastchar != "0")  { alert(MSG_CASHWILL10TIMES); ele.select(); return false;}
		else if(tmp -1 <= ele.form.minFee.value - 1) {
			re = new RegExp(); 
			re = /_minFee_/gi;
			while(re.test(MSG_UNDERFEE)) MSG_UNDERFEE=MSG_UNDERFEE.replace('_minFee_', ele.form.minFee.value); alert(MSG_UNDERFEE);
			ele.select(); 
			return false;}
		else if(isNaN(tmp)) { alert(MSG_INPUTNUMERIC);  ele.select(); return false; }
		else return true;
	}
	//
	// ÀÔ·ÂµÈ °ªÀÌ ¼ýÀÚ³ª ¹®ÀÚ³Ä?
	function checkinputnumchar(ele)   
	{
	var chr= event.keyCode;
		if(!((chr >= 48 && chr <= 57) || chr==8 || chr==9 || chr==46 || chr==229 || chr==37 || chr==39 || (chr >= 65 && chr <= 90) || (chr >= 97 && chr <= 122)))
		{
		  event.returnValue  = false;
		  ele.focus();
		  //return false;
	   }
	}
	function checkinputnumchar2(ele)   
	{
		if(!checknumchar(String.fromCharCode(event.keyCode)))
		{
			  event.returnValue  = false;
			  ele.focus();
			  return false;
		}
	}
	function checkLength(ele, limit) {
		if(ele.value.length > limit){
			  event.returnValue  = false;
			  ele.focus();
			  return false;
		} else {
			return true;
		}
	}
	function check_creditNo(card_no){
		// Ä«µå ¹øÈ£ ÇüÅÂ ÀÌ¸é true ¾Æ´Ï¸é false
		cardEx = /[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}/;
		if(cardEx.test(card_no)) return true;
		else return false;
	}
	// ÀÔ·ÂµÈ °ªÀÌ ÀÌ¸ÞÀÏ Æ÷¸äÀÎ°¡¸¦ Ã¼Å©ÇÑ´Ù.
	function check_mail(chmail){
		// ¸ÞÀÏ Æ÷¸äÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯
		emailEx1 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z]+/;
		emailEx2 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;
		emailEx3 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;
		emailEx4 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;
		if(!emailEx1.test(chmail)){
			if(!emailEx2.test(chmail))
				if(!emailEx3.test(chmail))
					if(!emailEx4.test(chmail))
						return false;
		}
		else{
			return true;
		}
	}
	// ³»¿ë Áß¿¡¼­ °Ë»ö
	function check_mail2(chmail){
		// ¸ÞÀÏ Æ÷¸äÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯
		chmail = removeSpace(chmail);
		return check_mail(chmail);
	}
	// ÀÔ·ÂµÈ ÀÌ¸ÞÀÏÀÌ ÇÑ¸ÞÀÏ °èÁ¤ÀÎ°¡?
	function ishanmail(chmail){
		// ÇÑ¸ÞÀÏ °èÁ¤ÀÌ¸é true ¾Æ´Ï¸é false
		emailEx = /[^@]+@(hanmail.net|daum.net)/;
		if(!emailEx.test(chmail)) return false; else return true;
	}
	function checkjuminno(jumin) {
		 // ÁÖ¹øÀÌ¸é true ±×·¸Áö ¾ÊÀ¸¸é false ¹ÝÈ¯
		   var strA, strB, strC, strD, strE, strF, strG, strH, strI, strJ, strK, strL, strM, strN, strZ;
		   var nCalA, nCalB, nCalC;
		   strA = jumin.substr(0, 1); 
		   strB = jumin.substr(1, 1);
		   strC = jumin.substr(2, 1);
		   strD = jumin.substr(3, 1);
		   strE = jumin.substr(4, 1);
		   strF = jumin.substr(5, 1);
		   strG = jumin.substr(6, 1); 
		   strH = jumin.substr(7, 1);
		   strI = jumin.substr(8, 1);
		   strJ = jumin.substr(9, 1);
		   strK = jumin.substr(10, 1);
		   strL = jumin.substr(11, 1);
		   strM = jumin.substr(12, 1);
		   strZ = strA*2 + strB*3 + strC*4 + strD*5 + strE*6 + strF*7 + strG*8 + strH*9 + strI*2 + strJ*3 + strK*4 + strL*5;
		   nCalA = eval(strZ);
		   nCalB = nCalA % 11;
		   nCalC = 11 - nCalB;
		   nCalC = nCalC % 10;
		 if ( nCalC != strM) return false; else return true;
	} 

	function fillZero(str, len){
		str += "";
		while(str.length < len){
			str = "0" + str;
		}
		return str;
	}

	function checkAdult(jumin){
		limitAge = (arguments.length > 1) ? arguments[1] : limitAge = 19;
		preYear =  (jumin.charAt(6) == "1" || jumin.charAt(6) == "2") ?  "19": "20";
		limitYear = preYear + jumin.substr(0, 2) ;
		limitYear = (limitYear -1 + 1) + limitAge ;
		limitMonth = jumin.substr(2, 2);
		limitDay = jumin.substr(4, 2);
		var limitDate = new Date(limitYear, limitMonth, limitDay);
		var toDate = new Date();
		if(limitDate < toDate) return true; else return false;
	}


/*********************************************
	* ±â´É: À¯¿¬ÇÑ ÀÚµ¿ Æû °Ë»ç±â
	* ¸¸µçÀÌ: °ÅÄ£¸¶·ç <comfuture@maniacamp.com>
	* ¼öÁ¤: ±èºÀÀç <bjkim92@korea.com>
	* ³¯Â¥: 2002-10-01
	* == change log == by °ÅÄ£¸¶·ç
	* 2003-10-02 ¿©·¯Ä­À¸·Î ³ª´²Áø Ç×¸ñ¿¡ ´ëÇÑ °Ë»ç±â´É Ãß°¡
	* 2003-10-02 ÆÐ½º¿öµåµî µÎ°³ Ç×¸ñ¿¡ ´ëÇÑ ºñ±³ ±â´É Ãß°¡
	* == change log == by ±èºÀÀç
	* 2004-08-02 ÆÄÀÏ ¾÷·Îµå È®ÀåÀÚ Á¦ÇÑ Ãß°¡
	* 2004-08-02 ¼öÁ¤»çÇ×ÀÌ ¾ø´Â °æ¿ì Æû Àü¼ÛÀ» ÇÏÁö ¾Êµµ·Ï ¼öÁ¤ÇÏ¿´½À´Ï´Ù.
	*- ¿©·¯ ÇÊµå·Î ³ª´©¾îÁø Ç×¸ñ¿¡ ´ëÇÑ °Ë»ç ¹æ¹ýÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù.
	***********************************************
	*ex) 3°³ ÇÊµå·Î ³ª´©¾îÁø ÀüÈ­¹øÈ£ ÀÔ·Â¶õ ¸¸µé±â
	*<input type="text" name="phone1" size="3" hname="ÀüÈ­¹øÈ£" option="phone" required span="3"> -
	*<input type="text" name="phone2" size="4"> -
	*<input type="text" name="phone3" size="4">
	*span °ªÀÌ ÀÖÀ¸¸é ÇØ´ç ¿¤¸®¸ÕÆ®·ÎºÎÅÍ span°ª¸¸Å­ÀÇ ¿¤¸®¸ÕÆ®ÀÇ °ªÀ» ÇÕÄ£°É ±âÁØÀ¸·Î phone Çü½Ä °Ë»ç¸¦ ¼öÇàÇÕ´Ï´Ù. ÀÌ¶§ span µÇ´Â ¿¤¸®¸ÕÆ®¿¡ ´ëÇØ¼­´Â optionÀ» µû·Î ÁÖÁö ¾Ê¾Æµµ µË´Ï´Ù.
	*
	*ex2) 2°³ Ç×¸ñÀ¸·Î ³ª´©¾îÁø ÀÌ¸ÞÀÏ ÀÔ·Â¶õ ¸¸µé±â
	*<input type="text" name="email1" hname="ÀÌ¸ÞÀÏ" option="email" required span="2" glue="@">@
	*<input type="text" name="email2">
	*¿©·¯°³ Ç×¸ñÀ¸·Î ³ª´²Á®ÀÖÁö¸¸ ±¸ºÐÀÚ´Â ÀÔ·Â¿¡ µé¾î°¡Áö ¾ÊÀ»°æ¿ì glue ¼Ó¼º¿¡ Àû¾îÁÖ½Ã¸é ÇØ´ç ¹®ÀÚ·Î ÇÕÃÄÁý´Ï´Ù. 
	*-> email1@email2 ¿¡´ëÇÑ ÀÌ¸ÞÀÏ ÆÐÅÏ °Ë»ç °á°ú¸¦ Ãâ·ÂÇÕ´Ï´Ù. 
	*
	*- ÆÐ½º¿öµå È®ÀÎµî µÎ°³ÀÇ Ç×¸ñ°ªÀÌ °°¾Æ¾ß ÇÏ´Â »óÈ²¿¡ ´ëÇÑ Ã¼Å© ¹æ¹ýÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù.
	*
	*ex) ÆÐ½º¿öµå confirm ±¸ÇöÇÏ±â
	*<input type="password" name="passwd" hname="ÆÐ½º¿öµå" required match="passwd2">
	*ÇÑ¹ø´õ <input type="password" name="passwd2" required> 
	*ÀÌ¶§´Â passwd Ç×¸ñ°ú passwd2 Ç×¸ñÀÌ °°Áö ¾ÊÀ»°æ¿ì °æ°íÃ¢À» Ãâ·ÂÇÏ°Ô µË´Ï´Ù.
	**********************************************/
	
	/// ¿¡·¯¸Þ½ÃÁö Æ÷¸ä Á¤ÀÇ ///
	var NO_BLANK = "Please fill in the {name+}";
	var NO_CHECKED = "Please check the {name+}";
	var NOT_VALID = "Wrong {name+}";
	// var TOO_LONG = "{name}ÀÇ ±æÀÌ°¡ ÃÊ°úµÇ¾ú½À´Ï´Ù (ÃÖ´ë {maxbyte}¹ÙÀÌÆ®)";
	// Xi ¿¡ ÀÇÇØ¼­ Ãß°¡µÇ¾î½À´Ï´Ù.
	var MSG_NOTEXISTANYCHANGE = "º¯°æµÈ ³»¿ëÀÌ ¾ø½À´Ï´Ù.";
	var MSG_LIMITEXTENSION = "´Â Á¦ÇÑµÈ È®ÀåÀÚ ÀÔ´Ï´Ù.\n\n";
	var MSG_LIMITONLY = "¸¸ ¾÷·Îµå ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.";
	var MSG_LIMITNOTUSE= "´Â ¾÷·Îµå ÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.";
	var MSG_RECOMENDFIELD = "{name+À»¸¦} ÀÔ·Â ÇÏ¼¼¿ä.";

	/// ½ºÆ®¸µ °´Ã¼¿¡ ¸Þ¼Òµå Ãß°¡ ///
	String.prototype.trim = function(str) { 
		str = this != window ? this : str; 
		return str.replace(/^\s+/g,'').replace(/\s+$/g,''); 
	}

	String.prototype.hasFinalConsonant = function(str) {
		str = this != window ? this : str; 
		var strTemp = str.substr(str.length-1);
		return ((strTemp.charCodeAt(0)-16)%28!=0);
	}

	String.prototype.bytes = function(str) {
		str = this != window ? this : str;
		len = 0
		for(j=0; j < str.length; j++) {
			var chr = str.charAt(j);
			len += (chr.charCodeAt() > 128) ? 2 : 1
		}
		return len;
	}

	function checkFrm(frm)
	{
		// º¯°æµÈ ³»¿ëÀÌ ¾øÀ¸¸é Àü¼ÛÇÒ ÇÊ¿ä°¡ ¾øÁÒ ¤Ñ¤Ñ.
		var denyFileExtCheck = (arguments.length > 1) ? arguments[1] : true;
		var changed = true; // mm
		if(frm.denyCheckChange) if(frm.denyCheckChange.value == "1") changed = true;
		for(i=0; i < frm.length && !changed;i++){
			if(frm.elements[i].value != frm.elements[i].defaultValue)
			{
				changed = true;
				break;
			}
		}

		if(!changed){
			alert(MSG_NOTEXISTANYCHANGE);
			return false;
		}

		for(i=0; i < frm.length; i++){
			var el = frm.elements[i];
			if (el.tagName == "FIELDSET") continue;
			
			if(el.value) el.value = el.value.trim();

			// option Àº
			// email(ÀÌ¸ÞÀÏ), phone(ÀüÈ­¹øÈ£), hphone(ÈÞ´ëÀüÈ­)
			// userid(»ç¿ëÀÚ¾ÆÀÌµð), hangul(ÇÑ±Û), engonly(¿µ¹®Àü¿ë)
			// jumin(ÁÖ¹Î¹øÈ£), bizno(»ç¾÷ÀÚµî·Ï¹øÈ£)
			var option = el.getAttribute("OPTION");
			var minbyte = el.getAttribute("MINBYTE");
			var maxbyte = el.getAttribute("MAXBYTE");
			var match = el.getAttribute("MATCH");
			var glue = el.getAttribute('GLUE');
			var denyZero = el.getAttribute("DENYZORO");
			
			if ((el.getAttribute("REQUIRED") != null) && !el.disabled) {
				
				if(el.type == "radio" || el.type == "checkbox"){
					tmp_obj_id = el.id  ? el.id : el.name;
					tmp_ele = eval("document.all."+tmp_obj_id);
					tmp_checked = false;
					if(tmp_ele[0]){
						for(k = 0 ; tmp_ele[k] ; k++){
							if(tmp_ele[k].checked ) {
								tmp_checked = true;
								break;
							}
						}
					} else {	
						tmp_checked = tmp_ele.checked;
					}
					if(!tmp_checked){
						return doError(el,NO_CHECKED);
					};
				} else {
					if(el.getAttribute("SPAN") != null){ 
						span = el.getAttribute("SPAN");
						tmp_str = "";
						for(j = 0 ; j < span ; j++){
							tmp_str += frm.elements[i+j].value;
						}
						if (( tmp_str == null || tmp_str == "")) return doError(el,NO_BLANK);
					} else if (( el.value == null || el.value == "")) {
						return doError(el,NO_BLANK);
					}
				}
			}
			
			if((el.getAttribute("DENYZERO") != null) && el.value != ""){
				if (el.value == 0) {
					return doError(el,"{name+Àº´Â} 0 À» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
				}
			}

			if (minbyte != null && el.value != "") {
				if (el.value.bytes() < parseInt(minbyte)) {
					return doError(el,"{name+Àº´Â} ÃÖ¼Ò "+minbyte+"¹ÙÀÌÆ® ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.");
				}
			}

			if (maxbyte != null && el.value != "") {
				var len = 0;
				if (el.value.bytes() > parseInt(maxbyte)) {
					return doError(el,"{name}ÀÇ ±æÀÌ°¡ ÃÊ°úµÇ¾ú½À´Ï´Ù (ÃÖ´ë "+maxbyte+"¹ÙÀÌÆ®)");
				}
			}

			if (match && (el.value != frm.elements[match].value)) return doError(el,"{name+ÀÌ°¡} ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù");

			if (option != null && el.value != "") {
				if (el.getAttribute('SPAN') != null) {
					var _value = new Array();
					for (span=0; span<el.getAttribute('SPAN');span++ ) {
						_value[span] = frm.elements[i+span].value;
					}
					var value = _value.join(glue == null ? '' : glue);
					if (!funcs[option](el,value)) return false;
				} else {
					if (!funcs[option](el)) return false;
				}
			}

			if( 0 && denyFileExtCheck && el.type == "file" && el.value != "") {
				if(frm.up_limit_ext_deny && frm.up_limit_ext){
					if(frm.up_limit_ext_deny.value == "allow"){
						if(!checkExtention(el.value, frm.up_limit_ext.value)){
              alert("1");
							fileExtention = getExtention(el.value);
							return doError(el, fileExtention  + MSG_LIMITEXTENSION +frm.up_limit_ext.value + MSG_LIMITONLY);
						}
					} else {
						if(checkExtention(el.value, frm.up_limit_ext.value)){
              alert("2");
							fileExtention = getExtention(el.value);
							return doError(el, fileExtention  + MSG_LIMITEXTENSION +frm.up_limit_ext.value + MSG_LIMITNOTUSE);
						}
					}
				}
			}
			// È­ÀÏ È®ÀåÀÚ
			if(el.type == "file" && el.value != ""){
//				allowExt = el.getAttribute("allow");
//				denyExt = el.getAttribute("deny");
				allowExt = "";
				denyExt = "11";
        
				if(allowExt== "" && allowExt == "All" && allowExt == null){
					if(denyExt == "" && denyExt == "All" && denyExt == null){
						if(checkExtention(el.value, denyExt)){
							fileExtention = getExtention(el.value);
							return doError(el, fileExtention  + MSG_LIMITEXTENSION + denyExt + MSG_LIMITNOTUSE);
						} else {
							alert("¸ðµç Á¾·ùÀÇ È­ÀÏ ¾÷·Îµå°¡ ±ÝÁö µÇ¾î ÀÖ½À´Ï´Ù. °ü¸®ÀÚ¿¡°Ô ¹®ÀÇ ÇÏ¼¼¿ä");
							return false;
						}
					} else {
						alert("È­ÀÏ ¾÷·Îµå Á¦ÇÑÀÌ Á¤ÀÇ µÇÁö ¾Ê¾Ò½À´Ï´Ù. °ü¸®ÀÚ¿¡°Ô ¹®ÀÇ ÇÏ¼¼¿ä");
						return false;
					}
				} else {
					if(!checkExtention(el.value, allowExt)){
						fileExtention = getExtention(el.value);
						return doError(el, fileExtention  + MSG_LIMITEXTENSION + allowExt + MSG_LIMITONLY);
					}
				}
			}
		}
		return true;
	}

	function josa(str,tail) {
		return (str.hasFinalConsonant()) ? tail.substring(0,1) : tail.substring(1,2);
	}

	function doError(el,type,action) {
		var pattern = /{([a-zA-Z0-9_]+)\+?([°¡-Èþ]{2})?}/;
		var name = (hname = el.getAttribute("HNAME")) ? hname : el.getAttribute("NAME");
		pattern.exec(type);
		var tail = (RegExp.$2) ? josa(eval(RegExp.$1),RegExp.$2) : "";
		alert(type.replace(pattern,""+eval(RegExp.$1)+"" + tail));
		if (action == "sel") {
			el.select();
		} else if (action == "del")	{
			el.value = "";
		}
		eleType = el.type
		var pattern = /^(hidden|select)(.*)/;
		if(!pattern.test(eleType)) el.focus(); 
		//var pattern = /^(select)(.*)/;
		//if(!pattern.test(eleType)) el.focus(); 
		return false;
	}	

	/// Æ¯¼ö ÆÐÅÏ °Ë»ç ÇÔ¼ö ¸ÅÇÎ ///
	var funcs = new Array();
	// funcs[option] = functions;

	funcs['email'] = isValidEmail;
	funcs['phone'] = isValidPhone;
	funcs['mobile'] = isValidMobile;
	funcs['userid'] = isValidUserid;
	funcs['hangul'] = isValidHasHangul;
	funcs['denyhan'] = isValidDenyHangul;
	funcs['number'] = isValidNumeric;
	funcs['engonly'] = isValidAlphaOnly;
	funcs['hanonly'] = isValidHangulOnly;
	funcs['engnumonly'] = isValidAlphaNumericOnly;
	funcs['jumin'] = isValidJumin;
	funcs['bizno'] = isValidBizNo;
	funcs['domain'] = isValidDomain;
	funcs['date'] = isValidDate;
	

	/// ÆÐÅÏ °Ë»ç ÇÔ¼öµé ///
	function isValidEmail(el,value) {
		var value = value ? value : el.value;
		//var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
		var pattern = /[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
		return (pattern.test(value)) ? true : doError(el,NOT_VALID);
	}

	function isValidUserid(el) {
		var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_\.]{3,9}$/;
		return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} 4ÀÚÀÌ»ó 10ÀÚ ¹Ì¸¸ÀÌ¾î¾ß ÇÏ°í,\n ¿µ¹®,¼ýÀÚ, _ , . ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
	}

	function isValidHasHangul(el) {
		var pattern = /[°¡-Èþ]/;
		return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±ÛÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù");
	}

	function isValidDenyHangul(el) {
		var pattern = /[°¡-Èþ]/;
		return (pattern.test(el.value)) ? doError(el,"{name+Àº´Â} ÇÑ±ÛÀ» »ç¿ëÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.") : true;
	}

	// ¾Æ½ºÅ°ÄÚµå°ªÀ» ÀÌ¿ëÇÑ ÇÑ±Û¸¸ ÀÔ·Â¹Þ±â
	function isValidHangulOnly(el){
		str = el.value
		if( str.length > 0 )
		{
				var len;
				len = str.length;
				for (var i = 0; i < len; i++)  {
						if (str.charCodeAt(i) < 128 )
						{
								return doError(el,"{name+Àº´Â} ÇÑ±Û¸¸ »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.");;
						}
				}
		}
		return true;
	}

	function isValidAlphaNumericOnly(el){
		//var pattern = /[a-zA-Z][a-zA-Z0-9]+$/;
		var pattern = /[a-zA-Z0-9_]+$/;
		return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¿µ¹® ´ë¼Ò¹®ÀÚ, ¼ýÀÚ¸¸ »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.");
	}

	function isValidAlphaOnly(el) {
		var pattern = /^[a-zA-Z]+$/;
		return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¿µ¹® ´ë¼Ò¹®ÀÚ¸¸ »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.");
	}

	function isValidNumeric(el) {
		var pattern = /^[0-9]+$/;
		return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
	}

	function isValidDate(el,value){
		str = value ? value : el.value;
		var pattern = /^[1|2][0-9]{3}([0][0-9]|[1][0-2])([0-2][0-9]|[3][0-1])/;
		if(pattern.test(str)){
			str = str.substr(0, 4)+"-"+str.substr(4,2)+"-"+str.substr(6,2)
		} else {
			var pattern = /^[1|2][0-9]{3}[\.]([0][0-9]|[1][0-2])[\.]([0-2][0-9]|[3][0-1])/;
			if(pattern.test(str)){
				str = str.substr(0, 4)+"-"+str.substr(5,2)+"-"+str.substr(8,2)
			} 
		}
		var pattern = /^[1|2][0-9]{3}[\-]([0][0-9]|[1][0-2])[\-]([0-2][0-9]|[3][0-1])/;
		if(!value) el.value = str;
		return (pattern.test(str)) ? true : doError(el,"{name+Àº´Â} ³¯Â¥(YYYY-MM-DD) Çü½ÄÀÌ¿©¾ß ÇÕ´Ï´Ù.");
	}

	function isValidJumin(el,value) {
		var pattern = /^([0-9]{6})-?([0-9]{7})$/; 
		var num = value ? value : el.value;
		if (!pattern.test(num)) return doError(el,NOT_VALID); 
		num = RegExp.$1 + RegExp.$2;

		var sum = 0;
		var last = num.charCodeAt(12) - 0x30;
		var bases = "234567892345";
		for (var i=0; i<12; i++) {
			if (isNaN(num.substring(i,i+1))) return doError(el,NOT_VALID);
			sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
		}
		var mod = sum % 11;
		return ((11 - mod) % 10 == last) ? true : doError(el,NOT_VALID);
	}

	function isValidBizNo(el, value) { 
		var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/; 
		var num = value ? value : el.value;
		if (!pattern.test(num)) return doError(el,NOT_VALID); 
		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 : doError(el,NOT_VALID); 
	}

	function isValidPhone(el,value) {
		var pattern = /^([0]{1}[0-9]{1,2})-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
		var num = value ? value : el.value;
		if (pattern.exec(num)) {
			if(RegExp.$1 == "02" || RegExp.$1 == "031" || RegExp.$1 == "032" || RegExp.$1 == "033" || RegExp.$1 == "041" || RegExp.$1 == "042" || RegExp.$1 == "043" || RegExp.$1 == "051" || RegExp.$1 == "052" || RegExp.$1 == "053" || RegExp.$1 == "054" || RegExp.$1 == "055" || RegExp.$1 == "061" || RegExp.$1 == "062" || RegExp.$1 == "063" || RegExp.$1 == "064" ) {
				if (!el.getAttribute('SPAN')) el.value = RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp.$3;
			}
			return true;
		} else {
			return doError(el,NOT_VALID);
		}
	}

	function isValidMobile(el,value) {
		var pattern = /^([0]{1}[0-9]{1,2})-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
		var num = value ? value : el.value;
		if (pattern.exec(num)) {
			if(RegExp.$1 == "011" || RegExp.$1 == "016" || RegExp.$1 == "017" || RegExp.$1 == "018" || RegExp.$1 == "019") {
				if (!el.getAttribute('SPAN')) el.value = RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp.$3;
			}
			return true;
		} else {
			return doError(el,NOT_VALID);
		}
	}

	function isValidDomain(el) {
	}
	
	function getExtention(fileName){	;

		dotPoint = fileName.lastIndexOf(".");
		if(dotPoint > 0){
			fileExtention = fileName.substr(dotPoint+1, fileName.length);
		} else {
			fileExtention = "";
		}
		return fileExtention;
	}
	
	function getFileName(fileName){
		slashPoint = fileName.lastIndexOf("\\");
		if(slashPoint > 0){
			reVal = fileName.substr(slashPoint+1, fileName.length);
		} else {
			reVal = fileName;
		}
		return reVal;
	}

	function checkExtention(valuez, extentions){
		ext = extentions;
		while(ext.search(",") != -1){
			ext = ext.replace(",", "|");
		}
		var ptrn = new RegExp(ext, "g");
		valuez = valuez.toLowerCase();
		fileExtention = getExtention(valuez);
		if(ptrn.test(fileExtention)) result = true; else result = false;
		return result;
	}
	
