var lastseccode = lastpassword = lastemail = '';

function checkemail() {
  clearmsg('div_ajaxinfo');
  clearmsg('div_email');
  var email = document.LoginForm.email.value.Trim();
  var ce = document.getElementById('div_email');
  
  if(email==""){
    errmsg(ce, error_email_empty);
    return false;
  }

  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;
  }
}

function checkpassword() {
  clearmsg('div_ajaxinfo');
  clearmsg('div_pwd');
  var password = document.LoginForm.pwd.value;
  var cp = document.getElementById('div_pwd');
  
  if(password==""){
    errmsg(cp, error_passwd_empty);
    return false;
  }
}

function checkseccode(flag) {
  clearmsg('div_ajaxinfo');
  clearmsg('div_seccode');
  var seccodeverify = document.LoginForm.seccode.value;
  var cs = document.getElementById('div_seccode');
 
  if(seccodeverify==''){
    errmsg(cs, error_seccode_empty);
    return false;
  }
  
  if(seccodeverify == lastseccode && seccodeverify!='') {
    return;
  } else {
    lastseccode = seccodeverify;
  }
  
  if(flag==true) 
    ajaxlogin('/ajaxRegister.do?seccode='+encodeURI(seccodeverify),0);
  else  
    infomsg(cs);  
}

function doSubmit(){
 
 var email = document.LoginForm.email.value.Trim();
 var pwd = document.LoginForm.pwd.value;
 var seccode = document.LoginForm.seccode.value;
 
 if(checkemail()==false) return false;
 if(checkpassword()==false) return false;
 if(checkseccode(false)==false) return false;
 
 ajaxlogin('/ajaxLogin.do?email='+encodeURI(email)+'&passwd='+encodeURI(hex_md5(pwd))+'&seccode='+encodeURI(seccode),1);
 
}

var xmlHttp;

function ajaxlogin(querystring,type){
  xmlHttp = false;
  createXMLHttpRequest()
  xmlHttp.open("GET", querystring+'&submittype='+type, true);
  xmlHttp.onreadystatechange = callbacklogin;
  xmlHttp.send(null);  
}

function callbacklogin() {
  if (xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
      setlogin();
    }else {
      errajaxmsg(document.getElementById('div_ajaxinfo'),xml_http_load_failed);
    }
  }
}

function setlogin() {
  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);
    if(eleid=='div_ajaxinfo')
      errajaxmsg(ele,errinfo);
    else
      errmsg(ele,errinfo);
  }
  if(submittype=='0' && eleid!='null' && errinfo=='null'){
    var ele=document.getElementById(eleid);
    infomsg(ele);
    document.LoginForm.onsubmit= function(){return false};  
  }else if(submittype=='1' && errinfo=='null' && eleid=='null' ){
    document.LoginForm.onsubmit= function(){return true};
    document.getElementById('btnLogin').disabled=true;
    document.LoginForm.submit();
  }
}

function errmsg(obj, msg) {
  obj.innerHTML = ' &nbsp; ' + msg + '';
  
}

function infomsg(obj) {
  obj.innerHTML = '';
  
}

function errajaxmsg(obj, msg) {
  obj.innerHTML = ''+msg+'';
  
}

function clearmsg(obj){
  document.getElementById(obj).innerHTML = '';
}