    var arrAttr  = new Array ('required', 'trim', 'minlength', 'email', 'hangul', 'hangul2', 
                              'memberid', 'nospace', 'numeric', 'alpha', 'alphanumeric', 
                              'jumin', 'saupja', 'alphanumericunderline', 'telnumber', 'hangulalphanumeric');
	var myFldBackColor = '#FFFFFF'; 
	var myFldDefaultColor= '#EEEEEE';


   function mySubmit()
    {
        myMsg = "";
        myFld = null;

        var attr = null;


        // ÇØ´çÆû¿¡ ´ëÇÑ ¿ä¼ÒÀÇ °¹¼ö¸¸Å­ µ¹·Á¶ó
        for (var i = 0; i < this.elements.length; i++) 
        {
            // Input tag ÀÇ type ÀÌ text, file, password ÀÏ¶§¸¸
            // 3.30
            // ¼¿·ºÆ® ¹Ú½ºÀÏ¶§µµ ÇÊ¼ö ¼±ÅÃ °Ë»çÇÕ´Ï´Ù. select-one
            if (this.elements[i].type == "text" || 
                this.elements[i].type == "file" || 
                this.elements[i].type == "password" ||
                this.elements[i].type == "select-one" ||
                this.elements[i].type == "textarea") 
            {
                // ¹è¿­ÀÇ ±æÀÌ¸¸Å­ µ¹·Á¶ó
                for (var j = 0; j < arrAttr.length; j++) 
                {
                    // ¹è¿­¿¡ Á¤ÀÇÇÑ ¼Ó¼º°ú ºñ±³ÇØ¼­ ¼Ó¼ºÀÌ ÀÖ°Å³ª °ªÀÌ ÀÖ´Ù¸é
                    if (this.elements[i].getAttribute(arrAttr[j]) != null) 
                    {
                        /*
                        // ±âº» »ö»óÀ¸·Î µ¹·Á³õ°í
                        if (this.elements[i].getAttribute("required") != null) {
                            this.elements[i].style.backgroundColor = myFldDefaultColor;
                        }
                        */
                        switch (arrAttr[j]) 
                        {
                            case "required"     : myRequired(this.elements[i]); break;
                            case "trim"         : myTrim(this.elements[i]); break;
                            case "minlength"    : myMinlength(this.elements[i]); break;
                            case "email"        : myEmail(this.elements[i]); break;
                            case "hangul"       : myHangul(this.elements[i]); break;
                            case "memberid"     : myMemberId(this.elements[i]); break;
                            case "nospace"      : myNospace(this.elements[i]); break;
                            case "numeric"      : myNumeric(this.elements[i]); break; 
                            case "alpha"        : myAlpha(this.elements[i]); break; 
                            case "alphanumeric" : myAlphaNumeric(this.elements[i]); break; 
                            case "jumin"        : myJumin(this.elements[i]); break; 
							case "telnumber"	: myTelnumber(this.elements[i]); break;
                            default : break;
                        }
                    }
                }
            }
        }

        // ÇÊµå°¡ null ÀÌ ¾Æ´Ï¶ó¸é ¿À·ù¸Þ¼¼Áö Ãâ·ÂÈÄ Æ÷Ä¿½º¸¦ ÇØ´ç ¿À·ù ÇÊµå·Î ¿Å±è
        // ¿À·ù ÇÊµå´Â ¹è°æ»ö»óÀ» ¹Ù²Û´Ù.
        if (myFld != null) 
        { 
            alert(myMsg); 
            if (myFld.style.display != 'none') 
            { 
                myFld.style.backgroundColor = myFldBackColor; 
                myFld.focus(); 
            } 
            return false; 
        } 

        if (this.oldsubmit && this.oldsubmit() == false)
            return false;

        return true;
    }
	


    function myRequired(fld)
    {
        if (myTrim(fld) == "") 
        {
            if (myFld == null) 
            {
                // 3.30
                // ¼¿·ºÆ®¹Ú½ºÀÏ °æ¿ì¿¡µµ ÇÊ¼ö ¼±ÅÃ °Ë»çÇÕ´Ï´Ù.
                myMsg = "Please "+(fld.type=="select-one"?"select ":"enter ")+myItemname(fld)+".\n";
                myFld = fld;
            }
        }
    }

    function myTrim(fld) 
    {
        var pattern = /(^\s*)|(\s*$)/g; // \s °ø¹é ¹®ÀÚ
        fld.value = fld.value.replace(pattern, "");
        return fld.value;
    }


    function myEmail(fld) 
    {
        if (!myTrim(fld)) return;

        //var pattern = /(\S+)@(\S+)\.(\S+)/; ÀÌ¸ÞÀÏÁÖ¼Ò¿¡ ÇÑ±Û »ç¿ë½Ã
        var pattern = /([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/;
        if (!pattern.test(fld.value)) 
        {
            if (myFld == null) 
            {
                myMsg = "It's wrong email address.\n\nPlease enter a valid email address.\n";
                myFld = fld;
            }
        }
    }

    function myMemberId(fld) 
    {
        if (!myTrim(fld)) return;

        var pattern = /(^([a-z0-9]+)([a-z0-9_]+$))/;
        if (!pattern.test(fld.value)) 
        {
            if (myFld == null) 
            {
                myMsg = "È¸¿ø¾ÆÀÌµð Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù.\n\n¿µ¼Ò¹®ÀÚ, ¼ýÀÚ, _ ¸¸ °¡´É.\n\nÃ¹±ÛÀÚ´Â ¿µ¼Ò¹®ÀÚ, ¼ýÀÚ¸¸ °¡´É\n";
                myFld = fld;
            }
        }
    }


    function myHangul(fld) 
    { 
        if (!myTrim(fld)) return;

        var pattern = /([^°¡-ÆR\x20])/i; 

        if (pattern.test(fld.value)) 
        {
            if (myFld == null) 
            { 
                myMsg = myItemname(fld) + ' ÇÑ±ÛÀÌ ¾Æ´Õ´Ï´Ù. (ÀÚÀ½, ¸ðÀ½¸¸ ÀÖ´Â ÇÑ±ÛÀº Ã³¸®ÇÏÁö ¾Ê½À´Ï´Ù.)\n'; 
                myFld = fld; 
            } 
        } 
    }


    function myNumeric(fld) 
    { 
        if (fld.value.length > 0) 
        { 
            for (i = 0; i < fld.value.length; i++) 
            { 
                if (fld.value.charAt(i) < '0' || fld.value.charAt(i) > '9') 
                { 
                    myMsg = myItemname(fld) + " ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù.\n"; 
                    myFld = fld; 
                }
            }
        }
    }

    function myAlpha(fld) 
    { 
        if (!myTrim(fld)) return; 

        var pattern = /(^[a-zA-Z]+$)/; 
        if (!pattern.test(fld.value)) 
        { 
            if (myFld == null) 
            { 
                myMsg = myItemname(fld) + " ¿µ¹®ÀÌ ¾Æ´Õ´Ï´Ù.\n"; 
                myFld = fld; 
            } 
        } 
    } 

    function myAlphaNumeric(fld) 
    { 
       if (!myTrim(fld)) return; 
       var pattern = /(^[a-zA-Z0-9]+$)/; 
       if (!pattern.test(fld.value)) 
       { 
           if (myFld == null) 
           { 
               myMsg = myItemname(fld) + " ¿µ¹® ¶Ç´Â ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù.\n"; 
               myFld = fld; 
           } 
       } 
    } 


    // subject ¼Ó¼º°ªÀ» ¾ò¾î return, ¾øÀ¸¸é tagÀÇ nameÀ» ³Ñ±è
    function myItemname(fld)
    {
        var itemname = fld.getAttribute("itemname");
        if (itemname != null && itemname != "")
            return itemname;
        else
            return fld.name;
    }


    function myJumin(fld) 
    { 
       if (!myTrim(fld)) return; 
       var pattern = /(^[0-9]{13}$)/; 
       if (!pattern.test(fld.value)) 
       { 
           if (myFld == null) 
           { 
               myMsg = "ÁÖ¹Îµî·Ï¹øÈ£¸¦ 13ÀÚ¸® ¼ýÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.\n"; 
               myFld = fld; 
           } 
       } 
       else 
       {
            var sum_1 = 0;
            var sum_2 = 0;
            var at=0;
            var juminno= fld.value;
            sum_1 = (juminno.charAt(0)*2)+
                    (juminno.charAt(1)*3)+
                    (juminno.charAt(2)*4)+
                    (juminno.charAt(3)*5)+
                    (juminno.charAt(4)*6)+
                    (juminno.charAt(5)*7)+
                    (juminno.charAt(6)*8)+
                    (juminno.charAt(7)*9)+
                    (juminno.charAt(8)*2)+
                    (juminno.charAt(9)*3)+
                    (juminno.charAt(10)*4)+
                    (juminno.charAt(11)*5);
            sum_2=sum_1 % 11;

            if (sum_2 == 0) 
                at = 10;
            else 
            {
                if (sum_2 == 1) 
                    at = 11;
                else 
                    at = sum_2;
            }
            att = 11 - at;
            // 1800 ³â´ë¿¡ ÅÂ¾î³ª½Å ºÐµéÀº ³²ÀÚ, ¿©ÀÚÀÇ ±¸ºÐÀÌ 9, 0 ÀÌ¶ó´Â 
            // ¾ê±â¸¦ µéÀºÀûÀÌ ÀÖ´Âµ¥ ±×·¸´Ù¸é ¾Æ·¡ÀÇ ±¸¹®Àº ¿À·ùÀÌ´Ù.
            // ÇÏÁö¸¸... 100»ì³ÑÀº ºÐµéÀÌ ÁÖ¹Îµî·Ï¹øÈ£¸¦ °ú¿¬ ÀÔ·ÂÇØº¼±î?
            if (juminno.charAt(12) != att || 
                juminno.substr(2,2) < '01' ||
                juminno.substr(2,2) > '12' ||
                juminno.substr(4,2) < '01' ||
                juminno.substr(4,2) > '31' ||
                juminno.charAt(6) > 4) 
            {
               myMsg = "¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n"; 
               myFld = fld; 
            }

        }
    } 

    function myNospace(fld)
    {
        var pattern = /(\s)/g; // \s °ø¹é ¹®ÀÚ
        if (pattern.test(fld.value)) 
        {
            if (myFld == null) 
            {
                myMsg = myItemname(fld) + " °ø¹éÀÌ ¾ø¾î¾ß ÇÕ´Ï´Ù.\n";
                myFld = fld;
            }
        }
    }


    function myMinlength(fld)
    {
        var len = fld.getAttribute("minlength");
        if (fld.value.length < len) 
        {
            if (myFld == null) 
            {
                myMsg = "Enter more than " + len + "\n";
                myFld = fld;
            }
        }
    }


    function myInitialized()
    {
        for (var i = 0; i < document.forms.length; i++) 
        {
            // onsubmit ÀÌº¥Æ®°¡ ÀÖ´Ù¸é ÀúÀåÇØ ³õ´Â´Ù.
            if (document.forms[i].onsubmit) document.forms[i].oldsubmit = document.forms[i].onsubmit;
            document.forms[i].onsubmit = mySubmit;
            for (var j = 0; j < document.forms[i].elements.length; j++) 
            {
                // ÇÊ¼ö ÀÔ·ÂÀÏ °æ¿ì´Â * ¹è°æÀÌ¹ÌÁö¸¦ ÁØ´Ù.
                if (document.forms[i].elements[j].getAttribute("required") != null) 
                {
     //             document.forms[i].elements[j].style.backgroundColor = myFldDefaultColor;
                }
            }
        }
    }

//    window.onload=function(){
		myInitialized();
//	}
