//R Harvey 03/06/2008, 12/2008
var xmlHttp;
function user_validation(obj){ 
	var val = obj.value;
	//alert("obj.id="+obj.id);
	
	if(trim(val)=="")
		return;
	
	if (obj.id=="email" || obj.id=="email2"){
		var valtype="email";
		var msg="Checking Email Address...";
	}
	if (obj.id=="screenname"){
		var valtype="screenname";
		var msg="Checking Screen Name...";
	}
	
	document.getElementById("preregerror").style.display = 'none';
	document.getElementById("regerror").style.display = 'none';
	document.getElementById("useremailerror").innerHTML="";
	document.getElementById("userscreennameerror").innerHTML="";
				
	var urlString = ""
	xmlHttp=GetXmlHttpObject();

	urlString ="valtype="+valtype+"&val="+val;
	
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
 
	var url=_url;
	url=url+"?"+urlString;
	//url=url+"sid="+Math.random();
	//alert("url="+url);
	
	xmlHttp.open("GET", url, true);
    xmlHttp.setRequestHeader("Content-Type", "text/xml");

	xmlHttp.onreadystatechange=stateChanged;
	//xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	//alert(url)//this is used to view the URL being sent to the query page.
}

function stateChanged() { 
	if (xmlHttp.readyState==4){ 	
		if (xmlHttp.status==200){
			
			var strXML = xmlHttp.responseText
			
			try{ //Internet Explorer
			
				var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async="false";
				xmlDoc.loadXML(strXML);
			}
			catch(e){
				try{ //Firefox, Mozilla, Opera, etc.
					var parser=new DOMParser();
					var xmlDoc=parser.parseFromString(strXML,"text/xml");
				}
				catch(e){
					alert(e.message);
					return;
				}
			}

			var valtype =xmlDoc.getElementsByTagName("TYPE")[0].childNodes[0].nodeValue;
			var status = xmlDoc.getElementsByTagName("STATUS")[0].childNodes[0].nodeValue;
			var uservalue = xmlDoc.getElementsByTagName("USERVAL")[0].childNodes[0].nodeValue;
			var userregstatus = xmlDoc.getElementsByTagName("REGSTATUS")[0].childNodes[0].nodeValue;
			
			var smsg="&nbsp;";
			
			if (valtype=="EMAIL"){
				if(status != 0){
					smsg='<span style="color:#CC6600;font-weight:bold;font-family:Arial,Helvetica,sans-serif;">Sorry '+uservalue+' is in use already.</span>';
					document.getElementById("email").value="";
					document.getElementById("email2").value="";
					setTimeout(function() {document.getElementById("email").focus();}, 0);
					
					if(userregstatus=="OPEN"){
						document.getElementById("preregerror").style.display = '';
					}
					else{
						document.getElementById("regerror").style.display = '';
					}
					
					document.getElementById("useremailerror").innerHTML=smsg;
				}
			}
			if (valtype=="SCREENNAME"){
				if(status != 0){
					smsg='<span style="color:#CC6600;font-weight:bold;font-family:Arial,Helvetica,sans-serif;">Sorry '+uservalue+' is in use already.</span>';
					document.getElementById("screenname").value="";
					setTimeout(function() {document.getElementById("screenname").focus();}, 0);
					
					document.getElementById("userscreennameerror").innerHTML=smsg;
				}
			}
		}
	}
}

function GetXmlHttpObject(){
	var xmlHttp=null;
	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
	try{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
	catch (e){
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
	return xmlHttp;
}
// Removes leading whitespaces
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}
// Removes ending whitespaces
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}
// Removes leading and ending whitespaces
function trim( value ) {
	return LTrim(RTrim(value));
}
