/**
 *	error message table
 */
var nsErrorMsgTable = new Array();


/**
 *	all error catch function
 */
//window.onerror=fnErrorTrap;
function fnErrorTrap(sMsg,sUrl,sLine) {
	document.location = "../error/scriptErrorPage.jsp?msg="+sMsg+"&line="+sLine+"&url="+sUrl;
	return false;
}

/**
 *	ÇØ´ç page¸¦ ·ÎµùÇÒ¶§ ½ÇÇàµÇ´Ù.
 *
 */
function window.onload() {
	initErrorMsg();	
	initFields();
	initPage();
}

/**
 *	ÇØ´ç pagedÀÇ ÀÔ·Â Ç×¸ñµéÀ» ÃÊ±âÈ­ ÇÑ´Ù.
 *
 */
function initFields() {
	//°Ë»ç´ëÇ× Ç×¸ñ
	var field;
	
	try {
		//ÇØ´ç page¿¡ ÀÖ´Â inputÀÇ maskingÀ» ÃÊ±âÈ­¸¦ ÇÑ´Ù.
		var fields = document.all.tags("INPUT")
		for (var i=0; i<fields.length; i++) {
			field = fields[i];
			initMask(field);	
		}
	} catch(e) {
		//field ÃÊ±âÈ­¿¡ ¿¡·¯°¡ »ý±ä °æ¿ì
		alert(getErrorMsg(new Error(20000, e.description + " : " + field.name)));
	}			
}



/**
 *	ÇØ´ç formÀ» submitÇÏ±â Àü¿¡ ÇØ´ç formÀ» checkÇÑ´Ù.
 *	return true or false
 */
function checkForm(form) {

	//°Ë»ç´ëÇ× Ç×¸ñ
	var field;
	try {
		var fields = form.all;
		for (var i=0; i<fields.length; i++) {
			field = fields[i];
			if(field.tagName == "INPUT") {
				checkRequired(field);
				checkNumber(field);
				checkTelNumber(field);
				checkEngNumber(field);
				checkKorNumber(field);
				checkLength(field);
				checkEmail(field);
			} else if(field.tagName == "SELECT") {
				checkRequired(field);
			} else if(field.tagName == "TEXTAREA") {
				checkRequired(field);
                checkLength(field);
			}
		}
		field = null;
		
		//°¢°¢ÀÇ ÆäÀÌÁö Ã³¸® È£Ãâ
		return checkPage(form);

	} catch (e) {
		//exception ¹ß»ýÇÏ¸é messageÃâ·ÂÈÄ focus 
		alert(getErrorMsg(e));
		
		//ÇØ´ç Ç×¸ñ¿¡ focus¸¦ ÁØ´Ù.
		if(field != null) setFocus(field);
			
		//false¸¦ ¸®ÅÏÇÑ´Ù.	
		return false;
	}	
	
}

/**
 *	ÇØ´ç formÀ» submitÇÏ±â Àü¿¡ ÇØ´ç formÀ» checkÇÑ´Ù.
 *	checkForm()°á°ú°¡ ÂüÀÌ¸é submit()
 */
function submitForm(form) {
	if(checkForm(form)) {
		changeCurrencyField(form);
		changeDateField(form);
		form.submit();		
		return true ;
	} else{
		return false ;
	}
}


/**
 *  submit ÇÏ±âÀü¿¡ currency field ÀÇ .(µµÆ®) ¸¦ ¾ø¾ÖÁØ´Ù.
 *  ±×¸®°í ³âµµÀÇ ¼¼¹øÂ°°¡ 0À¸·Î ½ÃÀÛÇÏ¸é
 *  ¾ÕÀÚ¸®¿¡ 20À» ºÙÀÌ°í
 *  ±×·¸Áö ¾Ê´Ù¸é 19¸¦ ºÙÀÎ´Ù.
 */
 function changeDateField(form)
 {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.date) != "undefined") {
			if(field.value != "")
			{
				if(field.value.substring(0, 1) == "0")
					field.value = "20" + unFormatDot(field.value);
				else 
					field.value = "19" + unFormatDot(field.value);
			}
		}
	}
 }

/**
 *  submit ÇÏ±âÀü¿¡ currency field ÀÇ comma ¸¦ ¾ø¾ÖÁØ´Ù.
 *
 */
