﻿
var yyyy;
var mm;
var dd;
var birthday;
var sex;
var c="";
function getYear(){
    return yyyy;
}
function getMonth(){
    return mm;
}
function getDate(){
    return dd;
}
function getBirthday(){
    return birthday;
}
function getSex(){
    return sex;
}
function getAge(){
    var mm=getMonth();
    if (mm<10)
            mm=mm.substring(1,2);
    return Math.floor((parseInt(_getYear())*12+parseInt(_getMonth())-parseInt(getYear())*12-parseInt(mm))/12);
}

// 주민등록번호 검증
function RegNoCheck (idCard){
    var id=idCard;
    var id_length=id.length;

    if (id_length==0){
        alert("주민등록번호를 입력하십시오!");
        return false;
    }
    if (id_length!=15 && id_length!=18){
        alert("주민등록 번호 자리수는 15자리이나 18자리입니다！");
        return false;
    }

    if (id_length==15){
        yyyy="19"+id.substring(6,8);
        mm=id.substring(8,10);
        dd=id.substring(10,12);

        if (mm>12 || mm<=0){
            alert("입력한 주민등록 번호의 월이 잘못되었습니다！");
            return false;
        }

        if (dd>31 || dd<=0){
            alert("입력한 주민등록 번호의 날자가 잘못되었습니다！");
            return false;
        }

        birthday=yyyy+ "-" +mm+ "-" +dd;

        if ("13579".indexOf(id.substring(14,15))!=-1){
            sex="1";
        }else{
            sex="2";
        }
    }else if (id_length==18){
        if (id.indexOf("X") > 0 && id.indexOf("X")!=17 || id.indexOf("x")>0 && id.indexOf("x")!=17){
            alert("주민등록 번호 중 \"X\"번째 자리가 잘못되었습니다！");
            return false;
        }

        yyyy=id.substring(6,10);
        if (yyyy>2200 || yyyy<1900){
            alert("입력한 주민등록 번호의 년도가 잘못되었습니다！");
            return false;
        }

        mm=id.substring(10,12);
        if (mm>12 || mm<=0){
            alert("입력한 주민등록 번호의 월이 잘못되었습니다！");
            return false;
        }

        dd=id.substring(12,14);
        if (dd>31 || dd<=0){
            alert("입력한 주민등록 번호의 날자가 잘못되었습니다！");
            return false;
        }

        if (id.charAt(17)=="x" || id.charAt(17)=="X")
        {
            if ("x"!=GetVerifyBit(id) && "X"!=GetVerifyBit(id)){
                alert("주민등록 번호 검증 결과 틀렸습니다，마지막 자리를 검토하십시오！");
                return false;
            }

        }else{
            if (id.charAt(17)!=GetVerifyBit(id)){
                alert("주민등록 번호 검증 결과 틀렸습니다，마지막 자리를 검토하십시오！");
                return false;
            }
        }

        birthday=id.substring(6,10) + "-" + id.substring(10,12) + "-" + id.substring(12,14);
        if ("13579".indexOf(id.substring(16,17)) > -1){
            sex="1";
        }else{
            sex="2";
        }
    }

    return true;
}
//15자리에서 18자리로 전환 중, 검증 대상은 마지막 자리입니다
function GetVerifyBit(id){
    var result;
    var nNum=eval(id.charAt(0)*7+id.charAt(1)*9+id.charAt(2)*10+id.charAt(3)*5+id.charAt(4)*8+id.charAt(5)*4+id.charAt(6)*2+id.charAt(7)*1+id.charAt(8)*6+id.charAt(9)*3+id.charAt(10)*7+id.charAt(11)*9+id.charAt(12)*10+id.charAt(13)*5+id.charAt(14)*8+id.charAt(15)*4+id.charAt(16)*2);
    nNum=nNum%11;
    switch (nNum) {
       case 0 :
          result="1";
          break;
       case 1 :
          result="0";
          break;
       case 2 :
          result="X";
          break;
       case 3 :
          result="9";
          break;
       case 4 :
          result="8";
          break;
       case 5 :
          result="7";
          break;
       case 6 :
          result="6";
          break;
       case 7 :
          result="5";
          break;
       case 8 :
          result="4";
          break;
       case 9 :
          result="3";
          break;
       case 10 :
          result="2";
          break;
    }
    return result;
}

function setIdCard(card,b,b1,s){
	c=card.value;
	CheckValue(c);
	setBirthday(b);
	setBirthday(b1);
	setSex(s);
}
function setBirthday(bir){
	if(c!=''){
		bir.value=birthday;
	}
}
function setSex(se){
	if(c=!''){
		if(sex==1){
			se.value="Male";
		}else if(sex==2){
			se.value="Female";
		}else{
			se.value="";
		}
	}
}

function resizeImg(oImg, limitWidth, limitHeight ) {
	if(oImg.width > limitWidth ) oImg.width = limitWidth;
	if(oImg.height > limitHeight ) oImg.height = limitHeight;
}

