﻿function fnUsrIDChk( strid ){
	var	sChkID = /^[A-Za-z][A-Za-z0-9_]{3,16}$/;

	if(!sChkID.test(strid)){
		alert("ID를 다시 확인하시기 바랍니다!\n\nID의 첫글자는 영문자이어야 하며, \n\n공백없이 4~16자의 영문자 또는 \n\n숫자로 구성되어야 합니다.");
		return false;
	}
	return true;
}


var	winUsrChk = null;
function fnUsrChkWin(frmNM, valNM, cmdVal){
	if( winUsrChk==null ){
			var	winOption =	"width=320,height=150,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no";
			var	urlAddrSrc = "/user/userchk.html";

			urlAddrSrc = urlAddrSrc +
				  "?frmNM=" + frmNM +
				  "&valnm=" + valNM +
				  "&sval=" + eval( "document." + frmNM + "." + valNM + ".value");
			if( ""!=cmdVal )	urlAddrSrc = urlAddrSrc + "&cmd=" + cmdVal;
			winUsrChk = open(urlAddrSrc, "winUsrChkSrc", winOption);
	}
	winUsrChk.focus();
}

// 아이디 중복체크 창
function fnChkUserID(){
	var frmNM = document.frmJoin;
	if(!fnUsrIDChk(frmNM.usrid.value)){
		frmNM.usrid.focus();
		return;
	}else{
		fnUsrChkWin('frmJoin', 'usrid');
	}
}

// 이름	체크
function fnNameChk(str){
	var frmNM = document.frmJoin;

	if(asclen(str) <= 0) {
		alert("이름을 입력하세요."); return	false;
	}
	else if(asclen(str)	> 20 )	{
		alert("이름을 20자 이내로 입력하세요. 한글 한글자는 2자로 인식됩니다.");
		return false;
	}

//	if (frmNM.foreign.value !=	"Y"){
		if ( str.indexOf(' ') >= 0	) {
			alert("이름에는 공백을 허용하지 않습니다.");
			return false;
		}
		else if(!isHangul(str))	{
			alert("한글 실명을 입력하여 주세요.");
			return false;
		}
		else if(asclen(str)	> 10 )	{
			alert("이름을 10자 이내로 입력하세요. 한글 한글자는 2자로 인식됩니다.");
			return false;
		}
//	}

	return true;
}

