
function check_email_init() {
  var user_field = document.getElementById('email');
  return '/username_exists.php?test=email&email=' + user_field.value + '&rnd=' + Math.floor(Math.random()*9999999);
}

function check_username_init() {
  var user_field = document.getElementById('uname');
  return '/username_exists.php?test=username&username=' + user_field.value + '&rnd=' + Math.floor(Math.random()*9999999);
}

function check_pass_init() {
  var pass = document.getElementById('formpassword');
  return '/username_exists.php?test=pass&pass=' + pass.value + '&rnd=' + Math.floor(Math.random()*9999999);
 
}

function check_pass_ajax(results) {
  var password_results_div = document.getElementById('password_results_div');
  if (results == "passtooshort") {
  password_results_div.innerHTML = ' &nbsp;<span style="color:red;">Password should be 6 chars+</span>';
  }
  if (results == "passok") {
  password_results_div.innerHTML = ' &nbsp;<span style="color:green;">Password is ok</span>'; 
  }
}

function check_email_ajax(results) {
  var email_results_div = document.getElementById('email_results_div');
  if (results == "emailexists") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:red;">Email exists already</span>'; return 0;
  }
  if (results == "emailinvalid") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:red;">Email looks invalid</span>'; return 0;
  }
  if (results == "emailvalid") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:green;">Email looks good</span>';  return 0;
  }
}

function check_username_ajax(results) {
  var email_results_div = document.getElementById('username_results_div');
  if (results == "usernameexists") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:red;">Username exists already</span>'; return 0;
  }
    if (results == "badchars") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:red;">Username must be letters and numbers only</span>'; return 0;
  }
    if (results == "badlength") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:red;">Username must be between 3 and 22 characters</span>'; return 0;
  }
  if (results == "usernamevalid") {
  email_results_div.innerHTML = ' &nbsp;<span style="color:green;">Username looks good</span>';  return 0;
  }
}

function check_email() {
 ajaxHelper('check_email');
}

function check_username() {
 ajaxHelper('check_username');
}

function check_pass() {
  ajaxHelper('check_pass');
}

function check_confirmpass() {
  if (document.getElementById('formpassword').value != document.getElementById('confirmpassword').value) {
  var confirmpassword_results_div = document.getElementById('confirmpassword_results_div');
  confirmpassword_results_div.innerHTML = ' &nbsp;<span style="color:red;">Both password fields must be the same</span>'; return 0;
  } else {   var confirmpassword_results_div = document.getElementById('confirmpassword_results_div');
  confirmpassword_results_div.innerHTML = ' &nbsp;<span style="color:green;">Passwords match</span>'; return 0; }
}

function ajaxHelper(functionName, additionalArgs) {
  var xmlHttp;
  // Firefox, Opera 8.0+, Safari, SeaMonkey
  try {
    xmlHttp=new XMLHttpRequest();
  }
  catch (e) {
    // Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      try {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {
        alert("Sorry, your browser does not support AJAX.");
        return false;
      }
    }
  }
 
  xmlHttp.onreadystatechange=function() {
    //The request is complete == state 4
    if (xmlHttp.readyState==4) {
      var response=xmlHttp.responseText;
      //Send reponse to _ajax hook of passed function name
      eval(functionName + "_ajax" + '(\'' + response + '\')');
    }
  }
 
  //Get request string from _setup hook of passed function name
  if (additionalArgs !== undefined && additionalArgs.length > 0) {
    var requestString = eval(functionName+"_init" + '(' + additionalArgs + ')');
  }
  else {
    var requestString = eval(functionName+"_init" + '()');
  } 
 
  if (requestString) {
    xmlHttp.open("GET", requestString, true);
    xmlHttp.send(null);
  }
}

var submitted = 0;
function submitOnce() {
if (!document.getElementById('termsOfService').checked) { alert ('Please accept our terms of service before continuing'); return false; }

   if(!submitted) {
      submitted ++;
      return true;
   }
   else {
      return false;
   }
}

