function ajaxRegisterCheck(pars, callback)
{
  var url = "checkRegister.php";
  var myAjax = new Ajax.Request( url, { 
        method: 'get', 
        parameters: pars, 
        onComplete: callback
      }); 
}

function checkUserName()
{
  var username = $F("username");
  var filter  = /^[a-zA-Z]([a-zA-Z0-9_]){2,19}$/;
  if (filter.test(username)) {
    $("username_info").style.display = "none";
    $("username_ok").style.display = "block";
    $("username_err").style.display = "none";
    // $("username").className = 'input1';
    return true;
  } else {
    $("username_info").style.display = "none";
    $("username_ok").style.display = "none";
    $("username_err").style.display = "block";
    // $("username").className = 'input1';
    return false;
  }
  return true;
}

function checkRegisterUserName()
{
  var username = $F("username");
  var filter  = /^[a-zA-Z]([a-zA-Z0-9_]){2,19}$/;
  if (filter.test(username)) {
    // The UserName is OK in format, check if it is exist
    ajaxRegisterCheck("type=1&username=" + username, checkRegisterUserName2);
  } else {
    $("username_info").style.display = "none";
    $("username_ok").style.display = "none";
    $("username_err").style.display = "block";
    $("username_exist").style.display = "none";
    // $("username").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xfe");
    return false;
  }
  return true;
}

function checkRegisterUserName2(req)
{
  if (Number(req.responseText) == 1) {
    $("username_info").style.display = "none";
    $("username_ok").style.display = "block";
    $("username_err").style.display = "none";
    $("username_exist").style.display = "none";
    // $("username").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) | parseInt("0x01");
    return true;
  } else {
    $("username_info").style.display = "none";
    $("username_ok").style.display = "none";
    $("username_err").style.display = "none";
    $("username_exist").style.display = "block";
    // $("username").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xfe");
    return false;
  }
}

function checkUserNick()
{
  var usernick = $F("usernick");
  if ((usernick.length < 2) || (usernick.length > 12)) {
    $("usernick_info").style.display = "none";
    $("usernick_ok").style.display = "none";
    $("usernick_err").style.display = "block";
    $("usernick_exist").style.display = "none";
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xfd");
    return false;
  } else {
    // The NickName is OK in format, check if it is exist
    ajaxRegisterCheck("type=2&usernick=" + usernick, checkUserNick2);
  }
  return true;
}

function checkUserNick2(req)
{
  if (Number(req.responseText) == 1) {
    $("usernick_info").style.display = "none";
    $("usernick_ok").style.display = "block";
    $("usernick_err").style.display = "none";
    $("usernick_exist").style.display = "none";
    // $("usernick").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) | parseInt("0x02");
    return true;
  } else {
    $("usernick_info").style.display = "none";
    $("usernick_ok").style.display = "none";
    $("usernick_err").style.display = "none";
    $("usernick_exist").style.display = "block";
    // $("usernick").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xfd");
    return false;
  }
}

function checkPass()
{
  var pass = $F("pass");
  if ((pass.length < 4) || (pass.length > 20)) {
    $("pass_info").style.display = "none";
    $("pass_ok").style.display = "none";
    $("pass_err").style.display = "block";
    // $("pass").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xfb");
    return false;
  } else {
    $("pass_info").style.display = "none";
    $("pass_ok").style.display = "block";
    $("pass_err").style.display = "none";
    // $("pass").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) | parseInt("0x04");
    return true;
  }
  return true;
}

function checkRePass()
{
  var repass = $F("repass");
  var pass = $F("pass");
  if (pass != repass) {
    $("repass_info").style.display = "none";
    $("repass_ok").style.display = "none";
    $("repass_err").style.display = "block";
    // $("repass").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xf7");
    return false;
  } else {
    $("repass_info").style.display = "none";
    $("repass_ok").style.display = "block";
    $("repass_err").style.display = "none";
    // $("repass").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) | parseInt("0x08");
    return true;
  }
  return true;
}

function checkEmail()
{
  var email = $F("email");
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,4})$/;
  if (filter.test(email)) {
    $("email_info").style.display = "none";
    $("email_ok").style.display = "block";
    $("email_err").style.display = "none";
    // $("email").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) | parseInt("0x10");
    return true;
  } else {
    $("email_info").style.display = "none";
    $("email_ok").style.display = "none";
    $("email_err").style.display = "block";
    // $("email").className = 'input1';
    $("checkvalue").value = Number($("checkvalue").value) & parseInt("0xef");
    return false;
  }
  return true;
}

function checkTermService()
{
  if ($("termservice").checked) {
    // $("term_info").style.display = "none";
    // $("term_ok").style.display = "block";
    $("term_err").style.display = "none";
    return true;
  } else {
    // $("term_info").style.display = "none";
    // $("term_ok").style.display = "none";
    $("term_err").style.display = "block";
    return false;
  }
}

function checkAll()
{
  // alert($("checkvalue").value);
  if (($("checkvalue").value == parseInt("0x1f")) && checkPass() && checkRePass() && checkTermService()) {
    return true;
  } else {
    alert("您还有信息没填完整!");
    return false;
  }
}