function changeCurrencyField(form) {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.currency) != "undefined") {
			field.value = unFormatComma(field.value);
		}
	}
}

/**
 *	ÇØ´ç page¸¦ checkÇÑ´Ù. °¢ page¿¡¼­ ÀçÁ¤ÀÇ µÉ ¼ö ÀÖ´Â function
 *
 */
function checkPage(form) {
	return true;
}

/**
 *	ÇØ´ç ¿¡·¯ ¹øÈ£¿¡ ´ëÇÑ ¸Þ¼¼Áö¸¦ °¡Á®¿Â´Ù.
 *	return error message
 *
 */
function getErrorMsg(e) {
	
	var msg;
	
	// error objec¾øÀÌ ¹¬½ÃÀûÀ¸·Î ´øÁø°æ¿ì : throw "xxx" ÇüÅÂ
	if(typeof(e) == "string") {
		msg = e;
	
	//error number°¡ ¾øÀÌ message¸¸ ´øÁø °æ¿ì : throw new Error("xxx")ÇüÅÂ
	} else if(typeof(e.number) == "undefined") {
		msg = e.description;

	// error number°¡ ÀÖ´Â °æ¿ì Error(00000) È¤Àº Error(00000, "xxx")
	} else {
		msg = nsErrorMsgTable[e.number.toString()];
		//messageµµ ÀÖÀ» °æ¿ì
		if (e.description.length != 0) {
			msg = e.description + "Àº(´Â) " + msg;
		}	
	}
	
	return msg;
}

/**
 *	ÇØ´ç Ç×¸ñÀÌ ÇÊ¼ö Ç×¸ñÀÎ°æ¿ì¿¡ °ªÀÌ ÀÔ·ÂµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù.
 *  ¸¸¾à °ªÀÌ ÀÔ·ÂµÇÁö ¾Ê¾Ò´Ù¸é Error¹ß»ý
 *	nsRequired ¼Ó¼º
 */
function checkRequired(field) {
	if(!isRequired(field) || !isBlank(field)) return;
	if( field.disabled == true ) return;
	
	var errNumber;
	var fieldDesc = "";
	if (typeof(field.desc) != "undefined")	{
		fieldDesc = field.desc; 
	}
	
	//field°¡ input ÀÏ °æ¿ìÀÇ error number
	if (field.tagName == "INPUT")	{
			errNumber = 10010;
	//field°¡ select ÀÏ °æ¿ìÀÇ error number	
	} else if (field.tagName == "SELECT")	{
		errNumber = 10011;
	} else if (field.tagName == "TEXTAREA")	{
		errNumber = 10010;
	}

	throw new Error(errNumber, fieldDesc);

}

/**
 *	ÇØ´ç Ç×¸ñÀÌ ¼ýÀÚÀÔ·Â Ç×¸ñÀÎ°æ¿ì¿¡ ¼ýÀÚ¸¸ ÀÔ·ÂµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù.
 *  ¸¸¾à °ªÀÌ Àß¸øÀÔ·Â µÇ¾ú´Ù¸é Error¹ß»ý
 *	nsOnlyNum ¼Ó¼º
 */
function checkNumber(field) {
	if(typeof(field.onlyNum) == "undefined") return;
	//field value°¡ ¼ýÀÚ°¡ ¾Æ´Ò °æ¿ì¿¡´Â error¹ß»ý
	if ((field.value.length != 0) && !isNumber(field.value))	{
		var errNumber = 10020;
		var fieldDesc = "";
		if (typeof(field.desc) != "undefined"){
			fieldDesc = field.desc; 
		}
		throw new Error(errNumber, fieldDesc);
	}
}


function checkEmail(field) {
	if(typeof(field.email) == "undefined") return;
	//field value°¡ ¼ýÀÚ°¡ ¾Æ´Ò °æ¿ì¿¡´Â error¹ß»ý

	if (!isEmail(field.value) && trim(field.value)!="")	{
		var errNumber = 10100;
		var fieldDesc = "";
		if (typeof(field.desc) != "undefined")	{
			fieldDesc = field.desc; 
		}
		throw new Error(errNumber, fieldDesc);
	}

}

