// JavaScript Document
/******************************************************************
* 프로그램명 	:  주민 번호 체크 
* 만든이       	: pulda 
* 파일 포맷   	: ver 1.0.1
* 수정일       	:2005-12-28  
* 참고 내용   	: 
*******************************************************************/

function jumin_check(no1, no2) {
	if (no1.length != 6) { return  false; }
	else if (no2.length != 7) { return  false; }
	else {
		var str_serial1 = no1;
		var str_serial2 = no2;

		var digit=0
		for (var i=0;i<str_serial1.length;i++) {
			var str_dig=str_serial1.substring(i,i+1);
			if (str_dig<'0' || str_dig>'9') { digit=digit+1; }
		}
		if ((str_serial1 == '') || ( digit != 0 )) { return  false; }
	
		var digit1=0;
		for (var i=0;i<str_serial2.length;i++){
			var str_dig1=str_serial2.substring(i,i+1);
			if (str_dig1<'0' || str_dig1>'9') { digit1=digit1+1; }
		}
		if ((str_serial2 == '') || ( digit1 != 0 )) { return  false; }

		if (str_serial1.substring(2,3) > 1) { return  false; }
		if (str_serial1.substring(4,5) > 3) { return  false; }
		if (str_serial2.substring(0,1) > 4 || str_serial2.substring(0,1) == 0) { return  false; }
		
		var a1=str_serial1.substring(0,1);
		var a2=str_serial1.substring(1,2);
		var a3=str_serial1.substring(2,3);
		var a4=str_serial1.substring(3,4);
		var a5=str_serial1.substring(4,5);
		var a6=str_serial1.substring(5,6);
		var check_digit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7;
		var b1=str_serial2.substring(0,1);
		var b2=str_serial2.substring(1,2);
		var b3=str_serial2.substring(2,3);
		var b4=str_serial2.substring(3,4);
		var b5=str_serial2.substring(4,5);
		var b6=str_serial2.substring(5,6);
		var b7=str_serial2.substring(6,7);
		var check_digit=check_digit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5;
		check_digit = check_digit%11;
		check_digit = 11 - check_digit;
		check_digit = check_digit%10;
        //alert(check_digit); 
        //alert(b7);	
		if (check_digit != b7) { return  false; }
		else { return  true; }
	}
}






