﻿// JScript 文件
function $( pElementID ) {
		return document.getElementById(pElementID);
	}
function String.prototype.Trim() 
{
return this.replace(/(^\s*)|(\s*$)/g,"").replace(/(^\s*)/g, "").replace(/(\s*$)/g, "");
}
function String.prototype.Ltrim(){return this.replace(/(^\s*)/g, "");}
function String.prototype.Rtrim(){return this.replace(/(\s*$)/g, "");}
var uiUrl = "../AjaxPage/AjaxCheckRegister.aspx";
// Start ***********  检测用户名的合法性    Modify At 2007-8-24  *******/
	function CheckUserName(UserName)
	{
	   var oContainer = $("ContainerUserName"); 
	   var pUserName = $(UserName);
	   var uName = pUserName.value.Trim();
	   if(uName=="")
	   {
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "请填写用户名";
	      return false;
	   }
	  var regex = /^[a-zA-z0-9-]+$/
	   if(!regex.test(uName))
	   {
			oContainer.className = "font_error";
			oContainer.innerHTML = "用户名只能由字母,数字和\"-\"线组成，请重新填写！"
			return false;
	   }
	   var i = 0;
	   for ( i=0;i<uName.length;i++ ) {
			if ( uName.charAt(i) == "-" ) {
				if ( uName.charAt(i+1) == "-" ) {
					oContainer.className = "font_error";
					oContainer.innerHTML = "用户名不能2个连续\"-\"线，请重新填写！"
					return false;
				}
			}
		}
	   if ( uName.charAt(0) == "-" ) {
		   oContainer.className = "font_error";
		   oContainer.innerHTML = "用户名不能以\"-\"线开头，请重新填写！"
		   return false;
		} 
		
		if(uName.length < 4 || uName.length > 20) {			
			oContainer.className = "font_error";
			oContainer.innerHTML = "用户名最长只能占20位字符，最短4个字符，请重新填写！"
			return false;
		}
		if(Number(uName.substring(0,1)))
		{
			oContainer.className = "font_error";
			oContainer.innerHTML = "用户名不能以数字开头！"
			return false;
		}
		
		
		var ret = false;
		if(pUserName.value == $("hid_oldUserName").value)
		{
		    ret = $("hid_checkUserName").value;
		}
		else
		{
		    ret = CheckUserNameExist(pUserName.value);
		    $("hid_checkUserName").value = ret;
		    $("hid_oldUserName").value=pUserName.value;
		}
		return ret;
	}
	
	function Check_to_request_code(to_request_code)
	{
	   var oContainer = $("Container_to_request_code"); 
	   var pto_request_code = $(to_request_code);
	   var uName = pto_request_code.value.Trim();
	   if(uName=="")
	   {
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "请填写邀请码";
	      return false;
	   }



		
		var ret = false;
		if(pto_request_code.value == $("hid_old_to_request_code").value)
		{
		    ret = $("hid_check_to_request_code").value;
		}
		else
		{
		    ret = Check_to_request_codeExist(pto_request_code.value);
		    $("hid_check_to_request_code").value = ret;
		    $("hid_old_to_request_code").value=pto_request_code.value;
		}
		return ret;
	}
	

		function Check_to_request_codeExist(obj)
	{
	   var oContainer = $("Container_to_request_code");
	   oContainer.className = "success";
	   oContainer.innerHTML = "正在检测邀请码<img src='Images/loading.gif'>";
	   var method ="get";
	   var vars = "req="+obj+"&r="+Math.random();	   
	   var xhconn = new XHConn();
	   var temp=xhconn.connectSync(uiUrl, method, vars).text;
	   if(temp==0)
	   {
	      oContainer.className = "success";
	      oContainer.innerHTML = "邀请码可以使用";	  
	   }
	   else{
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "邀请码不存在或已经被使用，请尝试其他邀请码";
	      return false;
	   }
	   return true;
	}
	
	
		
	
		function CheckUserNameExist(obj)
	{
	   var oContainer = $("ContainerUserName");
	   oContainer.className = "success";
	   oContainer.innerHTML = "正在检测用户名<img src='Images/loading.gif'>";
	   var method ="get";
	   var vars = "u="+obj+"&r="+Math.random();
	   var xhconn = new XHConn();
	   var temp=xhconn.connectSync(uiUrl, method, vars).text;
	   if(temp==0)
	   {
	      oContainer.className = "success";
	      oContainer.innerHTML = "用户名可以使用";	  
	   }
	   else if(temp==-1){
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "系统保留用户名";
	      return false;
	   }
	   else{
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "此用户名已经注册，请尝试其他用户名";
	      return false;
	   }
	   return true;
	}
