
function checkID(){
  	var url = "/popupidcheckform.sca" ;
  	var win = window.open(url,"IDCheckWindow","scrollbars=0 ,width=350, height=200");
}	


var NUM = "0123456789";	
var SALPHA = "abcdefghijklmnopqrstuvwxyz";
var ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+SALPHA;
var PASSWORD = "!@.#,$%^*&_-" + ALPHA + NUM;
var ERRORMSG = "";

function StringSize (s) {
	var i;
	var len = 0;
	for ( i=0 ; i<s.length; i++) {
		if ( s.charCodeAt(i) > 255 ) {
			len += 2;
		} else {
			len ++;
		}
	}
	return len;
}

function CheckType(s,spc) {
	var i;
	for(i=0; i<s.length; i++) {
		if (spc.indexOf( s.substring(i, i+1)) < 0) {
			return false;
		}
	}
		
	return true;
}


function CheckLenKr (s, name, nMin, nMax, bIsConsonant) {
	var nStrSize = StringSize(s);

	var cPostN, cPostL;
	
	if (bIsConsonant) {
		cPostL = "을";
		cPostN = "은";
	} else {
		cPostL = "를";
		cPostN = "는";
	}
	
	if (nStrSize == 0 && nMin > 0) {
		ERRORMSG = name + cPostL + "  입력해 주십시오.";
		return false;
	}
	if (nMin == 0 && nStrSize > nMax) {
		ERRORMSG = name + cPostN + " 한글 " + Math.floor(nMax/2) +
			"자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " +
			nStrSize/2 + "자";
		return false;
	}
	if (nStrSize < nMin || nStrSize > nMax) {
		ERRORMSG = name + cPostN + " 한글 " + Math.ceil(nMin/2) +
			"자 이상, " + Math.floor(nMax/2) +
			"자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " +
			nStrSize/2 + "자";
		return false;
	}
	
	return true;
}



function CheckLenEng (s, name, nMin, nMax, bIsConsonant) {
	var nStrSize = StringSize(s);
	var cPostN, cPostL;
	
	if (bIsConsonant) {
		cPostL = "을";
		cPostN = "은";
	} else {
		cPostL = "를";
		cPostN = "는";
	}
	
	if (nStrSize == 0 && nMin > 0) {
		ERRORMSG = name + cPostL + "  입력해 주십시오.";
		return false;
	}
	if (nMin == 0 && nStrSize > nMax) {
		ERRORMSG = name + cPostN + " " + nMax +
			"자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " +
			nStrSize + "자";
		return false;
	}
	if (nStrSize < nMin || nStrSize > nMax) {
		ERRORMSG = name + cPostN + " " + nMin +
			"자 이상, " + nMax +
			"자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " +
			nStrSize + "자";
		return false;
	}
	
	return true;
}

function CheckBAN (s,ban) {
	var i;
	for(i=0; i<s.length; i++) {
		if (ban.indexOf( s.substring(i, i+1)) >= 0) {
			return false;
		}
	}

	return true;
}

