/********************************************************************
 *
 * ±âÅ¸ Util ÇÔ¼ö ¸ðÀ½
 *
 *******************************************************************/
	// ÆäÀÌÂ¡ ÇÒ¶§ »ç¿ëµÇ´Â ½ºÅ©¸³Æ®
	function goPage(cp,param) {
		location="?cp="+cp+param;
	}
	
	function toggle(e) {
		e.style.display == "" ? e.style.display = "none" : e.style.display = "";
	}

	// check ÇÑ °³¼ö¸¦ ¸®ÅÏÇÑ´Ù.
	function getCheckedCount( aElem ) {
		var elem = document.all;
		var cnt = 0;
		for ( var i=0; i<document.all.length; i++ ) {
			if ( ( elem[i].type == "checkbox" ) && ( elem[i].checked ) && ( elem[i].name == aElem ) )	cnt = cnt + 1;
		}
		return cnt;
	}
	// ÁöÁ¤ÇÑ ÀÌ¸§À» °¡Áø ¸ðµç checkbox¸¦ check ÇÑ´Ù.
	function checkAll( aElem ) {
		var srcEl = event.srcElement;
		var elem = document.all;

		var cnt = 0;
		for ( var i=0; i<document.all.length; i++ ) {
			if (typeof(elem[i]) != "undefined") {
				if ( ( elem[i].type == "checkbox" ) && ( elem[i].name == aElem ) ) {
					if (srcEl.checked == false) {
						elem[i].checked = false;
					} else {
						elem[i].checked = true;
					}
				}
			}
		}
	}


	function uncheckAll( aElem ) {
		var srcEl = event.srcElement;
		var elem = document.all;

		var cnt = 0;
		for ( var i=0; i<document.all.length; i++ ) {
			if (typeof(elem[i]) != "undefined") {
				if ( ( elem[i].type == "checkbox" ) && ( elem[i].name == aElem ) ) {
					if (srcEl.checked == true) {
						elem[i].checked = false;
					} else {
						elem[i].checked = false;
					}
				}
			}
		}
	}

	// ÁöÁ¤ÇÑ ÀÌ¸§À» °¡Áø ¸ðµç Select¸¦ ¼±ÅÃµÇµµ·Ï ÇÑ´Ù
	function selectAll(obj,rslt) {
		var nLen;
		var obj = eval("document.all."+obj);

		for (var i=0; i<obj.length;i++) {
			if (typeof(obj[i].options) == "undefined") {
				// ÇÑ»ç¶÷
				if (obj.options[i].value == rslt)
						obj.options[i].selected = true;
			} else {
				// ¿©·¯»ç¶÷
				nLen = obj[i].options.length;
				for (var j = 0; j < nLen; j++) {
					if (obj[i].options[j].value == rslt)
						obj[i].options[j].selected = true;
				}
			}
		}
	}
	// ÁöÁ¤ÇÑ ÀÌ¸§À» °¡Áø ¸ðµç checkboxÀÇ checked °ªÀ» ¹ÝÀü ÇÑ´Ù.
	function invertCheck( aElem ) {
		var elem = document.all;
		var cnt = 0;
		for ( var i=0; i<document.all.length; i++ ) {
			if (typeof(elem[i]) != "undefined") {
				if ( ( elem[i].type == "checkbox" ) && ( elem[i].name == aElem ) )	{
					if ( elem[i].checked ) {
						elem[i].checked = false;
					}else{
						elem[i].checked = true;
					}
				}
			}
		}
	}


	



/********************************************************************
 *
 * String °ü·Ã ÇÔ¼ö ¸ðÀ½
 *
 *******************************************************************/
	// ¹®ÀÚ ±æÀÌ ¹ÝÈ¯ (¿µ¹® 1byte, ÇÑ±Û 2byte °è»ê)
	function getLen(str) {
		var len;
	    var temp;

	    len = str.length;
	    var tot_cnt = 0;

	    for(k=0;k < len;k++){
	    	temp = str.charAt(k);
	    	if(escape(temp).length > 4)
	    		tot_cnt += 2;
	    	else
	    		tot_cnt++;
	    }
	    return tot_cnt;
	}
	// ´ë¹®ÀÚ º¯È¯ ex) toUpperCase(¹®ÀÚ)
	function toUpperCase(str) {
		var ret;
		str != null ? ret = str.toUpperCase() : ret = "";
		return ret;
	}
	function selectObj(e) {
		for (var a in e) {
			document.write(a+" : "+e[a]+"<br>");
		}
	}