function checkTelNumber(field)
{
	if(typeof(field.OnlyTel) == "undefined") return;
	var Digit = '1234567890-';
	var r1=field.value;
	if (Digit.length > 1)
	{
		for(k=0;k<r1.length;k++)
		{
			if(Digit.indexOf(r1.substring(k,k+1))<0)
			{
				var errNumber = 10070;
				var fieldDesc = "";
				if (typeof(field.desc) != "undefined")	{
					fieldDesc = field.desc; 
				}
				throw new Error(errNumber, fieldDesc);
			}
		}		
	}
}

/**
 *	ÇØ´ç Ç×¸ñÀÌ ¼ýÀÚÀÔ·Â Ç×¸ñÀÎ°æ¿ì¿¡ ¼ýÀÚ¸¸ ÀÔ·ÂµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù.
 *  ¸¸¾à °ªÀÌ Àß¸øÀÔ·Â µÇ¾ú´Ù¸é Error¹ß»ý
 *	nsOnlyNum ¼Ó¼º
 */
function checkEngNumber(field) {
	if(typeof(field.onlyEngNum) == "undefined") return;
	
	//field value°¡ ¼ýÀÚ°¡ ¾Æ´Ò °æ¿ì¿¡´Â error¹ß»ý
	if ((field.value.length != 0) && !isNumEngChar(field.value))	{
		var errNumber = 10030;
		var fieldDesc = "";
		if (typeof(field.desc) != "undefined")	{
			fieldDesc = field.desc; 
		}
		throw new Error(errNumber, fieldDesc);
	}
}

/**
 *	ÇØ´ç Ç×¸ñÀÌ ÇÑ±Û¼ýÀÚÀÔ·Â Ç×¸ñÀÎ°æ¿ì¿¡ ÇÑ±Û¼ýÀÚ¸¸ ÀÔ·ÂµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù.
 *  ¸¸¾à °ªÀÌ Àß¸øÀÔ·Â µÇ¾ú´Ù¸é Error¹ß»ý
 *	nsOnlyNum ¼Ó¼º
 */
function checkKorNumber(field){

	if(typeof(field.onlyKorNum) =="undefined") return ;
	if((field.value.length !=0) && !isNumKorChar(field.value)){
		var errNumber = 10031 ;
		if (typeof(field.desc) != "undefined")	{
			fieldDesc = field.desc; 
		}
		throw new Error(errNumber, fieldDesc);
	}

}



function checkLength(field) {

	if(typeof(field.minLen) == "undefined" && typeof(field.maxLen) == "undefined" && typeof(field.fixLen) == "undefined") return;
	//ÇÊ¼öÇ×¸ñÀÌ ¾Æ´Ï¸é¼­ °ø¹éÀÎ °æ¿ì´Â ±æÀÌ Ã¼Å©ÇÏÁö ¾Ê´Â´Ù.
	if(!isRequired(field) && isBlank(field)) return;

	var len = getByteLength(field.value);

	if(typeof(field.minLen) != "undefined") {
		if(len < field.minLen) {
			var errNumber = 10040;
			var fieldDesc = "";
			if (typeof(field.desc) != "undefined")	{
				fieldDesc = field.desc; 
			}
			//throw new Error(fieldDesc + "ÀÇ ÃÖ¼Ò ÀÔ·Â±æÀÌ´Â " + field.minLen + "(Byte)ÀÔ´Ï´Ù");
			throw fieldDesc + "ÀÇ ÃÖ¼Ò ÀÔ·Â±æÀÌ´Â " + field.minLen + "(Byte)ÀÔ´Ï´Ù";
		}
	}

	if(typeof(field.maxLen) != "undefined") {
		if(len > field.maxLen) {
			var errNumber = 10050;
			var fieldDesc = "";
			if (typeof(field.desc) != "undefined")	{
				fieldDesc = field.desc; 
			}
			//throw new Error(fieldDesc + "ÀÇ ÃÖ´ë ÀÔ·Â±æÀÌ´Â " + field.maxLen + "(Byte)ÀÔ´Ï´Ù");
			throw fieldDesc + "ÀÇ ÃÖ´ë ÀÔ·Â±æÀÌ´Â " + field.maxLen + "(Byte)ÀÔ´Ï´Ù";
		}
	}

	if(typeof(field.fixLen) != "undefined") {
		if(len != field.fixLen) {
			var errNumber = 10050;
			var fieldDesc = "";
			if (typeof(field.desc) != "undefined")	{
				fieldDesc = field.desc; 
			}

			//throw new Error(fieldDesc + "ÀÇ ÀÔ·Â±æÀÌ´Â " + field.fixLen + "(Byte)ÀÔ´Ï´Ù");
			throw fieldDesc + "ÀÇ ÀÔ·Â±æÀÌ´Â " + field.fixLen + "(Byte)ÀÔ´Ï´Ù";
		}
	}

}


