function createRequestObject()
{
	var objAjax;

	try 
	{ objAjax = new XMLHttpRequest(); } // Firefox, Opera 8.0+, Safari
	catch (e)
	{
		try
		{ objAjax = new ActiveXObject("Msxml2.XMLHTTP"); } // Internet Explorer
		catch (e)
		{ objAjax = ActiveXObject("Microsoft.XMLHTTP"); }
	}

	return objAjax;
}

function handleResponse_isUsernameAvailable()
{         
	if (ajax.readyState == 4)
	{
		response = ajax.responseText;

		if (response=="1")
		{
			setUsernameMessage("1"); // available
		}
		else if (response=="0")
		{
			setUsernameMessage("0"); // taken
		}
		else
		{
			setUsernameMessage("2"); // invalid
		}
	}
}

var ajax = createRequestObject();

function isUsernameAvailable(inUserName)
{
	var toSend = 'userName=' + inUserName + '&extra=x';
	ajax.open('GET', 'ajax/isUsernameAvailable.php?' + toSend, true);
	ajax.onreadystatechange = handleResponse_isUsernameAvailable;
	ajax.send(null);
}