/********************************************************************
 *
 * Event °ü·Ã ÇÔ¼ö ¸ðÀ½
 *
 *******************************************************************/
	// ¼ýÀÚ, ÄÄ¸¶, ¸¶Ä§Ç¥ ÀÔ·Â¸¸ ¹Þ±â - text Á¤·ÄÀº ¿À¸¥ÂÊÀ¸·ÎÇÑ´Ù
	// (onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëµÊ)
	function onlyNum() {
		var ele = event.srcElement;
		ele.style.textAlign = "right";

		if ((47 < event.keyCode && event.keyCode < 58) || event.keyCode == 44 || event.keyCode == 46 || event.keyCode == 45) {
			event.returnValue = true;
		} else {
			event.returnValue = false;
		}
		return true;
	}
	// ¼ýÀÚ, ÄÄ¸¶, ¸¶Ä§Ç¥ ÀÔ·Â¸¸ ¹Þ±â - text Á¤·ÄÀº ¿À¸¥ÂÊÀ¸·ÎÇÑ´Ù
	// (onkeydown ÀÌº¥Æ®¿¡¼­ »ç¿ëµÊ)
	function onlyNum2() {
		var ele = event.srcElement;
		ele.style.textAlign = "right";
	//	alert(event.keyCode);
		if ((36 < event.keyCode && event.keyCode < 41) ||(95 < event.keyCode && event.keyCode < 106) ||(47 < event.keyCode && event.keyCode < 58) || event.keyCode == 188 || event.keyCode == 9 ||event.keyCode == 17 || event.keyCode == 67 || event.keyCode == 189 || event.keyCode == 190 ||event.keyCode == 46 ||event.keyCode == 86 || event.keyCode == 8) {
			event.returnValue = true;
		} else {
			event.returnValue = false;
		}
		return true;
	}

	// ¸¶¿ì½º ¿À¹ö, ¾Æ¿ô½Ã Å×ÀÌºí »öÁÖ´Â ÇÔ¼ö
	// <tr onmouseover='fnMSOver(this)' onmouseout='fnMSOut(this)'>
	function fnMSOver(srcEl) {
		srcEl.style.backgroundColor="#f0f0f0";
	}
	function fnMSOut(srcEl) {
		srcEl.style.backgroundColor="#ffffff";
	}
