function processRegistration( )
{
	var verificationResult = true;

	var emailField = document.getElementById( "email" );
  	var emailLabel = document.getElementById( "emailLabel" );
  	if ( !validateEmail( emailField.value ) )
  	{
  		emailLabel.className = "labelException";
		verificationResult = false;
  	}
  	else
  	{
		emailLabel.className = "";
  	}

	var mobileCarrierField = document.getElementById( "mobileCarrier" );
  	var mobileCarrierLabel = document.getElementById( "mobileCarrierLabel" );
  	if ( mobileCarrierField.selectedIndex == 0 )
  	{
  		mobileCarrierLabel.className = "labelException";
  		verificationResult = false;
  	}
  	else
  	{
	  	mobileCarrierLabel.className = "";
  	}

  	var mobileNumberField = document.getElementById( "mobileNumber" );
	var mobileNumberLabel = document.getElementById( "mobileNumberLabel" );
	if ( !validatePhoneNumber( mobileNumberField.value ) )
	{
		mobileNumberLabel.className = "labelException";
		verificationResult = false;
	}
	else
	{
		mobileNumberLabel.className = "";
	}

  	var timeZoneField = document.getElementById( "timeZone" );
	var timeZoneLabel = document.getElementById( "timeZoneLabel" );
	if ( timeZoneField.selectedIndex == 0 )
	{
		timeZoneLabel.className = "labelException";
		verificationResult = false;
	}
	else
	{
		timeZoneLabel.className = "";
	}

	if ( verificationResult == false )
  	{
  		var exceptionMessage = document.getElementById( "exceptionMessage" );
  		exceptionMessage.style.display = "inline";
  					
		return;
	}

	document.getElementById( "registerSubForm" ).style.display = "none";
	document.getElementById( "progress" ).style.display = "inline";

	var requestString =
		"?email=" + escape( emailField.value ) +
		"&mobileCarrier=" + escape( mobileCarrierField.options[ mobileCarrierField.selectedIndex ].value ) +
		"&mobileNumber=" + escape( mobileNumberField.value ) +
		"&timeZone=" + escape( timeZoneField.options[ timeZoneField.selectedIndex ].value );

	xmlHttp.open( "GET", "processSingle.php" + requestString, true );
	xmlHttp.onreadystatechange = updatePage;
	xmlHttp.send( null );
}

function updatePage( )
{
	if ( xmlHttp.readyState == 4 )
	{
		if ( xmlHttp.status == 200 )
		{
      		var response = xmlHttp.responseXML.getElementsByTagName( "result" );
			var result = response[ 0 ].childNodes[ 0 ].nodeValue;

			response = xmlHttp.responseXML.getElementsByTagName( "message" );
			var message = response[ 0 ].childNodes[ 0 ].nodeValue;
			
			document.getElementById( "progress" ).style.display = "none";

			if ( result == "True" )
			{
  				document.getElementById( "result" ).style.display = "inline";
	  			document.getElementById( "resultInformation" ).innerHTML = message;
			}
			else
			{
				document.getElementById( "registerSubForm" ).style.display = "block";
				
		  		var exceptionMessage = document.getElementById( "exceptionMessage" );
  				exceptionMessage.style.display = "inline";
				exceptionMessage.innerHTML = "There was a problem with your request: " + message;
			}
		}
	}
}