var checker = null;

function __init()
{
	frm = $("frmError");
	if(frm)
	{
 		checker = new _form.checker(frm);
		checker.add({input:frm.user_name,type:'hangul',range:{min:2,max:6},message:'이름을 정확하게 입력해 주세요.'});
		checker.add({custom:function() {

			if(this.user_juminA.value.isEmpty() || this.user_juminB.value.isEmpty())
			{
				alert('주민등록번호를 입력해 주세요');
				this.user_juminA.value = '';
				this.user_juminB.value = '';
				this.user_juminA.focus();
				return false;
			}
			try
			{
				var str = String(this.user_juminA.value) + String(this.user_juminB.value);
				if (str.length!=13)	
					throw 'invalid';
				var strTmp = (str.substring(6,7)<=2) ? '19' : '20';

				if (!String(strTmp + str.substring(0,2) + str.substring(2,4) + str.substring(4,6)).isDate())
					throw 'invalid';

				var fCheckSum = 0;
				fCheckSum = str.substring(0,1)*2 + str.substring(1,2)*3 + str.substring(2,3)*4 + str.substring(3,4)*5;
				fCheckSum+= str.substring(4,5)*6 + str.substring(5,6)*7;
				fCheckSum+= str.substring(6,7)*8 + str.substring(7,8)*9 + str.substring(8,9)*2 + str.substring(9,10)*3;
				fCheckSum+= str.substring(10,11)*4 + str.substring(11,12)*5;
				fCheckSum = (11-(fCheckSum%11))%10;
				if(fCheckSum!=str.substring(12,13)) { throw 'invalid' }
			}
			catch(error)
			{
				alert('잘못된 주민등록번호입니다.');
				this.user_juminA.value = '';
				this.user_juminB.value = '';
				this.user_juminA.focus();
				return false;
			}

			return true;
		 }
		});
 
		_form.protect.number(frm.user_juminA);
		_form.protect.number(frm.user_juminB);
		Object.extend(_form.protect,{
			hangul2 : function(input)
			{
				this.set(input,function(Event) {
					var keycode = _event.keycode(Event);
					if(_form.protect.functioncheck(keycode)) { return true }
					if(keycode==229)				{ return true }
					alert('이름은 한글로 입력해 주세요');
					_event.stop();
					return false;
				},
				null,
				function(Event) {
					var value	= this.value.replace(/[^가-힣]/g,'');
					this.value	= value;
				});
			}
		});
		_form.protect.hangul2(frm.user_name);
		frm.user_name.focus();
	}
}
