$(function(){
	//$('#confirmOK').attr('disabled', true);
	$('#server, #id_card').focus(function(){checkUser();}).blur(function(){checkUser();});
	$('#username').focus(function(){checkUserName();}).blur(function(){checkUserName();});
	$('#usercheckcode').focus(function(){checkUserCode();}).blur(function(){checkUserCode();});
	$('#email').focus(function(){checkEmail();}).blur(function(){checkEmail();});
	$('#password').focus(function(){checkPassword();}).blur(function(){checkPassword();});
	$('#cpassword').focus(function(){checkCPassword();}).blur(function(){checkCPassword();});
	$('#real_name').focus(function(){checkRealName();}).blur(function(){checkRealName();});
	$('#postcode').focus(function(){checkPostCode();}).blur(function(){checkPostCode();});
	$('#address').focus(function(){checkAddress();}).blur(function(){checkAddress();});
	$('#phone, #mobile').focus(function(){checkMobileAndPhone();}).blur(function(){checkMobileAndPhone();});
	$('#agree').focus(function(){checkAgree();}).blur(function(){checkAgree();});
	$('#resume').focus(function(){checkUploadFile();}).blur(function(){checkUploadFile();});
});

function formValidator() {
	if ( !checkValidator() ) {
		window.location.href="#error";
		return false;
	}
	return true;
}

function checkValidator() {
	var count = 0;
	if ( $('#user_check').val() == 0  ) {
		checkExamServer();
		//return false;
		count++;
	} 
	if ( $('#usernamecheck').val() == 0 ) {
		checkUserName();
		//return false;
		count++;
	}
	if  ( $('#passwordcheck').val() == 0 ) {
		checkPassword();
		checkCPassword();
		//return false;
		count++;
	} 
	if  ( $('#emailcheck').val() == 0 ) {
		checkEmail();
		//return false;
		count++;
	}
	if  ( $('#syscheckcode').val() == 0 ) {
		checkUserCode();
		//return false;
		count++;
	}
	if  ( $('#real_name').val() == '' ) {
		checkRealName();
		//return false;
		count++;
	}
	if  ( $('#phonecheck').val() == 0 ) {
		checkMobileAndPhone();
		//return false;
		count++;
	}
	if  ( $('#postcodecheck').val() == 0 ) {
		checkPostCode();
		//return false;
		count++;
	}
	if  ( $('#address').val() == '' ) {
		checkAddress();
		//return false;
		count++;
	}
	if ( !$('#agree').attr('checked') ) {
		checkAgree();
		count++;
	}
	return count == 0 ? true : false;
}


function checkAgree() {
	if ( !$('#agree').attr('checked') ) {	
		$('#agreeTip').html('请先查阅注册协议并同意.').removeClass().addClass('onError');
	} else {
		$('#agreeTip').html('').removeClass();
	}
}

function checkExamServer() {
	if ( $('#server_password').val() == '' || $('#server_username').val() == '' ) {
		$('#notpassTip').html('请先验证您是否符合注册ACAA会员的资格.').removeClass().addClass('onError');
	} else {
		checkUser();
	}
}

function checkUserName() {
	var username = $('#username').val();
	if ( username == '' ) {
			$('#usernamecheck').val(0);
			$('#usernameTip').html('请填写用户名.').removeClass().addClass('onError');
		} else {
			$.ajax({
				url: '../member/reg_check.php?action=checkUserName&username='+username,
			    type: 'GET',
			    dataType: 'html',
			    success: function(data){
			    	if ( data == 1 ) {
			    		$('#usernamecheck').val(1);
			    		$('#usernameTip').html('该用户可以注册').removeClass().addClass('onSuccess');
			    	} else {
			    		$('#usernamecheck').val(0);
			    		$('#usernameTip').html('该用户名已经被使用,请更换其它用户名.').removeClass().addClass('onError');
			    	}
			    }
			});
		$('#usernameTip').html('数据验证中.请稍候..').removeClass().addClass('onLoad');
	}
}

