	function fresh_lal(){
		document.getElementById('rndimg').src="valicode.php?m" + Math.random();
	}
	
	function fresh_lal_trd(){
		document.getElementById('rndimg').src="valicode3.php?p=trade&m" + Math.random();
	}
	
	var xmlHttp = false;
	try {
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e2) {
			xmlHttp = false;
		}
	}
	if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}

	function callServer() {
		var u_name = document.getElementById("u_name").value;
		if ((u_name == null) || (u_name == "")) return;
		var url = "login_ajax.php?name=" + escape(u_name);
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = updatePage;
		xmlHttp.setRequestHeader("If-Modified-Since","0"); 
		xmlHttp.send(null);
	}

	function updatePage() {
		if (xmlHttp.readyState < 4) {
			test1.innerHTML="æ­£å¨æ£æµ";
		}
		if (xmlHttp.readyState == 4) {
			var response = xmlHttp.responseText;
			test1.innerHTML=response;
		}
	}
	
/*************************************** 2008.4.8 **************************************************/

/*****************************
* 用ajax 验证用户名不能重复
******************************/
function ajax_user_name(){
	 var t1 = $("t1");
	 var test1 = $("test1");
   var string = document.getElementById("u_name").value;
   if(isSpeCharIn(string)){
   		t1.innerHTML = "<img src='images/reg_error.gif'>登陆帐号中不能含有特殊字符";
   		t1.color = "#ff0001";
   }else if(isChineseIn(string)){
   		t1.innerHTML = "<img src='images/reg_error.gif'>登陆帐号中不能含有中文字符或者特殊字符";
   		t1.color = "#ff0001";
   }else{
	   var u_name = encodeURI(string);
	   new Ajax.Request(
	   	'reg.php?act=u&name='+u_name,
	   	{
	    	method:'get',
	    	onSuccess: function(transport){
	      	var response = transport.responseText || "no response text";
	      	test1.innerHTML=response;
	        },
	    	onFailure: function(){
	        alert("failure");
	    	}
	   	}
	  ); 
   }   
}
/*****************************
* 用ajax 验证城市名不能重复
******************************/
function ajax_city_name(){
	 var t2 = $("t2");
	 var test2 = $("test2");
   var string = document.getElementById("city").value;
   if(isSpeCharIn(string)){
   		t2.innerHTML = "<img src='images/reg_error.gif'>村庄名中不能含有特殊字符";
   		t2.color = "#ff0001";
   }else{
	   var city = encodeURI(string);
	   new Ajax.Request(
	   	'reg.php?act=c&city='+city,
	   	{
	    	method:'get',
	    	onSuccess: function(transport){
	      	var response = transport.responseText || "no response text";
	      	test2.innerHTML=response;
	        },
	    	onFailure: function(){
	        alert("failure");
	    	}
	   	}
	  );
   }
}

/*****************************
* 用ajax 验证俱乐部名不能重复
******************************/
function ajax_club_name(){
	 var t3 = $("t3");
	 var test3 = $("test3");
   var string = document.getElementById("club").value;
   if(isSpeCharIn(string)){
   		t3.innerHTML = "<img src='images/reg_error.gif'>俱乐部名中不能含有特殊字符";
   		t3.color = "#ff0001";
   }else{
	   var club = encodeURI(string);
	   new Ajax.Request(
	   	'reg.php?act=b&club='+club,
	   	{
	    	method:'get',
	    	onSuccess: function(transport){
	      	var response = transport.responseText || "no response text";
	      	test3.innerHTML=response;
	        },
	    	onFailure: function(){
	        alert("failure");
	    	}
	   	}
	  );
   }
}
/*****************************
* 用ajax 验证email不能重复
******************************/
function ajax_email(){
	 var t4 = $("t4");
	 var test4 = $("test4");
   var string = document.getElementById("email").value;
   if(!isEmail(string)){
   		t4.innerHTML = "<img src='images/reg_error.gif'>邮箱格式不正确";
   		t4.color = "#ff0001";
   }else{
	   var email = escape(string);
	   new Ajax.Request(
	   	'reg.php?act=m&email='+email,
	   	{
	    	method:'get',
	    	onSuccess: function(transport){
	      	var response = transport.responseText || "no response text";
	      	test4.innerHTML=response;
	        },
	    	onFailure: function(){
	        alert("failure");
	    	}
	   	}
	  );
   }
}

