var ajax_init_error_msg = "Your browser not support this feature";
var request = false;
var uname_pub = "";

function createRequest()
{
  try
  {
    request = new XMLHttpRequest();
  }
  catch ( e ) // test for new MS-objects....
  {
    try
    {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch ( e ) // test for old MS-objects....
    {
      try
      {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch ( e ) // ajax failed :-(
      {
        request = false;
      }
    }
  }

  if ( !request )
  {
    alert(ajax_init_error_msg);
    return false;
  }

  return true;
}

function sendRequest( method, url, pars )
{
  if ( !request )
    return false;

  request.open(method, url, true);
  if ( method == "post" )
  {
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", pars.length);
  }
  request.send(pars);
  
  return true;
}

function checkUName()
{
	var o = document.getElementById("msg_to");
	if ( o )
	{
		var uname = trim(o.value);
		if ( uname == "" )
		{
			alert("User name must be not empty");
			return;
		}
		checkUNamePost(uname);
	}
}
function checkUNamePost(uname)
{
	if ( !createRequest() )
		return false;

	request.onreadystatechange = checkUNameResult;
	uname_pub = uname;

	sendRequest( "get", "forum2.asp?Main=PM&act=check_name&name=" + encodeURIComponent(uname) + "&r=" + Math.random(), null );
}
function checkUNameResult()
{
	if (request.readyState != 4)
		return false;

	if (request.status == 200)
	{
		var response = trim(request.responseText);
		if ( response == "0" )
			alert("User with name \""+uname_pub+"\" not exists");
		else
			alert("User with name \""+uname_pub+"\" exists");
	}
}

function trim(stringToTrim) {
  return stringToTrim.replace(/^\s+|\s+$/g,"");
}