// ÁÖ¹Î¹øÈ£ Ã¼Å©
function chkreg(jumin1_fi, jumin2_fi) {

        var jumin1 = jumin1_fi.value;
        var jumin2 = jumin2_fi.value;
        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 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 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 isNumeric(s) {
    for (i=0; i<s.length; i++) {
            c = s.substr(i, 1);
            if (c < "0" || c > "9") return false;
    }
    return true;
}


/*===========================================
/** ÁÖ¹Îµî·Ï¹øÈ£ À¯È¿¼º Ã¼Å© - Å¸ÀÔ 2¹ø 
chkreg_re(ÁÖ¹Î¹øÈ£, ÇÊµå1, ÇÊµå2)
===========================================*/
 function chkreg_re(juminNumber, tmp1, tmp2) {
	// ÁÖ¹Î¹øÈ£ÀÇ ÇüÅÂ¿Í 7¹øÂ° ÀÚ¸®(¼ºº°) À¯È¿¼º °Ë»ç
	fmt = /^\d{6}[1234]\d{6}$/;

	if(!fmt.test( juminNumber) ) {
		alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.(1)");
   		tmp1.value = "";
   		tmp2.value = "";
   		tmp1.focus();
		return false;
	}

	// ³¯Â¥ À¯È¿¼º °Ë»ç
	birthYear  = (juminNumber.charAt(7) <= "2") ? "19" : "20";
	birthYear += juminNumber.substr( 0, 2 );
	birthMonth = juminNumber.substr( 2, 2 ) - 1;
	birthDate  = juminNumber.substr( 4, 2 );

	birth = new Date(birthYear, birthMonth, birthDate);

	if( birth.getYear() % 100 != juminNumber.substr( 0, 2 ) || birth.getMonth() != birthMonth || birth.getDate() != birthDate ) {
		alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.(2)");
   		tmp1.value = "";
   		tmp2.value = "";
   		tmp1.focus();
		return false;
	}

  	// Check Sum ÄÚµåÀÇ À¯È¿¼º °Ë»ç
  	buf = new Array( 13 );

  	for( i = 0; i < 6; i++ ) buf[i] = parseInt(juminNumber.charAt( i ));
  	for( i = 6; i < 13; i++ ) buf[i] = parseInt(juminNumber.charAt( i ));

  	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] );

  	if( ( 11 - ( sum % 11 ) ) % 10 != buf[12] ) {
   		alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.(3)");
   		tmp1.value = "";
   		tmp2.value = "";
   		tmp1.focus();
   		return false;
  	}
  	return true;
 }