/**
 *	ÇØ´ç Ç×¸ñÀÌ ³¯Â¥ÀÔ·Â Ç×¸ñÀÎ°æ¿ì¿¡ ³¯Â¥ ÆÐÅÏÀ» ÀÐ¾î¼­
 *  ¸¸¾à °ªÀÌ Àß¸øÀÔ·Â µÇ¾ú´Ù¸é Error¹ß»ý
 *	date ¼Ó¼º
 */
function checkDate(field) {

	if(typeof(field.date) == "undefined") return;
	if(field.value == "") return;
	
	var pattern = (typeof(field.pattern) == "undefined") ? "yyyyMMdd":field.pattern;

	var strDate = null;

	if(pattern =="yyyyMMdd") {
		strDate = field.value;
	} else if(pattern =="yyyyMM") {
		strDate = field.value +"01";
	} else if(pattern =="yyMMdd") {
		strDate = "20" + field.value;
	} else if(pattern =="yyyy") {
		strDate = field.value + "0101";
	} else if(pattern =="MM") {
		strDate = "2000" + field.value + "01";
	} else if(pattern =="dd") {
		strDate = "200001" + field.value;
	}	

	if(!dateCheck(strDate)) {
		var errNumber = 10060;
		var fieldDesc = "";
		if (typeof(field.desc) != "undefined")	{
			fieldDesc = field.desc; 
		}
		throw new Error(fieldDesc + "ÀÇ ³¯Â¥ÀÔ·ÂÇüÅÂ´Â " + pattern + " ÀÔ´Ï´Ù");
	}
}
 
/**
 * ÇØ´ç Ç×¸ñÀÌ ÇÊ¼ö Ç×¸ñÀÎÁö Ã¼Å©ÇÑ´Ù.
 * return true / false
 */
function isRequired(field) {
	return typeof(field.required) != "undefined"
}

/**
 * ÇØ´ç Ç×¸ñÀÌ value°ªÀÌ ÀÖ´ÂÁö Ã¼Å©ÇÑ´Ù.
 * return true / false
 */
function isBlank(field) {
	return field.value.length == 0;
}

/**
 *	field¿¡ focus¸¦ ¼¼ÆÃÇÔ
 *
 */
function setFocus(field) {
	field.focus();
	if (field.tagName == "INPUT") {	
		field.select();
	}
}

/**
 *	ÇØ´ç fieldÀÇ nsMask°¡ ÀÖ´Ù¸é Ã³¸®¸¦ ÇÑ´Ù.
 *	==> Â÷ÈÄ¿¡ ¿ä±¸»çÇ×ÀÌ ÀÖÀ»°æ¿ì Ãß°¡ÇÑ´Ù.
 */
function initMask(field) {
	if(typeof(field.mask) == "undefined") return;
	var mask = field.mask.toUpperCase();
	
	//¼ýÀÚ¸¸ ÀÔ·Â Á¦ÇÑ
	if(mask == "NUMBER") {

	//¼ýÀÚ¹× ¾ËÆÄºª ÀÔ·Â Á¦ÇÑ	
	} else if(mask == "NUMALPH") {
		
	//±Ý¾× masking	
	} else if(mask == "CURRENCY") {
		
	//ºñÀ² masking	
	} else if(mask == "RATE") {
		
	} else if(mask =="PHONE" ){

	}
	
}


/**
 *	value °¡ ¼Ò¼öÁ¡ ÀÌÇÏ °ªÀÌ ÀÖÀ¸¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isFloat(value) {
	try {
		var intVal = parseInt(value);
	} catch (e) {
		return false;
	}
	return value != intVal;
}

/*
 *  ¹®ÀÚ¹ÙÀÌÆ® °è»ê
 *
 */
