$(document).ready(function(){
	$("#errorMessage").hide();
	$("#search").click(function(){
		var cxhm = $("#cxhm").val();
		var sfzh = $("#sfzh").val();
		if(sfzh!=null){
			if (sfzh.length!=18&&sfzh.length!=15){
				$("#errorMessage").show();
				$("#login_error").html("请输入18位或者15位身份证号码！"); 
			   	return false;
			}else if (!identificationCard(sfzh)){
				$("#errorMessage").show();
				$("#login_error").html("身份证号码不正确！"); 
			   	return false;
			}
		}
		var len = cxhm.length;
		var code = $("#validate_code").val();
		if (len==0){
			$("#errorMessage").show();
			$("#login_error").html("请输入考生号！"); 
		   	return false;
		}else if (len==14){
		  	if (code==''){
				$("#errorMessage").show();
				$("#login_error").html("请输入校验码！"); 
		    	return false;
		  	}
		  	$.ajax({
				type:"post",
				url:"search_validates.htm",
				data:{validate_code:$("#validate_code").val(),cxhm:$("#cxhm").val(),sfzh:$("#sfzh").val(),type:$("#type").val()},            
				success:function(data){
				if(data=='true'){
					$("#thisForm").submit();
				}else if (data=='false'){
					$("#login_error").html("校验码错误!"); 
					$("#checkcode").click();
					$("#validate_code").val("");
				}else if (data=='notexist'){
					$("#login_error").html("证件号码不匹配!"); 
					$("#validate_code").val("");
					$("#checkcode").click();
				}else{
					$("#login_error").html("查询错误!"); 
					$("#validate_code").val("");
					$("#checkcode").click();
				}
				$("#errorMessage").show();
			}});
		}else{
			$("#errorMessage").show();
			$("#login_error").html("考生号长度不正确！"); 
		   	return false;
		}
	});
}); 


function identificationCard(value){
	var verifyCode = new Array("1","0","X","9","8","7","6","5","4","3","2");//校验码
	var verifyGene = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);//校验因子
	var temp = value.substring(0,17);
	if (!isInteger(temp)){
		return false;
	}
	temp = value.substring(0,6);
	if (temp*1<100101){
		return false;
	}
	temp = value.substring(6,14);
	var birthday=temp.substring(0,4)+"-"+temp.substring(4,6)+"-"+temp.substring(6,8);
	if(!isDate(birthday)){
		return false;
	}
	if (temp*1<18700101){
		return false;
	}
	var date = new Date();
	var today = date.getFullYear();
	if(date.getMonth()*1+1<10){
		today +="0";
	}
	today +=""+(date.getMonth()*1+1);
	if (date.getDate()<10){
		today +="0";
	}
	today +=""+date.getDate();
	if (temp*1>today*1){
		return false;
	}
	temp = value.substring(14,17);
	if (temp=='000'){
		return false;
	}
	var s=0;
	for (var i=0;i<17 ;i++ ){
		s += value.substring(i,i+1)*verifyGene[i];
	}
	var y=verifyCode[s % 11];
	if (value.substring(17,18)!=y){
		return false;
	}
	return true;
}
	
function isInteger(str,sign){
	var reg=/^-?\d*$/gi;
	if (arguments.length==2 && sign=='+'){
		reg=/^[0-9]*[1-9][0-9]*$/gi;
	}else if (arguments.length==2 && sign=='-'){
		reg=/^-[0-9]*[1-9][0-9]*$/gi;
	}
	return reg.test(str);
}

function isDate(value){
	try{
		while (value.indexOf('-')>0){
			value = value.replace('-','/');
		}
		var compDate = new Date(value);
		var index = value.indexOf('/');
		var year = value.substring(0,index)*1;
		value=value.substring(index + 1,100);
		index = value.indexOf('/');
		var month = value.substring(0,index) -1;
		var date=value.substring(index + 1,100) *1;
		if (compDate.getFullYear()!=year | compDate.getMonth()!=month | compDate.getDate()!=date){
			return false;
		}
	}catch (e){
		return false;
	}
	return true;
}
