var unavail = 3; // Unknown

function createRequestObject()
{
	var ro;
  var browser = navigator.appName;

  if(browser == "Microsoft Internet Explorer") {
		// on IE, we have to use ActiveX
  	ro = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
  	// on every other browser, we can directly create a new XMLHttpRequest object
    ro = new XMLHttpRequest();
  }
  return ro;
}

var http = createRequestObject();

function createRequestObject()
{
	var ro;
  var browser = navigator.appName;

  if(browser == "Microsoft Internet Explorer") {
		// on IE, we have to use ActiveX
  	ro = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
  	// on every other browser, we can directly create a new XMLHttpRequest object
    ro = new XMLHttpRequest();
  }
  return ro;
}

var http = createRequestObject();


// the response in this case is formatted as follows:
// object|text
// where object is the id of the HTML element we are going to update
// and text is what it will be updated to
// this could obviously work a lot better with some XML
function handleResponse()
{
	if(http.readyState == 4) {
	  var response = http.responseText;
	  error = document.getElementById("error");
	  var un = document.getElementById("un");
	  if(response==1) {
		  	unavail=0;
			un.className="fieldinvalid";
			document.getElementById('unm').innerHTML="Sorry, the username '" + document.regform.un.value + "' is not available.";
			document.getElementById('unm').className='errmsg';
			document.getElementById("checkAvailButton").disabled = "true";
			error.value=1;
	  } else {
  		  	unavail=1;
			un.className="fields";
			document.getElementById('unm').innerHTML="Yes, the username '" + document.regform.un.value + "' is available.";
			document.getElementById('unm').className='username_available';
			document.getElementById("checkAvailButton").disabled = "true";
			if(performsubmit) { 
				document.getElementById('regform').submit();
			}
	  }
  }
}

function enableCheckAvail()
{
			document.getElementById('unm').className='nomsg';
			unavail = 3; //unknown
			if(document.regform.un.value) {
				document.getElementById("checkAvailButton").disabled = "";
			} else {
				document.getElementById("checkAvailButton").disabled = "true";
			}
}
// this function should be called for user input
// it opens up the usercheck.asp page with a querystring of 'action'
function sndUserCheck(action)
{
	if(action) {
		var randomnumber=Math.floor(Math.random()*1000)
	  	unavail = 2; //Checking
  		http.open("get", "/scripts/checkAvail.php?username=" + action + "&reqid=" + randomnumber);
	  	http.onreadystatechange = handleResponse;
  		http.send(null);
	}
}