function getByteLength(s){
   var len = 0;
   if ( s == null ) return 0;
   for(var i=0;i<s.length;i++){
      var c = escape(s.charAt(i));
      if ( c.length == 1 ) len ++;
      else if ( c.indexOf("%u") != -1 ) len += 2;
      else if ( c.indexOf("%") != -1 ) len += c.length/3;
   }
   return len;
}

/**
 *	value °¡ EmailÁÖ¼Ò ÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isEmail(value)
{
  return value.search(/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g)>=0;
}


/**
 *	value °¡ Á¤¼ö ÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isInt(value) {
	try {
		var intVal = parseInt(value);
	} catch (e) {
		return false;
	}
	return value == intVal;
}

/*
 * Á¤¼ö°ªÀÎÁö Ã¼Å©
 *
*/
function isNumber(numval){
	for(i=0; i<numval.length; i++){
		str=numval.charCodeAt(i);
		if(str<48 || str>57)
			return false;
	}
	return true;
}	

/**
 *	value °¡ ¿µ¹®ÀÚ ¶Ç´Â ¼ýÀÚ ÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isNumEngChar(value) {
	return value.length==getByteLength(value);
}

/**
 *	value °¡ ÇÑ±Û¹®ÀÚ ¶Ç´Â ¼ýÀÚ ÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isNumKorChar(value) {
   var len = 0;
   for(var i=0;i<value.length;i++){
      var c = escape(value.charAt(i));
	  if ( c.indexOf("%u") == -1 &&  !isNumber(c) )  return false;	  
   }
   return true;
}


/**
 *	numStrÀÇ °ª¿¡¼­ Á¤¼öºÎ¸¦ ±¸ÇÑ´Ù. getIntPart(123.456) -> 123
 *
 */
function getIntPart(num) {
	var numStr = num + "";
	var dotIndex = numStr.indexOf(".");
	if (dotIndex == -1) return numStr;

	return numStr.substr(0, dotIndex);
}

/**
 *	numStrÀÇ °ª¿¡¼­ ¼Ò¼öºÎ¸¦ ±¸ÇÑ´Ù. getFloatPart(123.456) -> 456
 *
 */
function getFloatPart(num) {
	var numStr = num + "";
	var dotIndex = numStr.indexOf(".");
	if (dotIndex == -1) return "";

	return numStr.substring(dotIndex + 1);
}

/**
 *	value °¡ ¼Ò¼öÁ¡ ÀÌÇÏ °ªÀÌ ÀÖÀ¸¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isFloat(value) {
	try {
		var intVal = parseInt(value);
	} catch (e) {
		return false;
	}
	return value != intVal;
}

/**
 *	value °¡ Á¤¼ö ÀÌ¸é true ¾Æ´Ï¸é false¸¦ ¹ÝÈ¯ÇÔ.
 *
 */
function isInt(value) {
	try {
		var intVal = parseInt(value);
	} catch (e) {
		return false;
	}
	return value == intVal;
}
/* ¹è¿­ÀÎÁö °Ë»ç */
function isArray(obj) {
	return obj.join ? true : false;
}

/**
 *	Error message tabel ÃÊ±âÈ­
 *
 */
function initErrorMsg() {
	nsErrorMsgTable["20000"] = "ÃÊ±âÈ­¿¡ ¹®Á¦°¡ ÀÖ½À´Ï´Ù.";
	nsErrorMsgTable["10010"] = "ÇÊ¼öÀÔ·Â Ç×¸ñÀÔ´Ï´Ù.";
	nsErrorMsgTable["10011"] = "ÇÊ¼ö¼±ÅÃ Ç×¸ñÀÔ´Ï´Ù.";
	nsErrorMsgTable["10020"] = "¼ýÀÚÀÔ·Â Ç×¸ñÀÔ´Ï´Ù.";
	nsErrorMsgTable["10030"] = "¿µ¹®ÀÚ/¼ýÀÚÀÔ·Â Ç×¸ñÀÔ´Ï´Ù.";
	nsErrorMsgTable["10031"] = "ÇÑ±Û¹®ÀÚ/¼ýÀÚÀÔ·Â Ç×¸ñÀÔ´Ï´Ù.";
	nsErrorMsgTable["10040"] = "ÁöÁ¤µÈ ±æÀÌº¸´Ù Âª½À´Ï´Ù";
	nsErrorMsgTable["10050"] = "ÁöÁ¤µÈ ±æÀÌº¸´Ù ¸¹½À´Ï´Ù";
	nsErrorMsgTable["10060"] = "³¯Â¥ ÇüÅÂ°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù";
	nsErrorMsgTable["10070"] = "ÀüÈ­¹øÈ£ ÇüÅÂ°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù";
	nsErrorMsgTable["10080"] = "ÅëÈ­ÇüÅÂ°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
	nsErrorMsgTable["10090"] = "ÅëÈ­±æÀÌ¸¦ ÃÊ°úÇß½À´Ï´Ù.";
	nsErrorMsgTable["10100"] = "ÀÌ¸ÞÀÏÁÖ¼Ò ÇüÅÂ°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
}	