// End ******************/


// Start ***********  检测用户昵称的合法性    Modify  At 2007-8-24  *******/
	function CheckNickName(nickName)
	{
	   var pNickName = $(nickName);
	   var oErrorInfo = $("ContainerNickName");
	   var num = pNickName.value.Trim().length;
	   var arr = pNickName.value.Trim().match(/[^\x00-\x80]/ig);	   
	   if(arr!=null)
	   {
	       num += arr.length;
	   }
	   if(num==0)
	   {
	       oErrorInfo.className = "font_error";
	       oErrorInfo.innerHTML = "请你输入你的昵称";
	       return false;
	   }
	   if(num>20)
	   {
	       oErrorInfo.className = "font_error";
	       oErrorInfo.innerHTML = "昵称的长度不能超过20个字符";	  
	       return false;    
	   }
	   CheckUserNickNameExist(pNickName.value);
	   
	}
	function CheckUserNickNameExist(obj)
	{
	   var oContainer = $("ContainerNickName");
	   oContainer.className = "success";
	   oContainer.innerHTML = "正在检测昵称<img src='Images/loading.gif'>";
	   var method ="get";
	   var vars = "n="+obj+"&r="+Math.random();
	   var xhconn = new XHConn();
	   var temp=xhconn.connectSync(uiUrl, method, vars).text;
	   alert(temp);
	   
	   
	   if(temp==0)
	   {
	      oContainer.className = "success";
	      oContainer.innerHTML = "用户名可以使用";	  
	   }
	   else{
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "此用户名已经注册，请尝试其他用户名";
	      return false;
	   }
	   return true;
	}
// End ******************/


// Start ***********  检测用户密码的合法性    Modify At 2007-8-24  *******/

	function checkPasswd(UserPassword) {
		var pwdInfor = $("ContainerPwd"); 
	
		pUserPassword = $(UserPassword);
		
		if (pUserPassword.value.Trim().length < 6 ) {
			pwdInfor.className = "font_error";
			pwdInfor.innerHTML = "密码长度不能少于6位；";
			return false;
		} else {
			pattern = /^[A-Za-z0-9]+$/;
			pwd = /^[A-Za-z]+$/;

			if ( checkValue(pUserPassword) ) {
				pwdInfor.className = "success";
				pwdInfor.innerHTML = "密码比较简单，建议密码包括数字，字母，特殊符号；"
			} else if ( pwd.test(pUserPassword.value) ) {
				pwdInfor.className = "success";
				pwdInfor.innerHTML = "密码比较简单，建议密码包括数字，字母，特殊符号；"
			} else if ( pattern.test(pUserPassword.value) ) {
				pwdInfor.className = "success";
				pwdInfor.innerHTML = "密码比较简单，建议密码包括数字，字母，特殊符号；"
			} else {
				pwdInfor.className = "success";
				pwdInfor.innerHTML = "密码符合要求；"
			}

		

		}
		return true;
	}

	// ******** 校验确认密码 ********/
	function checkRepeatPwd (UserPassword ,RepeatPwd ) {
		var pwdInfor = $("ContainerPwd"); 
		var repeatPwdInfor = $("ContainerRepertPwd"); 
		pUserPassword = $(UserPassword);
		pRepeatPwd = $(RepeatPwd);
		if (pRepeatPwd.value.Trim().length == 0 ) {
			repeatPwdInfor.className = "font_error";
			repeatPwdInfor.innerHTML = "确认密码不能为空，请重新填写！";
			return false; 
		} else {
			if (pRepeatPwd.value.Trim().length > 5 ) {
				if ( pRepeatPwd.value == pUserPassword.value ) {
					repeatPwdInfor.className = "success";
					repeatPwdInfor.innerHTML = "两次输入的密码一致！";				
				} else {
					repeatPwdInfor.className = "font_error";
					repeatPwdInfor.innerHTML = "确认密码与密码不相等，请重新输入！";
					return false;
				}
			} else {
				repeatPwdInfor.className = "font_error";
				repeatPwdInfor.innerHTML = "确认密码长度不能少于6位，请重新输入！";
				return false;
			}
		}
		return true;
	}

	function checkOldPasswd ( pOldPasswd ) {
		var oldPwdInfor = $("oldPwdInfor"); 
		if ( dojo.string.trim(pOldPasswd.value).length == 0 ) {
			oldPwdInfor.className = "font_error";
			oldPwdInfor.innerHTML = "原密码不能为空，请重新填写！";
			return false; 
		}
		return true;
	}

	function validatePasswd ( pOldPasswd , pPasswd , pRepeatPasswd , pConfirmCode ) {	
		b1 = checkPasswd(pPasswd,pRepeatPasswd);		
		b2 = checkRepeatPwd(pPasswd,pRepeatPasswd);
		if ( pOldPasswd == '' ) {
			b3 = true;
		} else {
			b3 = checkOldPasswd(pOldPasswd);
		}
		if ( pConfirmCode == '' ) {
			b4 = true;
		} else {
			b4 = validateActivateCode(pConfirmCode);
		}		
		b0 = b1&&b2&&b3&&b4;
		return b0;
	}

	function checkValue ( pString ) {
		var count;
		var numchar;
		var numvalue;	
		for ( count=0;count<pString.value.length;count++ ) {
			numchar = pString.value.charAt(count);
			numvalue = numchar - "0";
			if ( !(numvalue >= 0 && numvalue <= 9 ) ) return false;
		}
		return true;
	}

