var _ms_XMLHttpRequest_ActiveX = ""; // Holds type of ActiveX to instantiate

var versions = ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
	
var AJAX_obj;

var got_check_result = 0;

function issue_query(url, call_back, name) 
{
	if (name) // Only do the check if the user has entered a value into the edit box.
	{
		if (window.XMLHttpRequest) 	// Non I.E. browsers
		{
			AJAX_obj = new XMLHttpRequest();
		} 
		else if (window.ActiveXObject)  // Internet Explorer
		{
			// Instantiate the latest MS ActiveX Objects
			if (_ms_XMLHttpRequest_ActiveX) {
				AJAX_obj = new ActiveXObject(_ms_XMLHttpRequest_ActiveX);
			} 
			else // loops through the various versions of XMLHTTP to ensure we're using the latest
			{
				for (var i = 0; i < versions.length ; i++) 
				{
					try 
					{
						AJAX_obj = new ActiveXObject(versions[i]);
						if (AJAX_obj) {
							_ms_XMLHttpRequest_ActiveX = versions[i]; // save a reference to the proper one to speed up future instantiations
							break;
						}
					}
					catch (objException) {
					// trap; try next one
					} ;
				} ;
			}
		}
		
		AJAX_obj.onreadystatechange = call_back;    
		AJAX_obj.open( "GET", url, true );
		AJAX_obj.send(null);
		//alert("send just called.");
	}
}

function check_user_callback() 
{
	if ( AJAX_obj.readyState == 4) 
	{
		if (AJAX_obj.status == 200) 
		{
			if (got_check_result == 0)
			{
				if (AJAX_obj.responseText == "AVAIL")
				{
					alert("The user name:\n\n " + document.register_form.username.value + "\n\n is available.");
					document.register_form.username.focus();
				}
				else
				{
					alert("We're sorry, but the user name:\n\n " + document.register_form.username.value + "\n\nis already in use by another member.  Please try another username.");
					document.register_form.username.focus();
				}
			}
			got_check_result = 1;
		}
	}
}

function check_user_avail()
{
	var url = "/demo/login/check_user_name.php?name=" + document.register_form.username.value;
	
	if (document.register_form.username.value == '')
	{
		alert("Please enter your desired username into the form, then click the 'Check Availability' button.");
		document.register_form.username.focus();
    	return false;
	}
	got_check_result = 0;
	issue_query(url, check_user_callback, document.register_form.username.value);
}

