var xmlHttp,searchReq;

function showHint(str)
{

if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="gethint.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged5;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 


function searchSuggest() {
//alert ('here');
//Our XmlHttpRequest object to get the auto suggest
searchReq = GetXmlHttpObject();
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('user_nick').value);
		//alert ('str= ' + str);
		searchReq.open("GET", 'gethint.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}	
	
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
//var searchReq = GetXmlHttpObject();
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest');
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		//alert ('str= ' + str + 'len= ' + str.length);
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
			
		}
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	document.getElementById('user_nick').value = value;
	document.getElementById('search_suggest').innerHTML = '';
}

function validate_nick(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="validate_nick.php";
url=url+"?nick="+str;
xmlHttp.onreadystatechange=stateChanged1;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 

function validate_email(str)
{

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="validate_nick.php";
url=url+"?email="+str;
xmlHttp.onreadystatechange=stateChanged2;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function validate_pass(str1,str2)
{

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="validate_nick.php";
url=url+"?pass1="+str1;
url=url+"&pass2="+str2;
xmlHttp.onreadystatechange=stateChanged3;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 


function stateChanged1() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("validation_response").innerHTML=xmlHttp.responseText;
username_available_msg=xmlHttp.responseText;
}
}


function stateChanged2() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("email_response").innerHTML=xmlHttp.responseText;
email_available_msg=xmlHttp.responseText;

}
}

function stateChanged3() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("pass_response").innerHTML=xmlHttp.responseText;
}
}

function stateChanged5() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
	}
}


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;
}
