function checkUsernameAvailability(input)
{
	var url = '/assets/popups/checkUsernameAvailability.php?n='+input.value;
		
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			//Remove any previous checker details
			try{input.AVAILABILITY.parentNode.removeChild(input.AVAILABILITY);}catch(e){}
			//Now (re?)create the container for the availability message and icon
			input.AVAILABILITY = document.createElement('SPAN');	
			input.AVAILABILITY.style.fontSize = '0.9em';			
			var im = new Image();
			var text = '';
			
			//alert(xmlHttp.responseText);
			if(xmlHttp.responseText)
			{
				im.src = '/assets/images/icons/ico_tick.gif';
				text = document.createTextNode(' username available');
				input.AVAILABILITY.style.color = 'green';
				//input.style.borderColor = 'green';
			}
			else			
			{
				im.src = '/assets/images/icons/ico_cross.gif';
				text = document.createTextNode(' username already taken');
				input.AVAILABILITY.style.color = 'red';
				//input.style.borderColor = 'red';
			}			
			input.AVAILABILITY.appendChild(im);
			input.AVAILABILITY.appendChild(text);
			input.parentNode.appendChild(input.AVAILABILITY);
		}			
	}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	return;
}