/**************************************
* ±â´É: °øÅë ¶óÀÌºê·¯¸®
* ÀÛ¼ºÀÏ: 2002-07-04
* ÀÛ¼ºÀÚ: °ÅÄ£¸¶·ç
* ¼öÁ¤: ÇÏ±ÙÈ£
* 2Â÷¼öÁ¤ : Æ®·Ð¢â
* 2Â÷¼öÁ¤ÀÏ : 2002-09-09
* 3Â÷¼öÁ¤ : ÀÌµ¿Ã¶
* 3Â÷¼öÁ¤ÀÏ : 2002-12-24
***************************************
* ²À FORM¿¡ nameÀ» Á¤ÀÇÇØ ÁØ´Ù!!
* <FORM name="form1" onSubmit="return chkForm(this)">
* input tag¿¡ ´ëÇÑ ¼³¸í
* <input
*	type="text" //Ã¼Å©ÇÒ Çü½Ä
*	name="id" //³Ñ¾î°¥ÀÌ¸§
*	hname="¾ÆÀÌµð" //°æ°íÃ¢¿¡ ³ªÅ¸³¾ ¹®ÀÚ¿­
*	option="regId" //¾î¶² Á¤±Ô½ÄÀ¸·Î Ã³¸®ÇÒÁö ¼±¾ð
*	required //²À Ã¼Å©¸¦ ¿øÇÏ´Â Ç×¸ñ¿¡ ¼³Á¤
* >
***************************************/


function chkForm(f)
{
       var i,currEl;
       for(i = 0; i < f.elements.length; i++){
              currEl = f.elements[i];
              //ÇÊ¼ö Ç×¸ñÀ» Ã¼Å©ÇÑ´Ù.
              if (currEl.getAttribute("required") != null)
              {
                     if(currEl.type.toUpperCase() == "TEXT" || currEl.tagName.toUpperCase() == "SELECT" || currEl.tagName.toUpperCase() == "TEXTAREA" ||currEl.type.toUpperCase() == "PASSWORD")
                     {
                            if(!chkText(currEl,currEl.hname)) return false;

                     } else if(currEl.type.toUpperCase() == "CHECKBOX"){
                            if(!chkCheckbox(f, currEl,currEl.hname)) return false;

                     } else if(currEl.type.toUpperCase() == "RADIO"){
                            if(!chkRadio(f, currEl,currEl.hname)) return false;

                     }
              }
              // ÀÔ·Â ÆäÅÏÀ» Ã¼Å©ÇÑ´Ù.
              if(currEl.getAttribute("option") != null && currEl.value.length > 0){
                     if(!chkPatten(currEl,currEl.option,currEl.hname)) return false;
              }
              // ±æÀÌÁ¦ÇÑÀ» Ã¼Å©ÇÑ´Ù.
              if(currEl.getAttribute("lengthchk") != null && currEl.value.length > 0){
                     if(!chkLength(currEl,currEl.lengthchk,currEl.hname)) return false;
              }
       }
}