function checkLogin(f) {

	var userID = document.getElementById("user.loginid");
	var hanName = document.getElementById("user.hanname");
    var passWD = document.getElementById("user.password");
    var passWDCheck = document.getElementById("user.passwdCheck");
    var Email = document.getElementById("user.emailAddr");
    var phone = document.getElementById("user.phone");
    var birthday = document.getElementById("user.birthday");
   
    //회원 이름 Check
	if ( !CheckLenKr(hanName.value, "이름", 2, 32, 1) ) {		
		alert(ERRORMSG);
		document.getElementById("user.hanname").focus();
		return;
	}
	//회원 이름 Check	
	if (!CheckBAN(hanName.value, "\"<>" + ALPHA + NUM)) {
		alert("이름은 한글로 입력해 주십시오.");
		hanName.value = '';
		document.getElementById("user.hanname").focus();
		return;
	}
	//회원 ID Check	
	if (!CheckType(userID.value, SALPHA+NUM)) {
		ERRORMSG = "회원아이디는 영문 소문자와 숫자로, 첫 글자는 꼭 영문 소문자로 작성해야 합니다.";		
		alert(ERRORMSG);
		document.getElementById("user.loginid").focus();
		userID.value = '';
		return ;
	}
    //회원 ID Check
	if ( NUM.indexOf(userID.value.charAt(0)) >= 0) {
		ERRORMSG = "회원아이디의 첫 글자는 꼭 영문 소문자로 작성해야 합니다.";
		alert(ERRORMSG);
		document.getElementById("user.loginid").focus();
		return ;
	}
    //회원 ID Check
	if (userID.value.substring(0,5)=="admin" || userID.value.substring(0,5)=="guest") {
		ERRORMSG = "회원아이디는 admin이나 guest로 시작할 수 없습니다.";
		alert(ERRORMSG);
		userID.value = '';
		document.getElementById("user.loginid").focus();
		return ;
	}
	//회원 ID Check
	if (userID.value.substring(0,9)=="webmaster" ||  userID.value == "admin") {
		ERRORMSG = "사용 하실수 없는 회원아이디 입니다.";
		alert(ERRORMSG);
		userID.value = '';
		document.getElementById("user.loginid").focus();
		return ;
	}
	//회원 ID Check
	if ( !CheckLenEng(userID.value, "회원아이디", 4, 10, 0) ) {
		alert(ERRORMSG);
		userID.value = '';
		document.getElementById("user.loginid").focus();
		return ;
	}	
	//비밀번호 ID Check
	if (!CheckType(passWD.value, PASSWORD)) {
		ERRORMSG = "비밀번호는 영문, 숫자, 특수문자(! @ . # , $ % ^ * & _ -)으로 4글자 이상으로 작성해야 합니다."
		alert(ERRORMSG);
		passWD.value = '';
		document.getElementById("user.password").focus();
		return;
	}    
    //비밀번호 ID Check
	if ( !CheckLenEng(passWD.value, "비밀번호", 4, 10, 0) ) {
		alert(ERRORMSG);
		passWD.value = '';
		document.getElementById("user.password").focus();
		return;
	}
    //비밀번호 ID Check
	if (passWD.value != passWDCheck.value) {
		ERRORMSG = "비밀번호가 비밀번호 확인과 일치하지 않습니다.";
		alert(ERRORMSG);
		passWDCheck.value = '';
		document.getElementById("user.passwdCheck").focus();
		return;
	}
	
	var a = Email.value.indexOf('@');
	var b = Email.value.indexOf('.');
	if ( a <=0 || a == Email.value.length -1 || b <=0 ) {
		ERRORMSG = "메일 형식은 aaa@bbb.ccc 등의 형태로 입력하셔야 합니다.";
		alert(ERRORMSG);
		document.getElementById("user.emailAddr").focus();
		return;
	}
	
	
	if (!CheckType(phone.value, NUM+"-")) {
		ERRORMSG = "전화번호에 잘못된 문자가 있습니다.";
		alert(ERRORMSG);
		return;
	}
	

	
	if(birthday.value=='오른쪽달력클릭' || trim(birthday.value)==''){
		alert('생일을 입력해 주세요!!');
		return;		
	}else{
		var year_ = birthday.value.substr(0,4);
		if(year_ > 2000) {
			alert("생년월일이 잘못 되었습니다. 다시 입력해 주세요. ");
			document.getElementById("user.birthday").focus();
			return;
		}
		
		if(birthday.value.substr(4,1)!="-") {
			alert("지정한 날짜형식(2001-01-01) 에서 벗어납니다. 날짜구분은 - 로 입력해 주십시오 ");
			document.getElementById("user.birthday").focus();
			return;
		}
		
		if(birthday.value.substr(7,1)!="-") {
			alert("지정한 날짜형식(2001-01-01) 에서 벗어납니다. 날짜구분은 - 로 입력해 주십시오 ");
			document.getElementById("user.birthday").focus();
			return;
		}
		
		if(birthday.value.substr(10,1)!="") {
			alert("지정한 날짜형식(2001-01-01) 에서 벗어납니다.");
			document.getElementById("user.birthday").focus();
			return;
		}
	}
	
	if(trim(phone.value) == ''){
	   alert('전화 번호를 입력해 주세요!');	
	   return;
	}
	
	
	if(!document.getElementsByName("user.gender")[0].checked && !document.getElementsByName("user.gender")[1].checked){
		alert('성별을 선택해 주세요!!');
		return;	
	}
	
    if(f.formType.value =='MODIFY')
    	f.action = '/usermodify.sca';
    else
    	f.action = '/register.sca';

	if(confirm(Email.value+'→이메일 주소가 맞으면 확인을 틀리면 취소를 선택해 주세요 !! ')){
		f.submit();
	}else{
		document.getElementById("user.emailAddr").focus();
		return;
	}
	
}

