var registerCheckUrlBase = "/user/registerCheck.jsp";

var theForm = null;

function fieldCheck( field )
{
  if( !testAjax() )										// Test for ajax capability
  {
    return;
  }

  theForm = field.form;

  var fieldName  = field.name;
  var fieldValue = field.value;

  callRemote( registerCheckUrlBase + "?fieldName=" + escape( fieldName ) + "&fieldValue=" + escape( fieldValue ), registerCheckWarnUser );
}

function registerCheckWarnUser( data )
{
  var parser = new DOMImplementation();

  domDocument    = parser.loadXML( data );
  domRootElement = domDocument.getDocumentElement();

  var fieldName  = domRootElement.getAttribute( "fieldName" );
  var fieldLabel = domRootElement.getAttribute( "displayFieldName" );

  var messageElt = getSubItem( domRootElement, "message" );

  var status  = messageElt.getAttribute( "status" );
  var message = getItemValue( messageElt );

  var popup = getElt( "registerCheckPopup" );

  if( popup == null )
  {
    popup = document.createElement( "div" );
    popup.id = "registerCheckPopup";

    popup.style.position = "absolute";
    popup.style.border = "1px solid #ff0000";
    popup.style.background = "#ffe0e0";
    popup.style.padding = "4px";

    popup.style.display = "none";

    document.body.appendChild( popup );
  }

  if( status == "OK" )
  {
    theForm.elements[fieldName].style.borderColor = "";
    popup.style.display = "none";
  }
  else if( status == "taken" )
  {
    theForm.elements[fieldName].style.borderColor = "#ff0000";

    popup.innerHTML = message;

    movelayer( "registerCheckPopup", getlayerleft( theForm.elements[fieldName] ) + getlayerwidth( theForm.elements[fieldName] ), getlayertop( theForm.elements[fieldName] ) )

    popup.style.display = "";

    theForm.elements[fieldName].focus();
    theForm.elements[fieldName].select();
  }
  else
  {
    alert( status );
  }
}