/**
 *	comma Á¦°Å 
 *
 */
function unFormatComma(str) {
	return str.replace(/[,]/g, "");
}

function unFormatSlash(str)
{
	return str.replace(/[/]/g, "");
}

function unFormatDot(str) {
	return str.replace(/[.]/g, "");
}


/**
 *	comma »ðÀÔ 
 *
 */
function formatComma(num) {
	idx = num.length-3;
	while(idx > 0) {
		num = num.substr(0, idx) + "," + num.substr(idx);
		idx -= 3;
	}
	return num;
}


/*
 *	¼ýÀÚ¸¸ ÀÔ·Â °¡´É(onkeydown event½Ã Ã³¸®, onlyNum ÇÊµå¿¡ »ç¿ë)
 *
 */
function allowNumber() {

	/* backspace(8),tab(9),enter(13),shift(16),end(35),home(36),¹æÇâÅ°(ÁÂ(37),»ó(38),¿ì(49),ÇÏ(40)),delete(46) */
	var controlKeys = new Array(8, 9, 13, 16, 35, 36, 37, 38, 39, 40, 46);

	/* Á¶ÀÛÅ°ÀÌ¸é Á¾·á */
	for (var i=0; i<controlKeys.length; i++) {
		if (controlKeys[i] == event.keyCode) return;
	}

 	/*	48 ~ 57 (»ó´Ü ¼ýÀÚ Å°ÄÚµå), 96 ~ 105 (¿ìÃø ¼ýÀÚ Å°ÄÚµå) ¹üÀ§°¡ ¾Æ´Ï¸é event false 	*/
	if ((event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 96) || (event.keyCode > 105)) event.returnValue = false;
	
	/* comma¸¦ Á¦¿ÜÇÑ length°¡ Á¦ÇÑ°ªº¸´Ù >= ¸é event false */
	if (unFormatComma(event.srcElement.value).length >= event.srcElement.maxLen) event.returnValue = false;
}

/*
 *	¼ýÀÚ¸¸ ÀÔ·Â °¡´É(onkeydown event½Ã Ã³¸®, currency ÇÊµå¿¡ »ç¿ë)
 *
 */
function allowCurrency() {

	/* backspace(8),tab(9),enter(13),shift(16),end(35),home(36),¹æÇâÅ°(ÁÂ(37),»ó(38),¿ì(49),ÇÏ(40)),delete(46) */
	var controlKeys = new Array(8, 9, 13, 16, 35, 36, 37, 38, 39, 40, 46);

	/* Á¶ÀÛÅ°ÀÌ¸é Á¾·á */
	for (var i=0; i<controlKeys.length; i++) {
		if (controlKeys[i] == event.keyCode) return;
	}

 	/*	48 ~ 57 (»ó´Ü ¼ýÀÚ Å°ÄÚµå), 96 ~ 105 (¿ìÃø ¼ýÀÚ Å°ÄÚµå) ¹üÀ§°¡ ¾Æ´Ï¸é event false 	*/
	if ((event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 96) || (event.keyCode > 105)) event.returnValue = false;
	
	/* comma¸¦ Á¦¿ÜÇÑ length°¡ Á¦ÇÑ°ªº¸´Ù >= ¸é event false */
	if (unFormatComma(event.srcElement.value).length >= event.srcElement.currencyLen) event.returnValue = false;
}


/*
 *	Comma ÀÚµ¿ »ý¼º(onkeyup event½Ã Ã³¸®)
 *
 */
