// JavaScript Document
var flag=new Array();
flag["username"]=false;
flag["email"]=false;
flag["password"]=false;
flag["repassword"]=false;
flag["sitename"]=false;
flag["site"]=false;
flag["truename"]=false;
flag["address"]=false;
flag["postcode"]=false;
flag["idno"]=false;
flag["tel"]=false;
flag["qq"]=false;
flag["secode"]=false;

$(document).ready(function(){
	$("#form").submit(function(){	
		
		//////////
		var username=$("input[@name='username']");
		if(username.val()==""){
			hintDisplay("username","fail","用户名不能为空");
			flag["username"]=false;
		}
		else if(username.val().length<4){
			hintDisplay("username","fail","用户名长度不能小于4");
			flag["username"]=false;
		}
		else if(!normalchk(username.val())){
			hintDisplay("username","fail","用户名只能为字母数字或半角状态下的下划线中划线以及点");
			flag["username"]=false;
		}
		else{
			ajaxchk("username");
		}
		
		/////////////////////
		var email=$("input[@name='email']");
		if(maikchk(email.val())){
			hintDisplay("email","fail","Email不符合规则");
			flag["email"]=false;
		}
		else{
			ajaxchk("email");
		}
		
		
		/////////////		
		var password=$("input[@name='password']");
		if(password.val()==""){
			hintDisplay("password","fail","密码不能为空");
		}
		else if(password.val().length<6){
			hintDisplay("password","fail","密码长度不能少于6个字符");
		}
		else{
			hintDisplay("password","success","");
			flag["password"]=true;
		}
		
		var repassword=$("input[@name='repassword']");
		if(password.val()!=repassword.val()){
			hintDisplay("repassword","fail","两次输入的密码不一样");
		}
		else if(password.val()!=""&&password.val()==repassword.val()){
			hintDisplay("repassword","success","");
			flag["repassword"]=true;
		}
		
		//////////////
		
		var sitename=$("input[@name='sitename']");
		if(sitename.val()==""){
			hintDisplay("sitename","fail","网站名称不能为空");
		}
		else if(sitename.val().length<2){
			hintDisplay("sitename","fail","网站名称长度不能少于2个字符");
		}
		else if(illegalchk(sitename.val())){
			hintDisplay("sitename","fail","网站名称含有非法字符");
		}
		else{
			hintDisplay("sitename","success","");
			flag["sitename"]=true;
		}
		
		///////////////
		
		var site=$("input[@name='site']");
		if(site.val()==""){
			hintDisplay("site","fail","网站地址不能为空");
		}
		else if(site.val().length<2){
			hintDisplay("site","fail","网站地址长度不能少于2个字符");
		}
		else{
			hintDisplay("site","success","");
			flag["site"]=true;
		}
		
		
	/////联系地址
		var address=$("input[@name='address']");
		if(address.val()==""){
			hintDisplay("address","fail","联系地址不能为空");
		}
		else if(address.val().length<2){
			hintDisplay("address","fail","联系地址长度不能少于2个字符");
		}
		else if(illegalchk(address.val())){
			hintDisplay("address","fail","联系地址含有非法字符");
		}
		else{
			hintDisplay("address","success","");
			flag["address"]=true;
		}
	
	/////联系人
		var truename=$("input[@name='truename']");
		if(truename.val()==""){
			hintDisplay("truename","fail","联系人不能为空");
		}
		else if(truename.val().length<2){
			hintDisplay("truename","fail","联系人长度不能少于2个字符");
		}
		else if(illegalchk(truename.val())){
			hintDisplay("truename","fail","联系人含有非法字符");
		}
		else{
			hintDisplay("truename","success","");
			flag["truename"]=true;
		}
		
		/////邮政编码
		var postcode=$("input[@name='postcode']");
		if(postcode.val()==""){
			hintDisplay("postcode","fail","邮政编码不能为空");
		}
		else if(postcode.val().length!=6){
			hintDisplay("postcode","fail","邮政编码长度为6位");
		}
		else if(!numchk(postcode.val())){
			hintDisplay("postcode","fail","邮政编码含有非法字符,为数字");
		}
		else{
			hintDisplay("postcode","success","");
			flag["postcode"]=true;
		}
	
	/////身份证号码(营业执照号)
		var idno=$("input[@name='idno']");
		if(idno.val()==""){
			hintDisplay("idno","fail","身份证号码(营业执照号)不能为空");
		}
		else if(idno.val().length<10){
			hintDisplay("idno","fail","身份证号码(营业执照号)长度不能少于10个字符");
		}
		else if(illegalchk(idno.val())){
			hintDisplay("idno","fail","身份证号码(营业执照号)含有非法字符");
		}
		else{
			hintDisplay("idno","success","");
			flag["idno"]=true;
		}
	
	/////联系电话
		var tel=$("input[@name='tel']");
		if(tel.val()==""){
			hintDisplay("tel","fail","联系电话不能为空");
		}
		else if(tel.val().length<10){
			hintDisplay("tel","fail","联系电话长度不能少于5个字符");
		}
		else if(illegalchk(tel.val())){
			hintDisplay("tel","fail","联系电话含有非法字符");
		}
		else{
			hintDisplay("tel","success","");
			flag["tel"]=true;
		}	
	/////QQ(MSN)
		var qq=$("input[@name='qq']");
		if(qq.val()==""){
			hintDisplay("qq","fail","QQ(MSN)不能为空");
		}
		else if(qq.val().length<5){
			hintDisplay("qq","fail","QQ(MSN)长度不能少于5个字符");
		}
		else if(illegalchk(qq.val())){
			hintDisplay("qq","fail","QQ(MSN)含有非法字符");
		}
		else{
			hintDisplay("qq","success","");
			flag["qq"]=true;
		}
	
	/////验证码
		var secode=$("input[@name='secode']");
		if(secode.val()==""){
			hintDisplay("secode","fail","验证码不能为空");
		}
		else if(secode.val().length!=4){
			hintDisplay("secode","fail","验证码长度为4个字符");
		}
		else{
			ajaxchk("secode");
		}
		
		var all_flag=true;
		//////////
		for(k in flag){
			if(!flag[k]){
				all_flag=false;
				break;
			}
		}
		
		return all_flag;
		
	});
	
	////用户名
	$("input[@name='username']").blur(function(){
		var username=$("input[@name='username']");
		if(username.val()==""){
			hintDisplay("username","fail","用户名不能为空");
			flag["username"]=false;
		}
		else if(username.val().length<4){
			hintDisplay("username","fail","用户名长度不能小于4");
			flag["username"]=false;
		}
		else if(!normalchk(username.val())){
			hintDisplay("username","fail","用户名只能为字母数字或半角状态下的下划线中划线以及点");
			flag["username"]=false;
		}
		else{
			ajaxchk("username");
		}
	});
	
	///Email
	$("input[@name='email']").blur(function(){
		var email=$("input[@name='email']");
		if(maikchk(email.val())){
			hintDisplay("email","fail","Email不符合规则");
			flag["email"]=false;
		}
		else{
			ajaxchk("email");
		}
	});
	
	////password
	$("input[@name='password']").blur(function(){
		var password=$("input[@name='password']");
		if(password.val()==""){
			hintDisplay("password","fail","密码不能为空");
		}
		else if(password.val().length<6){
			hintDisplay("password","fail","密码长度不能少于6个字符");
		}
		else{
			hintDisplay("password","success","");
		}
	});
	
	////两次输入的密码是否相同
	$("input[@name='repassword']").blur(function(){
		var password=$("input[@name='password']");
		var repassword=$("input[@name='repassword']");
		if(password.val()!=repassword.val()){
			hintDisplay("repassword","fail","两次输入的密码不一样");
		}
		else if(password.val()!=""&&password.val()==repassword.val()){
			hintDisplay("repassword","success","");
		}
	});
	
	/////网站名称
	$("input[@name='sitename']").blur(function(){
		var sitename=$("input[@name='sitename']");
		if(sitename.val()==""){
			hintDisplay("sitename","fail","网站名称不能为空");
		}
		else if(sitename.val().length<2){
			hintDisplay("sitename","fail","网站名称长度不能少于2个字符");
		}
		else if(illegalchk(sitename.val())){
			hintDisplay("sitename","fail","网站名称含有非法字符");
		}
		else{
			hintDisplay("sitename","success","");
		}
	});	
	/////网站地址
	$("input[@name='site']").blur(function(){
		var site=$("input[@name='site']");
		if(site.val()==""){
			hintDisplay("site","fail","网站地址不能为空");
		}
		else if(site.val().length<2){
			hintDisplay("site","fail","网站地址长度不能少于2个字符");
		}
		else{
			hintDisplay("site","success","");
		}
	});	
	
	/////联系地址
	$("input[@name='address']").blur(function(){
		var address=$("input[@name='address']");
		if(address.val()==""){
			hintDisplay("address","fail","联系地址不能为空");
		}
		else if(address.val().length<2){
			hintDisplay("address","fail","联系地址长度不能少于2个字符");
		}
		else if(illegalchk(address.val())){
			hintDisplay("address","fail","联系地址含有非法字符");
		}
		else{
			hintDisplay("address","success","");
		}
	});	
	
	/////联系人
	$("input[@name='truename']").blur(function(){
		var truename=$("input[@name='truename']");
		if(truename.val()==""){
			hintDisplay("truename","fail","联系人不能为空");
		}
		else if(truename.val().length<2){
			hintDisplay("truename","fail","联系人长度不能少于2个字符");
		}
		else if(illegalchk(truename.val())){
			hintDisplay("truename","fail","联系人含有非法字符");
		}
		else{
			hintDisplay("truename","success","");
		}
	});	
	
	/////邮政编码
	$("input[@name='postcode']").blur(function(){
		var postcode=$("input[@name='postcode']");
		if(postcode.val()==""){
			hintDisplay("postcode","fail","邮政编码不能为空");
		}
		else if(postcode.val().length!=6){
			hintDisplay("postcode","fail","邮政编码长度为6位");
		}
		else if(!numchk(postcode.val())){
			hintDisplay("postcode","fail","邮政编码含有非法字符,为数字");
		}
		else{
			hintDisplay("postcode","success","");
		}
	});	
	
	/////身份证号码(营业执照号)
	$("input[@name='idno']").blur(function(){
		var idno=$("input[@name='idno']");
		if(idno.val()==""){
			hintDisplay("idno","fail","身份证号码(营业执照号)不能为空");
		}
		else if(idno.val().length<10){
			hintDisplay("idno","fail","身份证号码(营业执照号)长度不能少于10个字符");
		}
		else if(illegalchk(idno.val())){
			hintDisplay("idno","fail","身份证号码(营业执照号)含有非法字符");
		}
		else{
			hintDisplay("idno","success","");
		}
	});	
	
	/////联系电话
	$("input[@name='tel']").blur(function(){
		var tel=$("input[@name='tel']");
		if(tel.val()==""){
			hintDisplay("tel","fail","联系电话不能为空");
		}
		else if(tel.val().length<10){
			hintDisplay("tel","fail","联系电话长度不能少于5个字符");
		}
		else if(illegalchk(tel.val())){
			hintDisplay("tel","fail","联系电话含有非法字符");
		}
		else{
			hintDisplay("tel","success","");
		}
	});	
	
	/////QQ(MSN)
	$("input[@name='qq']").blur(function(){
		var qq=$("input[@name='qq']");
		if(qq.val()==""){
			hintDisplay("qq","fail","QQ(MSN)不能为空");
		}
		else if(qq.val().length<5){
			hintDisplay("qq","fail","QQ(MSN)长度不能少于5个字符");
		}
		else if(illegalchk(qq.val())){
			hintDisplay("qq","fail","QQ(MSN)含有非法字符");
		}
		else{
			hintDisplay("qq","success","");
		}
	});	
	
	/////验证码
	$("input[@name='secode']").blur(function(){
		var secode=$("input[@name='secode']");
		if(secode.val()==""){
			hintDisplay("secode","fail","验证码不能为空");
		}
		else if(secode.val().length!=4){
			hintDisplay("secode","fail","验证码长度为4个字符");
		}
		else{
			ajaxchk("secode");
		}
	});	
});

