var lastseccode = lastusername = lastpassword = lastemail = '';

var xmlHttp;
createXMLHttpRequest();


function changeagree(){
  var chk=document.getElementById("chkagree");
  var btn=document.getElementById("btnReg");
  if(chk.checked){btn.style.display="";}
  else{btn.style.display="none";}
  //btn.disabled=!chk.checked;	
}

function checkemail(flag) {
  document.getElementById('ajaxinfo').innerHTML = '';
  var email = document.RegisterForm.email.value.Trim();
  var ce = document.getElementById('div_email');

  if(email==""){
    errmsg(ce, error_email_empty);
    return false;
  }
  
  if(email == lastemail) {
    return;
  } else {
    lastemail = email;
  }
  //é¿åº¦éå¶
  var charcnt = email.length;
  if (charcnt > 255) { 
      email = email.substring(0, 255);
      }
  var accessemail = '';
  var censoremail = '';
  var accessexp = accessemail != '' ? /()document.getElementById/i : null;
  var censorexp = censoremail != '' ? /()document.getElementById/i : null;

  
  illegalemail = !(/^[\-\.\w]+@[\-\w]+(\.\w+)+$/.test(email));
  invalidemail = accessemail != '' ? !accessexp.test(email) : censoremail != '' && censorexp.test(email);
  if(illegalemail || invalidemail) {
    errmsg(ce, illegalemail ? error_email_illegal : (accessemail != '' ? error_email_invalid : error_email_censor));
    return false;
  }
  
  if(flag==true) 
    ajaxreg('email='+encodeURI(email),0); 
  else
    infomsg(ce);
}

function checkpassword(confirm) {
    document.getElementById('ajaxinfo').innerHTML = '';
  var password = document.RegisterForm.pwd.value;
    var cp = document.getElementById('div_pwd');
    
    if(password==""){
      errmsg(cp, error_passwd_empty);
      return false;
    }
    
    var pwdlen = password.length;

    if(pwdlen < 6 || pwdlen > 16) {
      errmsg(cp, pwdlen < 6 ? error_passwd_tooshort : error_passwd_toolong);
      return false;
    }
    
  if(password == '' || /[\'\"\\]/.test(password)) {
      errmsg(cp, error_passwd_illegal);
      return false;
    } else {
      if(!confirm) {
        checkpassword2(true);
      }
    }
}

function checkpassword2(confirm) {
  document.getElementById('ajaxinfo').innerHTML = '';
  var password = document.RegisterForm.pwd.value;
  var password2 = document.RegisterForm.pwd2.value;
  
  var cp2 = document.getElementById('div_pwd2');
  var cp = document.getElementById('div_pwd');
  
  if(password2 != '') {
    checkpassword(true);
  }
  
  if(password == '' || (confirm && password2 == '')) {
    return false;
  }
  
  if(password != password2) {
    errmsg(cp2, error_passwd_notmatch);
    cp.innerHTML='';
    return false;
  } else {
    if(checkpassword(true)==false)
      return false;
    else{
      infomsg(cp2);
      infomsg(cp); 
    }
  }
}

function checkusername(flag) {
  document.getElementById('ajaxinfo').innerHTML = '';
  var username = document.RegisterForm.usernick.value.Trim();
  var cu = document.getElementById('div_usernick');
  
  if(username==''){
    errmsg(cu, error_usernick_empty);
    return false;
  }
  
  
  if(username.indexOf("/")!=-1||username.indexOf("%")!=-1||username.indexOf("+")!=-1||username.indexOf("!")!=-1||username.indexOf("@")!=-1||username.indexOf("#")!=-1
		||username.indexOf("$")!=-1||username.indexOf("^")!=-1||username.indexOf("&")!=-1||username.indexOf("*")!=-1||username.indexOf("{")!=-1||username.indexOf("}")!=-1||
		username.indexOf("<")!=-1||username.indexOf(">")!=-1||username.indexOf("[")!=-1||username.indexOf("]")!=-1||username.indexOf("(")!=-1||username.indexOf(")")!=-1)
	{
		alert("昵称中不能含有@，%，、等特殊字符！");
		document.RegisterForm.usernick.focus();
		return false;
	} 
/*
  if(username == lastusername) {
    return;
  } else {
    lastusername = username;
  }
*/
  var unlen = username.replace(/[^\x00-\xff]/g,"**").length;
  

  if(unlen > 14) {
    errmsg(cu,error_usernick_toolong);
    return false;
  }
  
  if(flag==true) 
    ajaxreg('usernick='+encodeURI(username),0);
  else
    infomsg(cu);
}

function checkseccode(flag) {
  document.getElementById('ajaxinfo').innerHTML = '';
  var seccodeverify = document.RegisterForm.seccode.value;
  var cs = document.getElementById('div_seccode');
  
  if(seccodeverify==''){
    errmsg(cs, error_seccode_empty);
    return false;
  }
  
  if(seccodeverify == lastseccode) {
    return;
  } else {
    lastseccode = seccodeverify;
  }
  
  if(flag==true) 
    ajaxreg('seccode='+encodeURI(seccodeverify),0);
  else
    infomsg(cs);
}

function doSubmit(){
 
 var email = document.RegisterForm.email.value.Trim();
 var usernick = document.RegisterForm.usernick.value.Trim();
 var seccode = document.RegisterForm.seccode.value;
 
 if(checkemail(false)==false) return false;
 if(checkpassword()==false) return false;
 if(checkpassword2()==false) return false;
 if(checkusername(false)==false) return false;
 if(checkseccode(false)==false) return false;
 
 ajaxreg('email='+encodeURI(email)+'&usernick='+encodeURI(usernick)+'&seccode='+encodeURI(seccode),1);
 
}

function ajaxreg(querystring,type){
  xmlHttp.abort();
  createXMLHttpRequest();
  xmlHttp.open("GET", '/ajaxRegister.do?'+querystring+'&submittype='+type, true);
  xmlHttp.onreadystatechange = callbackreg;
  xmlHttp.send(null);  
}

function callbackreg() {
  if (xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
      setreg();
    }else {
      document.getElementById('ajaxinfo').innerHTML = xml_http_load_failed;
    }
  }
}

function setreg() {
  var eleid = xmlHttp.responseXML.getElementsByTagName("eleid")[0].firstChild.data;
  var errinfo = xmlHttp.responseXML.getElementsByTagName("errinfo")[0].firstChild.data;
  var submittype = xmlHttp.responseXML.getElementsByTagName("submittype")[0].firstChild.data;
  
  
  if(eleid!='null' && errinfo!='null'){
    var ele=document.getElementById(eleid);
    errmsg(ele,errinfo);
    document.RegisterForm.onsubmit= function(){return false};
  }
  if(submittype=='0' && eleid!='null' && errinfo=='null'){
    var ele=document.getElementById(eleid);
    infomsg(ele);
    document.RegisterForm.onsubmit= function(){return false};
  }else if(submittype=='1' && errinfo=='null' && eleid=='null' ){
    document.RegisterForm.onsubmit= function(){return true};
    document.getElementById('btnReg').disabled=true;
    document.RegisterForm.submit();
  }
}

function errmsg(obj, msg) {
  obj.innerHTML = '<label>' + msg + '</label>';
  
}

function infomsg(obj) {
  obj.innerHTML = '<div class="hdwiki_zhuchetop2bbc">&nbsp;&nbsp;<img src="/images/002.gif" align="absmiddle"></div>';
  
}

 