/*****************************
* 用ajax 验证身份证号
******************************/
function ajax_cardid(){ 
	 var t5 = $("t5");
	 var test5 = $("test5");
   var identity = document.getElementById("cardid").value;
   var chkidcard = checkIdcard(identity);
	 if (chkidcard != 'true') {
   		t5.innerHTML = "<img src='images/reg_error.gif'>"+chkidcard;
   		t5.color = "#ff0001";
   }else{
	   /*new Ajax.Request(
	   	'reg.php?act=i&card='+identity,
	   	{
	    	method:'get',
	    	onSuccess: function(transport){
	      	var response = transport.responseText || "no response text";
	      	test5.innerHTML=response;
	        },
	    	onFailure: function(){
	        alert("failure");
	    	}
	   	}
	  );*/
	  test5.innerHTML = "<font id='t5' color='#008000'></font>";
	}
} 

/*****************************
* 用ajax 验证真实姓名
******************************/
function ajax_realname(){ 
	 var test6 = $("test6");
   var name = document.getElementById("name").value;
   var realname = encodeURI(name);
   new Ajax.Request(
   	'reg.php?act=n&name='+realname,
   	{
    	method:'get',
    	onSuccess: function(transport){
      	var response = transport.responseText || "no response text";
      	test6.innerHTML=response;
        },
    	onFailure: function(){
        alert("failure");
    	}
   	}
  );
} 

