function fresh_lal(){
	document.getElementById('rndimg').src="valicode.php?m" + Math.random();
}

//ajax 点击事件 得到相应资源

function getResource(re){

   var resource = re;
   var obj = document.getElementById("resource");

   new Ajax.Request(    
    'resource.php?act=c&re=' + resource,
   	{
    	method:'get',
    	onSuccess: function(transport){
      	   var response = transport.responseText || "no response text";
           obj.innerHTML = response;  
        },
    	onFailure: function(){
           alert("failure");
    	}
   	}  
   	 	
  );   
  
}


//仓库交换物品页面,点击作坊的物品，放到仓库中
function changeGood(id){   
   var good_id = id;
   alert(good_id);
   var obj = document.getElementById("inner");
   new Ajax.Request(    
    'workshop_store.php?act=a&i=' + good_id,
   	{
    	method:'get',
    	onFailure: function(){
        alert("failure");
    	}

   	}  
   	 	
  ); 
    
}


/*****************************
* 用ajax 验证用户名不能重复
******************************/


function ajaxCheck(cols, name , objname) {
   var value = document.getElementById(cols).value;
   var obj = document.getElementById(objname);
   new Ajax.Request(
    'reg.php?act=c&item=' + name + '&name=' + value,
   	{
    	method:'get',
    	onSuccess: function(transport){
      	var response = transport.responseText || "no response text";
      	var str = "";
      	var t = "test1";
      	switch (response) {
           case '100': 
           		if(!chkChar(value)) {
           			str = "用户名字符不合法";
           			break;
           		}
           		if(value.length < 6 || value.length > 12) {
           			str = "用户名长度不合法";
           			break;
           		}
           		str = "用户名可用"; 
           		break;
           case '101': 
           		str = "用户名已存在"; 
           		break;
           case '102': 
           		str = "村庄名可用"; 
           		break;
           case '103': 
           		str = "村庄名已存在"; 
           		break;
           case '104':
           		if(!isEmail(value)) {
           			str = "邮箱不合法";
           			break;
           		} 
           		str = "邮箱可用"; 
           		break;
           case '105': 
           		str = "邮箱已被注册"; 
           		break;

        }
               	
      	obj.innerHTML = str;
      	
        },
    	onFailure: function(){
        alert("failure");
    	}
   	}
  );    
}

/*验证用户名是否为合法字符*/
function chkChar(str2){
	var str1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_";              
	for (i = 0; i < str2.length; i++)
		if (str1.indexOf(str2.substr(i, 1)) == -1) return false;
	return true;
}

/*村庄名的字符限制*/
function chkSpeChar(str1) {
    var str2 = "\'\",`~!@#$%^&*()|;:";
	for (i = 0; i < str1.length; i++) {
	    if (str2.indexOf(str1.substr(i, 1)) != -1) return false; 
	}
	return true;
}
/*去掉用户名的前后空格*/
String.prototype.Trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g,"");
}
/**
*	村庄名验证
*
*/
function village_check() {
  obj = document.getElementById("villagename"); 
  if (obj.value.length == 0) { 
      alert("村庄名不能为空");
      obj.focus();
      return false; 
  } 
  if (!chkSpeChar(obj.value)) {
      alert("村庄名中不能包含以下字符\'\",`~!@#$%^&*()|;:");
      obj.focus();
      return false;
  }
  if (obj.value.length < 2) {
	  alert("村庄名长度不正确 请使用大于两位汉字 或者长度在2-18位的英文、数字");
	  obj.focus();
	  return false;	  
  }
}

/************************************
* 用户注册表单验证
*************************************/
function reg_check(){  
  obj = document.getElementById("username"); 
  if (obj.value.length == 0) { 
      alert("用户名不能为空");
      obj.focus();
      return false;
  }
  if (chkChar(obj.value) == false) {
      alert("用户名字符不合法 请使用英文、数字，长度在6-12个字符");
      obj.value = '';
      obj.focus();
      return false;
  }
  if(obj.value.length < 6 || obj.value.length > 12) {
      alert("用户名字符不合法 请使用英文、数字，长度在6-12个字符");
      obj.value = '';
      obj.focus();
      return false;
  }  

  objP1 = document.getElementById("passwd1");
  if (objP1.value.length == 0) { 
      alert("密码不能为空");
      objP1.focus();
      return false; 
  }
  
  objP2 = document.getElementById("passwd2");
  if (objP2.value.length == 0) { 
      alert("确认密码不能为空");
      objP2.focus();
      return false; 
  }
  
  if (objP1.value.length < 6) {
   	  alert("密码长度不能小于6位");
   	  objP1.value = "";
   	  objP2.value = "";
   	  objP1.focus();
   	  return false;	
  }
  
  if (objP1.value != objP2.value) {
      alert("密码不一致");
      objP1.value = "";
      objP2.value = "";
      objP1.focus();
      return false;
  }
  
  obj = document.getElementById("email");
  if (!isEmail(obj.value)) {
      alert("请输入有效邮箱");
      obj.focus();
      return false;
  }
  
  obj = document.getElementById("valicode");
  if (obj.value.length == 0) { 
      alert("验证码不能为空");
      obj.focus(); 
      return false;
  } 

  obj = document.getElementById("reg");
  obj.submit();
}


/***判断是否为邮箱***/
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;
}
/***判断密码强度***/
/*以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<6){  
		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<	10)	{strength = 1;/*强度低*/return strength;}
	if(typeNum == 1 && sPW.length>=	10 && sPW.length<16){
										 strength = 2;/*强度中*/return strength;}
	if(typeNum == 1 && sPW.length>=	16)	{strength = 3;/*强度高*/return strength;}
	/*字符类型数为2时的强度判断*/
	if(typeNum == 2 && sPW.length<	10)	{strength = 2;/*强度中*/return strength;}
	if(typeNum == 2 && sPW.length>=	10)	{strength = 3;/*强度高*/return strength;}
	/*字符类型数为3时的强度判断*/
	if(typeNum == 3 && sPW.length<	8)	{strength = 2;/*强度中*/return strength;}
	if(typeNum == 3 && sPW.length>=	8)	{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_0 ="格式错误";
	text_null='<img src=\"' + 'images/low1.gif' + '\" /><img src=\"' + 'images/middle1.gif' + '\" /><img src=\"' + 'images/high1.gif' + '\" />';			
	text_1 ='<img src=\"' + 'images/low.gif' + '\" /><img src=\"' + 'images/middle1.gif' + '\" /><img src=\"' + 'images/high1.gif' + '\" />';
	text_2 ='<img src=\"' + 'images/low.gif' + '\" /><img src=\"' + 'images/middle.gif' + '\" /><img src=\"' + 'images/high1.gif' + '\" />';
	text_3 ='<img src=\"' + 'images/low.gif' + '\" /><img src=\"' + 'images/middle.gif' + '\" /><img src=\"' + 'images/high.gif' + '\" />';
	text_101 ='<img src=\"' + 'images/low.gif' + '\" /><img src=\"' + 'images/middle1.gif' + '\" /><img src=\"' + 'images/high1.gif' + '\" />';
	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("passwd1").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("用户名不能为空");
		}
	} 
}