function check_num(field){
	cmm = /[a-z]|[A-Z]|[- !@#$%^&*()_+|=\`~"':;.,<>?/]/;

	if(cmm.exec(field.value)){
		alert('¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù. ¿µ¹®, °ø¹é, Æ¯¼ö¹®ÀÚ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.');
		field.value = "";
		field.focus();
	}
}

function chkPatten(field,patten,name)
{
       var regNum =/^[0-9]+$/;
       var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
       var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/;
       var regDomain =/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/;
       var regAlpha =/^[a-zA-Z]+$/;
       var regHost =/^[a-zA-Z-]+$/;
       var regHangul =/[°¡-ÆR]/;
       var regHangulEng =/[°¡-ÆRa-zA-Z]/;
       var regHangulOnly =/^[°¡-ÆR]*$/;
       var regId = /^[a-zA-Z]{1}[a-zA-Z0-9_-]{3,15}$/;
       var regPwd = /^[a-zA-Z0-9_-]{4,15}$/;
       var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;

       patten = eval(patten);
       if(!patten.test(field.value)){
              alert(name + "\n\nÇ×¸ñÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
              field.focus();
              return false;
       }
       return true;
}
//-- ¹®ÀÚ¿­ ±æÀÌ °Ë»ç
function getLength(str) {
       return (str.length + (escape(str) + "/%u").match(/%u/g).length-1);
}
function chkLength(field,length,name)
{
       if(getLength(field.value) > length){
              alert(name + "\n\n±ÛÀÚÁ¦ÇÑ ¿µ¹®,¼ýÀÚ "+length+"ÀÚ , ÇÑ±Û "+(length*2)+"ÀÚ ÀÌÇÏ ÀÔ·ÂÁ¦ÇÑ ÀÔ´Ï´Ù.");
              field.focus();
              return false;
       }
       return true;
}

function chkText(field, name)
{
       if(field.value.length < 1){
              alert(name);
              field.focus();
              return false;
       }
       return true;
}

function chkCheckbox(form, field, name)
{
       fieldname = eval(form.name+'.'+field.name);
       if (!fieldname.checked){
              alert(name);
              field.focus();
              return false;
       }
       return true;
}

function chkRadio(form, field, name)
{
       fieldname = eval(form.name+'.'+field.name);
       for (i=0;i<fieldname.length;i++) {
              if (fieldname[i].checked)
                     return true;
       }
       alert(name);
       field.focus();
       return false;
}
/*
 * Æû°Ë»ç±â ³¡
*/

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function popUp(theUrl,etc) {

var imgwin = window.open(theUrl,'WIN',etc);
imgwin.focus();
}

function popUpCenter(theUrl,w,h) {
var height = screen.height;
var width = screen.width;
var leftpos = width / 2 - 150;
var toppos = height / 2 - 100;
//var url = 'viewer.html?pic='+encode(what);
var imgwin = window.open(theUrl,'WIN','scrollbars=auto,status=no,toolbar=no,resizable=1,location=no,menu=no,width='+w+',height='+h+',left=' + leftpos + ',top=' + toppos);
imgwin.focus();
}

function getParams() {
var idx = document.URL.indexOf('?');
var params = new Array();
if (idx != -1) {
var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
for (var i=0; i<pairs.length; i++) {
nameVal = pairs[i].split('=');
params[nameVal[0]] = nameVal[1];
   }
}
return params;
}
params = getParams();


function PopUp(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}




// checkbox ¸ðµÎ ¼±ÅÃÇÏ±â ÇÔ¼ö
CheckboxFlag=false;

function CheckAllForCheckbox(ElementName){

    var EleSize=ElementName.length;
    var i=0;

    if(!CheckboxFlag){

        if(!EleSize){

            ElementName.checked=true;

        }else{

            for(i;EleSize>i;++i){

                ElementName[i].checked=true;

            }

        }

        CheckboxFlag=true;

    }else{

        if(!EleSize){

            ElementName.checked=false;

        }else{

            for(i;EleSize>i;++i){

                ElementName[i].checked=false;

            }

        }

        CheckboxFlag=false;

    }

}

// »ø·¢Æ®¹Ú½º ¸ðµÎ ¼±ÅÃÇÏ±â ÇÔ¼ö
SelectboxFlag=false;

function CheckAllForSelectbox(ElementName){

    var EleSize=ElementName.options.length;
    var i=0;



    if(!SelectboxFlag){

        for(i;EleSize>i;++i){

            ElementName.options[i].selected=true;
            SelectboxFlag=true;

        }

    }else{

        for(i;EleSize>i;++i){

            ElementName.options[i].selected=false;
            SelectboxFlag=false;

        }

    }

}

// Àç¿Ü±¹ÀÎ ¹øÈ£ Ã¼Å©
function check_fgnno(fgnno) {
        var sum=0;
        var odd=0;
        buf = new Array(13);
        for(i=0; i<13; i++) { buf[i]=parseInt(fgnno.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;
        }
        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 }
        return true;
}

// ÁÖ¹Î¹øÈ£ Ã¼Å©
function check_juminno(juminno) {
        if(juminno=="" || juminno==null || juminno.length!=13) {
                alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ Àû¾îÁÖ¼¼¿ä.");
                return false;
        }
        var jumin1 = juminno.substr(0,6);
        var jumin2 = juminno.substr(6,7);
        var yy           = jumin1.substr(0,2);        // ³âµµ
        var mm     = jumin1.substr(2,2);        // ¿ù
        var dd     = jumin1.substr(4,2);        // ÀÏ
        var genda  = jumin2.substr(0,1);        // ¼ºº°
        var msg, ss, cc;

        // ¼ýÀÚ°¡ ¾Æ´Ñ °ÍÀ» ÀÔ·ÂÇÑ °æ¿ì
        if (!isNumeric(jumin1)) {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕÀÚ¸®¸¦ ¼ýÀÚ·Î ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // ±æÀÌ°¡ 6ÀÌ ¾Æ´Ñ °æ¿ì
        if (jumin1.length != 6) {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕÀÚ¸®¸¦ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // Ã¹¹øÂ° ÀÚ·á¿¡¼­ ¿¬¿ùÀÏ(YYMMDD) Çü½Ä Áß ±âº» ±¸¼º °Ë»ç
        if (yy < "00" || yy > "99" ||
                mm < "01" || mm > "12" ||
                dd < "01" || dd > "31") {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕÀÚ¸®¸¦ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // ¼ýÀÚ°¡ ¾Æ´Ñ °ÍÀ» ÀÔ·ÂÇÑ °æ¿ì
        if (!isNumeric(jumin2)) {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ µÞÀÚ¸®¸¦ ¼ýÀÚ·Î ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // ±æÀÌ°¡ 7ÀÌ ¾Æ´Ñ °æ¿ì
        if (jumin2.length != 7) {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ µÞÀÚ¸®¸¦ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // ¼ºº°ºÎºÐÀÌ 1 ~ 4 °¡ ¾Æ´Ñ °æ¿ì
        if (genda < "1" || genda > "4") {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ µÞÀÚ¸®¸¦ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // ¿¬µµ °è»ê - 1 ¶Ç´Â 2: 1900³â´ë, 3 ¶Ç´Â 4: 2000³â´ë
        cc = (genda == "1" || genda == "2") ? "19" : "20";
        // Ã¹¹øÂ° ÀÚ·á¿¡¼­ ¿¬¿ùÀÏ(YYMMDD) Çü½Ä Áß ³¯Â¥ Çü½Ä °Ë»ç
        if (isYYYYMMDD(parseInt(cc+yy), parseInt(mm), parseInt(dd)) == false) {
                alert("ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕÀÚ¸®¸¦ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        // Check Digit °Ë»ç
        if (!isSSN(jumin1, jumin2)) {
                alert("ÀÔ·ÂÇÑ ÁÖ¹Îµî·Ï¹øÈ£¸¦ °ËÅäÇÑ ÈÄ, ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
                return false;
        }
        return true;
}

// »ç¾÷ÀÚµî·Ï¹øÈ£ Ã¼Å©
function check_busino(vencod) {
        var sum = 0;
        var getlist =new Array(10);
        var chkvalue =new Array("1","3","7","1","3","7","1","3","5");
        for(var i=0; i<10; i++) { getlist[i] = vencod.substring(i, i+1); }
        for(var i=0; i<9; i++) { sum += getlist[i]*chkvalue[i]; }
        sum = sum + parseInt((getlist[8]*5)/10);
        sidliy = sum % 10;
        sidchk = 0;
        if(sidliy != 0) { sidchk = 10 - sidliy; }
        else { sidchk = 0; }
        if(sidchk != getlist[9]) { return false; }
        return true;
}


function isYYYYMMDD(y, m, d) {
        switch (m) {
        case 2:        // 2¿ùÀÇ °æ¿ì
                if (d > 29) return false;
                if (d == 29) {
                        // 2¿ù 29ÀÇ °æ¿ì ´çÇØ°¡ À±³âÀÎÁö¸¦ È®ÀÎ
                        if ((y % 4 != 0) || (y % 100 == 0) && (y % 400 != 0))
                                return false;
                }
                break;
        case 4:        // ÀÛÀº ´ÞÀÇ °æ¿ì
        case 6:
        case 9:
        case 11:
                if (d == 31) return false;
        }
        // Å« ´ÞÀÇ °æ¿ì
        return true;
}
function isNumeric(s) {
        for (i=0; i<s.length; i++) {
                c = s.substr(i, 1);
                if (c < "0" || c > "9") return false;
        }
        return true;
}
function isLeapYear(y) {
        if (y < 100)
        y = y + 1900;
        if ( (y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0) ) {
                return true;
        } else {
                return false;
        }
}
function getNumberOfDate(yy, mm) {
        month = new Array(29,31,28,31,30,31,30,31,31,30,31,30,31);
        if (mm == 2 && isLeapYear(yy)) mm = 0;
        return month[mm];
}
function isSSN(s1, s2) {
        n = 2;
        sum = 0;
        for (i=0; i<s1.length; i++)
                sum += parseInt(s1.substr(i, 1)) * n++;
        for (i=0; i<s2.length-1; i++) {
                sum += parseInt(s2.substr(i, 1)) * n++;
                if (n == 10) n = 2;
        }
        c = 11 - sum % 11;
        if (c == 11) c = 1;
        if (c == 10) c = 0;
        if (c != parseInt(s2.substr(6, 1))) return false;
        else return true;
}
function windowClose(){
	alert ("Á¤»óÀûÀ¸·Î Ã³¸® µÇ¾ú½À´Ï´Ù.");
	window.close();
}
