<!--
//
function chkForm(f)
{
	var i,currEl;
	for(i = 0; i < f.elements.length; i++)
	{
		currEl = f.elements[i];
		if (currEl.getAttribute("required") != null)
		{
			if(currEl.type.toUpperCase() == "TEXT" || currEl.tagName.toUpperCase() == "SELECT" || currEl.tagName.toUpperCase() == "TEXTAREA" ||currEl.type.toUpperCase() == "PASSWORD" ||currEl.type.toUpperCase() == "FILE" ||currEl.type.toUpperCase() == "HIDDEN")
			{
				if(!chkText(currEl,currEl.hname)) return false;
			}
			else if(currEl.type.toUpperCase() == "CHECKBOX")
			{
				if(!chkCheckbox(f, currEl,currEl.hname)) return false;
			}
			else if(currEl.type.toUpperCase() == "RADIO")
			{
				if(!chkRadio(f, currEl,currEl.hname)) return false;
			}
		}
		if(currEl.getAttribute("option") != null && currEl.value.length > 0)
		{
			if(!chkPatten(currEl,currEl.option,currEl.hname)) return false;
		}
		if(currEl.getAttribute("lengthchk") != null && currEl.value.length > 0)
		{
			if(!chkLength(currEl,currEl.lengthchk,currEl.hname)) return false;
		}
		if(currEl.getAttribute("lengthchk2") != null && currEl.value.length > 0)
		{
			if(!chkLength2(currEl,currEl.lengthchk2,currEl.hname)) return false;
		}
	}
	return true;
}

function chkPatten(field,patten,name)
{
	var regNum =/^[0-9]+$/;
	var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
	var regPhone2 =/^[0-9]{2,3}[-]{0,1}[0-9]{3,4}[-]{0,1}[0-9]{4}$/;
	var regMobilePhone = /01[16789]-[0-9]{3,4}-[0-9]{4}/;
	var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/;
	var regDomain =/^[.a-zA-Z가-힣0-9-]+.[a-zA-Z]+$/;
	var regAlpha =/^[a-zA-Z]+$/;
	var regHost =/^[a-zA-Z-]+$/;
	var regMailID =/^[_a-zA-Z0-9-]+$/;

	//-- 한글체크
	var regHangul =/[가-힣]/;

	//-- 한영체크
	var regHangulEng =/[가-힣a-zA-Z]/;

	//-- 한영숫자체크
	var regHanEngNum =/^[가-힣a-zA-Z0-9]+$/;

	//-- 한글체크
	var regHangulOnly =/^[가-힣]*$/;

	//-- 아이디체크   영문으로 시작 숫자결합 4자 ~ 16자(대,소문자,숫자)
	var regId = /^[a-zA-Z0-9]{1}[a-zA-Z0-9_-]{3,15}$/;

	//-- 비밀번호체크 영문소문자와 숫자결합 4자 ~ 16자(소문자,숫자)
	var regPass = /^[a-zA-Z0-9]{1}[a-zA-Z0-9_-]{3,15}$/;

	//-- 날짜체크 2003-06-12
	var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
	var regAlphaNum =/[a-zA-Z0-9]/;

	if( patten == 'regPass' )
	{
		p = new CheckPass( field.value ) ;
		if( !p.isCheck() ){
			alert( name + "\n\n" + p.getLog() ) ; 
			field.focus();
			return false;
		}

		return true ;
	}


	patten = eval(patten);
	if(!patten.test(field.value))
	{
		alert(name + "\n\n항목의 형식이 올바르지 않습니다!");
		field.focus();
		return false;
	}
	return true;
}

function getLength(str)
{
	return (str.length + (escape(str) + "/%u").match(/%u/g).length-1);
}

function chkLength(field,length,name)
{
	if(getLength(field.value) > length)
	{
		alert(name + "\n\n영문,숫자 "+length+"자 , 한글 "+(length/2)+"자 이하로 입력을 제한합니다!"); 
		field.focus();
		return false;
	}
	return true;
}

function chkLength2(field,length,name)
{
	if(getLength(field.value) < length)
	{
		alert(name + "\n\n영문,숫자 "+length+"자 , 한글 "+(length/2)+"자 이상 입력해주세요!"); 
		field.focus();
		return false;
	}
	return true;
}

function chkText(field, name)
{
	if(field.value.length < 1)
	{
		alert(name);
		field.focus();
		return false;
	}
	return true;
}

function chkCheckbox(form, field, name)
{
	fieldname = eval(form.name+'.'+field.name);
	if (!fieldname.checked)
	{
		alert(name);
		field.focus();
		return false;
	}
	return true;
}

function chkRadio(form, field, name)
{
	fieldname = eval(form.name+'.'+field.name);
	for (i=0;i<fieldname.length;i++)
	{
		if (fieldname[i].checked) return true; 
	}
	alert(name);
	field.focus();
	return false;
}

function CheckPass( str )
{
	this.isEng = false ; //영문사용여부 
	this.isNum = false ; //숫자사용여부 
	this.isSpe = false ; //특수문자사용여부 
	
	this.isKey = false ; //키보드입력사용여부 
	this.isLen = false ; //길이허용여부 

	this.pass_str = str ;	
	this.isCheck = function()
	{
		var strLen = this.pass_str.length ;
		if( strLen < 6 ) { this.setLog('len') ; return false ; }
		if( strLen > 16 ) { this.setLog('len') ; return false ; }

		var over_count = 1 ;
		var over_str = '' ;
		var check_str = '' ;
		var code_num = 0 ;
		for( var i = 0 ; i < strLen ; i++ )
		{ 
			check_str = this.pass_str.substr(i,1) ;
			code_num = check_str.charCodeAt(0) ;
			if( code_num < 32 ) { this.setLog('key') ; return false ; }
			if( code_num > 126 ) { this.setLog('key') ; return false ; }

			if( over_str == check_str ) over_count++ ;
			else{ over_str = check_str ; over_count = 1 ; }

			if( over_count >= 3 ){ this.setLog('over') ; return false ; }

			if( code_num >= 48 && code_num <= 57 ) this.isNum = true ;
			else if( code_num >= 65 && code_num <= 90 ) this.isEng = true ;
			else if( code_num >= 97 && code_num <= 122 ) this.isEng = true ;
			else this.isSpe = true ;
		}

		var use_count = 0 ;
		if( this.isNum ) use_count++ ; 
		if( this.isEng ) use_count++ ; 
		if( this.isSpe ) use_count++ ; 

		if( use_count < 2 ){ this.setLog('spe') ; return false ; }

		return true ;
	}
	
	this.log = '' ;
	this.setLog = function( log_type )
	{
		if( log_type == 'len' ) 
		{
			this.log = ' 비밀번호는 6~16자 사이로 입력해주세요. ' ;
		}
		else if( log_type == 'key' ) 
		{	
			this.log = ' 키보드에 입력된것만을 허용합니다. ' ;
		}
		else if( log_type == 'over' ) 
		{	
			this.log = ' 같은문자가 3회이상 반복되는 비밀번호는 사용할 수가 없습니다. ' ;
		}
		else if( log_type == 'spe' ) 
		{	
			this.log = '안전한 게임접속을 위하여\n비밀번호를 영문/숫자/특수문자 중, 2가지 이상의\n조합으로 변경하여 주시기 바랍니다.\n(확인버튼을 누르시면 마이페이지로 이동합니다.)';
			top.location.href="http://www.webgamech.com/mypage/?kids=pass";
		}
//		else this.log = '알수없는 오류 입니다 잠시후 다시 시도해 주세요.' ;
	}

	this.getLog = function()
	{
		return this.log ;
	}
}
//-->
