var ICO_TICK = '/html/assets/images/icons/ico_tick.gif';
var ICO_CROSS = '/html/assets/images/icons/ico_cross.gif';
function checkUserNameIsUnique(input)
{
	/**
	* Try to get the xml for the node clicked
	*/

	var url = '/admin/popups/checkUsername.php?username='+URLEncode(input.value);
	try{
		if (window.XMLHttpRequest)
		{
			xmlhttp=new XMLHttpRequest()
			xmlhttp.open("GET",url,false)
			xmlhttp.send(null);
		}
		else if (window.ActiveXObject)
		{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
			if (xmlhttp)
			{
				xmlhttp.open("GET",url,false)
				xmlhttp.send();
			}
		}
		if(xmlhttp.responseText==1)
		{
			var success = 1;
			var txt = 'Username OK';
			var src = ICO_TICK;
			
			var re = new RegExp(/^[A-Za-z0-9]+$/);
			var m = re.exec(input.value);
			if (m == null) {
				var success = 0;
				var txt = 'Username can only contain numbers and letters (no spaces or punctuation)';
				var src = ICO_CROSS;
			} else {
			}
			
		}
		else
		{
			var success = 0;
			var txt = 'Username already taken, please choose another';
			var src = ICO_CROSS;
		}
		setUsernameCheckerDisplay(input,success,txt);
		
	}catch(e){
		//alert('Could not load XML');
	}
}
function setUsernameCheckerDisplay(input,success,text)
{
	switch(success)
	{
		case 1:
		input.style.color = '';
		var src = ICO_TICK;
		break;
		
		default:
		input.style.color = 'Red';
		var src = ICO_CROSS;
		break;
	}
	if(input.USERNAME_CHECKER==null)
	{
		input.USERNAME_CHECKER = new Image(15,15);
		input.parentNode.appendChild(input.USERNAME_CHECKER);
	}
	input.USERNAME_CHECKER.src = src;
	input.USERNAME_CHECKER.setAttribute('title',text);
}
function URLEncode(plaintext)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};