/******************************************************************
* 프로그램명 :  메일 주소 체크 
* 만든이       : pulda 
* 파일 포맷   :
* 수정일       :2001-08-07  
* 참고 내용   : 
*******************************************************************/
function check_mail(mail) {
	var pattern = /^[^@ ]+@([a-zA-Z0-9-]){1,62}[a-zA-Z0-9]+\.[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/; 
	var result = mail.match(pattern); 
	if((result == null)||(result[0]!=mail)) { return  false; }
	return  true;
}






/**************************************************
* 함수설명 --  id check  영문 소문자 숫자 4-16 자 이내 검사 
* 파라미터 -- 검색하고자는 문자 
* 리턴값   -- true false 
* 동작    --
***************************************************/
function id_check(id){    
	var patten = /^[a-z0-9_]{4,12}$/;
	var result = id.match(patten);
	if((result==null)||(result[0]!=id)) { return  false; }
	return  true;
}


//---------------------------------------------------------------------
// +  라디오 버튼 기본 체크 
//---------------------------------------------------------------------


function radio_default_check(obj_r)
{
 var len = obj_r.length;
 for(var i=0;i<len;i++)
 {
   if (obj_r[i].checked)
   {
    return true;
    break;
   }
 }
 return false;
}

function getRadioCheckValue(obj)
{
 var len = obj.length;
 for(var i=0;i<len;i++)
 {
   if (obj[i].checked)
   {
    return obj[i].value;
    break;
   }
 }
 return "";
}

function setRadioChecked(obj,value)
{
 var len = obj.length;
 for(var i=0;i<len;i++)
 {
   if (obj[i].value == value)
   {
    obj[i].checked = true;
    break;
   }
 }
 return ;
}



/**************************************************
* 함수설명 --  id check  영문 대소문자 숫자 4-12 자 이내 검사 
* 파라미터 -- 검색하고자는 문자 
* 리턴값   -- true false 
* 동작    --
***************************************************/
function id_check2(id){
	var patten = /^[A-Za-z0-9]{4,12}$/;
	var result = id.match(patten);
	if((result==null)||(result[0]!=id)) { return  false; }
	return  true;
}

/**************************************************
* 함수설명 --  id check  영문 대소문자 숫자 4-12 자 이내 검사 
* 파라미터 -- 검색하고자는 문자 
* 리턴값   -- true false 
* 동작    --
***************************************************/
function id_check3(id){
    var patten = /^[가-힣A-Za-z0-9_]{2,16}$/;
    var result = id.match(patten);
    if((result==null)||(result[0]!=id)) { return  false; }
    return  true;
}




/**************************************************
* 함수설명 -- 빈공간 제외한  문자 얻기 
* 파라미터 -- 문자 
* 리턴값   -- 빈공간을 제외한 문자 반환 
* 동작    --
***************************************************/

function space_check(o_str) {
	var n_str="";
	for(i=0;i<o_str.length;i++){
		if(o_str.charAt(i)!=" ") { n_str += o_str.charAt(i); }
	}
	return  n_str;
}


function trim(str){
   //정규 표현식을 사용하여 화이트스페이스를 빈문자로 전환
   str = str.replace(/^\s*/,'').replace(/\s*$/, ''); 
   return str; //변환한 스트링을 리턴.
  } 





/**************************************************
* 함수설명 --  우편 주소 검색 
* 파라미터 -- 주소  
* 리턴값   -- 선택 주소 
* 동작    -- 검색된 결과 중에서 선택된 결과를 상위 폼에 전달 
***************************************************/



function submit_func() 
{
document.post.submit();
}


/**************************************************
* 함수설명 --  가입 취소 
* 파라미터 --
* 리턴값   --
* 동작    --
***************************************************/
function JoinCancel()
{
 if (confirm('가입을 취소 하시겠습니까?'))
 {
  window.location.href='index.php';
 }
}



/**************************************************
* 함수설명 -- 분실시 입력폼 체크 
* 파라미터 --
* 리턴값   --
* 동작    --
***************************************************/

function CheckFindPasswd(f)
{
 if (f.name.value == ""  )
  {
   alert('성함을 정확하게 넣어 주세요 .');
 f.name.focus();
 return  false;
  }
  
   if (f.jumin.value == ""  )
  {
   alert('주민 번호를 넣어 주세요 .');
   f.jumin.focus();
   return  false;
  }
  return  true;
}


/**************************************************
* 함수설명 --  동일 id 체크하기 위한 프로그램 호출
* 파라미터 -- user_id
* 리턴값   --
* 동작    -- 프로그램 호출 
***************************************************/
function CheckSameId()
{
	var id = document.join.user_id.value;
	if(id_check(id)) 
	{	
		window.open('pop_id.php?next_action=search&user_id='+id, '', 'width=406,height=221');	
	}
	else
	{
		alert("아이디는 영문소문자, 숫자 조합으로 4자 이상 12자 내로 적어 주셔야 합니다.");
		document.join.user_id.focus();
	}
}

function CheckSameWritename()
{
    var id = document.join.u_writename.value;
    
    if(id.length < 11 && id.length > 2  ) 
    {    
        window.open('pop_writename.php?next_action=search&u_writename='+encodeURIComponent(id), '', 'width=406,height=221');    
    }
    else
    {
        alert("필명은 한글,영문소문자,숫자,특수문자등을 조합하여 2byte 이상 10byte 내로 내로 적어 주셔야 합니다.");
        document.join.u_writename.focus();
    }
        

}




function CheckSms()
{
    var u_cell_1 = document.join.u_cell_1.value;
    var u_cell_2 = document.join.u_cell_2.value;  
    var u_cell_3 = document.join.u_cell_3.value;  
    
    if(u_cell_1.length < 3 || u_cell_2.length < 3 ||  u_cell_3.length < 4  ) 
    {    
        alert("핸드폰 번호를 넣어 주세요.");
        document.join.u_cell_1.focus();
    }
    else
    {
            window.open('pop_sms.php?next_action=search&u_cell_1='+u_cell_1+'&u_cell_2='+u_cell_2+'&u_cell_3='+u_cell_3, '', 'width=406,height=221');  

    }
        

}
/*
+
+  description :  우편 번호 
+  parameter : 
+  return :
+  @access public 
+
*/
function OpenZipcode()
{
 	var url = "pop_post.php";
	window.open(url, '_blank', 'width=424,height=246,resizable=0,scrollbars=1');
}


function OpenZipcode2()
{
 	var url = "search_post2.php";
	window.open(url, '_blank', 'width=410,height=310,resizable=0,scrollbars=1');
	//  window.showModalDialog(url, "_blank", "status=no,width=410,height=310,resizable=0,scrollbars=1")
	return  true;
}


/**************************************************
* 함수설명 --  회원 정보 가입시 정보 체크 
* 파라미터 --
* 리턴값   -- 
* 동작    -- 회원 가입 정보 에러 체크 
***************************************************/
function CheckJoinFormField(obj)
{



// 성명 빈공간 체크 
str = obj.u_name.value;
if (space_check(str)=="") 
{
alert("이름을 입력하세요.");
obj.u_name.focus();
return  false;
}



// 회원 id 검사 
// 빈 공간 검사 ,길이 검사 4자 이상 16자 이하  
var str = obj.user_id.value.toLowerCase();
obj.user_id.value = str;

     if( str.charAt(0) == '_') {
     alert("회원 아이디의 첫문자는 '_'로 시작할수 없습니다.");
     return 0;
     }



if (!id_check(str) || ( str == "guest") || ( str == "master") || ( str == "webmaster") || ( str == "root")|| ( str == "manager")) 
{
alert("ID는 4~16자의 영소문자, 숫자조합으로만 사용할 수 있습니다.");
obj.user_id.value="";
obj.user_id.focus();
return  false;
}

//패스워드 검사 
// 패스워드 확인 과 비교 , 길이 4자 이상 
str  = obj.u_passwd.value;
str1 = obj.u_passwd_confirm.value;
if(space_check(str) == "") 
{
alert("비밀번호 입력해 주세요.");
obj.u_passwd.focus();
return  false;
}
if (str!=str1) {
alert("비밀번호가 확인 비밀 번호와 일치하지 않습니다.");
obj.u_passwd_confirm.focus();
return  false;
}


if (trim(obj.u_writename.value) =="") 
{
alert("필명을 입력하세요.");
obj.u_writename.focus();
return  false;
}




/*	
	//birth  체크 
if(space_check(obj.u_birth_year.value) =='' || space_check(obj.u_birth_month.value) =='' || space_check(obj.u_birth_day.value) =='' || isNaN(obj.u_birth_year.value) || isNaN(obj.u_birth_month.value) || isNaN(obj.u_birth_day.value) ) 
{
		alert("생년 월일을  숫자로  입력하세요.");
		obj.u_birth_year.focus();
		return  false;
}
*/

if (obj.u_nation_check[0].checked) // 국내 체크 이면 
{

if (!jumin_check(obj.u_jumin_1.value, obj.u_jumin_2.value))
{
        alert("주민등록 번호를 정확히  입력하세요.");
        obj.u_jumin_1.focus();
        return  false
}

if (obj.u_tel_1.value==""  || obj.u_tel_2.value==""  || obj.u_tel_3.value=="" ) 
{
alert("전화번호를 입력하세요.");
obj.u_tel_1.focus();
return  false;
}


	//주소  체크 
if(obj.u_addr_1.value==""  || obj.u_addr_2.value==""  || obj.u_zipcode.value==""  ) 
{
		alert("주소를  입력하세요.");
		obj.u_addr_2.focus();
		return  false;
}
}



if (obj.u_selfcheck[0].checked)  
{
  if (space_check(obj.u_cell_check.value) =="")
  {
        alert("핸드폰으로 받은 인증문자를 넣어 주세요.");
        obj.u_cell_check.focus();
        return  false;
  } 
}
else
{
  if (space_check(obj.upfile_1.value) =="")
  {
        alert("신분증 파일을 선택해 주세요.");
        obj.upfile_1.focus();
        return  false;
  } 
}








if (!check_mail(obj.u_email.value))
{
	alert("이메일 주소를 정확하게 입력해 주세요.");
	obj.u_email.focus();
	return  false;
} 


if (obj.u_company.value==""   ) 
{
alert("소속단체를  입력하세요.");
obj.u_company.focus();
return  false;
}


return true;
}


function u_jumin_1_onkeyup()
{
if (document.join.u_jumin_1.value.length == 6)
{
 document.join.u_jumin_2.focus();
}
}

function u_jumin_2_onkeyup()
{
if (document.join.u_jumin_2.value.length == 7)
{
 document.join.user_id.focus();
}
}



/**************************************************
* 함수설명 --  회원 정보 가입시 정보 체크 
* 파라미터 --
* 리턴값   -- 
* 동작    -- 회원 가입 정보 에러 체크 
***************************************************/
function CheckJoinFormField2(obj)
{




//패스워드 검사 
// 패스워드 확인 과 비교 , 길이 4자 이상 
str  = obj.u_passwd.value;
str1 = obj.u_passwd_confirm.value;


if (str!=str1) {
alert("비밀번호가 확인 비밀 번호와 일치하지 않습니다.");
obj.u_passwd_confirm.focus();
return  false;
}


if (trim(obj.u_writename.value) =="") 
{
alert("필명을 입력하세요.");
obj.u_writename.focus();
return  false;
}





if (obj.u_nation_check[0].checked) // 국내 체크 이면 
{


if (obj.u_tel_1.value==""  || obj.u_tel_2.value==""  || obj.u_tel_3.value=="" ) 
{
alert("전화번호를 입력하세요.");
obj.u_tel_1.focus();
return  false;
}


    //주소  체크 
if(obj.u_addr_1.value==""  || obj.u_addr_2.value==""  || obj.u_zipcode.value==""  ) 
{
        alert("주소를  입력하세요.");
        obj.u_addr_2.focus();
        return  false;
}
}









if (!check_mail(obj.u_email.value))
{
    alert("이메일 주소를 정확하게 입력해 주세요.");
    obj.u_email.focus();
    return  false;
} 


if (obj.u_company.value==""   ) 
{
alert("소속단체를  입력하세요.");
obj.u_company.focus();
return  false;
}


return true;
}

 

//사업자 번호 체크 루틴 

function CompanyNumberCheck(no1,no2,no3)
{
//- 사업자 등록 번호 체크 
var cd1V = no1 ; 
var cd2V = no2 ; 
var cd3V = no3 ;  
var cdV = cd1V + cd2V + cd3V 
var calStr1 = "13713713", biVal = 0, tmpCal; 
var calLast = cdV.substring(9,10); 

for (i=0; i < 8; i++) { 
biVal = biVal + (parseFloat(cdV.substring(i,i+1)) * 
parseFloat(calStr1.substring(i,i+1))) % 10; 
} 

tmpCal = parseFloat(cdV.substring(8,9)) * 5 + "0"; 
chkVal = parseFloat(tmpCal.substring(0,1)) + 
parseFloat(tmpCal.substring(1,2)); 
chkDigit = (10 - (biVal + chkVal) % 10) % 10; 

if (calLast != chkDigit)
    { 
        return false ; 
    } 
else
    {
        return true ; 
    }


}



/**************************************************
* 함수설명 --  회원 정보 가입시 정보 체크 
* 파라미터 --
* 리턴값   -- 
* 동작    -- 회원 가입 정보 에러 체크 
***************************************************/
function CheckJoinFormFieldForCompany(obj)
{



// 성명 빈공간 체크 
str = obj.u_name.value;
if (space_check(str)=="") 
{
alert("대표자 이름을 입력하세요.");
obj.u_name.focus();
return  false;
}



// 회원 id 검사 
// 빈 공간 검사 ,길이 검사 4자 이상 16자 이하  
var str = obj.user_id.value.toLowerCase();
obj.user_id.value = str;
if (!id_check(str) || ( str == "guest") || ( str == "master") || ( str == "webmaster") || ( str == "root")|| ( str == "manager")) 
{
alert("ID는 4~16자의 영소문자, 숫자조합으로만 사용할 수 있습니다.");
obj.user_id.value="";
obj.user_id.focus();
return  false;
}

//패스워드 검사 
// 패스워드 확인 과 비교 , 길이 4자 이상 
str  = obj.u_passwd.value;
str1 = obj.u_passwd_confirm.value;
if(space_check(str) == "") 
{
alert("비밀번호 입력해 주세요.");
obj.u_passwd.focus();
return  false;
}
if (str!=str1) {
alert("비밀번호가 확인 비밀 번호와 일치하지 않습니다.");
obj.u_passwd_confirm.focus();
return  false;
}




/*    
    //birth  체크 
if(space_check(obj.u_birth_year.value) =='' || space_check(obj.u_birth_month.value) =='' || space_check(obj.u_birth_day.value) =='' || isNaN(obj.u_birth_year.value) || isNaN(obj.u_birth_month.value) || isNaN(obj.u_birth_day.value) ) 
{
        alert("생년 월일을  숫자로  입력하세요.");
        obj.u_birth_year.focus();
        return  false;
}
*/

if (obj.u_nation_check[0].checked) // 국내 체크 이면 
{

if (!jumin_check(obj.u_jumin_1.value, obj.u_jumin_2.value))
{
        alert("주민등록 번호를 정확히  입력하세요.");
        obj.u_jumin_1.focus();
        return  false
}

if (obj.u_tel_1.value==""  || obj.u_tel_2.value==""  || obj.u_tel_3.value=="" ) 
{
alert("전화번호를 입력하세요.");
obj.u_tel_1.focus();
return  false;
}


    //주소  체크 
if(obj.u_addr_1.value==""  || obj.u_addr_2.value==""  || obj.u_zipcode.value==""  ) 
{
        alert("주소를  입력하세요.");
        obj.u_addr_2.focus();
        return  false;
}
}



if (obj.u_selfcheck[0].checked)  
{
  if (space_check(obj.u_cell_check.value) =="")
  {
        alert("핸드폰으로 받은 인증문자를 넣어 주세요.");
        obj.u_cell_check.focus();
        return  false;
  } 
}
else
{
  if (space_check(obj.upfile_1.value) =="")
  {
        alert("신분증 파일을 선택해 주세요.");
        obj.upfile_1.focus();
        return  false;
  } 
}



if (!CompanyNumberCheck(obj.u_company_num_1.value, obj.u_company_num_2.value,obj.u_company_num_3.value))
{
        alert("사업자 번호를 정확히  입력하세요.");
        obj.u_company_1.focus();
        return  false
}





if (!check_mail(obj.u_email.value))
{
    alert("이메일 주소를 정확하게 입력해 주세요.");
    obj.u_email.focus();
    return  false;
} 


if (obj.u_company.value==""   ) 
{
alert("회사 이름을  입력하세요.");
obj.u_company.focus();
return  false;
}

if (trim(obj.u_relation_name.value) == ""   ) 
{
alert("홍보담당자  이름을  입력하세요.");
obj.u_relation_name.focus();
return  false;
}



return true;
}



/**************************************************
* 함수설명 --  회원 정보 가입시 정보 체크 
* 파라미터 --
* 리턴값   -- 
* 동작    -- 회원 가입 정보 에러 체크 
***************************************************/
function CheckJoinFormFieldForCompany2(obj)
{



//패스워드 검사 
// 패스워드 확인 과 비교 , 길이 4자 이상 
str  = obj.u_passwd.value;
str1 = obj.u_passwd_confirm.value;


if (str!=str1) {
alert("비밀번호가 확인 비밀 번호와 일치하지 않습니다.");
obj.u_passwd_confirm.focus();
return  false;
}




/*    
    //birth  체크 
if(space_check(obj.u_birth_year.value) =='' || space_check(obj.u_birth_month.value) =='' || space_check(obj.u_birth_day.value) =='' || isNaN(obj.u_birth_year.value) || isNaN(obj.u_birth_month.value) || isNaN(obj.u_birth_day.value) ) 
{
        alert("생년 월일을  숫자로  입력하세요.");
        obj.u_birth_year.focus();
        return  false;
}
*/

if (obj.u_nation_check[0].checked) // 국내 체크 이면 
{



if (obj.u_tel_1.value==""  || obj.u_tel_2.value==""  || obj.u_tel_3.value=="" ) 
{
alert("전화번호를 입력하세요.");
obj.u_tel_1.focus();
return  false;
}


    //주소  체크 
if(obj.u_addr_1.value==""  || obj.u_addr_2.value==""  || obj.u_zipcode.value==""  ) 
{
        alert("주소를  입력하세요.");
        obj.u_addr_2.focus();
        return  false;
}
}


 

if (!check_mail(obj.u_email.value))
{
    alert("이메일 주소를 정확하게 입력해 주세요.");
    obj.u_email.focus();
    return  false;
} 


if (obj.u_company.value==""   ) 
{
alert("회사 이름을  입력하세요.");
obj.u_company.focus();
return  false;
}

if (trim(obj.u_relation_name.value) == ""   ) 
{
alert("홍보담당자  이름을  입력하세요.");
obj.u_relation_name.focus();
return  false;
}



return true;
}