/********************************************************************
 *
 * Form °ü·Ã ÇÔ¼ö ¸ðÀ½
 *
 *******************************************************************/
	// Æû °ËÁõ ÇÔ¼ö
	function checkForm(f) {
		var fLen = f.elements.length;
		var fObj;	// Æû ¿ä¼Ò
		var fTyp;	// Æû ¿ä¼Ò Type
		var fVal;	// Æû ¿ä¼Ò Value
		var fMsg;	// °æ°í ¸Þ½ÃÁö ¼Ó¼º
		var fNum;	// ¼ýÀÚ¸¸ ÀÔ·Â ¼Ó¼º
		var fMax;	// ÃÖ´ë ±æÀÌ ÁöÁ¤
		var fMin;	// ÃÖ¼Ò ±æÀÌ ÁöÁ¤
		var fMxN;	// ÃÖ´ë°ª ÁöÁ¤
		var fMnN;	// ÃÖ¼Ò°ª ÁöÁ¤
		var fMal;	// ¸ÞÀÏ formata

		for (i=0;i<fLen;i++) {
			fObj = f.elements[i];
			fTyp = toUpperCase(fObj.getAttribute("type"));
			fVal = fObj.getAttribute("value");
			fMsg = fObj.getAttribute("msg");
			fNum = fObj.getAttribute("chknum");
			fMax = fObj.getAttribute("maxlen");
			fMin = fObj.getAttribute("minlen");
			fMxN = fObj.getAttribute("maxnum");
			fMnN = fObj.getAttribute("minnum");
			fMal = fObj.getAttribute("chkmail");


			if (fMsg != null && (fTyp == "TEXT" || fTyp == "PASSWORD"  || fTyp == "TEXTAREA") && fVal.replace(/ /gi,"") == "") {
				alert(fMsg + " ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMsg != null && (fTyp == "SELECT-ONE" || fTyp == "SELECT-MULTIPLE") && fVal =="") {
				alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMsg != null && (fTyp == "RADIO" || fTyp == "CHECKBOX") && checkChecked(fObj) == false) {
				alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fNum != null && isNaN(fVal)) {
				alert("¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMax != null && fMax < getLen(fVal)) {
				alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMax+"ÀÚº¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.\n(¿µ¹® "+fMax+"ÀÚ, ÇÑ±Û "+Math.floor(fMax/2)+"ÀÚ ±îÁö °¡´ÉÇÕ´Ï´Ù.)");
				fObj.focus(); return false;
			}
			if (fMin != null && fMin > getLen(fVal)) {
				alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMin+"ÀÚº¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMxN != null && parseInt(fMxN) < parseInt(fVal)) {
				alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMxN+"º¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMnN != null && parseInt(fMnN) > parseInt(fVal)) {
				alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMnN+"º¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMal != null && checkEmail(fVal) == false && fVal != "") {
				alert("ÀÌ¸ÞÀÏ ÁÖ¼Ò°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù");
				fObj.focus(); return false;
			}
		}
		return true;
	}

	function addRowCheckForm(f, initLen) {
		var fLen = f.elements.length-initLen;
		var fObj;	// Æû ¿ä¼Ò
		var fTyp;	// Æû ¿ä¼Ò Type
		var fVal;	// Æû ¿ä¼Ò Value
		var fMsg;	// °æ°í ¸Þ½ÃÁö ¼Ó¼º
		var fNum;	// ¼ýÀÚ¸¸ ÀÔ·Â ¼Ó¼º
		var fMax;	// ÃÖ´ë ±æÀÌ ÁöÁ¤
		var fMin;	// ÃÖ¼Ò ±æÀÌ ÁöÁ¤
		var fMxN;	// ÃÖ´ë°ª ÁöÁ¤
		var fMnN;	// ÃÖ¼Ò°ª ÁöÁ¤
		var fMal;	// ¸ÞÀÏ formata

		for (i=0;i<fLen;i++) {
			fObj = f.elements[i];
			fTyp = toUpperCase(fObj.getAttribute("type"));
			fVal = fObj.getAttribute("value");
			fMsg = fObj.getAttribute("msg");
			fNum = fObj.getAttribute("chknum");
			fMax = fObj.getAttribute("maxlen");
			fMin = fObj.getAttribute("minlen");
			fMxN = fObj.getAttribute("maxnum");
			fMnN = fObj.getAttribute("minnum");
			fMal = fObj.getAttribute("chkmail");
		

			if (fMsg != null && (fTyp == "TEXT" || fTyp == "TEXTAREA") && fVal.replace(/ /gi,"") == "") {
				alert(fMsg + " ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMsg != null && (fTyp == "SELECT-ONE" || fTyp == "SELECT-MULTIPLE") && fVal =="") {
				alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMsg != null && (fTyp == "RADIO" || fTyp == "CHECKBOX") && checkChecked(fObj) == false) {
				alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fNum != null && isNaN(fVal)) {
				alert("¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
				fObj.focus(); return false;
			}
			if (fMax != null && fMax < getLen(fVal)) {
				alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMax+"ÀÚº¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.\n(¿µ¹® "+fMax+"ÀÚ, ÇÑ±Û "+Math.floor(fMax/2)+"ÀÚ ±îÁö °¡´ÉÇÕ´Ï´Ù.)");
				fObj.focus(); return false;
			}
			if (fMin != null && fMin > getLen(fVal)) {
				alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMin+"ÀÚº¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMxN != null && parseInt(fMxN) < parseInt(fVal)) {
				alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMxN+"º¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMnN != null && parseInt(fMnN) > parseInt(fVal)) {
				alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMnN+"º¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
				fObj.focus(); return false;
			}
			if (fMal != null && checkEmail(fVal) == false && fVal != "") {
				alert("ÀÌ¸ÞÀÏ ÁÖ¼Ò°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù");
				fObj.focus(); return false;
			}
		}
		return true;
	}

	// Æû¿¡ ÇØ´çÇÏ´Â ÄÁÆ®·ÑµéÀÇ ±âº»°ª ½±°Ô ¼ÂÆÃÇØ ÁÖ±â
	function initForm(f)	{
		var nLen;	// form ¿ä¼ÒÀÇ °¹¼ö
		var ival;	// °¢ ¿ä¼ÒÀÇ default value °ª Áï! ÃÊ±âÈ­ÇÏ°íÀÚ ÇÏ´Â°ª
		var fTyp;	// form ¿ä¼ÒÀÇ Å¸ÀÔ(select, radio, checkbox...)

		for (var i = 0; i < f.elements.length; i++) {
			fTyp = toUpperCase(f.elements[i].type);
			ival = f.elements[i].ival;

			if (ival && fTyp == "SELECT-ONE") {
				nLen = f.elements[i].options.length;
				for (var j = 0; j < nLen; j++) {
					if (f.elements[i].options[j].value == ival)
						f.elements[i].options[j].selected = true;
				}
			}
			if (fTyp == "SELECT-MULTIPLE") {
				nLen = f.elements[i].options.length;
				for (var j = 0; j < nLen; j++) {
					if (f.elements[i].options[j].value == f.elements[i].options[j].ival)
						f.elements[i].options[j].selected = true;
				}
			}
			if (ival && (fTyp == "RADIO" || fTyp == "CHECKBOX")) {
				if (f.elements[i].value == ival)
					f.elements[i].checked = true;
			}
		}
		return true;
	}


	// ¹è¿­ ¿ä¼ÒÀÏ °æ¿ì checked µÈ°ÍÀÌ ÀÖ´ÂÁö È®ÀÎ
	function checkChecked(obj) {
		var fname = obj.form.name;
		var objnm = obj.name;
		var oElem = eval(fname+"."+objnm);
		var ret = false;

		if (typeof(oElem.length) == "undefined") {
			if (oElem.checked) {
				ret = true;
			}
		} else {
			for (var i=0;i<oElem.length;i++) {
				if (oElem[i].checked) {
					ret = true;
				}
			}
		}
		return ret;
	}
	// ÀÌ¸ÞÀÏ À¯È¿¼º Ã¼Å©
	function checkEmail(str){
	    var reg = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	    if (str.search(reg) != -1) {
			return true;
		}
		return false;
	}
	// ½ÃÀÛÀÏ Á¾·áÀÏ Ã¼Å©
	function checkPeriod(sdate, edate) {
		var reg = /-/g;
		var s_date = new Date((sdate).replace(reg, "/"));
		var e_date = new Date((edate).replace(reg, "/"));
		var s_time = s_date.getTime();
		var e_time = e_date.getTime();
		if( s_time > e_time )	{
			alert("Á¾·áÀÏÀÌ ½ÃÀÛÀÏº¸´Ù ´Ê¾î¾ß ÇÕ´Ï´Ù");
			return false;
		}
		return true;
	}
	// È­Æó ´ÜÀ§·Î º¸ÀÌµµ·Ï
	function putComma(obj) {
		var len = obj.value.length;
		var str = obj.value.toString();
		str = str.replace(/,/g,"");
		if (str.length > 3) {
			var mod = str.length % 3;
			var ret = (mod > 0 ? (str.substring(0,mod)) : "");
			for (i=0 ; i < Math.floor(str.length / 3); i++) {
				if ((mod == 0) && (i == 0)) {
					ret += str.substring(mod+ 3 * i, mod + 3 * i + 3);
				} else {
					ret += "," + str.substring(mod + 3 * i, mod + 3 * i + 3);
				}
			}
			obj.value = ret;
		}
	}
	// ÄÞ¸¶ Á¦°Å
	function removeComma(obj) {
		obj.value = obj.value.replace(/,/g,"");
	}
	// ¶óµð¿À ¹öÆ° ¼±ÅÃ°ª º¯°æ changeChecked(Æû¿ä¼Ò, °ª)
	function changeChecked(f,val) {
		for (var i=0; i< f.length; i++) {
			if (f[i].value == val) {
				f[i].checked = true;
			}
		}
	}
	/**
	 * ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ(chars)°¡ ÀÖ´ÂÁö Ã¼Å© - Æ¯Á¤ ¹®ÀÚ¸¦ Çã¿ëÇÏÁö ¾ÊÀ¸·Á ÇÒ ¶§ »ç¿ë
	 * ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
	 *         alert("ÀÌ¸§ ÇÊµå¿¡´Â Æ¯¼ö ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
	 *     }
	 */
	function containsChars(input,chars) {
		for (var inx = 0; inx < input.value.length; inx++) {
			if (chars.indexOf(input.value.charAt(inx)) != -1)
				return true;
			}
		return false;
	}

	/**
	 * ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ(chars)¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å© - Æ¯Á¤ ¹®ÀÚ¸¸ Çã¿ëÇÏ·Á ÇÒ ¶§ »ç¿ë
	 * ex) if (!containsCharsOnly(form.blood,"ABO")) {
	 *         alert("Ç÷¾×Çü ÇÊµå¿¡´Â A,B,O ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.");
	 *     }
	 */
	function containsCharsOnly(input,chars) {
		for (var inx = 0; inx < input.value.length; inx++) {
			if (chars.indexOf(input.value.charAt(inx)) == -1)
				return false;
			}
		return true;
	}

    /**
      * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ÀÏÀÚÀÇ ¿ù·Î º¯È¯°¡´ÉÇÑÁö È®ÀÎ
      * @param month   ¹®ÀÚ¿­
      * @return true : °¡´ÉÇÒ °æ¿ì
     */
    function IsMonth(month) {
        if (month.length > 2) return false;
        month = ParseInt(month);
        if ((month <= 0) || (month > 12)) return false;
        return true;
    }

	/**
      * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ÀÏÀÚÀÇ ÀÏ·Î º¯È¯°¡´ÉÇÑÁö È®ÀÎ (¿ù¿¡ °ü°è¾øÀ½)
      * @param day ¹®ÀÚ¿­
      * @return true : °¡´ÉÇÒ °æ¿ì
     */
    function IsDay2(day) {
        if (day.length > 2) return false;
        day = ParseInt(day, 10);
        if ((day <= 0) || (day > 31)) return false;
        return true;
    }

    /**
      * ¹®ÀÚ¿­ÀÌ ¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£ÀÎÁö È®ÀÎÇÏ¿© ¸®ÅÏ
     * @param sResNo   String
      * @return true : ¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£ÀÏ °æ¿ì
     */
	function IsValidJuminString(sResNo)
	{
	    if(sResNo.length != 13) {
		    alert("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
			return false;
	    }

		var a = new Array(6)
		var b = new Array(7)
		var tot=0
		var c=0

		var sJumin0 = sResNo.substring(0,6);
		if (!IsMonth(sJumin0.substring(2,4))) {
		    alert("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
			return false;
		}else if (!IsDay2(sJumin0.substring(4,6))){
		    alert("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
			return false;
		}
		var sJumin1 = sResNo.substring(6,13);

		for(var i=1;i<7;i++)
		{
			a[i]=sJumin0.substring(i-1,i);
			b[i]=sJumin1.substring(i-1,i);

			if(i<3)
				c=Number(b[i])*(i+7);
			else
				c=Number(b[i])*((i+9)%10);

			tot = tot + Number(a[i])*(i+1) + c;
		}

		b[7]=sJumin1.substring(6,7);

		if(Number(b[7]) != ((11-(tot%11))%10)){
			alert("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
			return false;
		}else{
			return true;
		}
	}

    /*= TEXT INPUT VALUE CONTROL ===========================================================

        1. ¹®ÀÚ¿­ °ü·Ã ±âº» ±â´ÉÀ» Ã³¸®.
        2. Function List
            - IsNull(Object)
            : ÀÔ·Â°ªÀÌ NULLÀÎÁö Ã¼Å©
            - IsEmpty(Object)
            : ÀÔ·Â°ªÀÌ °ø¹éÀÎÁö È®ÀÎÇÏ¿© ¸®ÅÏ
            - RemoveSpaces(Value)
            : ÀÔ·Â°ª¿¡ Æ÷ÇÔµÈ ¸ðµç ½ºÆäÀÌ½º ¹®ÀÚ¸¦ Á¦°Å ÈÄ ¸®ÅÏ
            - ReplaceStr(str, find, replace)
            : ¹®ÀÚ¿­¿¡ Æ÷ÇÔµÈ ¸ðµç º¯È¯´ë»ó ÆÐÅÏÀ» º¯°æÇÏ¿© ¸®ÅÏ
            - ContainsChars(Object)
            : ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ(chars)°¡ ÀÖ´ÂÁö Ã¼Å©. Æ¯Á¤ ¹®ÀÚ¸¦ Çã¿ëÇÏÁö ¾ÊÀ¸·Á ÇÒ ¶§ »ç¿ë
            - ContainsCharsOnly(Object)
            : ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ(chars)¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
            - IsAlphabet(Object)
            : ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀÎÁö Ã¼Å©
            - IsUpperCase(Object)
            : ÀÔ·Â°ªÀÌ ¾ËÆÄºª ´ë¹®ÀÚÀÎÁö Ã¼Å©
            - IsLowerCase(Object)
            : ÀÔ·Â°ªÀÌ ¾ËÆÄºª ¼Ò¹®ÀÚÀÎÁö Ã¼Å©
            - IsNumber(Object)
            : ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ¼ýÀÚ ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö ¿©ºÎ ¸®ÅÏ
            - IsAlphaNum(Object)
            : ÀÔ·Â°ªÀÌ ¾ËÆÄºª,¼ýÀÚ·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
            - IsNumDash(Object)
            : ÀÔ·Â°ªÀÌ ¼ýÀÚ,´ë½Ã(-)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
            - IsNumComma(Object)
            : ÀÔ·Â°ªÀÌ ¼ýÀÚ,ÄÞ¸¶(,)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
            - IsNumPeriod(Object)
            : ÀÔ·Â°ªÀÌ ¼ýÀÚ,³¯Â¥ ±¸ºÐÀÚ(.)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©

    ============================================================================*/

    /**
     * ÀÔ·Â°ªÀÌ NULLÀÎÁö Ã¼Å©
     * @param obj   Object
     * @return true : Null ¶Ç´Â °ø¹é
     */
    function IsNull(obj) {
        if (obj.value == null || obj.value == "") {
            return true;
        }
        return false;
    }

    /**
     * ÀÔ·Â°ª¿¡ ½ºÆäÀÌ½º ÀÌ¿ÜÀÇ ÀÇ¹ÌÀÖ´Â °ªÀÌ ÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true : °ø¹é
     */
	function IsEmpty(obj) {
	    if (obj.value == null || obj.value.replace(/ /gi,"") == "") {
	        return true;
	    }
	    return false;
	}

    /**
     * ÀÔ·Â°ª¿¡ Æ÷ÇÔµÈ ¸ðµç ½ºÆäÀÌ½º ¹®ÀÚ¸¦ Á¦°Å ÈÄ ¸®ÅÏ
     * @param str   Value
     * @return ret  ½ºÆäÀÌ½º°¡ Á¦°ÅµÈ ¹®ÀÚ¿­
     */
    function RemoveSpaces(str) {
        var ret = "";
        if (str.length == 0) return ret;

        for (var i=0; i<str.length; i++) {
            if (str.charAt(i) != " ") ret += str.charAt(i);
        }
        return ret;
    }

    /**
     * ¹®ÀÚ¿­¿¡ Æ÷ÇÔµÈ ¸ðµç º¯È¯´ë»ó ÆÐÅÏÀ» º¯°æÇÏ¿© ¸®ÅÏ
     * @param str   ¹®ÀÚ¿­
     * @return ret  º¯°æµÈ ¹®ÀÚ¿­
     */
	function ReplaceStr(str, find, replace)
	{
	    var pos = 0;
	    pos = str.indexOf(find);

	    while(pos != -1)
	    {
	        pre_str = str.substring(0, pos);
	        post_str = str.substring(pos + find.length, str.length);
	        str = pre_str + replace + post_str;
	        pos = str.indexOf(find);
	    }
	    return str;
	}

    /**
     * ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ(chars)°¡ Æ÷ÇÔµÇÁö ¾Ê¾Ò´ÂÁö Ã¼Å©
     * Æ¯Á¤ ¹®ÀÚ¸¦ Çã¿ëÇÏÁö ¾ÊÀ¸·Á ÇÒ ¶§ »ç¿ë
     * ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
     *         Alert("ÀÌ¸§ ÇÊµå¿¡´Â Æ¯¼ö ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
     *     }
     * @param obj   Object
     * @return true Æ¯Á¤ ¹®ÀÚ°¡ ¾øÀ» °æ¿ì
     */
    function ContainsChars(obj,chars) {
        for (var inx = 0; inx < obj.value.length; inx++) {
           if (chars.indexOf(obj.value.charAt(inx)) != -1)
               return true;
        }
        return false;
    }

    /**
     * ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ(chars)¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * Æ¯Á¤ ¹®ÀÚ¸¸ Çã¿ëÇÏ·Á ÇÒ ¶§ »ç¿ë
     * ex) if (!containsCharsOnly(form.blood,"ABO")) {
     *         Alert("Ç÷¾×Çü ÇÊµå¿¡´Â A,B,O ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.");
     *     }
     * @param obj   Object
     * @return true Æ¯Á¤ ¹®ÀÚ°¡ ÀÖÀ» °æ¿ì
     */
    function ContainsCharsOnly(obj,chars) {
        for (var inx = 0; inx < obj.value.length; inx++) {
           if (chars.indexOf(obj.value.charAt(inx)) == -1)
               return false;
        }
        return true;
    }

    /**
     * ÀÔ·Â°ªÀÌ ÇÑ±ÛÀÎÁö Ã¼Å©
     * @param obj   Object
     * @return true ÇÑ±ÛÀÎ °æ¿ì
     */
    function IsKorean(obj)
    {
        if ((obj.value.length*2) == GetLenByByte(obj.value)) return true;
        return false;
    }

    /**
     * ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀÎÁö Ã¼Å©
     * @param obj   Object
     * @return true ¾ËÆÄºªÀÏ °æ¿ì
     */
    function IsAlphabet(obj) {
        var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¾ËÆÄºª ´ë¹®ÀÚÀÎÁö Ã¼Å©
     * @param obj   Object
     * @return true ¾ËÆÄºª ´ë¹®ÀÚÀÎ °æ¿ì
     */
    function IsUpperCase(obj) {
        var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¾ËÆÄºª ¼Ò¹®ÀÚÀÎÁö Ã¼Å©
     * @param obj   Object
     * @return true ¾ËÆÄºª ¼Ò¹®ÀÚÀÎ °æ¿ì
     */
    function IsLowerCase(obj) {
        var chars = "abcdefghijklmnopqrstuvwxyz";
        return ContainsCharsOnly(obj,chars);
    }

    /**
      * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ¼ýÀÚ ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö ¿©ºÎ ¸®ÅÏ
      * @param obj   Object
      * @return true - ¼ýÀÚ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì
     */
    function IsNumber(obj) {
        var chars = "0123456789";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¾ËÆÄºª,¼ýÀÚ·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true ¾ËÆÄºª,¼ýÀÚ·Î µÇ¾îÀÖ´Â °æ¿ì
     */
    function IsAlphaNum(obj) {
        var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¼ýÀÚ,´ë½Ã(-)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true ¼ýÀÚ,´ë½Ã(-)·Î µÇ¾îÀÖ´Â °æ¿ì
     */
    function IsNumDash(obj) {
        var chars = "-0123456789";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¼ýÀÚ,ÄÞ¸¶(,)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true ¼ýÀÚ,ÄÞ¸¶(,)·Î µÇ¾îÀÖ´Â °æ¿ì
     */
    function IsNumComma(obj) {
        var chars = ",0123456789";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¼ýÀÚ,³¯Â¥ ±¸ºÐÀÚ(.)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true ¼ýÀÚ,³¯Â¥ ±¸ºÐÀÚ(.)·Î µÇ¾îÀÖ´Â °æ¿ì
     */
    function IsNumPeriod(obj) {
        var chars = ".0123456789";
        return ContainsCharsOnly(obj,chars);
    }

    /**
     * ÀÔ·Â°ªÀÌ ¼ýÀÚ,¼Ò¼ýÁ¡(.),¼ýÀÚ±¸ºÐÀÚ(,)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true ¼ýÀÚ,³¯Â¥ ±¸ºÐÀÚ(.)·Î µÇ¾îÀÖ´Â °æ¿ì
     */
    function IsMoney(obj) {
        var chars = ".,0123456789";
        return ContainsCharsOnly(obj,chars);
    }
    /**
     * ÀÔ·Â°ªÀÌ -, ¼ýÀÚ,¼Ò¼ýÁ¡(.),¼ýÀÚ±¸ºÐÀÚ(,)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
     * @param obj   Object
     * @return true ¼ýÀÚ,³¯Â¥ ±¸ºÐÀÚ(.)·Î µÇ¾îÀÖ´Â °æ¿ì
     */
    function IsNumCommaDash(obj) {
        var chars = "-.,0123456789";
        return ContainsCharsOnly(obj,chars);
    }
    /**
     * ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏÀ» ±¸¼ºÇÒ ¼ö ÀÖ´Â ¹®ÀÚµé·Î ±¸¼ºµÇ¾î ÀÖ´ÂÁö Ã¼Å©
     * ´Ü¼øÇÑ ÀÌ¸ÞÀÏ ÀÔ·ÂÆ÷¸ËÀ» È®ÀÎÇÑ´Ù.
     * @param obj   Object
     * @return true ÀÌ¸ÞÀÏ ±¸¼ºÀÌ °¡´ÉÇÑ ¹®ÀÚµé·Î ±¸¼ºµÇ¾î ÀÖÀ» °æ¿ì
     */
    function IsEmailAddr(obj) {
        var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
        return IsValidFormat(obj, format);
    }

    /**
      * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ¼ýÀÚ ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö ¿©ºÎ ¸®ÅÏ
      * ¿À·ù°¡ ÀÖÀ» °æ¿ì ¸Þ¼¼Áö¸¦ Ç¥½ÃÇÏ°í focus ÀÌµ¿
      * @param obj   Object
      * @return true - ¼ýÀÚ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì
     */
    function IsNumberMessage(obj) {
        if (!IsNumber(obj)) {
            AlertFocus(obj, '¼ýÀÚ¸¸ ÀÔ·ÂÇÏ½Ê½Ã¿À');
            return false;
        }
        return true;
    }

    /**
      * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ¼ýÀÚ ¿Í . ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö ¿©ºÎ ¸®ÅÏ
      * ¿À·ù°¡ ÀÖÀ» °æ¿ì ¸Þ¼¼Áö¸¦ Ç¥½ÃÇÏ°í focus ÀÌµ¿
      * @param obj   Object
      * @return true - ¼ýÀÚ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì
     */
    function IsNumberPeriodMessage(obj) {
        if (!IsNumPeriod(obj)) {
            AlertFocus(obj, '¼ýÀÚ¸¸ ÀÔ·ÂÇÏ½Ê½Ã¿À');
            return false;
        }
        return true;
    }

    /**
      * ÀÔ·ÂµÈ ¹®ÀÚ¿­ÀÌ ¼ýÀÚ ¿Í - ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö ¿©ºÎ ¸®ÅÏ
      * ¿À·ù°¡ ÀÖÀ» °æ¿ì ¸Þ¼¼Áö¸¦ Ç¥½ÃÇÏ°í focus ÀÌµ¿
      * @param obj   Object
      * @return true - ¼ýÀÚ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì
     */
    function IsNumberDashMessage(obj) {
        if (!IsNumDash(obj)) {
            AlertFocus(obj, '¼ýÀÚ¸¸ ÀÔ·ÂÇÏ½Ê½Ã¿À');
            return false;
        }
        return true;
    }

    /**
	   * ÇØ´ç ÇÊµå°¡ NULL Ã¼Å©
	   * ÀÔ·Â°ª ¾øÀ» °æ¿ì focus ÀÌµ¿
	   * loObj =  ÇÊµå ÀÌ¸§
	   * loTitle = È­¸é Ãâ·Â ³»¿ë
	*/
    function gfn_NullChk(loObj, loTitle) {
	if (loObj.value.length == 0 ) {
		window.alert(loTitle + "¿¡ °ªÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù.\n\n´Ù½Ã È®ÀÎÇÏ½Ê½Ã¿À")
		loObj.focus()
		return true;
		}
		return false;
	}

    /*= NUMBER CONTROL ===========================================================

        1. ¼ýÀÚ °ü·Ã ±âº» ±â´ÉÀ» Ã³¸®.
        2. Function List
            - AddComma(Object)
            : ÀÔ·Â°ªÀ» ÄÞ¸¶°¡ Æ÷ÇÔµÈ ¹®ÀÚ¿­·Î º¯È¯ÇÏ¿© ¸®ÅÏ
              12345 ¸¦ ÀÔ·ÂÇÏ¸é 12,345 ·Î º¯È¯ÇÏ¿© ¸®ÅÏ
            - RemoveComma(String)
            : ÀÔ·Â°ª¿¡¼­ ÄÞ¸¶¸¦ ¾ø¾Ø´Ù.
            - RemoveDash(String)
            : ÀÔ·Â°ª¿¡¼­ ±¸ºÐÀÚ(-)¸¦ ¾ø¾Ø´Ù.
            - RemovePeriod(String)
            : ÀÔ·Â°ª¿¡¼­ ³¯Â¥ ±¸ºÐÀÚ(.) ¸¦ ¾ø¾Ø´Ù.
            - ParseInt(str)
            : ¹®ÀÚ¿­À» Á¤¼ö·Î º¯È¯ÇÏ¿© ¸®ÅÏ

    ============================================================================*/

    /**
      * ÀÔ·Â°ªÀ» ÄÞ¸¶°¡ Æ÷ÇÔµÈ ¹®ÀÚ¿­·Î º¯È¯ÇÏ¿© ¸®ÅÏ
      * @param obj   ¼ýÀÚ
      * @return ret  ÄÞ¸¶¸¦ Ãß°¡ÇÑ ¼ýÀÚ
     */
    function AddComma(obj) {
        var ret;
        if (!IsMoney(obj)) {
            AlertFocus(obj, "¼ýÀÚ¸¸ ÀÔ·ÂÇÏ½Ê½Ã¿À.");
            return;
        }
        var numstr = obj.value;
        numstr = RemoveComma(numstr);
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = numstr.split('.');
        arrNumber[0] += '.';
        do {
            arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        }
        while (rxSplit.test(arrNumber[0]));
        if (arrNumber.length > 1) {
            ret = arrNumber.join('');
        } else {
            ret = arrNumber[0].split('.')[0];
        }
        obj.value = ret;
    }

    /**
     * ÀÔ·Â°ª¿¡¼­ ÄÞ¸¶¸¦ ¾ø¾Ø´Ù.
     * @param str   ¹®ÀÚ¿­
     * @return º¯°æµÈ ¹®ÀÚ¿­
     */
    function RemoveComma(str) {
        return str.replace(/,/gi,"");
    }

    /**
     * ÀÔ·Â°ª¿¡¼­ ±¸ºÐÀÚ(-)¸¦ ¾ø¾Ø´Ù.
     * @param str   ¹®ÀÚ¿­
     * @return º¯°æµÈ ¹®ÀÚ¿­
     */
    function RemoveDash(str) {
        return str.replace(/-/gi,"");
    }

    /**
     * ÀÔ·Â°ª¿¡¼­ ³¯Â¥ ±¸ºÐÀÚ(.)¸¦ ¾ø¾Ø´Ù.
     * @param str   ¹®ÀÚ¿­
     * @return º¯°æµÈ ¹®ÀÚ¿­
     */
    function RemovePeriod(str) {
        return ReplaceStr(str, '.', '');
    }

    /**
      * ¹®ÀÚ¿­À» Á¤¼ö·Î º¯È¯ÇÏ¿© ¸®ÅÏ
      * @param str   ¹®ÀÚ¿­
      * @return Á¤¼ö
     */
    function ParseInt(str) {
        return parseInt(str, 10);
    }

/********************************************************************
 *
 * Mouse ÀÌº¥Æ® °ü·Ã ÇÔ¼ö
 *
 *******************************************************************/
	var oldx = 0;
	var oldy = 0;
	var bDrag = false;
	function fnMouseDown(obj)	{
		if( obj.style.display == "block" )	{
			bDrag = true;
			oldx = window.event.x;
			oldy = window.event.y;
			obj.setCapture();
		}
	}
	function fnMouseMove(obj)	{
		if( bDrag )	{
			var newx = window.event.x
			var newy = window.event.y
			var wleft = obj.style.left;
			var wtop  = obj.style.top;
			obj.style.left = parseInt(wleft) + (newx - oldx);
			obj.style.top  = parseInt(wtop) + (newy - oldy);
			oldx = window.event.x;
			oldy = window.event.y;
		}
	}
	function fnMouseUp(obj)	{
		if( bDrag )	{
			obj.releaseCapture();
			bDrag = false;
			oldx = 0;
			oldy = 0;
		}
	}
	// Å¬¸¯ÇÑ °´Ã¼ À§Ä¡¿¡¼­ ·¹ÀÌ¾î º¸ÀÓ/¼û±è
	var G_MS_TIME;
	function actLayerToggle(obj) {
		var srcEl = event.srcElement;
		var _tmpx = event.clientX + parseInt(srcEl.offsetWidth);
		var _tmpy = event.clientY + parseInt(srcEl.offsetHeight);
		var _tmpo = document.all[obj];
		_tmpo.style.top = _tmpy - 10;
		_tmpo.style.left = _tmpx - 120;
		_tmpo.style.display = "";
	}
	function actLayer_MSOVER() {
		window.clearTimeout(G_MS_TIME);
	}
	function actLayer_MSOUT(obj) {
		G_MS_TIME=window.setTimeout(obj.id+".style.display='none';", 400);
	}



		
 