////ajax检测是否被注册
function ajaxchk(name){
	var v=$("input[@name='"+name+"']");
	$.getJSON("includes/register.service.php?q="+Math.random(),{value:v.val(),type:name},function(data){
		if(data.flag=="success"){
			hintDisplay(name,"success",data.hintinfo);
			flag[name]=true;
		}
		else{
			hintDisplay(name,"fail",data.hintinfo);
			flag[name]=false;
		}
	});
	
}



////email格式检测
function maikchk(string){
	var regm = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;//验证Mail的正则表达式,^[a-zA-Z0-9_-]:开头必须为字母,下划线,数字,
	if(regm.test(string)){
		return false;
	}
	else{
		return true;
	}
}

////错误提示显示
function hintDisplay(name,flag,string){
	var v=$("input[@name='"+name+"']");
	if(flag=="success"){
		string=(string=="")?"":"恭喜，"+string+"。";
		v.parents("td").children("span").css("color","gray").css("margin-left","10px").html(string);
		//return true;
	}
	else{
		string="抱歉，"+string+"。";
		v.parents("td").children("span").css("color","red").css("margin-left","10px").html(string);
		//return false;
	}
}

/////常规检测 英文 数字 _ -
function normalchk(string){
	var regm=/[^0-9a-zA-Z_.-]/;
	if(regm.test(string)){
		return false;
	}
	else{
		return true;
	}
}

////非法字符检测
function illegalchk(string){
	var   regm=/\/|\\|=|\&|\$|%|\^/g;  
	if(!regm.test(string)){
		return false;
	}
	else{
		return true;
	}
}

////数字检测
function numchk(string){
	var regm=/[^0-9]/;
	if(regm.test(string)){
		return false;
	}
	else{
		return true;
	}
}