function fCurrency() {
	/* 8(backspace), 9(tab), 46(delete) °¡ ¾Æ´Ï¸é¼­ ¼ýÀÚÅ°ÄÚµåµµ ¾Æ´Ï¸é Á¾·á*/
	if (event.keyCode != 8 && event.keyCode != 46 && ((event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 96) || (event.keyCode > 105))) return;
	
	/* commaÃ³¸® */
	event.srcElement.value = formatComma(unFormatComma(event.srcElement.value));
}

/**
 * ¼Ò¼öÁ¡ ÀÔ·Â Çã¿ë
 */ 
function allowFloat() {
	if (event.srcElement.keyHitFlag) {
		event.returnValue = false;
		return false;
	}

	var value = event.srcElement.value;
	event.srcElement.beforeKeydownValue = value;

	/* backspace(8),tab(9),enter(13),shift(16),end(35),home(36),¹æÇâÅ°(ÁÂ(37),»ó(38),¿ì(49),ÇÏ(40)),delete(46) */
	var controlKeys = new Array(8, 9, 13, 16, 35, 36, 37, 38, 39, 40, 46);

	/* Á¶ÀÛÅ°ÀÌ¸é Á¾·á */
	for (var i=0; i<controlKeys.length; i++) {
		if (controlKeys[i] == event.keyCode) return;
	}

 	/*	48 ~ 57 (»ó´Ü ¼ýÀÚ Å°ÄÚµå), 96 ~ 105 (¿ìÃø ¼ýÀÚ Å°ÄÚµå) ¹üÀ§°¡ ¾Æ´Ï¸é event false 	*/
	if ((event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 96) || (event.keyCode > 105)) event.returnValue = false;

	event.srcElement.hasDot = value.indexOf(".") < 0 ? false : true;

	if (event.keyCode == 110 || event.keyCode == 190) {
		event.returnValue = !event.srcElement.hasDot;
	}
	event.srcElement.keyHitFlag = true;
}




function allowEngNumber(){
	var value = event.srcElement.value;
	event.srcElement.beforeKeydownValue = value;
	/* backspace(8),tab(9),enter(13),shift(16),end(35),home(36),¹æÇâÅ°(ÁÂ(37),»ó(38),¿ì(49),ÇÏ(40)),delete(46) */
	var controlKeys = new Array(8, 9, 13, 16, 35, 36, 37, 38, 39, 40, 46);
	/* Á¶ÀÛÅ°ÀÌ¸é Á¾·á */
	for (var i=0; i<controlKeys.length; i++) {
		if (controlKeys[i] == event.keyCode) return;
	}
 	/*	48 ~ 57 (»ó´Ü ¼ýÀÚ Å°ÄÚµå), 96 ~ 105 (¿ìÃø ¼ýÀÚ Å°ÄÚµå),¿µ¹®ÀÚ 65 ~ 90 ¹üÀ§°¡ ¾Æ´Ï¸é event false 	*/
	if( (event.keyCode >=48 && event.keyCode <=57)  || 
		(event.keyCode >=96 && event.keyCode <=105) || 
		(event.keyCode >=65 && event.keyCode <=90) ){
		event.srcElement.keyHitFlag = true;	
	}else{
		event.returnValue = false;
	}
}



/** 
 * ÀÌÀ²ÀÇ ¼Ò¼öÁ¡ ÀÔ·Â Ã¼Å© 
 * iLen : Á¤¼ö ±æÀÌ, fLen : ¼Ò¼öÀÌÇÏ ±æÀÌ
 */
function checkFloat() {

	event.srcElement.keyHitFlag = false;

	var value = event.srcElement.value;
	var intVal = getIntPart(value);
	var floatVal = getFloatPart(value);

	if (intVal.length > event.srcElement.iLen || floatVal.length > event.srcElement.fLen) {
		event.srcElement.value = event.srcElement.beforeKeydownValue;
	}
}



// ÅëÈ­ ÇÊµåÀÎ °æ¿ì, onkeydown, onkeyup ÀÌº¥Æ® Çîµé·¯ »ý¼º
function initCurrencyField(form) {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.currency) != "undefined") {
			// ¼ýÀÚ¸¸ ÀÔ·ÂÇã¿ë
			field.onkeydown = new Function("allowCurrency();");
			// Comma ÀÚµ¿ Ãß°¡(ÀÔ·Â½Ã)
			field.onkeyup = new Function("fCurrency();");
			// ÇöÀç ÀÔ·ÂµÇ¾î ÀÖ´Â °ª¿¡ Comma Ãß°¡( view ÆäÀÌÁö¿¡¼­ )
			field.value = formatComma(unFormatComma(field.value));
			field.style.textAlign = "right";
		}
	}
}