function checkUserCode() {
	var code = $('#usercheckcode').val();
	if ( code == '' ) {
		$('#syscheckcode').val(0);
		$('#syscheckcodeTip').html('请填写验证码.').removeClass().addClass('onError');
	} else {	
			$.ajax({
				url: '../member/reg_check.php?action=checkCode&code='+code,
			    type: 'GET',
			    dataType: 'html',
			    success: function(data){
			    	if ( data == 1 ) {
			    		$('#syscheckcode').val(1);
			    		$('#syscheckcodeTip').html('验证码填写正确.').removeClass().addClass('onSuccess');
			    	} else {
			    		$('#syscheckcode').val(0);
			    		$('#syscheckcodeTip').html('验证码填写有误.').removeClass().addClass('onError');
			    	}
			   }
		});
		$('#syscheckcodeTip').html('数据验证中.请稍候..').removeClass().addClass('onLoad');
	}
}

function checkEmail() {
	var email = $('#email').val();
		if ( email == '' || !isEmail(email) ) {
			$('#emailcheck').val(0);
		    $('#emailTip').html('请填写有效的邮箱.').removeClass().addClass('onError');
		} else {
			$.ajax({
				url: '../member/reg_check.php?action=checkEmail&email='+email,
			    type: 'GET',
			    dataType: 'html',
			    success: function(data){
			    	if ( data == 1 ) {
			    		$('#emailcheck').val(1);
			    		$('#emailTip').html('该邮箱可以使用.').removeClass().addClass('onSuccess');
			    	} else {
			    		$('#emailcheck').val(0);
			    		$('#emailTip').html('该邮箱已经被使用.').removeClass().addClass('onError');
			    	}
			    }
			});
		$('#emailTip').html('数据验证中.请稍候..').removeClass().addClass('onLoad');
	}
}

function checkPassword() {			
	var password = $('#password').val();
		if ( password == '' ) {
			$('#passwordcheck').val(0);
			$('#passwordTip').html('请填写密码.').removeClass().addClass('onError');
		} else {
			if ( password.length < 6 ) {
				$('#passwordcheck').val(0);
				$('#passwordTip').html('您填写的密码太短.').removeClass().addClass('onError');
			} else if ( $('#password').val() == $('#cpassword').val() ) {
				$('#passwordcheck').val(1);
				$('#passwordTip, #cpasswordTip').html('密码填写正确.').removeClass().addClass('onSuccess');
			} else {
				$('#passwordcheck').val(0);
				$('#passwordTip, #cpasswordTip').html('密码填写不一致.').removeClass().addClass('onError');
			}
	}
}

function checkCPassword() {
	var cpassword = $('#cpassword').val();
	if ( cpassword == '' ) {
		$('#passwordcheck').val(0);
		$('#cpasswordTip').html('请再次填写密码.').removeClass().addClass('onError');
	} else {
		if ( cpassword.length < 6 ) {
			$('#passwordcheck').val(0);
			$('#cpasswordTip').html('您填写的密码太短.').removeClass().addClass('onError');
		} else if ( $('#password').val() == $('#cpassword').val() ) {
			$('#passwordcheck').val(1);
			$('#passwordTip, #cpasswordTip').html('密码填写正确.').removeClass().addClass('onSuccess');
		} else {
			$('#passwordcheck').val(0);
			$('#passwordTip, #cpasswordTip').html('密码填写不一致.').removeClass().addClass('onError');
		}
	}
}

function checkRealName() {
	var real_name = $('#real_name').val();
	if ( real_name == '' ) {
		$('#real_nameTip').html('请填写真实姓名.').removeClass().addClass('onError');
	} else {
		$('#real_nameTip').html('姓名填写正确.').removeClass().addClass('onSuccess');
	}
}

function checkMobileAndPhone()
{
	var mobile = $('#mobile').val();
	var phone = $('#phone').val();
	if ( mobile == "" && phone == "" ) {
		$('#phonecheck').val(0);
		$('#mobileTip').html('请填写有效的手机号码.').removeClass().addClass('onError');
		$('#phoneTip').html('请填写有效的电话号码.').removeClass().addClass('onError');	
	} else if ( mobile != "" && phone != "" ) {
		checkMobile();
		checkPhone();
	} else {
		if ( mobile != '' ) {
			checkMobile();
			$('#phoneTip').html('').removeClass();
		} else if ( phone != '') {
			checkPhone();
			$('#mobileTip').html('').removeClass();
		}
	}
}

function checkMobile(){
	var mobile = $('#mobile').val();
	if ( !isMobile(mobile) ) {
		$('#phonecheck').val(0);
		$('#mobileTip').html('请填写有效的手机号码.').removeClass().addClass('onError');
	} else {
		$('#phonecheck').val(1);
		$('#mobileTip').html('手机号码填写正确.').removeClass().addClass('onSuccess');
	}	
} 

