/***********************************************************************************************
 *  Project         : Edutrack LMS2007
 *  File Name       : common.js
 *  Description     : °øÅëÀ¸·Î »ç¿ëÇÏ´Â js
 *  Arguement       : 
 *  Written Date    :                   Written By  : 
 *  Modified Date   :                   Modified By : 
 **********************************************************************************************/
 
	// Top Menu
	function initNavigation(seq) {
		nav = document.getElementById("topmenu");
		nav.menu = new Array();
		nav.current = null;
		nav.menuseq = 0;
		navLen = nav.childNodes.length;
		
		allA = nav.getElementsByTagName("a")
		for(k = 0; k < allA.length; k++) {
			allA.item(k).onmouseover = allA.item(k).onfocus = function () {
				nav.isOver = true;
			}
			allA.item(k).onmouseout = allA.item(k).onblur = function () {
				nav.isOver = false;
				setTimeout(function () {
					if (nav.isOver == false) {
						if (nav.menu[seq])
							nav.menu[seq].onmouseover();
						else if(nav.current) {
							if (nav.current.submenu)
								nav.current.submenu.style.display = "none";
							nav.current = null;
						}
					}
				}, 500);
			}
		}
	
		for (i = 0; i < navLen; i++) {
			navItem = nav.childNodes.item(i);
			if (navItem.tagName != "LI")
				continue;
	
			navAnchor = navItem.getElementsByTagName("a").item(0);
			navAnchor.submenu = navItem.getElementsByTagName("ul").item(0);
			
			navAnchor.onmouseover = navAnchor.onfocus = function () {
				if (nav.current) {
					if (nav.current.submenu)
						nav.current.submenu.style.display = "none";
					nav.current = null;
				}
				if (nav.current != this) {
					if (this.submenu)
						this.submenu.style.display = "block";
					nav.current = this;
				}
				nav.isOver = true;
			}
			nav.menuseq++;
			nav.menu[nav.menuseq] = navAnchor;
		}
		if (nav.menu[seq])
			nav.menu[seq].onmouseover();
	}
	 
	String.prototype.trim = function() {
		return this.replace(/(^\s*)|(\s*$)/gi,"");
	};
	
	String.prototype.replaceAll = function(str1, str2) {
		var temp_str = "";	
		if (this.trim() !== "" && str1 != str2) {
			temp_str = this.trim();
			while (temp_str.indexOf(str1) > -1) {
				temp_str = temp_str.replace(str1, str2);
			}
		}	
		return temp_str;
	};
	
    /**
     * ¹®ÀÚ¿­ÀÇ byte length¸¦ ¾ò´Â´Ù.
     *
     * @param   str ¹®ÀÚ¿­
     * @return  byte length
     * @author  marie
     */
    function jsByteLength(str) {
        if (str == "") {
            return  0;
        }

        var len = 0;

        for (var i = 0; i < str.length; i++) {
            if (str.charCodeAt(i) > 128) {
                len++;
            }
            len++;
        }

        return  len;
    }

    /**
     * Object¿¡ °ªÀ» ¼¼ÆÃÇÑ´Ù.
     *
     * @param   obj
     * @param   value
     */
    function jsSetValue(obj, value) {
        if (obj) {
            if (obj.type == "text") {
                obj.value = value;
            } else if (obj.tagName == "SELECT") {
                for (var i = 0; i < obj.length; i++) {
                    if (obj.options[i].value == value) {
                        obj.options[i].selected = true;
                        break;
                    }
                }
            }
        }
    }

    /**
     * ÁÖ¹Îµî·Ï¹øÈ£¸¦ Ã¼Å©ÇÑ´Ù.
     *
     * @param   obj ÁÖ¹Îµî·Ï¹øÈ£ ÇÊµå
     * @return  true - ¿Ã¹Ù¸¥ ¹øÈ£
     *          false - Æ²¸° ¹øÈ£
     */
    function jsCheckJumin1(obj) {
        var str = deleteHyphen(obj.value);  // ÇÊµå¿¡ ÀÖ´Â ÁÖ¹Î¹øÈ£¿¡¼­ '-'Á¦°Å

        if( !jsCheckJumin(str) ) {
            alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.")
            obj.value="";
            //obj.focus();
            if (window.event) {
                window.event.returnValue = false;
            }
            return  false;
        }

        obj.value = str;
        return  true;
    }

    /**
     * ÁÖ¹Îµî·Ï¹øÈ£¸¦ Ã¼Å©ÇÑ´Ù.
     *
     * @param   str ÁÖ¹Îµî·Ï¹øÈ£
     * @return  true - ¿Ã¹Ù¸¥ ¹øÈ£
     *          false - Æ²¸° ¹øÈ£
     */
    function jsCheckJumin(str) {
        var tmp = 0;
        var sex = str.substring(6, 7);
        var birthday;

        if (str.length != 13) {
            return  false;
        }

        if (sex == 1 || sex == 2) {
            birthday = "19" + str.substring(0, 6);
        } else if (sex == 3  || sex == 4) {
            birthday = "20" + str.substring(0, 6);
        } else {
            return  false;
        }

        if (!isDate(birthday)) {
            return  false;
        }

        for (var i = 0; i < 12 ; i++) {
            tmp = tmp + ((i%8+2) * parseInt(str.substring(i,i+1)));
        }

        tmp = 11 - (tmp %11);
        tmp = tmp % 10;

        if (tmp != str.substring(12, 13)) {
            return  false;
        }

        return  true;
    }

    /**
     * ÁÖ¹Î¹øÈ£¸¦ Ã¼Å©ÇÑ´Ù.
     *
     * @param       ÁÖ¹Î¹øÈ£(¾ÕÀÚ¸®µÞÀÚ¸® ÇÕÄ£)
     * @param       ÁÖ¹Î¹øÈ£ ¾ÕÀÚ¸®
     * @param       ÁÖ¹Î¹øÈ£ µÞÀÚ¸®
     * @param       ´ÙÀ½À¸·Î ÀÌµ¿ÇÒ Æ÷Ä¿½º
     * @author      °­º´°ï
     * @since       2003-12-04
     */
    function checkJuminNo(juminNo, juminNo1, juminNo2, nextFocus)
    {
        var form    = document.form1;
        var flag    = true;

        var juminNoElm  = eval(form.elements[juminNo]);
        var juminNo1Elm     = eval(form.elements[juminNo1]);
        var juminNo2Elm     = eval(form.elements[juminNo2]);
        var nextFocusElm    = eval(form.elements[nextFocus]);
        //alert("juminNo ::"+ juminNoElm.value +"/ juminNo1 ::"+ juminNo1Elm.value +"/ juminNo2 ::"+ juminNo2Elm.value +"/ nextFocus ::"+ nextFocusElm.value);

        if(juminNo2Elm.value == "" || juminNo2Elm.value.length < 7)
        {
            jsRange(7, 7);
            juminNo2Elm.focus();
            return;
        }

        if(!jsCheckJumin(juminNo1Elm.value + juminNo2Elm.value)) 
        {
            alert("Àß¸øµÈ ÁÖ¹Î¹øÈ£ÀÔ´Ï´Ù.");
            juminNo1Elm.value = "";
            juminNo2Elm.value = "";
            juminNo1Elm.focus();
        }
        else
        {
            juminNoElm.value    = juminNo1Elm.value + juminNo2Elm.value;
            nextFocusElm.focus();
        }
    }
    function checkJuminNo1(form, juminNo1, juminNo2)
    {
        var flag    = true;

        var juminNo1Elm     = eval(form.elements[juminNo1]);
        var juminNo2Elm     = eval(form.elements[juminNo2]);
		
		if(juminNo1Elm.value == "")
		{
			alert("ÁÖ¹Î¹øÈ£¸¦ ÀÔ·ÂÇÏ¼¼¿ä.");
			juminNo1Elm.focus();
			return false;
		}
		
		if(juminNo2Elm.value == "")
		{
			alert("ÁÖ¹Î¹øÈ£¸¦ ÀÔ·ÂÇÏ¼¼¿ä.");
			juminNo2Elm.focus();
			return false;
		}		

        if(juminNo1Elm.value.length < 6 || juminNo2Elm.value.length < 7 || !jsCheckJumin(juminNo1Elm.value + juminNo2Elm.value)) 
        {
            alert("Àß¸øµÈ ÁÖ¹Î¹øÈ£ÀÔ´Ï´Ù.");
            juminNo1Elm.value = "";
            juminNo2Elm.value = "";
            juminNo1Elm.focus();
            return false;
        }
        return true;
        
    }
    /**
     * »ç¿ëÀÚ(USR ID, »ç¿ëÀÚ¸í) °Ë»ö ÆË¾÷Ã¢À» ¶ç¿î´Ù.
     *
     * @param   column ÄÃ·³¸í
     *          USR_IDNO USR ID
     *          USR_NAME »ç¿ëÀÚ¸í
     * @param   keyWord °Ë»ö¾î
     * @param   fn Æã¼Ç¸í
     * @use     function setSmusr(usrId, usrName) { }
     */
    function jsSmusr(column, keyWord, fn) {
        var url = "/SystemServlet?cmd=LssmusrPopup&column=" + column + "&keyWord=" + keyWord + "&fn=" + fn;
        var name = "";
        var features = "width=600,height=550,scrollbars=yes,top=100,left=100";
        var popupWin = window.open(url, name, features);
        centerSubWindow(popupWin, 600, 550);
        popupWin.focus();
    }

    /**
     * ¿ÀÁ÷ ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö Ã¼Å© ÇÑ´Ù.
     *
     * @param   num
     * @return  boolean
     */
    function isNumber(num) {
        var reg = RegExp(/^(\d|-)?(\d|,)*\.?\d*$/);

        if (reg.test(num)) {
            return  true;
        }

        return  false;
    }

    /**
     * Á¤¼ö Ã¼Å©
     *
     * 1. +, - ºÎÈ£¸¦ »ý·«ÇÏ°Å³ª ³ÖÀ» ¼ö ÀÖ´Ù : ^[\+-]?
     * 2. 0¿¡¼­ 9±îÁö ¼ýÀÚ°¡ 0¹ø ÀÌ»ó ¿Ã ¼ö ÀÖ´Ù : [0-9]*
     * 3. ¸¶Áö¸·Àº ¼ýÀÚ·Î ³¡³ª¾ß ÇÑ´Ù : [0-9]$
     *
     * @param   num
     * @return  boolean
     */
    function isInteger(num) {
        re = /^[\+-]?[0-9]*[0-9]$/;

        if (re.test(num)) {
            return  true;
        }

        return  false;
    }

    /**
     * À¯¸®¼ö Ã¼Å©
     *
     * 1. +, - ºÎÈ£¸¦ »ý·«ÇÏ°Å³ª ³ÖÀ» ¼ö ÀÖ´Ù : ^[\+-]?
     * 2. 0¿¡¼­ 9±îÁö ¼ýÀÚ°¡ 0¹ø ÀÌ»ó ¿Ã ¼ö ÀÖ´Ù : [0-9]*
     * 3. ¼Ò¼öÁ¡À» ³ÖÀ» ¼ö ÀÖ´Ù : [.]?
     * 4. ¼Ò¼öÁ¡ ÀÌÇÏ ÀÚ¸®¿¡ 0¿¡¼­ 9±îÁö ¼ýÀÚ°¡ ¿Ã ¼ö ÀÖ´Ù : [0-9]*
     * 5. ¸¶Áö¸·Àº ¼ýÀÚ·Î ³¡³ª¾ß ÇÑ´Ù : [0-9]$
     *
     * @param   num
     * @return  boolean
     */
    function isFloat(num) {
        re = /^[\+-]?[0-9]*[.]?[0-9]*[0-9]$/;

        if (re.test(num)) {
            return  true;
        }

        return  false;
    }

    /**
     * ÀÌ¸ÞÀÏ Ã¼Å©
     *
     * @param   email
     * @return  boolean
     */
    function isEmail(email) {
        re = /[^@]+@[A-Za-z0-9_-]+[.]+[A-Za-z]+/;

        if (re.test(email)) {
            return  true;
        }

        return  false;
    }

    /**
     * ÀÌ¸ÞÀÏ ÁÖ¼Ò Ã¼Å© - Á¤¹ÐÇÏ°Ô
     */
	function emailCheck(emailStr) {
		var checkTLD = 1;
		var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var emailPat = /^(.+)@(.+)$/;
		var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars = "\[^\\s" + specialChars + "\]";
		var quotedUser = "(\"[^\"]*\")";
		var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom = validChars + '+';
		var word = "(" + atom + "|" + quotedUser + ")";
		var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray = trim(emailStr).match(emailPat);
		
		if (matchArray == null) {
			alert("ÀÌ¸ÞÀÏ Çü½ÄÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
			return false;
		}
		var user = matchArray[1];
		var domain = matchArray[2];
		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i) > 127) {
				alert("Àß¸øµÈ ÀÌ¸ÞÀÏ ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏ¼Ì½À´Ï´Ù.");
				return false;
			}
		}
		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i) > 127) {
				alert("µµ¸ÞÀÎ ÀÌ¸§ÀÌ Àß¸ø ±âÁ¦ µÇ¾ú½À´Ï´Ù.");
				return false;
			}
		}
		if (user.match(userPat) == null) {
			alert("ÀÌ¸ÞÀÏ °èÁ¤ÀÌ Àß¸ø ±âÁ¦ µÇ¾ú½À´Ï´Ù.");
			return false;
		}
		var IPArray = domain.match(ipDomainPat);
		if (IPArray != null) {
			for (var i=1; i<=4; i++) {
				if (IPArray[i] > 255) {
					alert("Àß¸øµÈ IPÁÖ¼Ò ÀÔ´Ï´Ù.");
					return false;
				}
			}
			return true;
		}
		var atomPat = new RegExp("^" + atom + "$");
		var domArr = domain.split(".");
		var len = domArr.length;
		for (i=0; i<len; i++) {
			if (domArr[i].search(atomPat) == -1) {
				alert("µµ¸ÞÀÎ Çü½ÄÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
				return false;
			}
		}
		/*
		±¹°¡ µµ¸ÞÀÎÀº °è¼Ó Ãß°¡µÇ´Â »çÇ×ÀÌ±â ¶§¹®¿¡ Á¦ÇÑÇÒ ¼ö ¾øÀ½. µû¶ó¼­ ¾Æ·¡ ºÎºÐÀº ÁÖ¼®Ã³¸®
		2008.12.18 ÀÌÇÑÂùK
		if (checkTLD && domArr[domArr.length-1].length!=2 && 
				domArr[domArr.length-1].search(knownDomsPat)==-1) {
			alert("µµ¸ÞÀÎ ±¹°¡ÁöÁ¤ÀÌ Àß¸ø ±âÁ¦ µÇ¾ú½À´Ï´Ù." + domArr[domArr.length-1]);
			return false;
		}
		*/
		if (len < 2) {
			alert("µµ¸ÞÀÎ ÀÌ¸§ÀÌ Àß¸ø ±âÁ¦ µÇ¾ú½À´Ï´Ù.");
			return false;
		}		
		return true;
	}

    /**
     * ³¯Â¥ Ã¼Å©
     *
     * @param   date
     * @return  boolean
     */
    function isDate(date) {
        if (date == null || date.length != 8) {
            return  false;
        }

        if (!isNumber(date)) {
            return  false;
        }

        var year = eval(date.substring(0, 4));
        var month = eval(date.substring(4, 6));
        var day = eval(date.substring(6, 8));

		if(year == "0000") {
			return false;
		}

        if (month > 12 || month == "00") {
            return  false;
        }

        var totalDays;

        switch (eval(month)){

            case 1 :
                totalDays = 31;
                break;
            case 2 :
                if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
                    totalDays = 29;
                else
                    totalDays = 28;
                break;
            case 3 :
                totalDays = 31;
                break;
            case 4 :
                totalDays = 30;
                break;
            case 5 :
                totalDays = 31;
                break;
            case 6 :
                totalDays = 30;
                break;
            case 7 :
                totalDays = 31;
                break;
            case 8 :
                totalDays = 31;
                break;
            case 9 :
                totalDays = 30;
                break;
            case 10 :
                totalDays = 31;
                break;
            case 11 :
                totalDays = 30;
                break;
            case 12 :
                totalDays = 31;
                break;
        }

        if (day > totalDays) {
            return  false;
        }

        if (day == "00") {
            return  false;
        }

        return  true;
    }

    /**
     * µ¥ÀÌÅÍ À¯È¿¼ºÀ» Ã¼Å©ÇÑ´Ù.
     *
     * @param   form
     */
    function validate(form) {
        var obj;
        var dispName;
        var dataType;
        var minValue;
        var maxValue;
        var isValid;
        var value;
        var message;
        var messageAdd;

        for (i = 0; i < form.elements.length; i++) {

            obj = form.elements[i];
            dispName = obj.getAttribute("dispName");
            if(dispName == "" || dispName == null) continue;
            obj.value = trim(obj.value); 
            dataType = obj.getAttribute("dataType");
            minValue = obj.getAttribute("minValue");
            maxValue = obj.getAttribute("maxValue");
            len      = obj.getAttribute("len");
            lenCheck = obj.getAttribute("lenCheck");
            message  = obj.getAttribute("message"); /// notNull ÀÏ¶§ »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ ¸Þ¼¼Áö¸¦ º¸¿©ÁÖ±â À§ÇØ¼­
            messageAdd  = obj.getAttribute("messageAdd"); /// notNull ÀÏ¶§ ±âº»¸Þ¼¼Áö + »ç¿ëÀÚÁ¤ÀÇ¸Þ¼¼Áö¸¦ º¸¿©ÁØ´Ù.
            value = obj.value;

            if (dispName == null) {
                dispName = obj.name;
            }

            /// ÆÛ¹Ì¼ÇÃ¼Å©[2004-08-09]
            /* »ç¿ë¹ý : Æã¼Ç¿¡¼­
            /// validation Ã¼Å©
            frm.perm.value  = "U";
            if( !validate(frm))
                return;

            <input type="hidden" name="perm" message="±ÇÇÑÀÌ ¾ø½À´Ï´Ù." perm permCheck="<%= "C|R|U|D" %>" value="">
            */
            if(obj.getAttribute("perm") != null)
            {
                var permCheck   = obj.getAttribute("permCheck");
                var permCheckName   = "";
                var permCheckArr= null;
                var isPerm      = false;

                //alert("permCheck ::"+ permCheck  +"/ obj.name ::"+ obj.name);
                if(permCheck != null && permCheck != "")
                {
                    permCheckArr    = tokenCommaPatt(permCheck, "|");
                    /// CRUD ±ÇÇÑ Ã¼Å©
                    for(var j=0; j<permCheckArr.length; j++)
                    {
                        if(obj.value == permCheckArr[j])
                        {
                            isPerm  = false;
                            break;
                        }
                        else
                            isPerm  = true;
                    }
                    if(isPerm)
                    {
                        if(obj.value == "C")
                            permCheckName   = "µî·Ï ";
                        else if(obj.value == "R")
                            permCheckName   = "Á¶È¸ ";
                        else if(obj.value == "U")
                            permCheckName   = "¼öÁ¤ ";
                        else if(obj.value == "D")
                            permCheckName   = "»èÁ¦ ";

                        if(message == null || message == "")
                            message = "±ÇÇÑÀÌ ¾ø½À´Ï´Ù.";
                        alert(permCheckName + message);
                        //obj.focus();
                        if(window.event)
                        {
                            window.event.returnValue = false;
                        }
                        return  false;
                    }

                }
            }
            /// ÆÛ¹Ì¼ÇÃ¼Å©[2004-08-09]

            // ÇÊ¼ö ÀÔ·Â Ç×¸ñ Ã¼Å©
            //if (obj.getAttribute("notNull") != null) {
            if (obj.getAttribute("isNull") == "N") {
                isValid = false;

                if (obj.type == "radio" || obj.type == "checkbox" || obj.type == "select") {
                    if (form.elements(obj.name).length) {
                        for (j = 0; j < form.elements(obj.name).length; j++) {
                            if (form.elements(obj.name)[j].checked) {
                                isValid = true;
                                break;
                            }
                        }
                    } else {
                        if (obj.checked) {
                            isValid = true;
                        }
                    }
                } else {
                    if (value != "") {
                        isValid = true;
                    } else {
                        if (obj.getAttribute("comma") != null) {
                            obj.value = 0;
                            isValid = true;
                        }
                    }
                }

                if (!isValid) {
                    if(message == "" || message == null)
                        alert(dispName + "À»(¸¦) ÀÔ·ÂÇÏ½Ê½Ã¿À."+ ((messageAdd == "" || messageAdd == null) ? "" : "\n"+ messageAdd));
                    else
                        alert(message);
                    if(obj.type != "hidden" && obj.style.visibility != "hidden")
                        obj.focus();
                    if (window.event) {
                        window.event.returnValue = false;
                    }
                    return  false;
                }
            }

            // µ¥ÀÌÅÍ ±æÀÌ Ã¼Å©
            if (len != null) {
                if (jsByteLength(value) != eval(len)) {
                    alert(dispName + "Àº(´Â) " + len + "ÀÚ¸®¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.");
                    obj.focus();
                    if (window.event) {
                        window.event.returnValue = false;
                    }
                    return  false;
                }
            }
            
            if(lenCheck != null)
            {
              if(jsByteLength(value) > eval(lenCheck))
                {
                  alert(dispName + "Àº(´Â) " + lenCheck + " ÀÚ¸®¸¦ ³ÑÀ»¼ö ¾ø½À´Ï´Ù ÇöÀç ±ÛÀÚ¼ö("+jsByteLength(value)+")");
                  obj.focus();
                  if(window.event)
                    {
                       window.event.returnValue = false;
                    }

                    return false;
                }
            }


            if (obj.type == "text") {
                // µ¥ÀÌÅÍ Å¸ÀÔ Ã¼Å©
                if (dataType == null) { // 2002.01.30 Ãß°¡
                    if (obj.readOnly == false && obj.maxLength != -1 && jsByteLength(value) > (obj.maxLength*2)) {
                        alert(dispName + " ±æÀÌ°¡ " + obj.maxLength + " À»(¸¦) ³Ñ½À´Ï´Ù.");
                        obj.focus();
                        if (window.event) {
                            window.event.returnValue = false;
                        }

                        return  false;
                    }
                } else if ((value != "") && (dataType != null)) {
                    isValid = true;
                    checkValue = false;

                    if (dataType == "date") {
                        value = deleteDateFormatStr(value);
                        isValid = isDate(value);
                        checkValue = true;
                    } else if (dataType == "email") {
                        isValid = isEmail(value);
                    } else if (dataType == "float") {
                        value = deleteCommaStr(value);
                        isValid = isFloat(value);
                        checkValue = true;
                    } else if (dataType == "integer") {
                        value = deleteCommaStr(value);
                        isValid = isInteger(value);
                        checkValue = true;
                    } else if (dataType == "number") {
                        value = deleteCommaStr(value);
                        isValid = isNumber(value);
                        checkValue = true;
                    } else if (dataType == "double") {
                        value = deleteCommaStr(value);
                        isValid = isNumber(value);
                        checkValue = true;
                    }

                    if (!isValid) {
                        alert(dispName + " Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
                        if (dataType == "float" || dataType == "integer" || dataType == "number" || dataType == "double") {
                            obj.value = "0";
                        }

                       	obj.focus();

                        if (window.event) {
                            window.event.returnValue = false;
                        }
                        return  false;
                    }

                    if (checkValue) {
                        if (minValue != null) {
                            if (eval(minValue) > eval(value)) {
                                alert(dispName + " °ªÀº ÃÖ¼Ò°ª(" + minValue + ") ÀÌ»óÀÔ´Ï´Ù.");
                                obj.focus();
                                if (window.event) {
                                    window.event.returnValue = false;
                                }
                                return  false;
                            }
                        }

                        if (isValid && (maxValue != null)) {
                            if (eval(maxValue) < eval(value)) {
                                alert(dispName + " °ªÀÌ ÃÖ´ë°ª(" + maxValue + ")À» ÃÊ°úÇÕ´Ï´Ù.");
                                obj.focus();
                                if (window.event) {
                                    window.event.returnValue = false;
                                }
                                return  false;
                            }
                        }
                    }
                }
            }

        } /// end of for()

        return  true;
    }

    /**
     * ¼ýÀÚ¿¡ comma¸¦ ºÙÀÎ´Ù.
     *
     * @param   obj
     */
    function addComma(obj) {
        obj.value = trim(obj.value);
        var value = obj.value;

        if (value == "") {
            return;
        }

        value = deleteCommaStr(value);

        if (!isFloat(value)) {
            dispName = obj.getAttribute("dispName");

            if (dispName == null) {
                dispName = "";
            }

            alert(dispName + " Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
            obj.value = "0";
            obj.focus();
            if (window.event) {
                window.event.returnValue = false;
            }
            return;
        }

        obj.value = addCommaStr(value);
    }

    /**
     * ¼ýÀÚ¿¡ comma¸¦ ºÙÀÎ´Ù.
     */
    function addComma2() {
        var obj = window.event.srcElement;
        addComma(obj);
    }

	/**
	* ¹®ÀÚ¿¡ cooma¸¦ ºÙÀÎ´Ù.
	*/
	function strComma(input) {
	    var inputString = new String;
	    var outputString = new String;
	    var counter = 0;
	    var decimalPoint = 0;
	    var end =0;
	
	    inputString=input.toString();
	    outputString='';
	    decimalPoint = inputString.indexOf('.', 1);
	    if(decimalPoint == -1) {
	        end = inputString.length;
	        for(counter=1;counter<=inputString.length; counter=counter+1) {
	            outputString = (counter%3===0  && counter<end ? ',':'')+
	                           inputString.charAt(inputString.length-counter)+
	                           outputString;
	        }
	    }else {
	        end = decimalPoint - (inputString.charAt(0)=='-' ? 1:0);
	        for(counter=1;counter<=decimalPoint;counter=counter+1) {
	            outputString=(counter%3===0&&counter<end ? ',':'')+
	                         inputString.charAt(decimalPoint-counter)+
	                         outputString;
	        }
	        for(counter=decimalPoint; counter < decimalPoint+3; counter=counter+1) {
	            outputString += inputString.charAt(counter);
	        }
	    }
	    return (outputString);
	}

    /**
     * ¼ýÀÚ¿¡ comma¸¦ ºÙÀÎ´Ù.
     *
     * @param   str
     */
    function addCommaStr(str) {
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = str.split('.');
        arrNumber[0] += '.';
        do {
            arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        } while (rxSplit.test(arrNumber[0]));

        if (arrNumber.length > 1) {
            replaceStr = arrNumber.join("");
        } else {
            replaceStr = arrNumber[0].split(".")[0];
        }
        return replaceStr;
    }

    /**
     * ¼ýÀÚ¿¡¼­ comma¸¦ ¾ø¾Ø´Ù.
     *
     * @param   obj
     */
    function deleteComma(obj) {
        obj.value = deleteCommaStr(obj.value);
    }

    /**
     * ¼ýÀÚ¿¡¼­ comma¸¦ ¾ø¾Ø´Ù.
     */
    function deleteComma2() {
        var obj = window.event.srcElement;
        deleteComma(obj);
        obj.select();
    }

    /**
     * ¼ýÀÚ¿¡¼­ comma¸¦ ¾ø¾Ø´Ù.
     *
     * @param   str
     */
    function deleteCommaStr(str) {
        var temp = '';

        for (var i = 0; i < str.length; i++) {
            if (str.charAt(i) == ',') {
                continue;
            } else {
                temp += str.charAt(i);
            }
        }

        return  temp;
    }

    /**
     * ³¯Â¥¿¡ "/"¸¦ ºÙÀÎ´Ù.
     *
     * @param   obj
     */
    function addDateFormat(obj) {
        var value = obj.value;

        if (trim(value) == "") {
            return;
        }

        value = deleteDateFormatStr(value);

        if (!isDate(value)) {
            dispName = obj.getAttribute("dispName");

            if (dispName == null) {
                dispName = "";
            }

            alert(dispName + " Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
            obj.focus();

            return;
        }

        obj.value = addDateFormatStr(value);
    }

    /**
     * ³¯Â¥(³â¿ù)¿¡ "/"¸¦ ºÙÀÎ´Ù.
     *
     * @param   obj
     */
    function addYmFormat(obj) {
        var value = obj.value;

        if (trim(value) == "") {
            return;
        }

        value = deleteDateFormatStr(value);

        if (!isDate(value + "01")) {
            dispName = obj.getAttribute("dispName");

            if (dispName == null) {
                dispName = "";
            }

            alert(dispName + " Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
            obj.focus();

            return;
        }

        obj.value = addYmFormatStr(value);
    }
    
    /**
     * ³¯Â¥¿¡ "/"¸¦ ºÙÀÎ´Ù.
     */
    function addDateFormat2() {
        var obj = window.event.srcElement;
        addDateFormat(obj);
    }

    /**
     * ³¯Â¥¿¡ "/"¸¦ ºÙÀÎ´Ù.
     */
    function addYmFormat2() {
        var obj = window.event.srcElement;
        addYmFormat(obj);
    }

    /**
     * ³¯Â¥¿¡ "-"¸¦ ºÙÀÎ´Ù.
     *
     * @param   str
     */
    function addDateFormatStr(str) {
    	if (str == null || str == "") {
    		return "";
    	}
        return  str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8);
    } 

    /**
     * ³¯Â¥¿¡ "-"¸¦ ºÙÀÌ°í ½Ã°£¿¡ ":"¸¦ ºÙÀÎ´Ù.
     *
     * @param   str
     */
    function addDateTimeFormatStr(str) {
    	if (str == null || str == "") {
    		return "";
    	}
        return  str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) 
        			+" "+ str.substring(8, 10)+ ":" + str.substring(10, 12) +":" + str.substring(12, 14) ;
    }
    
      /**
     * ³¯Â¥¿¡ "-"¸¦ ºÙÀÌ°í ½Ã°£¿¡ "( :)"¸¦ ºÙÀÎ´Ù.
     *
     * @param   str
     */
    function addDateTimeShortFormatStr(str) {
    	if (str == null || str == "") {
    		return "";
    	}
        return  str.substring(4, 6) + "-" + str.substring(6, 8) +" "+ str.substring(8, 10)+ ":" + str.substring(10, 12);
    }
    
    
    /**
     * ³¯Â¥(³â¿ù)¿¡ "-"¸¦ ºÙÀÎ´Ù.
     *
     * @param   str
     */
    function addYmFormatStr(str) {
        return  str.substring(0, 4) + "-" + str.substring(4, 6);
    }
    
     /**
     * ³¯Â¥(¿ùÀÏ)¿¡ "-"¸¦ ºÙÀÎ´Ù.
     *
     * @param   str
     */
    function addMdFormatStr(str) {
        return  str.substring(4, 6) + "-" + str.substring(6, 8);
    }

    /**
     * ³¯Â¥¿¡¼­ "/"¸¦ ¾ø¾Ø´Ù.
     *
     * @param   obj
     */
    function deleteDateFormat(obj) {
        obj.value = deleteDateFormatStr(obj.value);
    }

    /**
     * ³¯Â¥¿¡¼­ "/"¸¦ ¾ø¾Ø´Ù.
     */
    function deleteDateFormat2() {
        var obj = window.event.srcElement;
        deleteDateFormat(obj);
        obj.select();
    }

    /**
     * ³¯Â¥¿¡¼­ "/"¸¦ ¾ø¾Ø´Ù.
     *
     * @param   str
     */
    function deleteDateFormatStr(str) {
        var temp = '';

        for (var i = 0; i < str.length; i++) {
            if (str.charAt(i) == '-') {
                continue;
            } else {
                temp += str.charAt(i);
            }
        }

        return  temp;
    }

    /**
     * trim
     *
     * @param   text
     * @return  string
     */
    function trim(text) {
        if (text == "") {
            return  text;
        }

        var len = text.length;
        var st = 0;

        while ((st < len) && (text.charAt(st) <= ' ')) {
            st++;
        }

        while ((st < len) && (text.charAt(len - 1) <= ' ')) {
            len--;
        }

        return  ((st > 0) || (len < text.length)) ? text.substring(st, len) : text;
    }

    /**
     * ltrim
     *
     * @param   text
     * @return  string
     */
    function ltrim(text) {
        if (text == "") {
            return  text;
        }

        var len = text.length;
        var st = 0;

        while ((st < len) && (text.charAt(st) <= ' ')) {
            st++;
        }

        return  (st > 0) ? text.substring(st, len) : text;
    }

    /**
     * rtrim
     *
     * @param   text
     * @return  string
     */
    function rtrim(text) {
        if (text == "") {
            return  text;
        }

        var len = text.length;
        var st = 0;

        while ((st < len) && (text.charAt(len - 1) <= ' ')) {
            len--;
        }

        return  (len < text.length) ? text.substring(st, len) : text;
    }

    /**
     * ÀÌº¥Æ® ÇÚµé·¯¸¦ µî·ÏÇÑ´Ù.
     */
    function setEventHandler() {
        for (i = 0; i < document.forms.length; i++) {

            var elements = document.forms(i).elements;

            for (j = 0; j < elements.length; j++) {
                // INPUT °´Ã¼ÀÇ onblur ÀÌº¥Æ®¿¡ ÇÚµé·¯¸¦ µî·ÏÇÑ´Ù.
                if (elements(j).tagName == "INPUT") {

                    dataType = elements(j).getAttribute("dataType");

                    if (dataType == "date") {
                        elements(j).onblur = addDateFormat2;
                        elements(j).onfocus = deleteDateFormat2;
                        addDateFormat(elements(j));
                    } else if (dataType == "number" || dataType == "integer" || dataType == "float" || dataType == "double") {
                        if (elements(j).getAttribute("comma") != null) {
                            elements(j).onblur = addComma2;
                            elements(j).onfocus = deleteComma2;
                            addComma(elements(j));
                        }
                    } else if (dataType == "yyyymm") {
                        elements(j).onblur = addYmFormat2;
                        elements(j).onfocus = deleteDateFormat2;
                        addYmFormat(elements(j));
                    }
                }
            }
        }
    }

    /**
     * ÀÚ¸®¼öÀÇ ÃÖ¼Ò°ª, ÃÖ´ë°ª
     *
     * ÃÖ¼Ò°ª¸¸ Ã¼Å© : jsRange(2, -1)
     * ÃÖ´ë°ª¸¸ Ã¼Å© : jsRange(-1, 10)
     * ÃÖ¼Ò°ª, ÃÖ´ë°ª ¸ðµÎ Ã¼Å© : jsRange(2, 10)
     * ÃÖ¼Ò°ª, ÃÖ´ë°ª µÑ´Ù Ã¼Å© ¾ÈÇÔ : jsRange(-1, -1)
     * 
     */
    function jsRange(minValue, maxValue)
    {
        jsMinLength(minValue);
        jsMaxLength(maxValue);
    }

    /**
     * ÃÖ´ë°ª
     */
    function jsMaxLength(maxValue)
    {
        var obj         = window.event.srcElement;
        var dispName    = obj.getAttribute("dispName");
        //var maxValue    = obj.getAttribute("maxValue");
        var val         = jsByteLength(obj.value);

        if( val > (maxValue*2))
        {
            alert(dispName +" °ªÀÌ ÃÖ´ë°ª("+ maxValue +")À» ÃÊ°úÇÕ´Ï´Ù.\nÃÊ°ú ±æÀÌ :"+ (val - (maxValue*2)));
            //obj.value = "0";
            obj.focus();
            if(window.event)
            {
                window.event.returnValue = false;
            }
            return;
        }
    }

    /**
     * ÃÖ¼Ò°ª
     */
    function jsMinLength(minValue)
    {
        var obj         = window.event.srcElement;
        var dispName    = obj.getAttribute("dispName");
        //var minValue    = obj.getAttribute("minValue");
        var val         = jsByteLength(obj.value);
        if(minValue != -1 && val < minValue)
        {
            alert(dispName +" °ªÀÌ ÃÖ¼Ò°ª(" + minValue + ") ¹Ì¸¸ÀÔ´Ï´Ù.\nºÎÁ· ±æÀÌ :"+ (minValue - val));
            //obj.value = "0";
            obj.focus();
            if(window.event)
            {
                window.event.returnValue = false;
            }
            return;
        }
    }

    /**
     * ¼ýÀÚÀÌ¸é ¼ýÀÚ, ¼ýÀÚ°¡ ¾Æ´Ï¸é 0
     */
    function nvlNumber(val)
    {
        if(val == "" || isNaN(val) || val == "undefined")
            return 0;

        return Number(val);
    }

    /**
     * ¼ýÀÚÇü½Ä¿¡¼­ comma¸¦ ¾ø¾Ö°í, ³¯Â¥Çü½Ä¿¡¼­ "/" ¸¦ ¾ø¾Ø´Ù.
     *
     * @param   form
     */
    function makeValue(form) {
        for (i = 0; i < form.elements.length; i++) {
            obj = form.elements(i);

            if (obj.tagName == "INPUT") {
                dataType = obj.getAttribute("dataType");

                if (dataType == "date") {
                    deleteDateFormat(obj);
                } else if (dataType == "number" || dataType == "integer" || dataType == "float" || dataType == "double") {
                    if (obj.getAttribute("comma") != null) {
                        deleteComma(obj);
                    }
                } else if (dataType == "yyyymm") {
                    deleteDateFormat(obj);
                }
                /// notHyphen ÀÌ¶ó°í ¼±¾ðÇß´Ù¸é ÇÏÀÌÇÂÀ» ¸ðµÎ Á¦°ÅÇÑ´Ù.
                if(obj.getAttribute("notHyphen") != null) {
                    deleteHyphenObj(obj);
                }
            }
        }
    }

    /**
      * ¹®ÀÚ¿¡¼­ HyphenÀ» ¾ø¾Ø´Ù.
      *
      * @param  obj
      */
    function deleteHyphenObj(obj) {
        obj.value = deleteHyphen(obj.value);
    }

    /**
     * µ¥ÀÌÅÍ À¯È¿¼ºÀ» Ã¼Å©ÇÑ´Ù.
     * ÇÏ³ªÀÇ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ °ÍÀÓ.
     *
     * @param   form
     * @param   obj
     */
    function validateObj(form, obj) {

        var dispName;
        var dataType;
        var minValue;
        var maxValue;
        var isValid;
        var value;

        obj.value = trim(obj.value);
        dispName = obj.getAttribute("dispName");
        dataType = obj.getAttribute("dataType");
        minValue = obj.getAttribute("minValue");
        maxValue = obj.getAttribute("maxValue");
        len      = obj.getAttribute("len");
        value = obj.value;

        if (dispName == null) {
            dispName = obj.name;
        }

        // ÇÊ¼ö ÀÔ·Â Ç×¸ñ Ã¼Å©
        if (obj.getAttribute("notNull") != null) {
            isValid = false;

            if (obj.type == "radio" || obj.type == "checkbox") {
                if (form.elements(obj.name).length) {
                    for (j = 0; j < form.elements(obj.name).length; j++) {
                        if (form.elements(obj.name)[j].checked) {
                            isValid = true;
                            break;
                        }
                    }
                } else {
                    if (obj.checked) {
                        isValid = true;
                    }
                }
            } else {
                if (value != "") {
                    isValid = true;
                } else {
                    if (obj.getAttribute("comma") != null) {
                        obj.value = 0;
                        isValid = true;
                    }
                }
            }

            if (!isValid) {
                alert(dispName + "À»(¸¦) ÀÔ·ÂÇÏ½Ê½Ã¿À.");
                obj.focus();
                if (window.event) {
                    window.event.returnValue = false;
                }
                return  false;
            }
        }

        // µ¥ÀÌÅÍ ±æÀÌ Ã¼Å©
        if (len != null) {
            if (jsByteLength(value) != eval(len)) {
                alert(dispName + "Àº(´Â) " + len + "ÀÚ¸®¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.");
                obj.focus();
                if (window.event) {
                    window.event.returnValue = false;
                }
                return  false;
            }
        }

        if (obj.type == "text") {
            // µ¥ÀÌÅÍ Å¸ÀÔ Ã¼Å©
            if ((value != "") && (dataType != null)) {
                isValid = true;
                checkValue = false;

                if (dataType == "date") {
                    value = deleteDateFormatStr(value);
                    isValid = isDate(value);
                    checkValue = true;
                } else if (dataType == "email") {
                    isValid = isEmail(value);
                } else if (dataType == "float") {
                    value = deleteCommaStr(value);
                    isValid = isFloat(value);
                    checkValue = true;
                } else if (dataType == "integer") {
                    value = deleteCommaStr(value);
                    isValid = isInteger(value);
                    checkValue = true;
                } else if (dataType == "number") {
                    value = deleteCommaStr(value);
                    isValid = isNumber(value);
                    checkValue = true;
                } else if (dataType == "double") {
                    value = deleteCommaStr(value);
                    isValid = isNumber(value);
                    checkValue = true;
                }

                if (!isValid) {
                    alert(dispName + " Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
                    if (dataType == "float" || dataType == "integer" || dataType == "number" || dataType == "double") {
                        obj.value = "0";
                    }
                    obj.focus();
                    if (window.event) {
                        window.event.returnValue = false;
                    }
                    return  false;
                }

                if (checkValue) {
                    if (minValue != null) {
                        if (eval(minValue) > eval(value)) {
                            alert(dispName + " °ªÀÌ ÃÖ¼Ò°ª(" + minValue + ") ¹Ì¸¸ÀÔ´Ï´Ù.");
                            obj.focus();
                            if (window.event) {
                                window.event.returnValue = false;
                            }
                            return  false;
                        }
                    }

                    if (isValid && (maxValue != null)) {
                        if (eval(maxValue) < eval(value)) {
                            alert(dispName + " °ªÀÌ ÃÖ´ë°ª(" + maxValue + ")À» ÃÊ°úÇÕ´Ï´Ù.");
                            obj.focus();
                            if (window.event) {
                                window.event.returnValue = false;
                            }
                            return  false;
                        }
                    }
                }
            }
        }

        return  true;
    }

    /**
     * ¼ýÀÚÇü½Ä¿¡¼­ comma¸¦ ¾ø¾Ö°í, ³¯Â¥Çü½Ä¿¡¼­ "/" ¸¦ ¾ø¾Ø´Ù.
     * ÇÏ³ªÀÇ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ °ÍÀÓ.
     *
     * @param   form
     * @param   obj
     */
    function makeValueObj(form, obj) {
        if (obj.tagName == "INPUT") {
            dataType = obj.getAttribute("dataType");

            if (dataType == "date") {
                deleteDateFormat(obj);
            } else if (dataType == "number" || dataType == "integer" || dataType == "float" || dataType == "double") {
                if (obj.getAttribute("comma") != null) {
                    deleteComma(obj);
                }
            }
        }
    }

     /**
      * ¹®ÀÚ¿¡¼­ HyphenÀ» ¾ø¾Ø´Ù.
      *
      * @param   str
      */
    function deleteHyphen(str) {
        var temp = '';

        for (var i = 0; i < str.length; i++) {
            if (str.charAt(i) == '-') {
                continue;
            } else {
                temp += str.charAt(i);
            }
        }

        return  temp;
    }

    /**
     * ÁÖ¹Îµî·Ï¹øÈ£&»ç¾÷ÀÚ¹øÈ£¿¡ '-'³Ö±â
     */
     function setJuminHyphen(obj) {
        var str = deleteHyphen(obj.value);

        if(str.length == 13) {  // ÁÖ¹Îµî·Ï¹øÈ£  6-7
            str = str.substring(0, 6) + "-" + str.substring(6);
        }else if(str.length == 10) { // »ç¾÷ÀÚ¹øÈ£ 3-2-5
            str = str.substring(0, 3) + "-"+ str.substring(3, 5) + "-"+ str.substring(5);
        }
        obj.value = str;
     }

    /** 
     * ¹ýÀÎ¹øÈ£ ¿¡ '-'³Ö±â
     */
    function setPupinHyphen(obj) {
        var str = deleteHyphen(obj.value);

        if(str.length == 13) {  // ÁÖ¹Îµî·Ï¹øÈ£  6-7
            str = str.substring(0, 6) + "-" + str.substring(6);
        }
        obj.value = str;
    }

    /**
     * ³³ÀÔÁÖ±â¿¡ µû¸¥ ÀÌÀ²À» °è»êÇÑ´Ù.
     * (¼Ò¼ö·Î ¹ÝÈ¯ÇÑ´Ù.)
     *
     * @param   currencyCd ÅëÈ­
     * @param   yRate ³âÀÌÀ²
     * @param   term ³³ÀÔÁÖ±â
     * @return  ¼Ò¼ö ÀÌÀ²
     */
    function jsRateCalc(currencyCd, yRate, term) {

        var yday = jsYdayCalc(currencyCd);
        var rate = eval((yRate / 100) * (term / 12) * (365 / yday));

        return  rate;
    }

    /**
     * ±Ý¾×À» ´Ü¼ö Ã³¸®ÇÑ´Ù.
     *
     * ¿øÈ­(WON)
     *
     *  ´Ü¼ö´ÜÀ§
     *      0 - ¿ø¹Ì¸¸
     *      1 - ½Ê¿ø¹Ì¸¸
     *      2 - ¹é¿ø¹Ì¸¸
     *      3 - Ãµ¿ø¹Ì¸¸
     *      4 - ¸¸¿ø¹Ì¸¸
     *
     *  ´Ü¼öÃ³¸®
     *      1 - ¹Ý¿Ã¸²
     *      2 - Àý»ó
     *      3 - Àý»ç
     *
     * ¿ÜÈ­
     *
     *  ´Ü¼ö´ÜÀ§
     *      0 - ¼Ò¼öÁ¡ 0 ¹Ì¸¸
     *      1 - ¼Ò¼öÁ¡ 1 ¹Ì¸¸
     *      2 - ¼Ò¼öÁ¡ 2 ¹Ì¸¸
     *
     *  ´Ü¼öÃ³¸®
     *      1 - ¹Ý¿Ã¸²
     *      2 - Àý»ó
     *      3 - Àý»ç
     * @param   currency ÅëÈ­ (text)
     * @param   amt ±Ý¾× (text)
     * @param   unit ´Ü¼ö´ÜÀ§ (text)
     * @param   method ´Ü¼öÃ³¸® (text)
     */
    function jsTruncAmt(currency, amt, unit, method) {

        var after = eval(amt);

        if (currency == "WON") {

            after /= Math.pow(10, eval(unit));

            if (method == "1") {
                after = Math.round(after);
            } else if (method == "2") {
                after = Math.ceil(after);
            } else if (method == "3") {
                after = Math.floor(after);
            }

            after *= Math.pow(10, eval(unit));
        } else {
            after *= Math.pow(10, eval(unit));

            if (method == "1") {
                after = Math.round(after);
            } else if (method == "2") {
                after = Math.ceil(after);
            } else if (method == "3") {
                after = Math.floor(after);
            }

            after /= Math.pow(10, eval(unit));
        }

        return  after;
    }

    /**
     * StringÀÌ nullÀÎ °æ¿ì '0'À¸·Î ¹Ù²Ù¾î ÁØ´Ù.
     *
     * @param   string
     * @return  String
     */
    function jsNumnvl(str) {
        if(str == null || str == "") {
            return "0";
        }
        return  str;
    }

    function jsNvl(str) {
        if(str == null) {
            return "";
        }
        return  str;
    }

    /**
     * Æû ¾ÈÀÇ ¼ýÀÚ ¿ÀºêÁ§Æ®¿¡ ÄÞ¸¶¸¦ ºÙ¿©ÁØ´Ù.
     */
    function setComma() {

        for (i = 0; i < document.forms.length; i++) {
            var elements = document.forms(i).elements;
            for (j = 0; j < elements.length; j++) {
                if (elements(j).tagName == "INPUT") {
                    dataType = elements(j).getAttribute("dataType");
                    if (dataType == "number" || dataType == "integer" ||
                    dataType == "float" || dataType == "double") {
                        if (elements(j).getAttribute("comma") != null) {
                            addComma(elements(j));
                        }
                    }
                }
            }
        }
    }

    /**
     * ÀÏ¼ö¸¦ °è»êÇÑ´Ù.(ÃÊÀÏ»êÀÔ ¸»ÀÏºÒ»êÀÔ)
     *
     * @param   from ½ÃÀÛÀÏ
     * @param   to Á¾·áÀÏ
     * @return  ÀÏ¼ö
     */
    function jsGetDays(from, to) {

        var fromDt = deleteDateFormatStr(from);
        var toDt = deleteDateFormatStr(to);
        var days = 0 ;

        var fromYy = eval(fromDt.substring(0,4));
        var fromMm = eval(fromDt.substring(4,6) - 1);
        var fromDd = eval(fromDt.substring(6,8));

        var toYy = eval(toDt.substring(0,4));
        var toMm = eval(toDt.substring(4,6) - 1);
        var toDd = eval(toDt.substring(6,8));

        var fromDate = new Date(fromYy, fromMm, fromDd) ;
        var toDate = new Date(toYy, toMm, toDd) ;

        days = ((toDate - fromDate) / 60 / 60 / 24 / 1000);

        return  days;
    }

    /**
     * ºñ¹Ð¹øÈ£ Ã¼Å©
     */
    function passChk(p_id, p_pass, obj) {

        var cnt = 0;
        var cnt2 = 1;
        var cnt3 = 1;
        var temp = "";
        
        /* ºñ¹Ð¹øÈ£¿¡¿¡ ¼ýÀÚ¸¸ ÀÔ·ÂµÇ´Â°ÍÀ» Ã¼Å© - ÀÌÇõ*/
        regNum = /^[0-9]+$/gi;
        bNum = regNum.test(p_pass);
        if(bNum) {
            alert('ºñ¹Ð¹øÈ£´Â ¼ýÀÚ¸¸À¸·Î ±¸¼ºÇÏ½Ç¼ö´Â ¾ø½À´Ï´Ù.');
               obj.focus();
            return false;
        }
        /* ºñ¹Ð¹øÈ£¿¡¿¡ ¹®ÀÚ¸¸ ÀÔ·ÂµÇ´Â°ÍÀ» Ã¼Å© - ÀÌÇõ*/
        regNum = /^[a-zA-Z]+$/gi;
        bNum = regNum.test(p_pass);
        if(bNum) {
            alert('ºñ¹Ð¹øÈ£´Â ¹®ÀÚ¸¸À¸·Î ±¸¼ºÇÏ½Ç¼ö´Â ¾ø½À´Ï´Ù.');
               obj.focus();
            return false;
        }

        for(var i = 0; i < p_id.length; i++) {
            temp_id = p_id.charAt(i);

            for(var j = 0; j < p_pass.length; j++) {
                if (cnt > 0) {
                    j = tmp_pass_no + 1;
                }

                if (temp == "r") {
                    j=0;
                    temp="";
                }

                temp_pass = p_pass.charAt(j);

                if (temp_id == temp_pass){
                    cnt = cnt + 1;
                    tmp_pass_no = j;
                    break;
                } else if (cnt > 0 && j > 0){
                    temp="r";
                    cnt = 0;
                } else {
                    cnt = 0;
                }
            }

            if (cnt > 3) {
                break;
            }
        }

        if (cnt > 3){
            alert("ºñ¹Ð¹øÈ£°¡ ID¿Í 4ÀÚ ÀÌ»ó Áßº¹µÇ°Å³ª, \n¿¬¼ÓµÈ ±ÛÀÚ³ª ¼øÂ÷ÀûÀÎ ¼ýÀÚ¸¦ 4°³ÀÌ»ó »ç¿ëÇØ¼­´Â ¾ÈµË´Ï´Ù.");
            obj.focus();
            return  false;
        }

        for(var i = 0; i < p_pass.length; i++) {
            temp_pass1 = p_pass.charAt(i);
            next_pass = (parseInt(temp_pass1.charCodeAt(0)))+1;
            temp_p = p_pass.charAt(i+1);
            temp_pass2 = (parseInt(temp_p.charCodeAt(0)));

            if (temp_pass2 == next_pass) {
                cnt2 = cnt2 + 1;
            } else {
                cnt2 = 1;
            }

            if (temp_pass1 == temp_p) {
                cnt3 = cnt3 + 1;
            } else {
                cnt3 = 1;
            }

            if (cnt2 > 3) {
                break;
            }

            if (cnt3 > 3) {
                break;
            }
        }

        if (cnt2 > 3){
            alert("ºñ¹Ð¹øÈ£¿¡ ¿¬¼ÓµÈ ±ÛÀÌ³ª ¼øÂ÷ÀûÀÎ ¼ýÀÚ¸¦ 4°³ÀÌ»ó »ç¿ëÇØ¼­´Â ¾ÈµË´Ï´Ù.");
            obj.focus();
            return  false;
        }

        if (cnt3 > 3){
            alert("ºñ¹Ð¹øÈ£¿¡ ¹Ýº¹µÈ ¹®ÀÚ/¼ýÀÚ¸¦ 4°³ÀÌ»ó »ç¿ëÇØ¼­´Â ¾ÈµË´Ï´Ù.");
            obj.focus();
            return  false;
        }

        return true;
    }

    /**
     * ºê¶ó¿ìÀúÀÇ ¹öÀüÀ» Ã¼Å©ÇÑ´Ù.
     *
     * @param   none
     * @return  none
     */
    function objDetectBrowser() {
        var strUA, s, i;
        this.isIE = false;  // ÀÎÅÍ³Ý ÀÍ½ºÇÃ·Î·¯ÀÎÁö¸¦ ³ªÅ¸³»´Â ¼Ó¼º
        this.isNS = false;  // ³Ý½ºÄÉÀÌÇÁÀÎÁö¸¦ ³ªÅ¸³»´Â ¼Ó¼º
        this.version = null; // ºê¶ó¿ìÀú ¹öÀüÀ» ³ªÅ¸³»´Â ¼Ó¼º

        // Agent Á¤º¸¸¦ ´ã°í ÀÖ´Â ¹®ÀÚ¿­.
        strUA = navigator.userAgent; 

        s = "MSIE";
        // Agent ¹®ÀÚ¿­(strUA) "MSIE"¶õ ¹®ÀÚ¿­ÀÌ µé¾î ÀÖ´ÂÁö Ã¼Å©

        if ((i = strUA.indexOf(s)) >= 0) {
            this.isIE = true;
            // º¯¼ö i¿¡´Â strUA ¹®ÀÚ¿­ Áß MSIE°¡ ½ÃÀÛµÈ À§Ä¡ °ªÀÌ µé¾îÀÖ°í,
            // s.length´Â MSIEÀÇ ±æÀÌ Áï, 4°¡ µé¾î ÀÖ´Ù.
            // strUA.substr(i + s.length)¸¦ ÇÏ¸é strUA ¹®ÀÚ¿­ Áß MSIE ´ÙÀ½¿¡ 
            // ³ª¿À´Â ¹®ÀÚ¿­À» Àß¶ó¿Â´Ù.
            // ±× ¹®ÀÚ¿­À» parseFloat()·Î º¯È¯ÇÏ¸é ¹öÀüÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù.
            this.version = parseFloat(strUA.substr(i + s.length));
            return;
        }

        s = "Netscape6/";
        // Agent ¹®ÀÚ¿­(strUA) "Netscape6/"ÀÌ¶õ ¹®ÀÚ¿­ÀÌ µé¾î ÀÖ´ÂÁö Ã¼Å©

        if ((i = strUA.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = parseFloat(strUA.substr(i + s.length));
            return;
        }

        // ´Ù¸¥ "Gecko" ºê¶ó¿ìÀú´Â NS 6.1·Î Ãë±Þ.

        s = "Gecko";
        if ((i = strUA.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = 6.1;
            return;
        }
    }

  /**
   * È­¸é Å©±â¸¦ 1024*768·Î °íÁ¤ ½ÃÅ²´Ù.
   */
  function fixScreen(){
    if ((screen.availWidth >= 1024) & (screen.availHeight >= 768)){
      availX = 1024;
      availY = 768;
      screenX = screen.availWidth;
      screenY = screen.availHeight;
      windowX = (screenX - availX)/2;
      windowY = (screenY - availY)/2;
    }
    else {
      //availX = 1024;
      //availY = 768;
      availX = screen.availWidth;
      availY = screen.availHeight;
      windowX = 0;
      windowY = 0;
    }
    moveTo(windowX,windowY);
    resizeTo(availX, availY);
  }

    /**
     * sub È­¸éÀ» °¡¿îµ¥¿¡ À§Ä¡ ½ÃÅ²´Ù.
     * centerSubWindow(winName, wx, wy)
     * winName : ¼­ºêÀ©µµ¿ìÀÇ ÀÌ¸§
     * ww : ¼­ºêÀ©µµ¿ì·Î ¿­ Ã¢ÀÇ ³Êºñ
     * wh : ¼­ºêÀ©µµ¿ì·Î ¿­ Ã¢ÀÇ ³ôÀÌ
     */
    function centerSubWindow(winName, ww, wh){
        if (document.layers) {
            sw = screen.availWidth;
            sh = screen.availHeight;
        }
        if (document.all) {
            sw = screen.width;
            sh = screen.height;
        }

        w = (sw - ww)/2;
        h = (sh - wh)/2;
        winName.moveTo(w,h);
    }   

    /**
     * ¹®ÀÚ¿­¿¡¼­ »èÁ¦¸¦ ¿øÇÏ´Â ¹®ÀÚ¸¦ »èÁ¦ÇÑ´Ù.
     *
     * @param   val ¹®ÀÚ¿­
     * @param   str »èÁ¦ÇÒ ¹®ÀÚ
     */
    function jsTrim(val, str) {
        var temp  = val.value;
        temp = temp.split(str);

        val.value = temp.join("");
    }

    /**
     * Æû ÀüÃ¼¸¦ ÀÐ±âÀü¿ëÀ¸·Î ¸¸µç´Ù.
     *
     * @param    form¸í
     */
    function setAllDisabled(tform) {
        var len = tform.elements.length;
        alert("len ::"+ len);
        for(i=0; i<len; i++) {
            if(tform.elements[i].type == "text" || tform.elements[i].type == "select-one" 
               || tform.elements[i].type == "textarea" || tform.elements[i].type == "file" 
               || tform.elements[i].type == "radio" || tform.elements[i].type == "checkbox") {
                 tform.elements[i].disabled = true;
            }
        }
    }

    /**
     * Æû ÀüÃ¼¸¦ ÀÐ±âÀü¿ëÀ» Á¤»óÀ¸·Î µ¹·Á ³õ´Â´Ù.
     *
     * @param    form¸í
     */
    function setAllEnabled(tform) {
        var len = tform.elements.length;
        for(i=0; i<len; i++) {
            if(tform.elements[i].type == "text" || tform.elements[i].type == "select-one" 
               || tform.elements[i].type == "textarea" || tform.elements[i].type == "file" 
               || tform.elements[i].type == "radio" || tform.elements[i].type == "checkbox") {
                 tform.elements[i].disabled = false;
            }
        }
    }

    /**
     * tokenCommaPatt
     *
     * @param    val
     * @param    patt
     * @ String valÀ» String patt·Î ±¸ºÐÇÏ¿©¹è¿­·Î ¸®ÅÏÇÑ´Ù.
     * example
     *  var TestArray = tokenCommaPatt( "abcd efgh ijkl", " ")
     *  TestArray[0] = "abcd";
     *  TestArray[1] = "efgh";
     *  TestArray[2] = "ijkl";
     */
    function tokenCommaPatt(val, patt){
        var i = 0, iFst = 0; 
        var sCheckValue = val;
        var arrRst = new Array();
        while( ( iFst = sCheckValue.indexOf( patt ) ) >= 0 ) {
            arrRst[i++] = sCheckValue.substring( 0 , iFst );
            sCheckValue = sCheckValue.substring( iFst + patt.length ,  sCheckValue.length );
            }
        arrRst[i] = sCheckValue;
        return arrRst;
    }

    /**
     * ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö Ã¼Å© ÇÑ´Ù.
     *
     * @param    num
     * @return   boolean
     */
    function isNumber2(num){
        var inText = num.value;
        var ret;

        for (var i = 0; i < inText.length; i++) {
            ret = inText.charCodeAt(i);
            if (!((ret > 47) && (ret < 58)))  {
                alert("¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
                num.value = "";
                num.focus();
                return false;
            }
        }
        return true;
    }

    /**
     * ÇÑ±Û·Î¸¸ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö Ã¼Å© ÇÑ´Ù.
     *
     * @param    han
     * @return   boolean
     */
    function isHangul(han) {
        var inText = han.value;
        var ret;

        ret = inText.charCodeAt();
        if (ret > 31 && ret < 127) {
            alert("ÇÑ±Û¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
            han.value = "";
            han.focus();
            return false;
        }

        return true;
    } 

   /**
    * ¿µ¹®Ä³¸¯ÅÍÀÎÁö Ã¼Å©(´ë¹®ÀÚ)
    *
    * param obj
    * return 
    */
    function checkChar(obj)
    {
        var strValue = obj.value

        var retChar = strValue.toUpperCase();

        if (retChar <  "A" || retChar  > "Z")
        {
            alert("¿µ¹®ÀÚ¸¸ ÀÔ·ÂÀÌ °¡´ÉÇÕ´Ï´Ù.");
            obj.value = "";
            obj.focus();
            return;
        }
        obj.value = retChar;
    }
    
    /**
     * Å°º¸µå ÀÔ·Â½Ã ¼ýÀÚ¸¸ ÀÔ·Â °¡´É
     */
    function onlyNumber(){
        if ((event.keyCode >= 32 && event.keyCode < 48)
            || (event.keyCode > 57 && event.keyCode < 65)
            || (event.keyCode > 90 && event.keyCode < 97)
            || (event.keyCode >= 97 && event.keyCode <= 122)
            || (event.keyCode >= 65 && event.keyCode <= 90))
            event.returnValue = false;
    }

    /**
     * Å°º¸µå ÀÔ·Â½Ã ¼öÀÚ ¹× ','°¡ ÀÔ·Â °¡´É
     */
    function AmtNumber(){
        if ((event.keyCode >= 32 && event.keyCode < 44)
            || (event.keyCode >= 45 && event.keyCode < 48)
            || (event.keyCode > 57 && event.keyCode < 65)
            || (event.keyCode > 90 && event.keyCode < 97)
            || (event.keyCode >= 97 && event.keyCode <= 122)
            || (event.keyCode >= 65 && event.keyCode <= 90))
            event.returnValue = false;
    }

    /**
     * Å°º¸µå ÀÔ·Â½Ã ¼öÀÚ ¹× '.'°¡ ÀÔ·Â °¡´É
     */
    function RateNumber(){
        if ((event.keyCode >= 32 && event.keyCode < 46)
            || (event.keyCode >= 47 && event.keyCode < 48)
            || (event.keyCode > 57 && event.keyCode < 65)
            || (event.keyCode > 90 && event.keyCode < 97)
            || (event.keyCode >= 97 && event.keyCode <= 122)
            || (event.keyCode >= 65 && event.keyCode <= 90))
            event.returnValue = false;
    }

    /**
     * ¼ýÀÚÇü½Ä¿¡ nullÀÌ ÀÔ·ÂµÇ¸é 0À¸·Î ¼ÂÆÃÇÑ´Ù.
     *
     * @param   form
     */
    function setZero(form) {
        for (i = 0; i < form.elements.length; i++) {
            obj = form.elements(i);

            if (obj.tagName == "INPUT") {
                dataType = obj.getAttribute("dataType");

                if (dataType == "number" || dataType == "integer" || dataType == "float" || dataType == "double") {
                    if (obj.value == null || obj.value == "") {
                        obj.value = "0";
                    }
                } 
            }
        }
    }

    /* ³¯Â¥°ü·Ã *******************************************************************************/
    var dateBase  = new Date();

    /**
     * ³â
     */
    function getYear()
    {
        return dateBase.getFullYear();
    }

    /**
     * ¿ù
     */
    function getMonth()
    {
        var month = dateBase.getMonth()+1;
        if (("" + month).length == 1)
            month = "0" + month;
        return month;
    }

    /**
     * ÀÏ
     */
    function getDay()
    {
        var day = dateBase.getDate();
        if(("" + day).length == 1)
            day   = "0" + day;
        return day;
    }

    /**
     * ÇöÀçÀÏºÎÅÍ Æ¯Á¤ÀÏÀÚ ÀÌÀü(0), ÀÌÈÄ(1)ÀÇ ³¯Â¥¸¦ ¸®ÅÏÇÑ´Ù.(YYYYMMDD)
     */
    function getIntervalDate(term, isPrevNext)
    {
        var year2, month2, day2;
        var dt = new Date(getMonth() +"-"+ getDay() +"-"+ getYear());
        var anyTime;
        var anyDate;
        if(isPrevNext == "0") /// ÀÌÀü
            anyTime = dt.getTime() - (term) * 1000 * 3600 * 24;
        else /// ÀÌÈÄ
            anyTime = dt.getTime() + (term) * 1000 * 3600 * 24;
        anyDate = new Date();
        anyDate.setTime(anyTime);
        year2 = ( (anyDate.getYear()<100) ? "19"+ anyDate.getYear() : anyDate.getYear() );
        month2 = anyDate.getMonth()+1;
        day2 = anyDate.getDate();
        if (("" + month2).length == 1)
            month2 = "0" + month2;
        if(("" + day2).length == 1)
            day2   = "0" + day2;
        //alert("["+ year2 +"/"+ month2 +"/"+ day2 +"]");

        return year2 +""+ month2 +""+ day2;
    }

    /**
     * ±âÁØÀÏºÎÅÍ Æ¯Á¤ÀÏÀÚ ÀÌÀü(0), ÀÌÈÄ(1)ÀÇ ³¯Â¥¸¦ ¸®ÅÏÇÑ´Ù.(YYYYMMDD)
     */
    function getIntervalDate2(kijunDate, term, isPrevNext)
    {
        var year2, month2, day2;
        var dt = toTimeObject(deleteDateFormatStr(kijunDate) +"0000");
        var anyTime;
        var anyDate;
        if(isPrevNext == "0") /// ÀÌÀü
            anyTime = dt.getTime() - (term) * 1000 * 3600 * 24;
        else /// ÀÌÈÄ
            anyTime = dt.getTime() + (term) * 1000 * 3600 * 24;
        anyDate = new Date();
        anyDate.setTime(anyTime);
        year2 = ( (anyDate.getYear()<100) ? "19"+ anyDate.getYear() : anyDate.getYear() );
        month2 = anyDate.getMonth()+1;
        day2 = anyDate.getDate();
        if (("" + month2).length == 1)
            month2 = "0" + month2;
        if(("" + day2).length == 1)
            day2   = "0" + day2;
        //alert("["+ year2 +"/"+ month2 +"/"+ day2 +"]");

        return year2 +""+ month2 +""+ day2;
    }

    /**
     * ±âÁØÀÏºÎÅÍ Æ¯Á¤ÀÏÀÚ ÀÌÀü(0), ÀÌÈÄ(1)ÀÇ °³¿ù¼ö ¸¸Å­ Â÷ÀÌ³ª´Â ³¯Â¥¸¦ ¸®ÅÏÇÑ´Ù.(YYYYMMDD)
     */
    function getIntervalMonth(kijunDate, term, isPrevNext)
    {
        var kijunDate   = deleteDateFormatStr(kijunDate);
        var year        = kijunDate.substring(0,4); /// ³â
        var month       = kijunDate.substring(4,6); /// ¿ù
        var date        = kijunDate.substring(6,8); /// ÀÏ
        var addMonth;
        var addYear;
        var tempYear;
        var tempMonth;
        var rtnDate;

        if(isPrevNext == "0") /// ÀÌÀü
        {
            addMonth    = eval(month) - eval(term);
            addYear     = Math.floor(eval(addMonth/12)); /// »©ÁÙ ³âµµ °è»ê
            tempYear    = eval(addYear) + eval(addMonth%12);
            if(tempYear > 0)
            {
                tempMonth   = eval(tempYear%13);
            }
            else
            {
                tempMonth   = eval(12 + addMonth%12);
                if(tempYear == 0)
                    addYear     = addYear-1;
            }
        }
        else /// ÀÌÈÄ
        {
            addMonth    = eval(month) + eval(term);
            addYear     = Math.floor(eval(addMonth/13)); /// ´õÇØÁÙ ³âµµ °è»ê
            tempYear    = eval(addYear) + eval(addMonth%13);

            if(tempYear < 13)
            {
                tempMonth   = eval(tempYear%13);
            }
            else
            {
                tempMonth   = eval(tempYear%13 +1);
                addYear     = addYear+1;
            }
        }

        tempMonth   = tempMonth + ""; /// ±æÀÌ¸¦ ¾Ë¾Æº¸±âÀ§ÇØ stringÀ¸·Î ¹Ù²ãÁÜ.
        if(tempMonth.length == 1)
        {
            tempMonth = "0" + tempMonth;
        }
        /// ÇØ´ç¿ù¿¡ ÇØ´çÀÏÀÌ Á¸ÀçÇÏ´ÂÁö Ã¼Å©ÇÏ°í Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é ¸¶Áö¸· ÀÏÀ» °¡Á®¿Â´Ù.
        if( !isValidDay(eval(year) + eval(addYear), tempMonth, date))
            date = getLastDay(eval(year) + eval(addYear), tempMonth);

        rtnDate = eval(year) + eval(addYear) +""+ tempMonth +""+ date;
        //alert(">³¯Â¥ ::"+ rtnDate);

        return rtnDate;
    }

    /**
     * Time ½ºÆ®¸µÀ» ÀÚ¹Ù½ºÅ©¸³Æ® Date °´Ã¼·Î º¯È¯
     *
     * parameter time: Time Çü½ÄÀÇ String
     */
    function toTimeObject(time)
    { //parseTime(time)
        var year  = time.substr(0,4);
        var month = time.substr(4,2) - 1; // 1¿ù=0,12¿ù=11
        var day   = time.substr(6,2);
        var hour  = time.substr(8,2);
        var min   = time.substr(10,2);

        return new Date(year,month,day,hour,min);
    }
    
    
    /**
     * ½ÃºÐÃÊ +,- °è»ê
     *
     * parameter preTime ,operator(¿¬»êÀÚ) , nextTime
     */
    function timeCalculable(preTime,operator,nextTime) {
		var pre_hour	= parseInt(preTime.substring(0,2));
		var pre_min		= parseInt(preTime.substring(2,4));
		var pre_sec		= parseInt(preTime.substring(4,6));

		var next_hour	= parseInt(nextTime.substring(0,2));
		var next_min	= parseInt(nextTime.substring(2,4));
		var next_sec	= parseInt(nextTime.substring(4,6));
		
		var pre_total	= (pre_hour * 3600) + (pre_min * 60) + (pre_sec);
		var next_total	= (next_hour * 3600) + (next_min * 60) + (next_sec);
		
		var result_time = "";
		if(operator == "+")				result_time	= next_total + pre_total;
		else if (operator == "-")		result_time	= next_total - pre_total;
		
        return result_time;
    }

    /**
     * ÀÚ¹Ù½ºÅ©¸³Æ® Date °´Ã¼¸¦ Time ½ºÆ®¸µÀ¸·Î º¯È¯
     *
     * parameter date: JavaScript Date Object
     */
    function toTimeString(date)
    { //formatTime(date)
        var year  = date.getFullYear();
        var month = date.getMonth() + 1; // 1¿ù=0,12¿ù=11ÀÌ¹Ç·Î 1 ´õÇÔ
        var day   = date.getDate();
        var hour  = date.getHours();
        var min   = date.getMinutes();

        if(("" + month).length == 1) { month = "0" + month; }
        if(("" + day).length   == 1) { day   = "0" + day;   }
        if(("" + hour).length  == 1) { hour  = "0" + hour;  }
        if(("" + min).length   == 1) { min   = "0" + min;   }

        return ("" + year + month + day + hour + min)
    }

    /**
     * À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ¿ù(êÅ)ÀÎÁö Ã¼Å©
     */
    function isValidMonth(mm)
    {
        var m = parseInt(mm,10);
        return (m >= 1 && m <= 12);
    }

    /**
     * À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ÀÏ(ìí)ÀÎÁö Ã¼Å©
     */
    function isValidDay(yyyy, mm, dd)
    {
        var m = parseInt(mm,10) - 1;
        var d = parseInt(dd,10);

        var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
        if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
            end[1] = 29;
        }

        return (d >= 1 && d <= end[m]);
    }

    /**
     * ÇØ´ç ¿ùÀÇ ¸¶Áö¸· ÀÏÀ» °¡Á®¿Â´Ù.
     */
    function getLastDay(yyyy, mm)
    {
        var m = parseInt(mm,10) - 1;
        var d;

        var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
        if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
            end[1] = 29;
        }
        for(var i=0; i<end.length; i++)
        {
            if(m == i)
                d = end[i];
        }
        //alert("d ::"+ d);

        return d;
    }

    /**
     * À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ½Ã(ãÁ)ÀÎÁö Ã¼Å©
     */
    function isValidHour(hh)
    {
        var h = parseInt(hh,10);
        return (h >= 1 && h <= 24);
    }

    /**
     * À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ºÐ(ÝÂ)ÀÎÁö Ã¼Å©
     */
    function isValidMin(mi)
    {
        var m = parseInt(mi,10);
        return (m >= 1 && m <= 60);
    }

    /**
     * ÇöÀç³¯Â¥¸¦ ¸®ÅÏÇÑ´Ù.
     *
     */
    function getCurDate()
    {
        var date  = new Date();
        var year  = date.getFullYear();
        var month = date.getMonth() + 1; // 1¿ù=0,12¿ù=11ÀÌ¹Ç·Î 1 ´õÇÔ
        var day   = date.getDate();
        var hour  = date.getHours();
        var min   = date.getMinutes();

        if (("" + month).length == 1) { month = "0" + month; }
        if (("" + day).length   == 1) { day   = "0" + day;   }
        if (("" + hour).length  == 1) { hour  = "0" + hour;  }
        if (("" + min).length   == 1) { min   = "0" + min;   }

        return ("" + year + month + day)
    }
    /* ³¯Â¥°ü·Ã *******************************************************************************/

    /**
     * ³¯Â¥¸¦ Ã¼Å©ÇÏ¿© ±Ý¿ùÀ» return
     *
     * @param       ³¯Â¥
     */
    function jsThisMonth(nowDate) {
        var form = document.form1;
        
        var nowYear = nowDate.substring(0, 4);
        var nowMonth = nowDate.substring(4, 6);
        var nowDay = nowDate.substring(6, 8);
        var newDay = "";
        
        for(var i=28; i<=31; i++) {
            if (isDate(nowYear + nowMonth + i)) {
                newDay = i + "";
            }
        }

        form.fromDate.value = addDateFormatStr(nowYear + nowMonth + "01");
        form.toDate.value = addDateFormatStr(nowYear + nowMonth + newDay);
    }

    /**
     * ³¯Â¥¸¦ Ã¼Å©ÇÏ¿© ±ÝÁÖ¸¦ return
     *
     * @param       ³¯Â¥
     */
    function jsThisWeek(nowDate) {
        var form = document.form1;

        var dateWeek = getDateWeek(nowDate);
        var monday = Number(nowDate) - dateWeek + 1;
        var sunday = monday + 6 ;

        form.fromDate.value = addDateFormatStr(monday + "");
        form.toDate.value = addDateFormatStr(sunday + "");
    }

    /**
     * ³¯Â¥¸¦ Ã¼Å©ÇÏ¿© ±ÝÀÏ¸¦ return
     *
     * @param       ³¯Â¥
     */
    function jsThisDay(nowDate) {
        var form = document.form1;

        form.fromDate.value = addDateFormatStr(nowDate);
        form.toDate.value = addDateFormatStr(nowDate);
    }
    
    /**
     * ÁöÁ¤ÇÑ ³¯Â¥ÀÇ ¿äÀÏ(1 -> ¿ù, ~ 7 -> ÀÏ)
     *
     * @param       ³¯Â¥
     */
    function getDateWeek(val){
        var day;
        var d = new Date(); 

        d.setUTCFullYear(Number(val.substring(0, 4)));
        d.setUTCMonth(Number(val.substring(4, 6)) - 1);
        d.setUTCDate(Number(val.substring(6, 8)));

        day = d.getDay();

        return day;
    }

    /**
     * ¿£ÅÍÅ° ´©¸£¸é ÀÚµ¿À¸·Î ´ÙÀ½ ÇÊµå·Î ÀÌµ¿
     */
    function enterNextField(field, event) 
    {
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

        if(keyCode == 13)
        {
            var i;
            for(i = 0; i<field.form.elements.length; i++)
            {
                if(field == field.form.elements[i])
                    break;
            }

            i = (i + 1) % field.form.elements.length;
            field.form.elements[i].focus();
            return false;
        } 
        else
            return true;
    }

    /**
     * È­¸éÀÇ Ã¹¹øÂ° TextField¿¡ Æ÷Ä¿½º ÀÌµ¿
     */
    function firstTextFocus() 
    {
        var elements;
        var obj;

        for(var j=0; j<document.forms.length; j++)
        {
            elements = document.elements[j].elements;

            for(var i=0; i<elements.length; i++)
            {
                obj = elements[i];

                if(obj.tagName == "INPUT")
                {
                    if(obj.type == "text" && obj.disabled == false)
                    {
                        obj.focus();
                        endFocus(obj);
                        return;
                    }
                }
            }
        } /// end of for()
    }

    /**
     * È­¸éÀÇ ¿øÇÏ´Â TextField ³ª TextArea¿¡ Æ÷Ä¿½º ÀÌµ¿
     */
    function firstTextFocus(formName) 
    {
        var elements;
        var obj;

        for(var j=0; j<document.forms.length; j++)
        {
            elements = document.forms[j].elements;

            for(var i=0; i<elements.length; i++)
            {
                obj = elements[i];

                if(obj.name == formName)
                {
                    if(obj.tagName == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA")
                    {
                        //alert("obj.name ::"+ obj.name +"/ obj.tagName ::"+ obj.tagName +"/ formName ::"+ formName +"/ obj.type ::"+ obj.type);
                        if((obj.type == "text" || obj.type == "textarea") && obj.disabled == false)
                        {
                            obj.focus();
                            endFocus(obj);
                            return;
                        }
                    }
                }
                else if(formName == "" || formName == null)
                {
                    if(obj.tagName == "INPUT")
                    {
                        if(obj.type == "text" && obj.disabled == false)
                        {
                            obj.focus();
                            endFocus(obj);
                            return;
                        }
                    }
                }
            }
        } /// end of for()
    }

    /**
     * FM## - getFM(12, 4) -> 0012·Î º¯°æÇÑ´Ù.
     * @param       val ¿øº» °ª
     * @param       len »çÀÌÁî (0À» Ã¤¿ï °¹¼ö)
     */
    function getFM(val, len)
    {
        if(val == "")
            return val;
        var str     = "";
        var zero    = "";
        var valLen  = new String(val).length;
        var forLen  = len-valLen;
        if(len <= valLen)
            return val;
        for(var i=0; i<(forLen); i++)
        {
            zero    += "0";
        }
        str = zero+val;

        return str;
    }

    /**
     * ÆÛ¹Ì¼Ç Ã¼Å©
     * ÇÏ³ªÀÇ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ °ÍÀÓ.
     *
     * @param   form
     * @param   obj
     */
    function permission(form, obj)
    {
        /// ¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇØ¾ß ÇÑ´Ù. perm permType="C" permCheck="<%= "C" %>"
        var permType    = ""; /// ÇöÀç ¹öÆ°ÀÇ CRUD Å¸ÀÔ
        var permCheck   = ""; /// »ç¿ëÀÚ°¡ °¡Áø ÆÛ¹Ì¼Ç
        var dispName    = ""; /// µð½ºÇÃ·¹ÀÌ¸í
        var permCheckArr= new Array();

        alert("> obj.tagName ::"+ obj.tagName);
        for(i = 0; i < form.elements.length; i++)
        {
            if(obj.getAttribute("perm") != null)
            {
                if(obj.tagName == "INPUT" || obj.tagName == "IMG")
                {
                    permType    = obj.getAttribute("permType");
                    permCheck   = obj.getAttribute("permCheck");
                    dispName    = obj.getAttribute("dispName");
                    if(permType != null && permType != "")
                    {
                        if(permCheck != null && permCheck != "")
                        {
                            permCheckArr    = tokenCommaPatt(permCheck, "|");
                        }
                        /// CRUD ±ÇÇÑ Ã¼Å©
                        for(var j=0; j<permCheckArr.length; j++)
                        {
                            if(permType == permCheckArr[j])
                            {
                                break;
                            }
                            else
                            {
                                alert(dispName +" ±ÇÇÑÀÌ ¾ø½À´Ï´Ù.");
                                obj.focus();
                                if(window.event)
                                {
                                    window.event.returnValue = false;
                                }
                                return  false;
                            }
                        }
                    }
                }
                break;
            }
        }
        alert("permType ::"+ permType +"/ permCheck ::"+ permCheck);
    }

    /**
     * ÅØ½ºÆ®ÇÊµåÀÇ ¸Ç ³¡(¿À¸¥ÂÊ)À¸·Î Æ÷Ä¿½º ÀÌµ¿ÇÏ±â.
     * <input type="textfield" name="addr" onFocus="endFocus(this);">
     * 
     * @param   obj
     */
    function endFocus(obj) 
    { 
        obj.value = obj.value + ''; 
    }

    /**
     * ¶óµð¿À¹öÆ°ÀÇ ¼±ÅÃµÇ¾îÁø °³Ã¼ÀÇ °ªÀ» °¡Á®¿Â´Ù.
     * 
     * @param       frm document.form
     * @param       elem ¶óµð¿À¹öÆ° °³Ã¼¸í
     */
    function getRadioValue(frm, elem)
    {
        var val = "";

        if(elem == null || elem == "")
            return "";

        if(frm.elements[elem].length > 0)
        {

            for(var i=0; i<frm.elements[elem].length; i++)
            {
                if(frm.elements[elem][i].checked)
                {
                    val = frm.elements[elem][i].value;
                    break;
                }
            } /// end of for()
        }
        else
            val = frm.elements[elem].value;

        return val;
    }
    
    /**
    * Ã¼Å©¹Ú½º°¡ ÇÏ³ª¶óµµ ¼±ÅÃ µÇ¾î ÀÖ´ÂÁö¸¦ Ã¼Å©ÇÑ´Ù.
    *
    **/
	function Checkbox_Checked(obj) {
	    isChk=false;
	    if(obj == undefined) return isChk;
	    
	    if(obj.length == undefined) {
	        if(obj.checked==true) {
	            isChk=true;
	        }
	    } else {
	        for(i=0; i< obj.length; i++) {
	            if(obj[i].checked==true) {
	                isChk=true;
	            }
	        }
	    }
	    return isChk;
	}	

	function Checkbox_Check(obj) {
	    isChk=false;
	    if(obj.length == undefined) {
	        isChk=false;
	    } else {
	        isChk=true;
	    }
	    return isChk;
	}

	function Checkbox_Checked_Count(obj) {
	    var checkCnt = 0;
	    if(obj == undefined) return isChk;
	    
	    if(obj.length == undefined) {
	        if(obj.checked==true) {
	            checkCnt = 1;
	        }
	    } else {
	        for(i=0; i< obj.length; i++) {
	            if(obj[i].checked==true) {
	                checkCnt++;
	            }
	        }
	    }
	    return checkCnt;
	}	

	
	// Ã¢ÀÇ À§Ä¡¸¦ °¡¿îµ¥ Á¶Á¤ÇÏ°í »çÀÌÁî°íÁ¤
	function Center_Fixed_Popup(s_url, s_val, s_name, s_width, s_height, s_scroll) {
		ls_pri = "toolbar=no, location=no, directories=no, menubar=no, resizable=no, scrollbars="+s_scroll+", status=yes width=400 height=400";
		wd_pop = window.open(s_url+"?"+s_val, s_name,ls_pri);
		if(wd_pop == null) {
		   alert("ÇöÀç »çÀÌÆ®ÀÇ ÆË¾÷ÀÌ Â÷´ÜµÇ¾î ÀÖ½À´Ï´Ù. Â÷´ÜÀ» ÇØÁ¦ÇØ ÁÖ½Ê½Ã¿ä.");
		   return;
		}
		wd_pop.blur();
		wd_pop.resizeTo(s_width, s_height);
		wd_pop.moveTo(((screen.availwidth - eval(s_width))/2),((screen.availheight - eval(s_height))/2));
		wd_pop.focus();
		return wd_pop;
	}

	function Center_Fixed_Popup2(s_url, s_name, s_width, s_height, s_scroll) {
		ls_pri = "toolbar=no, location=no, directories=no, menubar=no, resizable=no, scrollbars="+s_scroll+", status=yes width=400 height=400";
		wd_pop = window.open(s_url, s_name,ls_pri);
		if(wd_pop == null) {
		   alert("ÇöÀç »çÀÌÆ®ÀÇ ÆË¾÷ÀÌ Â÷´ÜµÇ¾î ÀÖ½À´Ï´Ù. Â÷´ÜÀ» ÇØÁ¦ÇØ ÁÖ½Ê½Ã¿ä.");
		   return;
		}
		wd_pop.blur();
		wd_pop.resizeTo(s_width, s_height);
		wd_pop.moveTo(((screen.availwidth - eval(s_width))/2),((screen.availheight - eval(s_height))/2));
		wd_pop.focus();
		return wd_pop;
	}

	/**
	 * ÀÔ·ÂµÈ ¼ýÀÚ°ªÀ» ÁöÁ¤µÈ ¼Ò¼ýÁ¡ ÀÚ¸´¼ö·Î RoundÇØ¼­ °ªÀ» ¸®ÅÏÇÑ´Ù.<p>
	 * ex) fncRoundPrecision(300.12345678,3) <p>
	 * Result ) 300.123
	 */
	function RoundPrecision(val, precision){
	   var p = Math.pow(10, precision);
	   return Math.round(val * p) / p;
	}

    /**
     * ¼¿·ºÆ® ¹Ú½ºÀÇ optionÀ» ¸ðµÎ »èÁ¦ÇÑ´Ù.
     */
	function selectbox_remove_all(obj) {
		for(i=0; i< obj.length; i++) {
			if(obj.options[i].value==s_val) {
				obj.remove(i);
			}
		}
	}

    /**
     * ¼¿·ºÆ® ¹Ú½ºÀÇ °ª°ú ÀÏÄ¡ÇÏ´Â optionÀ» »èÁ¦ÇÑ´Ù.
     */
	function selectbox_remove(obj, s_val) {
		for(i=0; i< obj.length; i++) {
			if(obj.options[i].value==s_val) {
				obj.remove(i);
			}
		}
	}
	
    /**
     * ¼¿·ºÆ® ¹Ú½ºÀÇ optionÀ» »ý¼ºÇÑ´Ù.
     */
	function selectbox_insert(obj, s_text, s_val) {
		obj.options[obj.length] = new Option(s_text,s_val,false,false);
	}

	var checkbox_flag = true;
	function checkBoxSelectAll(obj) {
	    try
	    {
	        if(Checkbox_Check(obj)) {
	            for(i=0; i< obj.length; i++) {
	                if (Checkbox_Checked(obj[i])) {
	                    obj[i].checked=false;
	                } else {
	                    obj[i].checked=true;
	                }
	            }
	        } else {
	            if (Checkbox_Checked(obj)) {
	                obj.checked=false;
	            } else {
	                obj.checked=true;
	            }
	        }
	        if(checkbox_flag==true) {
	            checkbox_flag=false;
	        } else  {
	            checkbox_flag=true;
	        }
	    }catch (e) {
	        window.status = "error";
	    }
	}
	
	HashMap = function()
	{
	   this.keys = new Array();
	   this.values = new Array();
	   /**
	    * Removes all mappings from this map.
	    */
	   this.clear = function()
	   {
	   	  this.keys.splice(0, this.keys.length);
	   	  this.values.splice(0, this.values.length);
	   }
	   /**
	    * Returns true if this map contains a mapping for the specified key.
	    */
	   this.containsKey = function(key)
	   {
	      return this.indexKeyOf(key);
	   }
	   
	   this.indexKeyOf = function(obj, startIndex) {
	        if (startIndex == null) {
	            startIndex = 0;
	        }
	        
	        if (startIndex < this.keys.length && startIndex >= 0) {
	            for (var i=startIndex; i < this.keys.length; i++) {
	                if (this.keys[i] == obj) {
	                    return i;
	                }
	            }
	            return -1;
	        } else {
	            throw new Exception("Array Index Error. vector.indexOf()");
	        }
	   }
	    
	   /**
	    * Returns true if this map maps one or more keys to the specified value.
	    */
	   this.containsValue = function(value)
	   {
	      return this.indexValueOf(value);
	   }
	
	   this.indexValueOf = function(obj, startIndex) {
	        if (startIndex == null) {
	            startIndex = 0;
	        }
	        
	        if (startIndex < this.values.length && startIndex >= 0) {
	            for (var i=startIndex; i < this.values.length; i++) {
	                if (this.values[i] == obj) {
	                    return i;
	                }
	            }
	            return -1;
	        } else {
	            throw new Exception("Array Index Error. vector.indexOf()");
	        }
	   }
	
	   /**
	    * Returns true if this map contains no key-value mappings.
	    */
	   this.isEmpty = function()
	   {
	   	  return (this.size() == 0);
	   }
	   /**
	    * Associates the specified value with the specified key in this map.
	    */
	   this.put = function(key, value)
	   {
	      this.keys[this.keys.length] = key;
	      this.values[this.values.length] = value;
	   }
	   /**
	    * Returns the value to which the specified key is mapped in this identity hash map, or null if the map contains no mapping for this key
	    */
	   this.get = function(key)
	   {
	      var value = null;
	      for(var i = 0; i < this.keys.length; i++)
	      {
	         if(this.keys[i] == key) value = this.values[i];
	      }
	      return value;
	   }
	   /**
	    * Returns the number of key-value mappings in this map.
	    */
	   this.size = function()
	   {
	     return this.keys.length;
	   }
	   
	   this.toKeyString = function() {
	        return this.keys.join(",");
	   }
	   
	   this.toValueString = function() {
	        return this.values.join(",");
	   }   
	
	   this.remove = function(key){
	      for(var i = 0; i < this.keys.length; i++)
	      {
	         if(this.keys[i] == key) {
			        this.values[i] = null;
					this.keys[i] = null;
			 }
	      }       
	   }
	}
	
	
	/**
	 * ÃÊ¸¦ ½Ã°£Çü½Ä(HHHH:MM:SS)À¸·Î º¯È¯
	 */
	function convertSecondsToTime(ts) {
		var hour	= 0;
		var min		= 0;
		var sec		= (ts % 60);
				
		ts -= sec;
		var tmp = (ts % 3600);
		ts -= tmp;
		
		if ((ts % 3600) != 0 ) {
			hour = 0;
		}
		else {
			hour = (ts / 3600);
		}
		
		if ( (tmp % 60) != 0 ) {
			min = 0;
		}
		else {
			min = (tmp / 60);
		}
		
		if ((new String(hour)).length < 2) {
			hour = "0"+hour;
		}
		if ((new String(min)).length < 2) {
			min = "0"+min;
		}
		if ((new String(sec)).length < 2) {
			sec = "0"+sec;
		}
		
		var rtnVal = hour+":"+min+":"+sec;
		
		return rtnVal;
	}
	
	
	/**
     * ÃÊ¸¦ ºÐÀ¸·Î °è»êÇÏ´Â ÇÔ¼ö.
     */
	function convertSecondsToMin(ts) {
		var hour	= 0;
		var min		= 0;
		var sec		= (ts % 60);
				
		ts -= sec;
		var tmp = (ts % 3600);
		ts -= tmp;
		
		if ((ts % 3600) != 0 ) {
			hour = 0;
		}
		else {
			hour = (ts / 3600);
		}
		
		if ( (tmp % 60) != 0 ) {
			min = 0;
		}
		else {
			min = (tmp / 60);
		}
		
		if ((new String(hour)).length < 2) {
			hour = "0"+hour;
		}
		
		min += (hour * 60);
		if ((new String(min)).length < 2) {
			min = "0"+min;
		}
		if ((new String(sec)).length < 2) {
			sec = "0"+sec;
		}

		var rtnVal = ""; 		
		if(min!="00"){
			rtnVal += min;
		}

		return rtnVal;
	}
	
	
    /**
     * HTML ÅÂ±×¸¦ Á¦°ÅÇØÁØ´Ù.
     */
	function stripHTMLtag(string) { 
	   var objStrip = new RegExp(); 
	   objStrip = /[<][^>]*[>]/gi; 
	   return string.replace(objStrip, ""); 
    } 


	/**
	 * HTML ÅÂ±×¸¦ ºñÈ°¼ºÈ­ÇÑ´Ù.
	 */
	function disableHtmlTag(value) {
		if (value == null || value == "") {
			return "";
		}
		
		value = value.replace(/</g,"&lt;");
		value = value.replace(/>/g,"&gt;");
		return value;
	}
	
	/**
	 * Á¦¸ñÁÙ ¹®ÀÚ¿­ ÀÚ¸£±â
	 */
	function substrByLength(str, length) {
		if(str.length > length) {
			return str.substring(0, length) + "..";
		} else {
			return str;
		}
	}
	
	/**
	 * ³¯Â¥º¯È¯
	 */
	function transDateValue(formName, inputFieldName, hiddenFieldName) {
		var inputObj = document.forms[formName].elements[inputFieldName];	
		var hiddenObj = document.forms[formName].elements[hiddenFieldName];			
		hiddenObj.value = inputObj.value.replace(/-/g, "");	
	}		
	
	/**
	 * ÇØ´ç ³¯Â¥°¡ Æ¯Á¤±â°£³»¿¡ ÀÖ´ÂÁö È®ÀÎ
	 */
	function dateTermValidCheck (formObj, startDate, endDate, dateName) {
		if (formObj.value != "") {
			if (formObj.value < startDate || formObj.value > endDate) {
				alert(dateName+"ÀÌ "+startDate+" ~ "+endDate+" ÀÔ´Ï´Ù.\nÀÏÀÚ´Â "+dateName+"³»·Î ¼³Á¤ÇØ ÁÖ½Ê½Ã¿À.");
				return false;
			}
		}	
		return true;
	}
	
    /**
    * ³¯Â¥¸¦ YY/MM/DD ·Î Ç¥½Ã
    * @param str
    * @param gubun Ç¥½Ã±¸ºÐ(. / )
    * @param locale ´Ù±¹¾î
    **/
    function addDateFormatShort(str, gubun ){
       	if (str == null || str == "") {
    		return "";
    	}
    	var dateStr = "";
   		if (str.length == 14){
    		dateStr  = str.substring(2, 4) + gubun + str.substring(4, 6) + gubun + str.substring(6, 8)
    		+" "+ str.substring(8, 10)+ ":" + str.substring(10, 12);
   		}else if(str.length == 8){
    		dateStr  = str.substring(2, 4) + gubun + str.substring(4, 6) + gubun + str.substring(6, 8); 
   		}else{
   			dateStr = str;
   		}
        return dateStr;    	
    }
    
    function deleteSpeciality(str){
    	if (str == null || str == "") {
    		return "";
    	}
    	
    	re = /[~!@\#$%^&*\()\=+_']/gi;
		
        return str.replace(re, '');
    }
    
	//--	¼Ò¼ýÁ¡ ÀÌÇÏÀÚ¸´¼ö(1ÀÚ¸®) Ã¼Å©
	function Check_Decimal(num) {

		if (num == '') {
			num		=	'0';
		}

		var var_1	=	0;
		var var_p	=	9;
		for (var i = 0 ; i < num.length ; i++) {

			if (num.charAt(i) == '.') {
				var_p		=	i;
			}
			//--	¼Ò¼ýÁ¡ÀÌÇÏ ÀÚ¸®¼ö °è»ê
			if (i > var_p && (num.charAt(i) >= '0' && num.charAt(i) <= '9')) {
				var_1		=	var_1 + 1;
			}
		}

		//--	¼Ò¼ýÁ¡ÀÌÇÏ ÀÚ¸®¼ö,
		if (var_1 > 1 || var_p == 0) {
			return false;
		}

		return true
	}
    
	