// ¼Ò¼ýÁ¡ ÀÔ·Â ÇÊµåÀÎ °æ¿ì, onkeydown, onkeyup  ÀÌº¥Æ® Çîµé·¯ »ý¼º
function initFloatField(form) {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.float) != "undefined") {
			// float ÀÔ·ÂÇã¿ë
			field.onkeydown = new Function("allowFloat();");
			// ÀÌÀ²ÀÇ ¼Ò¼ýÁ¡ ÀÔ·Â Ã¼Å©
			field.onkeyup = new Function("checkFloat();");
			field.style.textAlign = "right";
		}
	}
}


// ÀüÈ­¹øÈ£ ÇÊµåÀÎ°æ¿ì  onkeyup  ÀÌº¥Æ® Çîµé·¯ »ý¼º
function initPhoneField(form) {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.phone) != "undefined") {
			field.onkeydown = new Function("allowPhone();");
			field.style.textAlign = "left";
		}
	}
}



function allowPhone(){
	  var pressKey = String.fromCharCode(event.keyCode);
	  var Myform_IDs = event.srcElement;
	  var s =  Myform_IDs.value +pressKey ;
	  var s_old = s ;
	  var ReturnValue ;
	  event.srcElement.beforeKeydownValue = event.srcElement.value;
	  var value = event.srcElement.beforeKeydownValue;

	/* backspace(8),tab(9),enter(13),shift(16),end(35),home(36),¹æÇâÅ°(ÁÂ(37),»ó(38),¿ì(49),ÇÏ(40)),delete(46) */
		var controlKeys = new Array(8, 9, 13, 16, 35, 36, 37, 38, 39, 40, 46);

	/* Á¶ÀÛÅ°ÀÌ¸é Á¾·á */
		for (var i=0; i<controlKeys.length; i++) if (controlKeys[i] == event.keyCode) return;

		if (event.keyCode < 48 || event.keyCode > 57 )
		{
			event.returnValue=false;			
			event.srcElement.value = value;
			return false;
		}else{
	  	    event.returnValue=false;			
			s = s.replace('-','');  
			s = s.replace('-','');  
			if (s.length >= 7 && s.length <=11)
			{
					switch (s.length)
					{
						case 7 :{
								Myform_IDs.value = s.substring(0,3) + "-" + s.substring(3,7) ;
								break
								}
						case 8 :{
								Myform_IDs.value = s.substring(0,4) + "-" + s.substring(4,8) ;							
								break
								}
						case 9 :{
								Myform_IDs.value = s.substring(0,2) + "-" + s.substring(2,5)+ "-" + s.substring(5,9)  ;							
								break
								}
						case 10 :{
								if(s.substring(0,2)=="02"){Myform_IDs.value = s.substring(0,2) + "-" + s.substring(2,6)+ "-" + s.substring(6,10); } 	
								else { Myform_IDs.value = s.substring(0,3) + "-" + s.substring(3,6)+ "-" + s.substring(6,10);}  ;	
								break;
								}
						case 11 :{
								Myform_IDs.value = s.substring(0,3) + "-" + s.substring(3,7)+ "-" + s.substring(7,11)  ;	
								break;
								}
					}
			}else if(s.length < 7){
				 Myform_IDs.value = s_old ;
		    }else{
			    return false;
			}
		}
	}


// ¼ýÀÚÇÊµåÀÎ °æ¿ì( onlyNum ),  onkeydown ÀÌº¥Æ® Çîµé·¯ »ý¼º
function initOnlyNumField(form) {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.onlyNum) != "undefined") {
			// ¼ýÀÚ¸¸ ÀÔ·ÂÇã¿ë
			field.onkeydown = new Function("allowNumber();");
			field.style.textAlign = "right";
		}
	}
}


function initOnlyEngNumField(form) {
	var fields = form.tags("INPUT");
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		if(typeof(field.onlyEngNum) != "undefined") {
			// ¼ýÀÚ¸¸ ÀÔ·ÂÇã¿ë
			field.onkeydown = new Function("allowEngNumber();");
			field.style.textAlign = "left";
		}
	}
}