// 아이디 유효성 체크
function fIdCheck(obj, val)
{
	if (!val.trim())
	{
		alert("아이디를 입력하세요.");
		obj.focus();
		obj.checked = "";
		return;
	}
	var isID = /^[a-zA-Z0-9]{6,12}$/;
	if( !isID.test(val) || val.search(/\s/) != -1) 
	{
		alert("아이디는 영문,숫자 조합 6~12자리 입니다.");
		obj.focus();
		obj.checked = "";
		return;
	}

	// 아이디 중복여부 체크
	if(!obj.checked)
	{
		alert("아이디 중복확인을 해주세요.");
		obj.focus();
		return false;
	}
	return true;
}

var newPwChk;

// 비밀번호 체크
function fPassCheck(obj, val)
{
	var obj1=obj.form.passwd;
	var J1=obj.form.passwd.value;
	var J2=val;

	var msg = "";

	if (newPwChk == "new")
	{
		msg = "새로운 ";
	}

	if (!J1)
	{
		alert(msg + "비밀번호를 입력하세요.");
		obj1.focus();
		return false;
	}
	if (!J2)
	{
		alert("비밀번호 확인을 입력하세요.");
		obj.focus();
		return false;
	}

	// 비밀번호와 비밀번호 확인이 일치하지 않을경우 처리
	if (J1 != J2)
	{
		alert("비밀번호와 비밀번호확인이 일치 하지 않습니다.");	
		obj1.value = "";
		obj.value = "";
		obj1.focus();
		return false;
	}
	// 비밀번호가 조건에 맞지 않을경우 처리
	var isID = /^[a-zA-Z0-9]{6,12}$/;
	if( !isID.test(J1) || J1.search(/\s/) != -1) {
		alert("비밀번호는 6~12자 이하의 영문, 숫자만 가능합니다.");
		obj1.value = "";
		obj.value = "";
		obj1.focus();
		return false;
	}

	// 연속된 문자나 숫자 체크

	var cnt=0,cnt2=1,cnt3=1;
	var temp_pass;


    for(i=0;i < J1.length;i++){
		temp_pass1 = J1.charAt(i);

        next_pass = (parseInt(temp_pass1.charCodeAt(0)))+1;

        temp_p = J1.charAt(i+1);
        temp_pass2 = (parseInt(temp_p.charCodeAt(0)));

        if (temp_pass2 == next_pass){
			cnt2 = cnt2 + 1;
		}else{
			cnt2 = 1;
		}

        if (temp_pass1 == temp_p){
			cnt3 = cnt3 + 1;
		}else{
			cnt3 = 1;
		}

		if (cnt2 > 3){
			break;
		}

		if (cnt3 > 3){
			break;
		}
	}

        if (cnt2 > 3){
	        alert("비밀번호에 연속된 문자나 순차적인 숫자를 4개이상 사용해서는 안됩니다.");
	        obj1.value ="";
	        obj.value ="";
	        obj1.focus();
	        return false;
        }

        if (cnt3 > 3){
	        alert("비밀번호에 반복된 문자/숫자를 4개이상 사용해서는 안됩니다.");
	        obj1.value ="";
	        obj.value ="";
	        obj1.focus();
	        return false;
        }
	return true;
}

// 비밀번호 체크
function fPassCheck2(obj, val)
{
	var obj1=obj.form.passwd;
	var J1=obj.form.passwd.value;
	var J2=val;

	if (J1 || J2)
	{
		if (!J1)
		{
			alert("비밀번호를 입력하세요.");
			obj1.focus();
			return false;
		}
		if (!J2)
		{
			alert("비밀번호 확인을 입력하세요.");
			obj.focus();
			return false;
		}
	}
	else
	{
		return true;
	}


	// 비밀번호와 비밀번호 확인이 일치하지 않을경우 처리
	if (J1 != J2)
	{
		alert("비밀번호와 비밀번호확인이 일치 하지 않습니다.");	
		obj1.value = "";
		obj.value = "";
		obj1.focus();
		return false;
	}
	// 비밀번호가 조건에 맞지 않을경우 처리
	var isID = /^[a-zA-Z0-9]{6,12}$/;
	if( !isID.test(J1) || J1.search(/\s/) != -1) {
		alert("비밀번호는 6~12자 이하의 영문, 숫자, 특수문자만 가능합니다.");
		obj1.value = "";
		obj.value = "";
		obj1.focus();
		return false;
	}

	// 연속된 문자나 숫자 체크

	var cnt=0,cnt2=1,cnt3=1;
	var temp_pass;


    for(i=0;i < J1.length;i++){
		temp_pass1 = J1.charAt(i);

        next_pass = (parseInt(temp_pass1.charCodeAt(0)))+1;

        temp_p = J1.charAt(i+1);
        temp_pass2 = (parseInt(temp_p.charCodeAt(0)));

        if (temp_pass2 == next_pass){
			cnt2 = cnt2 + 1;
		}else{
			cnt2 = 1;
		}

        if (temp_pass1 == temp_p){
			cnt3 = cnt3 + 1;
		}else{
			cnt3 = 1;
		}

		if (cnt2 > 3){
			break;
		}

		if (cnt3 > 3){
			break;
		}
	}

        if (cnt2 > 3){
	        alert("비밀번호에 연속된 문자나 순차적인 숫자를 4개이상 사용해서는 안됩니다.");
	        obj1.value ="";
	        obj.value ="";
	        obj1.focus();
	        return false;
        }

        if (cnt3 > 3){
	        alert("비밀번호에 반복된 문자/숫자를 4개이상 사용해서는 안됩니다.");
	        obj1.value ="";
	        obj.value ="";
	        obj1.focus();
	        return false;
        }
	return true;
}