/************************************
* 用户注册表单验证
*************************************/
function reg_check(){
	var snd = $("snd");
	var t1 = $("t1");
	var t2 = $("t2");
	var t3 = $("t3");
	var t4 = $("t4");
	var t5 = $("t5");
	var t6 = $("t6");
	var test1 = $("test1");
	var test2 = $("test2"); 
	var test3 = $("test3"); 
	var test4 = $("test4"); 
	var test5 = $("test5"); 
	var test6 = $("test6");
  if (snd.u.value.length == 0) { 
      alert("登陆帐号不能为空");
      snd.u.focus(); 
      return false;
  }
  if (snd.city.value.length == 0) { 
      alert("村庄名不能为空");
      snd.city.focus();
      return false; 
  }
  if (snd.club.value.length == 0) { 
      alert("俱乐部名不能为空");
      snd.club.focus();
      return false; 
  }
  if (snd.p.value.length == 0) { 
      alert("密码不能为空");
      snd.p.focus();
      return false; 
  }
  if (snd.p.rs == 0) { 
      alert("密码强度太低");
      snd.p.focus();
      return false; 
  }
  if (snd.a.value.length == 0) { 
      alert("确认密码不能为空");
      snd.a.focus();
      return false; 
  }
  if(snd.p.value != snd.a.value){
      alert("密码不一致");
      snd.p.value = "";
      snd.a.value = "";
      snd.p.focus();
      return false;
  }
  if(!isEmail(snd.email.value)){
      alert("请输入有效邮箱");
      snd.email.value = "";
      snd.email.focus();
      return false;
  }
  if (snd.cardid.value.length == 0) {
   	  alert("请输入身份证号");
   	  snd.cardid.focus(); 
   	  return false;
  } 
  if (snd.name.value.length == 0) {
   		alert("请输入真实姓名");
   		snd.name.focus();
   		return false;
  }
  if (snd.code.value.length == 0) { 
      alert("验证码不能为空");
      snd.code.focus(); 
      return false;
  }
  if(t1.style.color == "#ff0000") {
  	  alert("登陆帐号已被占用");
  	  snd.u.focus();
  	  return false;
  }
  if(t1.color == "#ff0001"){
   	  alert("登陆帐号中不能含有特殊字符");
  	  snd.u.focus();
  	  return false;
  }
   if(t1.color == "#ff0002"){
   	  alert("登陆帐号中含有违禁词汇");
  	  snd.u.focus();
  	  return false;
  }
  if(t2.color == "#ff0000") {
  	  alert("村庄名称已被占用");
  	  snd.city.focus();
  	  return false;
  }
  if(t2.color == "#ff0001"){
  	  alert("村庄名中不能含有特殊字符");
  	  snd.city.focus();
  	  return false;
  }
  if(t2.color == "#ff0002"){
  	  alert("村庄名中含有违禁词汇");
  	  snd.city.focus();
  	  return false;
  }
  if(t3.color == "#ff0000") {
  	  alert("俱乐部名已被占用或不允许使用");
  	  snd.club.focus();
  	  return false;
  }
  if(t3.color == "#ff0001"){
  	  alert("俱乐部名中不能含有特殊字符");
  	  snd.club.focus();
  	  return false;
  }
   if(t3.color == "#ff0002"){
  	  alert("俱乐部名中含有违禁词汇");
  	  snd.club.focus();
  	  return false;
  }
  if (t4.color == "#ff0001") {
   	alert("邮箱格式不正确");
   	snd.email.focus();
   	return false;
  }
  if (t4.color == "#ff0002") {
   	alert("邮箱已被占用");
   	snd.email.focus();
   	return false;
  }
  if(t5.color == "#ff0001"){
  	  alert("身份证号码错误");
  	  snd.cardid.focus();
  	  return false;
  }
  if(t6.color == "#ff0002"){
  	  alert("真实姓名必须为中文");
  	  snd.name.focus();
  	  return false;
  }
	if(t6.color == "#ff0003"){
  	  alert("真实姓名含有违禁词汇");
  	  snd.name.focus();
  	  return false;
  }
  return true;
}
function reg2_check(){
  if (snd.u.value.length == 0) { 
      alert("登陆帐号不能为空");
      snd.u.focus(); 
      return false;
  }
  if (snd.city.value.length == 0) { 
      alert("城市名不能为空");
      snd.city.focus();
      return false; 
  }
  if (snd.p.value.length == 0) { 
      alert("密码不能为空"+snd.p.rs);
      snd.p.focus();
      return false; 
  }
  if(!isEmail(snd.email.value)){
      alert("请输入有效邮箱");
      snd.email.focus();
      return false;
  }
  if (snd.code.value.length == 0) { 
      alert("验证码不能为空");
      snd.code.focus(); 
      return false;
  }
  return true;
}
function reg3_check(){
  if (snd.vcode.value.length == 0){
  	 alert("请输入邀请码");
  	 snd.vcode.focus();
  	 return false;
  }
  if (snd.u.value.length == 0) { 
      alert("登陆帐号不能为空");
      snd.u.focus(); 
      return false;
  }
  if (snd.p.value.length == 0) { 
      alert("登陆密码不能为空");
      snd.p.focus();
      return false; 
  }
  if (snd.p.value != snd.p2.value){
  	 alert("两次输入密码不一致");
  	 snd.p.focus();
  	 return false;
  }
  if (snd.club.value.length == 0) { 
      alert("俱乐部名不能为空");
      snd.club.focus();
      return false; 
  }
  if (snd.city.value.length == 0) { 
      alert("村庄名不能为空");
      snd.city.focus();
      return false; 
  }
  if(!isEmail(snd.email.value)){
      alert("请输入有效邮箱");
      snd.email.focus();
      return false;
  }
  if (snd.code.value.length == 0) { 
      alert("验证码不能为空");
      snd.code.focus(); 
      return false;
  }
  return true;
}
/***显示邀请的注册信息***/
function displayreg(){
  var div = document.getElementById('reg3');
  div.style.display='block';
  var pro = document.getElementById('protocal');
  pro.style.display='none';
}
/***判断是否为邮箱***/
function isEmail(str){
  if(str.match(/[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig)!=str)
     return false;
  else
     return true;
}
/***判断是否含哟特殊字符***/
function isSpeCharIn(str){
	if(str.match(/!|@|#|\$|%|\^|&|\*|\(|\)|;|:|'|"|\||\\|\/|\.|,|~/g)!=null){
		return true;
	}
	return false;
}
function isChineseIn(str){
	/*
	var reg = /^[u4E00-u9FA5]+$/;
	if(reg.test(str)){
		return true;
	}
	return false
 	*/
	var chars ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789"; 
	for (var i = 0; i < str.length; i++) { 
		var c = str.charAt(i);
	 	if (chars.indexOf(c) == -1) {
			return true;
	 	}
	} 
	return false;
}
/***判断密码强度***/
/*以bit index的方法标识密码中的字符种类数量信息*/
function charType(iN){  
	/*数字48-57, ASCII编码 来自于getchar*/
	if (iN>=48 && iN <=57) return 1;  
	/*大写字母*/  
	if (iN>=65 && iN <=90) return 2;  
	/*小写字母*/
	if (iN>=97 && iN <=122) return 4;
	/*特殊字符*/  
	else  return 8; 
}  
/*计算出当前密码当中一共有多少种字符*/  
function modeEff(num){  
	modes=0;  
	for (i=0;i<4;i++){  
		if (num & 1) modes++;
		num>>>=1; /*右移操作*/ 
	}  
	return modes;  
}  
/*checkStrong函数*/  
/*返回密码的强度级别*/ 
function checkStrong(sPW){  
	strength=0; 
	/*密码中字符种类数量*/
	typeInfo	= 0;
	isRepeatPw 	= 1;
	isCostNum 	= 0;
	isSpeNumSeri= 0;
	flagOne		= 0;
	flagTwo		= 0;
	/*密码长度不能小于6位*/  
	if (sPW.length<4){  
		strength = 101;	return strength; 
	}
	/*检查是否是数字开头，默认为连号开始*/
//	if(sPW.charCodeAt(0)>=48 && sPW.charCodeAt(0)<=57) {
//		isSpeNumSeri = 1;	flagOne	= 	1;	flagTwo	=	1;
//	}
	/*遍历检查字符*/
	for (i=0;i<sPW.length;i++){
		/*以bit和的形式将种类信息写入,bit index法*/
		typeInfo |= charType(sPW.charCodeAt(i));
		/*检验是否是重复字符的密码*/
//		if(sPW.charCodeAt(i)!=sPW.charCodeAt(0)) isRepeatPw = 0;
		/*降序的首位情况*/
//		if(isSpeNumSeri==1){
//			if(sPW.charCodeAt(0)==48
//			&& sPW.charCodeAt(2)==57){
//			}else{if(sPW.charCodeAt(0)!=sPW.charCodeAt(1)+1) falgTwo = 0;}
//			/*检查连号是否被破坏,排除末位情况*/
//			if(i!=0 && i!=sPW.length-1){
//				/*升序破坏*/
//				if(sPW.charCodeAt(i)!=sPW.charCodeAt(i-1)+1) flagOne = 0;
//				/*降序破坏*/
//				if(sPW.charCodeAt(i+1)!=sPW.charCodeAt(i)-1) flagTwo = 0;
//			}
//			/*末位情况'90'情况不算破坏连号*/
//			if(sPW.charCodeAt(sPW.length-1)==48 
//			&& sPW.charCodeAt(sPW.length-2)==57
//			&& flagOne==1){/*'90'连号就什么也不做*/
//			}else{if(sPW.charCodeAt(sPW.length-1)!=sPW.charCodeAt(sPW.length-2)+1)flagOne = 0;}
//		}
	}
	/*在"正常"的密码范围内评价密码强度*/
	typeNum = modeEff(typeInfo);
	/*如果为重复字符密码*/
//	if(isRepeatPw 		==1){strength = 102;return strength;}
	/*如果为连续数字*/
//	if(flagOne+flagTwo 	==0){isSpeNumSeri=0;}
//	if(isSpeNumSeri 	==1){strength = 103;return strength;}
	/*密码强度判断*/
	/*字符类型数为1时的强度判断*/
	if(typeNum == 1 && sPW.length<	5)	{strength = 1;/*强度低*/return strength;}
	if(typeNum == 1 && sPW.length>=	5 && sPW.length<8){
										 strength = 2;/*强度中*/return strength;}
	if(typeNum == 1 && sPW.length>=	8)	{strength = 3;/*强度高*/return strength;}
	/*字符类型数为2时的强度判断*/
	if(typeNum == 2 && sPW.length<	8)	{strength = 2;/*强度中*/return strength;}
	if(typeNum == 2 && sPW.length>=	8)	{strength = 3;/*强度高*/return strength;}
	/*字符类型数为3时的强度判断*/
	if(typeNum == 3 && sPW.length<	6)	{strength = 2;/*强度中*/return strength;}
	if(typeNum == 3 && sPW.length>=	6)	{strength = 3;/*强度高*/return strength;}
	if(typeNum > 3){strength = 3;/*强度高*/return strength;}
	return strength;
}
/*pwStrength函数*/  
function pwStrength(pwd){
	/*字体显示的颜色*/
	colorDl="#eeeeee";  colorEr="#FF0000";  
	colorLs="#FF0000";  colorMs="#FF9900";  colorHs="#33CC00";
	
	text_null="密码空";
	text_0 ="格式错误";		text_1 ="强度低";		text_2 ="强度中";	text_3 ="强度高";
	text_101 ="长度小于4";	text_102 ="重复字符"; 	text_103 ="连续字符"
	
	PWcolor = 0;	PWtext 	= 0;	PWvalue = 0;
	if (pwd==null||pwd==''){  
		PWcolor=colorEr;	PWtext=text_null;	PWvalue=99;
	}else{  
		S_level = checkStrong(pwd);  
		switch(S_level) {
			/*强度显示*/
			case 0:  PWcolor=colorDl;	PWtext=text_0;	PWvalue=0;break;
			case 1:  PWcolor=colorLs;	PWtext=text_1;	PWvalue=1;break;  
			case 2:  PWcolor=colorMs;	PWtext=text_2;	PWvalue=2;break; 
			case 3:  PWcolor=colorHs;	PWtext=text_3;	PWvalue=3;break;
			/*异常情况*/
			case 101:PWcolor=colorEr;	PWtext=text_101;PWvalue=0;break;
			case 102:PWcolor=colorEr;	PWtext=text_102;PWvalue=0;break;
			case 103:PWcolor=colorEr;	PWtext=text_103;PWvalue=0;break;
			default: PWcolor=colorDl;	PWtext=text_0;	PWvalue=0;break;
		}  
	}
	document.getElementById("PWstrength").innerHTML	=PWtext;    
	document.getElementById("PWstrength").color=PWcolor;
	document.getElementById("passw").rs	=PWvalue;
	return;  
}
/************************
*回车提交
*************************/
function issubmit(){
	if (event.keyCode==13){
		document.getElementById('snd').submit();
	} 
}
/**
 * 用户名回车
 */
function issubmit1(str){
	if (event.keyCode==13){
		if(str.length>0){
			document.getElementById('snd').submit();
		}else{
			alert("用户名不能为空");
		}
	} 
}

/** inteye **/
function check_login() {
  var obj = document.getElementById('snd');
  if (obj['u'].value.length == 0) { 
      alert("登陆帐号不能为空！");
      obj['u'].focus();
      return false;
  }
  if (obj['p'].value.length == 0) { 
      alert("密码不能为空！");
      obj['p'].focus();
      return false;
  }
  if (obj['code'].value.length == 0) { 
      alert("验证码不能为空！");
      obj['code'].focus();
      return false;
  }
  obj.submit();
  return true;
}

//身份证验证
function checkIdcard(idcard) {
    var Errors = new Array(
            "true",
            "身份证号码位数不对",
            "身份证号码出生日期超出范围或含有非法字符",
            "身份证号码校验错误",
            "身份证地区非法"
            );
    var area = {11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
    var idcard,Y,JYM;
    var S,M;
    var idcard_array = new Array();
    idcard_array = idcard.split("");
    //地区检验
    if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4];
    //身份号码位数及格式检验
    switch (idcard.length) {
        case 15:
            if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 )) {
                ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;
                //测试出生日期的合法性
            } else {
                ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;
                //测试出生日期的合法性
            }
            if (ereg.test(idcard)) return Errors[0];
            else return Errors[2];
            break;
        case 18:
        //18位身份号码检测
        //出生日期的合法性检查
        //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
        //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
            if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0 )) {
                ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;
                //闰年出生日期的合法性正则表达式
            } else {
                ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;
                //平年出生日期的合法性正则表达式
            }
            if (ereg.test(idcard)) {//测试出生日期的合法性
                //计算校验位
                S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
                        + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
                        + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
                        + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
                        + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
                        + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
                        + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
                        + parseInt(idcard_array[7]) * 1
                        + parseInt(idcard_array[8]) * 6
                        + parseInt(idcard_array[9]) * 3;
                Y = S % 11;
                M = "F";
                JYM = "10X98765432";
                M = JYM.substr(Y, 1);
                //判断校验位
                if (M == idcard_array[17].toUpperCase()) return Errors[0]; //检测ID的校验位
                else return Errors[3];
            }
            else return Errors[2];
            break;
        default:
            return Errors[1];
            break;
    }
}
