if (typeof(VALID_JS) == 'undefined') // ÇÑ¹ø¸¸ ½ÇÇà
{
    var isValidColor = "";
    var isUnValidColor = "#ffcccc";

    var VALID_JS = true;

    // ÀÌ¸ÞÀÏ Ã¼Å©
    function is_email(email) {
        var reg = new RegExp("(^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*$)");
        if(!reg.test(email)) {
            return false;
        }
        return true;
    }

    // URL Ã¼Å©
    function is_url(url) {
        var reg = new RegExp("^http://","i");
        if(!reg.test(url)) {
            return false;
        }
        return true;
    }

    // ¿µ¹®ÀÚ¸¸
    function is_alpha(str) {
        var reg = new RegExp("(^[a-zA-Z]+$)");
        if(!reg.test(str)) {
            return false;
        }
        return true;
    }

    // È¸¿ø°¡ÀÔ ¾ÆÀÌµð
    function is_member_id(str) {
        var reg = new RegExp("(^[a-zA-Z]{1}[a-zA-Z0-9-_]+$)");
        if(!reg.test(str)) {
            return false;
        }
        return true;
    }

    // ¿µ¹®ÀÚ, ¼ýÀÚ¸¸
    function is_alpha_number(str) {
        var reg = new RegExp("(^[a-zA-Z0-9]+$)");
        if(!reg.test(str)) {
            return false;
        }
        return true;
    }

    // ÇÑ±Û¸¸
    function is_korean(str) {
        var reg = new RegExp("(^[°¡-ÆR]*$)");
        if(!reg.test(str)) {
            return false;
        }
        return true;
    }

    // ÇÑ±Û, ¼ýÀÚ¸¸
    function is_korean_number(str) {
        var reg = new RegExp("(^[°¡-ÆR0-9]*$)");
        if(!reg.test(str)) {
            return false;
        }
        return true;
    }

    // ÇÑ±Û, ¼ýÀÚ¸¸
    function is_korean_alpha_number(str) {
        var reg = new RegExp("(^[a-zA-Z°¡-ÆR0-9]*$)");
        if(!reg.test(str)) {
            return false;
        }
        return true;
    }

    // ÀüÈ­¹øÈ£ Ã¼Å©
    function is_phone() {
        var reg = new RegExp("(^[0-9]{2,4}-[0-9]{3,4}-[0-9]{4}$)");

        if (!(arguments.length == 1 || arguments.length == 3))
            return false;

        if (arguments.length == 3)
            var phone = arguments[0].value + "-" + arguments[1].value + "-" + arguments[2].value;
        else
            var phone = arguments[0];

        if(!reg.test(phone)) {
            return false;
        }
        return true;
    }

    function is_hp() {
        var reg = new RegExp("(^(010|011|016|017|018|019)[0-9]{3,4}[0-9]{4}$)");

        if (!(arguments.length == 1 || arguments.length == 3))
            return false;

        if (arguments.length == 3)
            var hp = arguments[0].value + arguments[1].value + arguments[2].value;
        else {
            var hp = arguments[0].replace(/\-/gm, '');
        }

        if(!reg.test(hp)) {
            return false;
        }
        return true;
    }

    // ¼ýÀÚ Ã¼Å©
    function is_number(num) {
        var reg = new RegExp("(^[0-9]*$)");
        if(!reg.test(num)) {
            return false;
        }
        return true;
    }

    // ÁÖ¹Î¹øÈ£ Ã¼Å©
    function is_ssn() {
        if (!(arguments.length == 1 || arguments.length == 2))
            return false;

        if (arguments.length == 2) {
            if(isNaN(arguments[0].value) || arguments[0].value.length != 6) {
                return false;
            }
            if(isNaN(arguments[1].value) || arguments[1].value.length != 7) {
                return false;
            }
            var pin = arguments[0].value + arguments[1].value;
        } else {
            if(isNaN(arguments[0]) || arguments[0].length != 13)
                return false;

            var pin = arguments[0];
        }

        var sum_1 = 0;
        var sum_2 = 0;
        var at = 0;

        sum_1 = (pin.charAt(0)*2)+
                (pin.charAt(1)*3)+
                (pin.charAt(2)*4)+
                (pin.charAt(3)*5)+
                (pin.charAt(4)*6)+
                (pin.charAt(5)*7)+
                (pin.charAt(6)*8)+
                (pin.charAt(7)*9)+
                (pin.charAt(8)*2)+
                (pin.charAt(9)*3)+
                (pin.charAt(10)*4)+
                (pin.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;

        if (pin.charAt(12) != att || 
            pin.substr(2,2) < '01' ||
            pin.substr(2,2) > '12' ||
            pin.substr(4,2) < '01' ||
            pin.substr(4,2) > '31' ||
            pin.charAt(6) > 4) 
        {
            return false;
        }

        return true;
    }

    // ¿Ü±¹ÀÎÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
    function is_foreign() {
        if (!(arguments.length == 1 || arguments.length == 2))
            return false;

        if (arguments.length == 2) {
            if(isNaN(arguments[0].value) || arguments[0].value.length != 6) {
                return false;
            }
            if(isNaN(arguments[1].value) || arguments[1].value.length != 7) {
                return false;
            }
            var pin = arguments[0].value + arguments[1].value;
        } else {
            if(isNaN(arguments[0]) || arguments[0].length != 13)
                return false;

            var pin = arguments[0];
        }

        var sum = 0;
        var odd = 0;
        
        buf = new Array(13);
        for (i = 0; i < 13; i++) buf[i] = parseInt(pin.charAt(i));

        odd = buf[7]*10 + buf[8];
        
        if (odd%2 != 0) {
          return false;
        }

        if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
          return false;
        }
            
        var multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
        for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);

        sum=11-(sum%11);
        
        if (sum>=10) sum-=10;

        sum += 2;

        if (sum>=10) sum-=10;

        if ( sum != buf[12]) {
            return false;
        } else {
            return true;
        }
    }

    // »ç¾÷ÀÚµî·Ï¹øÈ£ Ã¼Å©
    function is_bizno() {
        if (!(arguments.length == 1 || arguments.length == 3))
            return false;

        if (arguments.length == 3) {
            if(isNaN(arguments[0].value) || arguments[0].value.length != 3) {
                return false;
            }
            if(isNaN(arguments[1].value) || arguments[1].value.length != 2) {
                return false;
            }
            if(isNaN(arguments[2].value) || arguments[2].value.length != 5) {
                return false;
            }
            var biz = arguments[0].value + arguments[1].value + arguments[2].value;
        } else {
            var biz = arguments[0].replace(/\-/gm, '');
            if(isNaN(biz) || biz.length != 10)
                return false;
        }

        var sum = 0;
        var lists = new Array(10);
        var chkval = new Array("1", "3", "7", "1", "3", "7", "1", "3", "5");
        for(var i = 0; i < 10; i++) { lists[i] = biz.substring(i, i + 1); }
        for(var i = 0; i < 9; i++) { sum += lists[i] * chkval[i]; }
        sum = sum + parseInt((lists[8] * 5) / 10);
        sid = sum % 10;
        sidchk = 0;
        if (sid != 0) { sidchk = 10 - sid; }
        else { sidchk = 0; }
        if (sidchk != lists[9]) { return false; }
        return true;
    }

    // µÎ °ª ºñ±³
    function check_diff_value(obj1, obj2, str) {
        var msg = str + ": ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.";
        if (obj1.value != obj2.value) {
            set_unvalid(obj2, msg);
            return false;
        }
        return true;
    }

    // Æû °ª Ã¼Å©
    function check_input_tag() {
        var obj = arguments[0];
        var nm = arguments[1];
        var opt = arguments[2];
        var min = arguments[3];
        var max = arguments[4];
        try {
            if (obj.type == "text" || obj.type =="password" || obj.type =="textarea" || obj.type =="file" || obj.type == "hidden") {
                if (obj.value =="") {
                    var msg = nm + " : ÇÊ¼ö ÀÔ·ÂÀÔ´Ï´Ù.";
                    fill_unvalid_color(obj, msg);
                    return false;
                }

                // ¿É¼Ç
                switch (opt) {
                    case 'id' :
                        msg = nm + " : Ã¹ÀÚ´Â ¿µ¹®ÀÚ, ¿µ¹®ÀÚ, ¼ýÀÚ ¹× Æ¯¼ö±âÈ£(-,_)·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_member_id(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'email' :
                        msg = "À¯È¿ÇÑ ÀÌ¸ÞÀÏ ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_email(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'url' :
                        msg = "À¯È¿ÇÑ URLÀ» ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_url(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'phone' :
                        msg = nm + "Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
                        if (!is_phone(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'hp' :
                        msg = nm + "Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
                        if (!is_hp(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'number' :
                        msg = nm + " : ¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_number(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'alpha' :
                        msg = nm + " : ¿µ¹®ÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_alpha(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'alphanum' :
                        msg = nm + " : ¿µ¹®ÀÚ,¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_alpha_number(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'korean' :
                        msg = nm + " : ÇÑ±Û·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_korean(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'koreannum' :
                        msg = nm + " : ÇÑ±Û, ¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_korean_number(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'koreanalphanum' :
                        msg = nm + " : ÇÑ±Û, ¿µ¹®, ¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_korean_alpha_number(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case 'jumin' :
                        msg = "¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_ssn(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    default :
                        break;
                }

                // ±æÀÌ
                if (min > 0 && max > min) {
                    if (obj.value.length < min || obj.value.length > max) {
                        msg = nm + ": " + min + "ÀÚ ÀÌ»ó " + max + "ÀÚ ÀÌÇÏ ÀÔ´Ï´Ù.";
                        fill_unvalid_color(obj, msg);
                        return false;
                    }
                } else if (min > 0) {
                    if (obj.value.length < min) {
                        msg = nm + ":" + min + "ÀÚ ÀÌ»óÀÔ´Ï´Ù.";
                        fill_unvalid_color(obj, msg);
                        return false;
                    }
                }

            } else throw "Object°¡ ÇÊ¿äÇÕ´Ï´Ù. [" + obj.name + "]";
        } catch(e) {
            alert("Error :: " + e);
            return false;
        }
        return true;
    }

    // ¼¿·ºÆ®¹Ú½º ¼±ÅÃ
    function check_select_tag() {
        var obj = arguments[0];
        var nm = arguments[1];
        try {
            if (obj.type == "select-one" || obj.type == "select-multi") {
                if (obj.selectedIndex==0 || obj[obj.selectedIndex].value=="") {
                    var msg = nm + " : ÇÊ¼ö ¼±ÅÃÀÔ´Ï´Ù.";
                    fill_unvalid_color(obj, msg);
                    return false;
                }
            } else throw "Object°¡ ÇÊ¿äÇÕ´Ï´Ù. [" + obj + "]";
        } catch(e) {
            alert("Error :: " + e);
            return false;
        }
        return true;
    }

    // ¶óµð¿À ¹öÆ°
    function check_radio_tag(obj, nm) {
        var len = obj.length;
        var chk = 0;

        for (i = 0; i < len; i++) {
            if (obj[i].checked == true)
                chk++;
        }

        if (chk == 0) {
            var msg = nm + " : ¼±ÅÃÇØÁÖ¼¼¿ä.";
            fill_unvalid_color(obj[0], msg, false);
            return false;
        } else
            return true;
    }

    // ¿¡·¯¸Þ¼¼Áö Ãâ·Â ¹× Æ÷Ä¿½º ÀÌµ¿
    function fill_unvalid_color() {
        var obj = arguments[0];
        var msg = arguments[1];
        var flag = arguments[2];

        alert(msg);
        if (!(obj.type == 'radio' || obj.type == 'checkbox'))
            obj.style.backgroundColor = isUnValidColor;
        obj.focus();
    }

    // Æû °ª Ã¼Å©
    function check_el() {
        var obj = arguments[0];
        var opt = arguments[1];
        var otype = obj.type;
        var item = obj.getAttribute("itemname");
        var min = obj.getAttribute("minlength");
        var max = obj.getAttribute("maxlength");
        var msg = "";
        try {
            if (otype == "text" || otype == "password" || otype == "textarea" || otype == "file" || otype == "hidden") {
                if (obj.value == "") {
                    msg = item + " : ÇÊ¼ö ÀÔ·ÂÀÔ´Ï´Ù.";
                    set_unvalid(obj, msg);
                    return false;
                }
                switch (opt) {
                    case "id" :
                        msg = item + "Ã¹ÀÚ´Â ¿µ¹®ÀÚ, ¿µ¹®ÀÚ, ¼ýÀÚ ¹× Æ¯¼ö±âÈ£(-,_)·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_member_id(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "email" :
                        msg = "À¯È¿ÇÑ ÀÌ¸ÞÀÏ ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_email(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "url" :
                        msg = "À¯È¿ÇÑ URLÀ» ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_url(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "phone" :
                        msg = item + "Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
                        if (!is_phone(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "hp" :
                        msg = item + "Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.";
                        if (!is_hp(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "number" :
                        msg = item + " : ¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_number(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case 'alpha' :
                        msg = item + " : ¿µ¹®ÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_alpha(obj.value)) {
                            fill_unvalid_color(obj, msg);
                            return false;
                        }
                        break;
                    case "alphanum" :
                        msg = item + " : ¿µ¹®ÀÚ,¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_alpha_number(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "korean" :
                        msg = item + " : ÇÑ±Û·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_korean(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "koreannum" :
                        msg = item + " : ÇÑ±Û, ¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_korean_number(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "koreanalphanum" :
                        msg = item + " : ÇÑ±Û, ¿µ¹®, ¼ýÀÚ·Î¸¸ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.";
                        if (!is_korean_alpha_number(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "jumin" :
                        msg = "¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_ssn(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    case "bizno" :
                        msg = "¿Ã¹Ù¸¥ »ç¾÷ÀÚµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.";
                        if (!is_bizno(obj.value)) {
                            set_unvalid(obj, msg);
                            return false;
                        }
                        break;
                    default :
                        break;
                }

                // ±æÀÌ
                if (min > 0 && max > min) {
                    if (obj.value.length < min || obj.value.length > max) {
                        msg = item + " : " + min + "ÀÚ ÀÌ»ó " + max + "ÀÚ ÀÌÇÏ ÀÔ´Ï´Ù.";
                        set_unvalid(obj, msg);
                        return false;
                    }
                } else if (min > 0 && min == max) {
                    if (obj.value.length != min) {
                        msg = item + " : " + min + "ÀÚ ÀÔ´Ï´Ù.";
                        set_unvalid(obj, msg);
                        return false;
                    }
                } else if (min > 0) {
                    if (obj.value.length < min) {
                        msg = item + ":" + min + "ÀÚ ÀÌ»óÀÔ´Ï´Ù.";
                        set_unvalid(obj, msg);
                        return false;
                    }
                }

            }
            else if (otype == "select-one" || otype == "select-multi") {
                if (obj.selectedIndex == 0 || obj[obj.selectedIndex].value == "") {
                    msg = item + " : ÇÊ¼ö ¼±ÅÃÀÔ´Ï´Ù.";
                    set_unvalid(obj, msg);
                    return false;
                }
            }
            else if (otype == "radio" || otype == "checkbox") {
                var len = obj.length;
                var chk = 0;

                if (len != null) {
                    for (i = 0; i < len; i++) {
                        if (obj[i].checked == true)
                            chk++;
                    }
                } else {
                    chk = (obj.checked == true) ? 1 : 0;
                }
                if (chk == 0) {
                    msg = item + " : ¼±ÅÃÇØÁÖ¼¼¿ä.";
                    set_unvalid(obj, msg);
                    return false;
                }
            } else throw "Object°¡ ÇÊ¿äÇÕ´Ï´Ù.";
        }
        catch (e)
        {
            alert("Error :: " + e);
            return false;
       }
        return true;
    }

    // ¿¡·¯¸Þ¼¼Áö Ãâ·Â ¹× Æ÷Ä¿½º ÀÌµ¿
    function set_unvalid() {
        var obj = arguments[0];
        var msg = arguments[1];
        var flag = arguments[2];

        alert(msg);
        if (!(obj.type == "radio" || obj.type == "checkbox" || obj.type == "hidden")) {
            obj.style.backgroundColor = isUnValidColor;
            obj.focus();
            return;
        }
        if(obj.type == "radio" || obj.type == "checkbox") {
            obj.focus();
            return;
        }
    }

    // ÇÊ¼ö ÀÔ·Â¿¡ ¹è°æÀÌ¹ÌÁö¸¦ ÁØ´Ù.
    function fill_required_init() {
        for(var i = 0; i < document.forms.length; i++) {
            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.backgroundImage = "url(/js/img/valid.gif)";
                    document.forms[i].elements[j].style.backgroundPosition = "top right";
                    document.forms[i].elements[j].style.backgroundRepeat = "no-repeat";
                }
            }
        }
    }

    function init_required() {
        for(var i = 0; i < document.forms.length; i++) {
            var lists = "";
            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.backgroundImage = "url(/js/img/valid.gif)";
                    document.forms[i].elements[j].style.backgroundPosition = "top right";
                    document.forms[i].elements[j].style.backgroundRepeat = "no-repeat";
                    lists += document.forms[i].elements[j].name+'|'+((document.forms[i].elements[j].getAttribute('itemname') != null) ? document.forms[i].elements[j].getAttribute('itemname'):'')+ ",";
                }
            }
            if (typeof(document.forms[i].field_lists) == "object") document.forms[i].field_lists.value = lists;
        }
    }
}