﻿addLoadEvent(loadForm);
addLoadEvent(loadSex);

function loadForm(fname){
	function pushEvent(fname){
		var obj = $I(fname);
		obj.onfocus = function(){register('focus',fname);}
		obj.onblur  = function(){register('blur', fname);}
		var obj2 = $I(fname+'__2__'); if( !obj2 ) return;
		obj2.onfocus = function(){register('focus',fname);}
		obj2.onblur = function(){register('blur',fname);}
	}
	if( fname ){
		pushEvent(fname);
	}else{
		pushEvent('us_username');
		pushEvent('us_password');
		pushEvent('us_password2');
		pushEvent('us_email');
		pushEvent('us_realname');
		pushEvent('us_born_y');
		pushEvent('us_born_m');
		pushEvent('us_born_d');
		//pushEvent('us_height');
		pushEvent('us_hphone');
		pushEvent('us_mphone');
		pushEvent('us_address');
	}
}

function checkSex(){
	var tip = $I('tip_us_sex');
	if( !$I('us_sex_1').checked && !$I('us_sex_2').checked ){
		tip.className = 'err';
		tip.innerHTML = '请填写性别。';
		return false
	}else{
		tip.className = 'yes';
		tip.innerHTML = '填写正确！';
	}
	return true;
}

function loadSex(){
	$I('us_sex_1').onclick = function(){checkSex();}
	$I('us_sex_2').onclick = function(){checkSex();}
}

