/*<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">*/

if (REQUIRE_ONCE == null)
{
	// ÇÑ¹ø¸¸ ½ÇÇàµÇ°Ô
	var REQUIRE_ONCE = true;

	var wrestMsg = "";
	var wrestFld = null;
	var wrestFldDefaultColor = "#F6F6F6"; 
	var wrestFldBackColor = "#F4F2E0"; 
	var arrAttr  = new Array ("required", "trim", "minlength", "email", "nospace", "numeric", "alpha", "alphanumeric", "jumin", "saupja");

	// subject ¼Ó¼º°ªÀ» ¾ò¾î return, ¾øÀ¸¸é tagÀÇ nameÀ» ³Ñ±è
	function wrestItemname(fld)
	{
		var itemname = fld.getAttribute("itemname");
		if (itemname != null && itemname != "")
			return itemname;
		else
			return fld.name;
	}

	// ¾çÂÊ °ø¹é ¾ø¾Ö±â
	function wrestTrim(fld) 
	{
		var pattern = /(^\s*)|(\s*$)/g; // \s °ø¹é ¹®ÀÚ
		fld.value = fld.value.replace(pattern, "");
		return fld.value;
	}

	// ÇÊ¼ö ÀÔ·Â °Ë»ç
	function wrestRequired(fld)
	{
		if (wrestTrim(fld) == "")
		{
			if (wrestFld == null)
			{
				wrestMsg = wrestItemname(fld) + " : ÇÊ¼ö "+(fld.type=="select-one"?"¼±ÅÃ":"ÀÔ·Â")+"ÀÔ´Ï´Ù.\n";
				wrestFld = fld;
			}
		}
	}

	// ÃÖ¼Ò ±æÀÌ °Ë»ç
	function wrestMinlength(fld)
	{
		var len = fld.getAttribute("minlength");
		if (fld.value.length < len)
		{
			if (wrestFld == null)
			{
				wrestMsg = wrestItemname(fld) + " :  ÃÖ¼Ò " + len + "ÀÚ ÀÌ»ó ÀÔ·ÂÇÏ¼¼¿ä.\n";
				wrestFld = fld;
			}
		}
	}

	// ÀüÀÚ¸ÞÀÏÁÖ¼Ò Çü½Ä °Ë»ç
	function wrestEmail(fld) 
	{
		if (!wrestTrim(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 (wrestFld == null)
			{
				wrestMsg = wrestItemname(fld) + " : ÀüÀÚ¸ÞÀÏÁÖ¼Ò Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù.\n";
				wrestFld = fld;
			}
		}
	}

	// ¼ýÀÚÀÎÁö°Ë»ç 
	function wrestNumeric(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')
				{ 
					wrestMsg = wrestItemname(fld) + " : ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù.\n"; 
					wrestFld = fld; 
				}
			}
		}
	}

	// ¿µ¹®ÀÚ °Ë»ç 
	function wrestAlpha(fld) 
	{ 
		if (!wrestTrim(fld)) return; 

		var pattern = /(^[a-zA-Z]+$)/; 
		if (!pattern.test(fld.value))
		{ 
			if (wrestFld == null)
			{ 
				wrestMsg = wrestItemname(fld) + " : ¿µ¹®ÀÌ ¾Æ´Õ´Ï´Ù.\n"; 
				wrestFld = fld; 
			} 
		} 
	} 

	// ¿µ¹®ÀÚ¿Í ¼ýÀÚ °Ë»ç 
	function wrestAlphaNumeric(fld) 
	{ 
		if (!wrestTrim(fld)) return; 
		var pattern = /(^[a-zA-Z0-9]+$)/; 
		if (!pattern.test(fld.value))
		{ 
			if (wrestFld == null)
			{ 
				wrestMsg = wrestItemname(fld) + " : ¿µ¹® ¶Ç´Â ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù.\n"; 
				wrestFld = fld; 
			} 
		} 
	} 

	// ÁÖ¹Îµî·Ï¹øÈ£ °Ë»ç
	function wrestJumin(fld) 
	{ 
		if (!wrestTrim(fld)) return; 
		var pattern = /(^[0-9]{13}$)/; 
		if (!pattern.test(fld.value))
		{ 
			if (wrestFld == null)
			{ 
				wrestMsg = wrestItemname(fld) + " : ÁÖ¹Îµî·Ï¹øÈ£¸¦ 13ÀÚ¸® ¼ýÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.\n"; 
				wrestFld = 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)
			{
				wrestMsg = wrestItemname(fld) + " : ¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n"; 
				wrestFld = fld; 
			}
		}
	} 

    // »ç¾÷ÀÚµî·Ï¹øÈ£ °Ë»ç
    function wrestSaupja(fld) 
    { 
       if (!wrestTrim(fld)) return; 
       var pattern = /(^[0-9]{10}$)/; 
       if (!pattern.test(fld.value))
		 { 
           if (wrestFld == null)
			  { 
               wrestMsg = wrestItemname(fld) + " : »ç¾÷ÀÚµî·Ï¹øÈ£¸¦ 10ÀÚ¸® ¼ýÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.\n"; 
               wrestFld = fld; 
           } 
       }
		 else
		 {
		      var sum = 0;
            var at = 0;
            var att = 0;
            var saupjano= fld.value;
            sum = (saupjano.charAt(0)*1)+
                  (saupjano.charAt(1)*3)+
                  (saupjano.charAt(2)*7)+
                  (saupjano.charAt(3)*1)+
                  (saupjano.charAt(4)*3)+
                  (saupjano.charAt(5)*7)+
                  (saupjano.charAt(6)*1)+
                  (saupjano.charAt(7)*3)+
                  (saupjano.charAt(8)*5);
            sum += parseInt((saupjano.charAt(8)*5)/10);
            at = sum % 10;
            if (at != 0) { att = 10 - at;  }
            if (saupjano.charAt(9) != att)
				{
               wrestMsg = wrestItemname(fld) + " : ¿Ã¹Ù¸¥ »ç¾÷ÀÚµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.\n"; 
               wrestFld = fld; 
            }
        }
    } 

    // °ø¹é °Ë»çÈÄ °ø¹éÀ» "" ·Î º¯È¯
    function wrestNospace(fld)
    {
        var pattern = /(\s)/g; // \s °ø¹é ¹®ÀÚ
        if (pattern.test(fld.value))
		  {
            if (wrestFld == null)
				{
                wrestMsg = wrestItemname(fld) + " : °ø¹éÀÌ ¾ø¾î¾ß ÇÕ´Ï´Ù.\n";
                wrestFld = fld;
            }
        }
    }

    // submit ÇÒ ¶§ ¼Ó¼ºÀ» °Ë»çÇÑ´Ù.
    function wrestSubmit()
    {
        wrestMsg = "";
        wrestFld = null;

        var attr = null;

        // ÇØ´çÆû¿¡ ´ëÇÑ ¿ä¼ÒÀÇ °¹¼ö¸¸Å­ µ¹·Á¶ó
        for (var i = 0; i < this.elements.length; i++)
		  {
            // Input tag ÀÇ type ÀÌ text, file, password ÀÏ¶§¸¸
            if (this.elements[i].type == "text" || 
                this.elements[i].type == "file" || 
                this.elements[i].type == "password" ||
                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 = wrestFldDefaultColor;
                        }
                        switch (arrAttr[j])
								{
                            case "required"     : wrestRequired(this.elements[i]); break;
                            case "trim"         : wrestRequired(this.elements[i]); break;
                            case "minlength"    : wrestMinlength(this.elements[i]); break;
                            case "email"        : wrestEmail(this.elements[i]); break;
                            case "nospace"      : wrestNospace(this.elements[i]); break;
                            case "numeric"      : wrestNumeric(this.elements[i]); break; 
                            case "alpha"        : wrestAlpha(this.elements[i]); break; 
                            case "alphanumeric" : wrestAlphaNumeric(this.elements[i]); break; 
                            case "jumin"        : wrestJumin(this.elements[i]); break; 
                            case "saupja"       : wrestSaupja(this.elements[i]); break; 
                            default : break;
                        }
                    }
                }
            }
        }

        // ÇÊµå°¡ null ÀÌ ¾Æ´Ï¶ó¸é ¿À·ù¸Þ¼¼Áö Ãâ·ÂÈÄ Æ÷Ä¿½º¸¦ ÇØ´ç ¿À·ù ÇÊµå·Î ¿Å±è
        // ¿À·ù ÇÊµå´Â ¹è°æ»ö»óÀ» ¹Ù²Û´Ù.
        if (wrestFld != null)
		  {
            alert(wrestMsg);
            wrestFld.style.backgroundColor = wrestFldBackColor;
            wrestFld.focus();
            return false;
        }

        if (this.oldsubmit && this.oldsubmit() == false)
		  {
            return false;
        }

        return true;
    }

    // ÃÊ±â¿¡ onsubmitÀ» °¡·ÎÃ¤µµ·Ï ÇÑ´Ù.
    function wrestInitialized()
    {
        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 = wrestSubmit;
            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 = wrestFldDefaultColor;
                    /*
                    document.forms[i].elements[j].className = "wrest_required";
                    document.forms[i].elements[j].style.backgroundPosition = "top right";
                    document.forms[i].elements[j].style.backgroundRepeat = "no-repeat";
                    */
                }
            }
        }
    }

    wrestInitialized();
}