﻿var UserCheck='NULL';
var PassCheck='NULL';
var RePassCheck='NULL';
var EmailCheck='NULL';
var checkNum="NULL"
var reset=true;
var request = false;
function XmlRequest()
{
　　try{ 
　　if( window.ActiveXObject ){ 
　　for( var i = 5; i; i-- ){ 
　　try{ 
　　if( i == 2 ){ 
　　request = new ActiveXObject( "Microsoft.XMLHTTP" ); }
　　else{ 
　　request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" ); 
　　request.setRequestHeader("Content-Type","text/xml"); 
　　request.setRequestHeader("Charset","gb2312"); }
　　break;} 
　　catch(e){ 
　　request = false; } } }
　　else if( window.XMLHttpRequest )
　　{ request= new XMLHttpRequest(); 
　　if (request.overrideMimeType) 
　　{ request.overrideMimeType('text/xml'); } } }
　　catch(e){ request = false; } 

 }
 function checkRegData(param,callbackFun) {
     XmlRequest();
     var posturl = "MemberRegCheck.Aspx?"+param;
	 var revalue;
     request.open("GET", posturl, true); 
	 request.onreadyStateChange=callbackFun;     
     request.send(null);
}
function checkUserCallBack(){ 
 var ErrorSpan=document.getElementById('UserIdError');
 if(request.readyState==4){ 
  if(request.status==200){
     var flag=request.responseText; 
       if(flag==1)
	   {
	      ErrorSpan.className="msgError";
	      ErrorSpan.innerHTML='用户名已经存在不能使用';
		  UserCheck='NO';
	   }
	   else if(flag==0)
	   {
	       ErrorSpan.className="msgOK";
	       ErrorSpan.innerHTML='恭喜你此用户名可以使用';
	       UserCheck='OK';
	   }
   } 
 }
 else
 {
    ErrorSpan.innerHTML='正在向服务器提交数据...';
	UserCheck='NOTRAN';
 } 
}
function checkEmailCallBack(){ 
 var ErrorSpan=document.getElementById('EmailError');
 if(request.readyState==4){ 
  if(request.status==200){
     var flag=request.responseText; 
	   if(flag==1)
	   {
	      ErrorSpan.className="msgError";
	      ErrorSpan.innerHTML='Email已经存在不能使用';
		  EmailCheck='NO';
	   }
	   else if(flag==0)
	   {
	      ErrorSpan.className="msgOK";
	      ErrorSpan.innerHTML='恭喜Email可以使用';
          EmailCheck='OK';
	   }
   } 
 }
 else
 {
    ErrorSpan.innerHTML='正在向服务器提交数据...';
	EmailCheck='NOTRAN';
 } 
} 
function checkNumCallBack()
{
	 var ErrorSpan=document.getElementById('CheckNumError');
 if(request.readyState==4){ 
  if(request.status==200){
     var flag=request.responseText; 
	   if(flag==1)
	   {
	      ErrorSpan.className="msgError";
	      ErrorSpan.innerHTML='验证码输入不正确';
		  checkNum='NO';
	   }
	   else if(flag==0)
	   {
	      ErrorSpan.className="msgOK";
	      ErrorSpan.innerHTML='验证码正确';
          checkNum='OK';
	   }
   } 
 }
 else
 {
    ErrorSpan.innerHTML='正在向服务器提交数据...';
	checkNum='NOTRAN';
 } 
}
function  checkIsChinese(str)   
 {   
     var  pattern = /^[A-Za-z0-9-_]*$/;
     if (pattern.test(str))   
         return   true;   
     else   
         return   false;   
 }//
function lastshow(id)
{
    alert(id);
}
function isEmail(str){
  var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
  return reg.test(str);
 }