function checkPhone(){
	var phone = $('#phone').val();
	if ( !isPhone(phone) ) {
		$('#phonecheck').val(0);
		$('#phoneTip').html('请填写有效的电话号码.').removeClass().addClass('onError');
	} else {
		$('#phonecheck').val(1);
		$('#phoneTip').html('电话号码填写正确.').removeClass().addClass('onSuccess');
	}
}

function checkPostCode() {
	var postcode = $('#postcode').val();
	if ( postcode == '' || !isPostCode(postcode) ) {
		$('#postcodecheck').val(0);
		$('#postcodeTip').html('请填写有效的邮政编码.').removeClass().addClass('onError');
	} else {
		$('#postcodecheck').val(1);
		$('#postcodeTip').html('邮政编码填写正确.').removeClass().addClass('onSuccess');
	}
}

function checkAddress() {
	var address = $('#address').val();
	if ( address == '' ) {
		$('#addressTip').html('请填写您的详细地址.').removeClass().addClass('onError');
	} else {
		$('#addressTip').html('地址填写正确.').removeClass().addClass('onSuccess');
	}
}

function checkUser(){
    var server = $('#server').val();
    var id_card = $('#id_card').val();
	if ( server && id_card ) {
    	$.getJSON('../member/reg_check.php?action=checkUser&server='+server+'&id_card='+id_card, function(json) {
			if ( json.acel_id  ) {
				if (  json.has_reg == 0 ) {
					$('#user_check').val(0);
					//$('#confirmOK').attr('disabled', true);
					$('#notpassTip').html('该考试账号已经申请过ACAA会员.').removeClass().addClass('onError');
				} else {				
					$('#notpassTip').html('验证通过.请继续填写您的个人信息.').removeClass().addClass('onSuccess');
					$('#exam_num').val(json.exam_num);
					$('#user_check').val(1);
	                $('#acel_id').val(json.acel_id);
					$('#actc_name').val(json.actc_name);
					$('#username').val(json.user_id);
					$('#email').val(json.email);
					$('#real_name').val(json.user_name);
					$('input[@name=sex]').attr('checked', json.sex);
					$('#address').val(json.address);
					$('#postcode').val(json.post_code);
					$('#phone').val(json.phone_num);
					$('#fax').val(json.fax_num);
					$('#confirmOK').attr('disabled', false);
				}
			} else {
            	$('#notpassTip').html('条件不符合,您目前还不能注册ACAA会员.').removeClass().addClass('onError');
				$('#user_check').val(0);
				$('#exam_num').val('');
                $('#acel_id').val('');
				$('#actc_name').val('');
				$('#username').val('');
				$('#password').val('');
				$('#cpassword').val('');
				$('#email').val('');
				$('#real_name').val('');
				$('#sex').val('');
				$('#address').val('');
				$('#postcode').val('');
				$('#phone').val('');
				$('#fax').val('');
				$('#confirmOK').attr('disabled', true);
            }
        });
        $('#notpassTip').html('数据验证中.请稍候..').removeClass().addClass('onLoad');
	}
}

function checkUploadFile() {
	var fileName = $('#resume').val();
	if ( fileName != '' ) {
		//$('#resumeTip').html('请填写有效的邮政编码.').removeClass().addClass('onError');
	} 
}

function isEmail(strEmail) {
	if ( strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1 )
		return true;
	else
		return false;
}

function checkNum(str){return str.match(/\D/)==null}

function checkIdCard(strIdCard) {
	if ( strIdCard.search(/^[1-9]([0-9]{14}|[0-9]{17})$/) != -1 ) 
		return true;
	else
		return false;
}

function isTrim(str) {
	var m = str.match(/^\s*(\S+(\s+\S+)*)\s*$/);
	return (m == null) ? "" : m[1];
}

function isPhone(phone)    
{   
	var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
	return reg.test(isTrim(phone));
}

// 验证合法的邮政编码
function isPostCode(postcode) {
	var pattern = /^[0-9]{6}$/;
    flag = pattern.test(postcode);
	return flag ? true : false;
}

function isMobile(mobile)
{
	var reg = /^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/;
 	return reg.test(isTrim(mobile));
}    
