function CheckUsername() {
	var objMessage = document.getElementById('spanUserMessage');
	objMessage.value = '';
	var objUser = document.getElementById('Username');
	if (objUser.value != ''){
		objUser.value = objUser.value.replace(' ', '').toLowerCase();
		if (objUser.value.length > 4) {
			http.open("GET", '/stats_username_check.php?username=' + objUser.value, true);
			http.onreadystatechange = handleResponseUserCheck;
			http.send(null);
		}
		else {
			objUser.value = '';
			objMessage.className = 'problem_font';
			objMessage.innerHTML = 'Username is too short, please enter 5 or more characters.';
		}
	}
}

function handleResponseUserCheck() {
	var exists = false;
	if (http.readyState == 4) {
		if (http.responseText.indexOf('true') != -1)
			exists = true;
	}
	
	var objMessage = document.getElementById('spanUserMessage');
	if (exists) {
		var objUser = document.getElementById('Username');
		objUser.value = '';
		objMessage.className = 'problem_font';
		objMessage.innerHTML = 'Username already exists in the database, please try another.';
	}
	else {
		objMessage.className = 'ok_font';
		objMessage.innerHTML = 'The username you entered is valid.';
	}		
}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}


var http = getHTTPObject(); // We create the HTTP Object