function register(flag,fname,uname){
	if( 'focus' == flag ){
		switch( fname ){
			case 'us_username':
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！字母开头，长度为4-20位的字母、数字、中划线组合。';
				break;
			case 'us_password':
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！长度为5-30位的字母、数字、实心点、中划线组合。';
				break;
			case 'us_password2':
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '请再输入一遍上面的密码。';
				break;
			case 'us_email':
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '重要必填信息！用于接受招聘企业的面试通知。';
				break;
			case 'us_realname':
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！请如实填写真实姓名。';
				break;
			case 'us_born_y':
				fname = 'us_born';
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！请填写你的出生年月。';
				break;
			case 'us_born_m':
				fname = 'us_born';
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！请填写你的出生年月。';
				break;
			case 'us_born_d':
				fname = 'us_born';
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！请填写你的出生年月。';
				break;
			case 'us_hphone':
				var tip = $I('tip_us_phone');
				tip.className = 'tip';
				tip.innerHTML = '固定电话和移动电话必须填写一项。';
				break;
			case 'us_mphone':
				var tip = $I('tip_us_phone');
				tip.className = 'tip';
				tip.innerHTML = '固定电话和移动电话必须填写一项。';
				break;
			case 'us_address':
				var tip = $I('tip_'+fname);
				tip.className = 'tip';
				tip.innerHTML = '必填信息！请如实填写。';
				break;
		}
	}else if( 'blur' == flag ){
		switch( fname ){
			case 'us_username':
				var tip = $I('tip_'+fname);
				if( !$I(fname).value.test('^[a-zA-Z][a-zA-Z0-9-]{3,19}$') ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写登录帐户！';
					return false;
				}else{
					if( uname != null ) return true;
				}
				$.ajax({
					type : 'get',
					url : 'control?do=reg_check_name&uname='+$I(fname).value,
					cache : false,
					dataType : 'text',
					timeout : 10000,
					beforeSend: function(){
						tip.className = 'wait';
						tip.innerHTML = '正在验证...';
					},
					success: function(text){
						if( text == 'OK' ){
							tip.className = 'yes';
							tip.innerHTML = '该帐户可以使用！';
						}else{
							tip.className = 'err';
							tip.innerHTML = text;
						}
					},
					error: function(XMLHttpRequest, textStatus, errorThrown){
						alert('服务器响应超时，请重新选择一次。');
					}
				});
				return true;
				break;
			case 'us_password':
				var tip = $I('tip_'+fname);
				if( !$I(fname).value.test('^[a-zA-Z0-9-_.]{5,30}$') ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写登录密码！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_password2':
				var tip = $I('tip_'+fname);
				if(  $I('us_password2').value.trim() == '' ){
					tip.className = 'err';
					tip.innerHTML = '请再输入一遍上面的密码！';
					return false;
				}else if( $I('us_password2').value != $I('us_password').value ){
					tip.className = 'err';
					tip.innerHTML = '两次输入密码不一致！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_email':
				var tip = $I('tip_'+fname);
				if( !$I(fname).value.test('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+([.][a-zA-Z0-9]+){1,3}$') ){
					tip.className = 'err';
					tip.innerHTML = '格式不正确！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_realname':
				var tip = $I('tip_'+fname);
				if( $I(fname).value.trim().len() < 4 ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写真实姓名！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_born_y':
				var tip = $I('tip_us_born');
				if( $I('us_born_y').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else if( $I('us_born_m').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else if( $I('us_born_d').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_born_m':
				var tip = $I('tip_us_born');
				if( $I('us_born_y').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else if( $I('us_born_m').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else if( $I('us_born_d').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_born_d':
				var tip = $I('tip_us_born');
				if( $I('us_born_y').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else if( $I('us_born_m').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else if( $I('us_born_d').value == '' ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写出生日期！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_hphone':
				var tip = $I('tip_us_phone');
				if( $I('us_hphone').value.trim()=='' && $I('us_mphone').value.trim()=='' ){
					tip.className = 'err';
					tip.innerHTML = '固定电话和移动电话必须填写一项！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_mphone':
				var tip = $I('tip_us_phone');
				if( $I('us_hphone').value.trim()=='' && $I('us_mphone').value.trim()=='' ){
					tip.className = 'err';
					tip.innerHTML = '固定电话和移动电话必须填写一项！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
			case 'us_address':
				var tip = $I('tip_'+fname);
				if( $I(fname).value.trim().len() < 4 ){
					tip.className = 'err';
					tip.innerHTML = '请正确填写通讯地址！';
					return false;
				}else{
					tip.className = 'yes';
					tip.innerHTML = '填写正确！';
					return true;
				}
				break;
		}
	}else if( 'submit' == flag ){
		var toSubmit=true, temp='';
		if( !register('blur','us_username',true) ){toSubmit=false; temp=(temp==''?'us_username':temp);}
		if( !register('blur','us_password') ){toSubmit=false; temp=(temp==''?'us_password':temp);}
		if( !register('blur','us_password2') ){toSubmit=false; temp=(temp==''?'us_password2':temp);}
		if( !register('blur','us_email') ){toSubmit=false; temp=(temp==''?'us_email':temp);}
		if( !register('blur','us_realname') ){toSubmit=false; temp=(temp==''?'us_realname':temp);}
		if( !register('blur','us_born_y') ){toSubmit=false; temp=(temp==''?'us_born_y':temp);}
		if( !register('blur','us_born_m') ){toSubmit=false; temp=(temp==''?'us_born_m':temp);}
		if( !register('blur','us_born_d') ){toSubmit=false; temp=(temp==''?'us_born_d':temp);}
		if( !register('blur','us_mphone') ){toSubmit=false; temp=(temp==''?'us_mphone':temp);}
		if( !checkSex() ){toSubmit=false; temp=(temp==''?'us_sex_1':temp);}
		if( !register('blur','us_address') ){toSubmit=false; temp=(temp==''?'us_address':temp);}
		try{$I(temp).focus();}catch(e){}
		if( !toSubmit ) return false;
		loading(1,'注册资料保存中，请稍候...');
		var url = 'control/'+post_handle+'?do=reg_per_submit';
		var data = $('#form_register').serialize();
		post(url,data,null,'../desktop/person/?model=resume&state=add&prev=register');
		return false;
	}
}