// End ******************/

// Start ***********  检测用户邮箱的合法性    Modify 2007-8-24  *******/

	function checkEMail(UserEMail) {
		var emailInfor = $("ContainerEmail"); 
        var pUserEMail = $(UserEMail);
		if (pUserEMail.value.Trim().length == 0 ){			
			emailInfor.className = "font_error";
			emailInfor.innerHTML = "邮箱不能为空；";
			return false;
		}
		if ( !pUserEMail.value.Trim().match(/^\w+((-{1,2}\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-{1,2})[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) ) {
			emailInfor.className = "font_error";
			emailInfor.innerHTML = "邮箱格式不正确；";
			return false;
		}	
		

		
		//var ret = false;
		//if(pUserEMail.value == $("hid_oldEmail").value)
		//{
		//    ret = $("hid_checkEmail").value;
		//}
		//else
		//{
		    ret = checkEMailExist(pUserEMail.value);
		//    $("hid_checkEmail").value = ret;
		//    $("hid_oldEmail").value=pUserEMail.value;
		//}
		return ret;
		
		
		//emailInfor.className = "success";
		//emailInfor.innerHTML = '格式正确';
		//return true;
	}
	
	
	
	function checkEMailExist(obj)
	{
	   var oContainer = $("ContainerEMail");
	   oContainer.className = "success";
	   oContainer.innerHTML = "正在检测E-Mail<img src='Images/loading.gif'>";
	   var method ="get";
	   var vars = "u="+obj+"&r="+Math.random();
	   var xhconn = new XHConn();
	   var temp=xhconn.connectSync(uiUrl, method, vars).text;
	   if(temp==0)
	   {
	      oContainer.className = "success";
	      oContainer.innerHTML = "E-Mail可以使用";	  
	   }
	   else if(temp==-1){
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "系统保留E-Mail";
	      return false;
	   }
	   else{
	      oContainer.className = "font_error";
	      oContainer.innerHTML = "此E-Mail已经注册，请尝试其它E-Mail";
	      return false;
	   }
	   return true;
	}	
	// End ******************/
	function validateRegister (userPasswd,userEMail) {			
		b1 =checkPasswd(userPasswd);
		b2 = checkEMail(userEMail);

		return b1&&b2;
	}

	