function CharMode(iN){
    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 bitTotal(num){
     modes=0;
   for (i=0;i<5;i++){
     if (num & 1) modes++;
      num>>>=1;
   }
   return modes;
}
function checkStrong(sPW){
   if (sPW.length<=5)
      return 0; //密码太短
   Modes=0;
   for (i=0;i<sPW.length;i++){
      Modes|=CharMode(sPW.charCodeAt(i));
   }
   return bitTotal(Modes); 
} 
function checkUserId()
{
   var ErrorSpan=document.getElementById('UserIdError');
   var CheckValue=document.UserReg.iUserName;
   ErrorSpan.className="msgOnFocus";
   if(CheckValue.value==null||CheckValue.value.length < 5)
   {
      ErrorSpan.innerHTML='用户名只能为5-20位';
      ErrorSpan.className="msgError";
	  UserCheck='NULL';
   }
   else if(/\s+/.test(CheckValue.value))
   {
      ErrorSpan.innerHTML='用户名内不允许存在空格!';
      ErrorSpan.className="msgError";
	  UserCheck='NULL';
   }
   else if(!checkIsChinese(CheckValue.value))
   {
	  ErrorSpan.innerHTML='用户名不能存在特殊字符以及中文!';
	  ErrorSpan.className="msgError";
	  UserCheck='NULL';
   }
   else
   {
      checkRegData('UserId='+CheckValue.value,checkUserCallBack);
   }
}
function checkEmail()
{
   var ErrorSpan=document.getElementById('EmailError');
   var CheckValue=document.UserReg.iEmail;
   ErrorSpan.className="msgOnFocus";
   if(CheckValue.value==null||CheckValue.value=='')
   {
      ErrorSpan.innerHTML='Email不能为空';
      ErrorSpan.className="msgError";
	  EmailCheck='NULL';
   }
   else if(!isEmail(CheckValue.value))
   {
      ErrorSpan.className="msgError";
      ErrorSpan.innerHTML='Email格式不正确';
	  EmailCheck='NOREG';
   }
   else
   {
      checkRegData('UserEmail='+CheckValue.value,checkEmailCallBack);
   }
}
function checkPass()
{
   var ErrorSpan=document.getElementById('PassError');
   var CheckValue=document.UserReg.iPass;
   ErrorSpan.className="msgOnFocus";
   if (CheckValue.value==null||CheckValue.value==''){
          ErrorSpan.className="msgError";
          ErrorSpan.innerHTML='密码不能为空';
	      PassCheck='NULL';
   }
   else if (CheckValue.value.length < 6){
         ErrorSpan.className="msgError";
         ErrorSpan.innerHTML='密码长度不能小于6位';
	     PassCheck='NULL';
   }
   else if(/\s+/.test(CheckValue.value))
   {
          ErrorSpan.className="msgError";
          ErrorSpan.innerHTML='密码不允许存在空格!';
	     PassCheck='NULL';
   }
   else
   {
   S_level=checkStrong(CheckValue.value);
   switch(S_level){
    case 0:
     ErrorSpan.innerHTML='密码强度:弱';
     break;
    case 1:
      ErrorSpan.innerHTML='密码强度:弱';
     break;
    case 2:
       ErrorSpan.innerHTML='密码强度:中';
     break;
    default:
      ErrorSpan.innerHTML='密码强度:强';
   }
   PassCheck='OK';

} 
}
function CheckRepass()
{
   var ErrorSpan=document.getElementById('RePassError');
   var CheckValue=document.UserReg.iRegPass;
   ErrorSpan.className="msgOnFocus";
      if (CheckValue.value==null||CheckValue.value==''){
          ErrorSpan.className="msgError";
          ErrorSpan.innerHTML='重复密码不能为空';
	     RePassChecK='Null'
	  }
	  else if(CheckValue.value!=document.UserReg.iPass.value)
	  {
	    ErrorSpan.className="msgError";
	    ErrorSpan.innerHTML='两次密码输入不相同';
		RePassCheck='NOVARY';
	  }
	  else
	  {
         ErrorSpan.innerHTML='';
         RePassCheck='OK';
	  }
   
}
function checkNumCheck()
{
   var ErrorSpan=document.getElementById('CheckNumError');
   var CheckValue=document.UserReg.chkNum;
   ErrorSpan.className="msgOnFocus";
   if(CheckValue.value==null||CheckValue.value.length < 5)
   {
      ErrorSpan.className="msgError";
      ErrorSpan.innerHTML='验证码为5位';
	  checkNum='NULL';
   }
   else
   {
      checkRegData('checkNum='+CheckValue.value,checkNumCallBack);
   }
}
function UserRegDataCheck()
{
   if(UserCheck=='OK'&&PassCheck=='OK'&&RePassCheck=='OK'&&EmailCheck=='OK'&&checkNum=='OK')
   {
       return true;
   }
   else if(UserCheck=='NULL'||PassCheck=='NULL'||RePassCheck=='NULL'||EmailCheck=='NULL'||checkNum=='NULL')
   {
           if(UserCheck=='NULL')
           {
	     checkUserId();
	   }
	   if(EmailCheck=='NULL')
	   {
	      checkEmail();
	   }
	   if(PassCheck=='NULL')
	   {
	      checkPass();
	   }
	   if(RePassCheck=='NULL')
	   {
	     CheckRepass();
	   }
	   if(checkNum=='NULL')
	   {
		   checkNumCheck();
	   }
	   return false;
   }
   else if(UserCheck=='NO'||EmailCheck=='NO'||EmailCheck=='NOREG'||RePassCheck=='NOVARY')
   {
	   return false;
   }
   else if(UserCheck=='NOTRAN'||EmailCheck=='NOTRAN'||checkNum=='NOTRAN')
   {
	   document.getElementById('openLayout').style.display = 'block';
	   setTimeout(TranLayout, 1000);
           reset=false;  
           return false;
   }
   else
   {
	   return false;   
   }
}
function TranLayout()
{
   if(UserCheck=='OK'&&PassCheck=='OK'&&RePassCheck=='OK'&&EmailCheck=='OK'&&checkNum=='OK')
   {
       document.getElementById('openLayout').style.display = 'none';
       document.getElementById('ImgApply').click();
   }
   else if(UserCheck=='NO'||EmailCheck=='NO'||checkNum=='NO')
   {
	   document.getElementById('openLayout').style.display = 'none';
           reset=true;
	   return;
   }
   else
   {
	   setTimeout(TranLayout, 1000);   
   }
}
function clearForm()
{
 if(reset)
{
   document.UserReg.reset();
   checkUserId();
   checkEmail();
   checkPass();
   CheckRepass();
   checkNumCheck();
}

}
function changeCheckNum()
{
	var num=new Date().getTime();
	var checkObject=document.getElementById('checkNum');
	checkObject.src='CheckCode.Aspx?mode='+num;
}
