// ÁÖ¹Îµî·Ï¹øÈ£Ã¼Å©
function checkNumbers(frm) {
	var Digit = '1234567890'
	var gubun = parseInt(frm.ssn2.value.substring(0, 1));

	if (Tcheck(frm.ssn1, Digit, 6, 6, 'ÁÖ¹Î¹øÈ£ ¾ÕÀÚ¸®')) {
		frm.ssn1.focus();
		return false;
	}

	if (Tcheck(frm.ssn2, Digit, 7, 7, 'ÁÖ¹Î¹øÈ£ µÞÀÚ¸®')) {
		frm.ssn2.focus();
		return false;
	}

	if (gubun >= 1 && gubun <= 4){
		if (checkIdnNo(frm) == false) {
			frm.ssn1.focus();
			return false;
		} else {
			return true;
		}
	} else if (gubun >= 5 && gubun <= 8){
		if (checkForeignNo(frm) == false) {
			frm.ssn1.focus();
			return false;
		} else {
			return true;
		}
	} else {
		window.alert('ÁÖ¹Îµî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù');
		return false;
	}
}
function Tcheck(target, astr, lmin, lmax, targetname) {
	var i;
	var t = target.value;

	if (t.length < lmin || t.length > lmax) {
		if (lmin == lmax) {
			window.alert(lmin + '±ÛÀÚ·Î ' + targetname + 'À»(¸¦) ÀÔ·ÂÇÏ½Ê½Ã¿À');
			target.value = '';
		} else {
			window.alert(lmin + ' ~ ' + lmax + '±ÛÀÚ·Î ' + targetname + 'À»(¸¦) ÀÔ·ÂÇÏ½Ê½Ã¿À');
			target.value = '';
		}
		return true;
	}
	if (astr.length > 1) {
		for (i = 0; i < t.length; i++) {
			if (astr.indexOf(t.substring(i, i + 1)) < 0) {
				window.alert(targetname + '¿¡ Çã¿ëÇÒ ¼ö ¾ø´Â ¹®ÀÚ°¡ ÀÔ·ÂµÇ¾ú½À´Ï´Ù');
				target.value = '';
				target.focus();
				return true;
			}
		}
	}

	return false;
}
function idn_no_checksum(idn_no) {
	var tmp = 0;
	var ssn1 = idn_no.substring(0, 6);
	var ssn2 = idn_no.substring(6, 13);

	for (i = 0; i <= 5; i++) {
		tmp = tmp + ((i % 8 + 2) * parseInt(ssn1.substring(i, i + 1)));
	}
	for (i = 6; i <= 11; i++) {
		tmp = tmp + ((i % 8 + 2) * parseInt(ssn2.substring(i - 6, i - 5)));
	}

	tmp = 11 - (tmp % 11);
	tmp = tmp % 10;

	if (tmp != ssn2.substring(6, 7)) {
		return false;
	} else {
		return true;
	}
}
function checkIdnNo(frm) {
	todayDate = new Date();

	var ssn1 = frm.ssn1.value;
	var ssn2 = frm.ssn2.value;
	var idn_no = ssn1 + ssn2;
	var yy = ssn1.substring(0, 2);
	var mm = ssn1.substring(2, 4);
	var dd = ssn1.substring(4, 6);
	var sex = ssn2.substring(0, 1);
	var fullyr = todayDate.getFullYear();
	var born = '';

	if (idn_no == '' || idn_no.length != 13) {
		window.alert('Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù');
		frm.ssn1.value = '';
		frm.ssn2.value = '';
		frm.ssn1.focus();
		return false;
	}
/*
	if (sex == '1' || sex == '2') {
		born = '19' + yy;
	} else if (sex == '3' || sex == '4') {
		born = '20' + yy;
	}

	if (fullyr - parseInt(born) < 14) {
		window.alert('¸¸ 14¼¼ÀÌ»ó¸¸ °¡ÀÔÇÒ¼ö ÀÖ½À´Ï´Ù');
		return false;
	}
*/
	if (idn_no_checksum(ssn1 + ssn2) == false){
		window.alert('ÁÖ¹Îµî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù');
		frm.ssn1.value = '';
		frm.ssn2.value = '';
		frm.ssn1.focus();
		return false;
	} else {
		return true;
	}
}
function fgn_no_chksum(reg_no) {
	var sum = 0;
	var odd = 0;

	buf = new Array(13);

	for(i = 0; i < 13; i++) {
		buf[i] = parseInt(reg_no.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;
	} else {
		return true;
	}
}
function checkForeignNo(frm) {
	todayDate = new Date();

	var fgn_reg_no = frm.ssn1.value + frm.ssn2.value;
	var fullyr = todayDate.getFullYear();

	if (fgn_reg_no == '' || fgn_reg_no.length != 13){
		window.alert('Àß¸øµÈ ¿Ü±¹ÀÎµî·Ï¹øÈ£ÀÔ´Ï´Ù');
		return false;
	}
	if (fgn_reg_no.charAt(6) == '5' || fgn_reg_no.charAt(6) == '6') {
		birthYear='19';
	} else if (fgn_reg_no.charAt(6) == '7' || fgn_reg_no.charAt(6) == '8') {
		birthYear='20';
	} else if (fgn_reg_no.charAt(6) == '9' || fgn_reg_no.charAt(6) == '0') {
		birthYear='18';
	} else {
		window.alert('µî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù');
		frm.ssn1.value = '';
		frm.ssn2.value = '';
		frm.ssn1.focus();
		return false;
	}

	birthYear += fgn_reg_no.substr(0, 2);
	birthMonth = fgn_reg_no.substr(2, 2) - 1;
	birthDate = fgn_reg_no.substr(4, 2);

	birth = new Date(birthYear, birthMonth, birthDate);
/*
	if (fullyr - parseInt(birthYear) < 14) {
		window.alert('¸¸ 14¼¼ÀÌ»ó¸¸ °¡ÀÔÇÒ¼ö ÀÖ½À´Ï´Ù');
		return false;
	}
*/
	if (birth.getYear() % 100 != fgn_reg_no.substr(0, 2) || birth.getMonth() != birthMonth || birth.getDate() != birthDate) {
		window.alert('»ý³â¿ùÀÏ¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù');
		return false;
	}

	if (fgn_no_chksum(fgn_reg_no) == false){
		window.alert('¿Ü±¹ÀÎµî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù');
		frm.ssn1.value = '';
		frm.ssn2.value = '';
		frm.ssn1.focus();
		return false;
	} else {
		return true;
	}
}
