var blnUsernameCheckInProgess = false;
var objAJAX = null;
var strOriginalClass = null;

function checkUsername(objField) {
	if (!blnUsernameCheckInProgess) {
		var strName = objField.value;
		if (strName.length > 0) {
			startUsernameCheck(strName);
		}
	}
}

function startUsernameCheck(strUsername) {
	blnUsernameCheckInProgess = true;
	
	objAJAX = getXMLHttpRequestObject();
	objAJAX.onreadystatechange=userCheckFinished;
	
	strURL = "/ajax/checkusername/"
	
	strPost = "strUsername=" + escape(strUsername);
	objAJAX.open("POST", strURL, true);
	objAJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	objAJAX.setRequestHeader("Content-length", strPost.length);
	objAJAX.setRequestHeader("Connection", "close");
	objAJAX.send(strPost);
}


function userCheckFinished() {
	
	if (objAJAX.readyState == 4) {
		if (objAJAX.status == 200) {
			var objXMLDoc=objAJAX.responseXML;
			var arrExists = objXMLDoc.getElementsByTagName('exists');
			
			for(var intX = 0; intX < arrExists.length; intX++) {
				var blnExists = arrExists[intX].childNodes[0].nodeValue;
			}
			
			var objField = document.getElementById('strUsername');
			
			if (blnExists == 1) {
				
				if (objField) {
					if (strOriginalClass == null) {
						strOriginalClass = objField.className;
					}
					alert('Username already in use');
					objField.className = strOriginalClass + '_error';
				}
			} else {
				if (objField) {
					objField.className = strOriginalClass;
				}
			}
			
			
		}
		blnUsernameCheckInProgess = false;
	}
}