// E-mail Check
function fnEmailChk(strEmail) {
	var	arrMatch = strEmail.match(/^(\".*\"|[A-Za-z0-9_-]([A-Za-z0-9_-]|[\+\.])*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z0-9][A-Za-z0-9_-]*(\.[A-Za-z0-9][A-Za-z0-9_-]*)+)$/);
	if (arrMatch ==	null) {
		return false;
	}

	var	arrIP =	arrMatch[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
	if (arrIP != null) {
		for	(var i = 1;	i <= 4;	i++) {
			if (arrIP[i] > 255)	{
				return false;
			}
		}
	}
	return true;
}

function fnJuminChk(juminNo1, juminNo2){
	var	chk	=0;
	var	yy = juminNo1.value.substring(0,2);

	var	mm = parseInt(juminNo1.value.substring(2,4), 10);
	var	dd = parseInt(juminNo1.value.substring(4,6), 10);
	var	sex	= parseInt(juminNo2.value.substring(0,1), 10);

	// 유효한 달, 일 체크
	if ((mm>12)||(mm<1)||(dd<1)||(dd>31)){
		alert ('주민등록번호 앞부분이 잘못되었습니다.');
		juminNo1.focus();
		return true;
	}

	if ((sex !=	1 && sex !=2 &&	sex	!=3	&& sex !=4)||(juminNo2.value.length != 7 )){
			alert ('주민등록번호 뒷부분이 잘못되었습니다.');
			juminNo2.focus();
			return true;
	}

	for	(var i = 0;	i <=5 ;	i++){
		chk	= chk +	((i%8+2) * parseInt(juminNo1.value.substring(i,i+1)))
	}

	for	(var i = 6;	i <=11 ; i++){
			chk	= chk +	((i%8+2) * parseInt(juminNo2.value.substring(i-6,i-5)))
	}


	chk	= 11 - (chk	%11)
	chk	= chk %	10


	if (chk	!= juminNo2.value.substring(6,7))
	{
			alert ('유효하지 않은 주민등록번호입니다.');
			juminNo1.focus();
			return true;
	}


	var	intYear, intMonth, intDay
	var	dayToday, dayUser

	if (sex	== 3 ||	sex	== 4) {
		intYear	= "20" + yy
	}

	intMonth = mm -	1
	intDay = dd

	dayUser	= new Date(intYear,	intMonth, intDay);
	dayToday = new Date()

	if ( (dayUser.getTime()	- dayToday.getTime()) >	0 )	{
			alert ('유효하지 않은 주민등록번호입니다.');
			juminNo1.focus();
			return true;
	}

	return false
}

function fnJuminAutoAdd() {

	var	frmNM =	document.frmJoin;
	var	juminVal1 = frmNM.jumin1.value;
	var	juminVal2 = frmNM.jumin2.value;
	var	disyy, sexchk, nsex;

	if (fnJuminChk(frmNM.jumin1, frmNM.jumin2) ==	true) return true;

	sexchk = juminVal2.substring(0,1);
	if (juminVal2.length == 7 && juminVal1.length	== 6) {
		switch (sexchk)	{
			case '1': nsex =	0; disyy = '19'	; break;
			case '2': nsex =	1; disyy = '19'	; break;
			case '3': nsex =	0; disyy = '20'	; break;
			case '4': nsex =	1; disyy = '20'	; break;
			default:
				alert('주민등록번호	뒷부분이 잘못되었습니다.');
				frmNM.jumin2.focus();
				return true;
		}

		if (typeof(frmNM.usrsex) != "undefined") {
			if (nsex == 0) frmNM.usrsex[0].checked=true;
			else if(nsex == 1) frmNM.usrsex[1].checked=true;

			frmNM.birthyy.value = disyy + juminVal1.substring(0,2);
			frmNM.birthmm.value = juminVal1.substr(2,2);
			frmNM.birthdd.value = juminVal1.substr(4,2);

			frmNM.usrbw[0].checked = true;
		}
	}
	return false;
}

function resnochange2()	{

	var	f =	document.applyform;

	if (IsValidResno(f.parresno1, f.parresno2) == true)	return true;
}

//14세 미만의 주민번호 체크
function CheckResYoung() {

	var	f =	document.applyform;
	var	strFullY
	var	intYear, intMonth, intDay
	var	day14, dayToday

	if (f.resno2.value.substring(0,1) == "1" ||	f.resno2.value.substring(0,1) == "2") {
		strFullY = "19"	+ f.resno1.value.substring(0,2)
	} else {
		strFullY = "20"	+ f.resno1.value.substring(0,2)
	}

	intYear	= eval(strFullY) + 14
	intMonth = eval(f.resno1.value.substring(2,4)) - 1
	intDay = eval(f.resno1.value.substring(4,6))

	day14 =	new	Date(intYear, intMonth,	intDay);
	dayToday = new Date()

	if ( (day14.getTime() -	dayToday.getTime())	> 0	) return true

	return false
}

// 생년월일, 결혼기념일	유효성 체크	1900년 이상, 현재년도 이하
function ValidDate(yy)
{
	   var today = new Date();
	   var cyear = today.getYear();
	   var cmonth =	today.getMonth();
	   var cday	= today.getDate();

	   cyear = Number(cyear);
	   if (cyear < 1900)
			cyear =	cyear +	1900;
	   cmonth =	Number(cmonth) + 1;
	   cday	= Number(cday);

	   if( yy <	1900 ||	yy > cyear )
	   {
			return false;
	   }
	   return true;
}

function fnIsNumber(str) {
	var validChar = "0123456789";
	for (var i=0; i < str.length; i++) {
		if (validChar.indexOf(str.charAt(i)) == -1) return false;
	}

	return true;
}

//	전화번호 체크 
function fnPhoneChk(phone1, phone2, phone3, msg){

//	var strDDDs = "|061|050|053|051|032|064|063|042|02|043|033|041|052|055|054|031|062|011|016|017|018|019|";

//	if (phone1.value.length == 0)
	if (phone1.selectedIndex < 1)
	{
		alert(msg + " 지역번호를 선택하여 주십시오.");
		phone1.focus();
		return false;
	}
//	if (!(fnIsNumber(phone1.value) && strDDDs.indexOf(phone1.value) != -1))
//	{
//		alert(msg + " 지역번호가 바르지 않습니다.\n\n확인하시고 올바르게 입력하여 주십시오.");
//		phone1.focus();
//		return false;
//	}
	
	if (phone2.value.length == 0)
	{
		alert(msg + " 국번을 입력하여 주십시오.");
		phone2.focus();
		return false;
	}
	if (fnIsNumber(phone2.value) == false)
	{
		alert(msg + " 국번은 숫자이어야 합니다.");
		phone2.focus();
		return false;
	}
	if (phone2.value.length < 2)
	{
		alert(msg + " 국번은 2자리 이상이어야 합니다.");
		phone2.focus();
		return false;
	}
	if (phone3.value.length == 0)
	{
		alert(msg + " 고유번호를 입력하여 주십시오.");
		phone3.focus();
		return false;
	}
	if (fnIsNumber(phone3.value) == false)
	{
		alert(msg + " 고유번호는 숫자이어야 합니다.");
		phone3.focus();
		return false;
	}
	if (phone3.value.length != 4)
	{
		alert(msg + " 고유번호는 4자리이어야 합니다.");
		phone3.focus();
		return false;
	}
	return true;
}

//	이동전화 번호 체크
function fnHpChk(phone1, phone2, phone3){
//	phone1.value = alltrim(phone1.value);
//	phone2.value = alltrim(phone2.value);
//	phone3.value = alltrim(phone3.value);

	if (phone1.value.length == 0 && phone2.value.length == 0 && phone3.value.length == 0) 
	{
		return true;
	}
	if (fnIsNumber(phone1.value) == false)
	{
		alert("이동전화의 서비스업체 번호는 숫자이어야 합니다.");
		phone1.focus();
		return false;
	}

	var strDDDs = "|011|016|017|018|019|";
//	alert(phone1.value);
	if (strDDDs.indexOf(phone1.value) == -1) {
		alert("이동전화의 서비스업체 번호가 올바르지 않습니다.");
		phone2.focus();
		return false;
	}

	if (fnIsNumber(phone2.value) == false)
	{
		alert("이동전화의 국번은 숫자이어야 합니다.");
		phone2.focus();
		return false;
	}
	if (phone2.value.length != 3 && phone2.value.length != 4)
	{
		alert("이동전화의 국번은 3자리 또는 4자리이어야 합니다.");
		phone2.focus();
		return false;
	}
	if (fnIsNumber(phone3.value) == false)
	{
		alert("이동전화의 고유번호는 숫자이어야 합니다.");
		phone3.focus();
		return false;
	}
	if (phone3.value.length != 4)
	{
		alert("이동전화의 고유번호는 4자리이어야 합니다.");
		phone3.focus();
		return false;
	}
	return true;
}

var bproc=false;
function fnChkSubmit(){
	var frmNM = document.frmJoin;
	if(	bproc ){
		alert("등록중입니다...\n\n화면이 몇분후에도 진행되지 않으면\n새로고침(F5)후에 다시 시도해 주시기 바랍니다.\n");
		return false;
	}

	// 아이디
	if(!fnUsrIDChk(frmNM.usrid.value)){
		frmNM.usrid.focus();
		return false;
	}

	// 비밀번호
	if( frmNM.usrpwd.value.indexOf(' ') >= 0 ){
		alert("비밀번호에는	공백을 허용하지	않습니다.")
		frmNM.usrpwd.focus()
		return false;
	}
	if( frmNM.usrpwd.value != frmNM.usrpwd1.value	){
		alert("비밀번호와 확인비밀번호가 같지 않습니다.\n\n확인하시고 다시 입력하여 주세요.");
		frmNM.usrpwd1.focus();
		frmNM.usrpwd1.select();
		return false;
	}
	if( frmNM.usrpwd.value == frmNM.usrid.value ){
		alert("비밀번호는 아이디는 같을수 없습니다.")
		frmNM.usrpwd.focus();
		frmNM.usrpwd.select();
		return false;
	}
	if(fnTypeChk(frmNM.usrpwd, '비밀번호', 0,	'',	4, 32) || fnTypeChk(frmNM.usrpwd1, '비밀번호', 0, '', 4, 32)){
		frmNM.usrpwd.focus();
		return false;
	}

	// 이름
	if(!fnNameChk(frmNM.usrnm.value)){
		frmNM.usrnm.focus();
		return false;
	}

	// 주민등록번호
	if(fnJuminChk(frmNM.jumin1,frmNM.jumin2))	return false;

	// 핸드폰번호
	if(!fnHpChk(frmNM.hpnum1,frmNM.hpnum2,frmNM.hpnum3))	return false;

	bproc = true;

	frmNM.submit();
}

function fChkJoin(){
	if(!fnChkSubmit()) return;
	document.frmJoin.submit();
}

function inFocus1(i) {
	(i).style.border='2px solid #59a509';
}
function outFocus1(i) {
	(i).style.border='1px solid #cccccc';
}
function sinFocus(i,setColor) {
	(i).style.border='2px solid ' + setColor;
}
function soutFocus(i,setColor) {
	(i).style.border='1px solid '+setColor;
}
function  fscook(){
   var cookieEnabled;
   if (document.all)
       cookieEnabled = navigator.cookieEnabled;
   else {
       var cookieName = 'testCookie' + (new Date().getTime());
       document.cookie = cookieName + '=cookieValue';
       cookieEnabled = document.cookie.indexOf(cookieName) != -1;
   }
   if (cookieEnabled){
     return true;
   }
   else
	{
     return false;
	}
	rmCookie("testCookie");
}


 function Login_Check(){
	         var f = document.frmLogin;
			 if(f.userid.value==""){
                 alert("아이디를 입력하셔야 합니다.");
				 f.userid.focus();
				 return false;
			 }
			 if(f.userpwd.value==""){
                 alert("패스워드를 입력하셔야 합니다.");
				 f.userpwd.focus();
				 return false;
			 }
                return true;   

             }
function go_findid(hmid){
        window.open('../../com_mod/member/findidpw.html?hmid=' + hmid, 'find', 'width=390,height=233,top=0,left=0,status=no,scrollbar=no');

}