// 주민등록번호 체크
function fJuminChk(obj, val)
{    
	var objssn1 = obj;
	var objssn2 = obj.form.elements(obj.name)[1];
//	var objssn2 = obj.form.ssn[0];
 
	 if( objssn1.value == '' ){
         alert("주민등록번호 앞자리를 입력하세요");
         objssn1.focus();
         return false;
     }
	
     if( objssn2.value == '' ){
         alert("주민등록번호 뒷자리를 입력하세요");
         objssn2.focus();
         return false;
     }

	if( objssn1.value.length != 6 ){
         alert("유효한 주민등록번호가 아닙니다");
		 objssn1.value="";
         objssn1.focus();
         return false;
     }

	if( objssn2.value.length != 7){
         alert("유효한 주민등록번호가 아닙니다");
		 objssn2.value="";
         objssn2.focus();
         return false;
     }

/*  주민등록번호 유효성 체크 안하도록 설정함 - 2009.3.2 ohl

	var socno = (objssn1.value + objssn2.value);
    var rVal1 = checkDigit_socno(socno);
    if( rVal1 == 'N' ){
        alert("주민등록번호가 유효하지 않습니다. 다시 입력하세요");
		objssn1.value="";
		objssn2.value="";
        objssn1.focus();
        return false;
    }
*/    
    
	return true;
}


//주민등록번호 유효성 체크
function checkDigit_socno(socno)
{

	if(socno == "7010101111111" || socno == "1111111111118" || socno == "7711111111111" ) {
		return 'N'; // 예외 주민번호 방지
	}
//	if(socno == "9010072000001") return 'Y';
	var socnoStr = socno.toString();
     a = socnoStr.substring(0, 1);
     b = socnoStr.substring(1, 2);
     c = socnoStr.substring(2, 3);
     d = socnoStr.substring(3, 4);
     e = socnoStr.substring(4, 5);
     f = socnoStr.substring(5, 6);
     g = socnoStr.substring(6, 7);
     h = socnoStr.substring(7, 8);
     i = socnoStr.substring(8, 9);
     j = socnoStr.substring(9, 10);
     k = socnoStr.substring(10, 11);
     l = socnoStr.substring(11, 12);
     m = socnoStr.substring(12, 13);
	 month = socnoStr.substring(2,4);
	 day = socnoStr.substring(4,6);
	 socnoStr1 = socnoStr.substring(0, 7);
	 socnoStr2 = socnoStr.substring(7, 13);

	 /* 2004.03.20 월일 valid check */
	 if(month <= 0 || month > 12) return 'N';
	 if(day <= 0 || day > 31) return 'N';

     /* 2004.03.20 주민등록뒷자리 첫번째 번호 유효성 체크 (1,2,3,4) are only valid  -- by muse */
	 if(g > 4 || g == 0) return 'N';  
	 
     
	 /* 2004.05.07 주민등록번호에 공백이 들어가도 가입이 되는 경우가 발생하지 않도록 -- by fywowng*/
	 if (isNaN(socnoStr1) || isNaN(socnoStr2))
	 {
		 return 'N';
	 }

     temp=a*2+b*3+c*4+d*5+e*6+f*7+g*8+h*9+i*2+j*3+k*4+l*5;
     temp=temp%11;
     temp=11-temp;
     temp=temp%10;
    
     if(temp == m)
        return 'Y';
     else
        return 'N'; 
}
