var xmlHttp;

function createXMLHttpRequest () 
{
	if ( window.ActiveXObject )
	{
		xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
	}
	else if ( window.XMLHttpRequest )
	{
		xmlHttp = new XMLHttpRequest();
	}
}

function createQueryString () 
{
	/*
	var queryString = "";
	var regForm = document.getElementById( "registrationform" );

	alert( "Number of child nodes to look at: " + regForm.childNodes.length );

	for ( var i=0; i<regForm.childNodes.length; i++ )
	{
		alert( "Node type: " + regForm.childNodes[i].tagName );
		if ( regForm.childNodes[i].tagName == "INPUT" )
		{
			alert( "INPUT WOOHOO!" );
			if ( regForm.childNodes[i].type == "text" )
			{
				queryString += regForm.childNodes[i].name + "=" + regForm.childNodes[i].value + "&";
				alert( "TEXT INPUT WOOOOO!" );
			}
		}
	}
*/
	var registrantName	= document.getElementById( "registrantName" ).value;
	var registrantEmail	= document.getElementById( "registrantEmail" ).value;
	var sessionArray	= document.getElementById( "registrationform" );
	var paymentArray	= document.forms[0].payment;

	var payment			= "";
	var session			= "";
	var i				= 0;

	for ( i=0; i<sessionArray.session.length; i++ )
	{
		if ( sessionArray.session[i].checked )
		{
			session += sessionArray.session[i].value + "%20";
		}
		else 
		{
			session += "%20";
		}
	}
	
	for ( i=0; i<paymentArray.length; i++ )
	{
		if ( paymentArray[i].checked )
		{
			payment = paymentArray[i].value;
		}
	}
	
	var queryString	= "registrantName="		+ registrantName
	                + "&registrantEmail="	+ registrantEmail
	                + "&session="			+ session
	                + "&payment="			+ payment;

	alert( "My queryString is...\n\n" + queryString );

	return queryString;
}

function sendRegistrationRequest ()
{
	createXMLHttpRequest();
	
	var url			= "i/ajax/registration.php?timeStamp=" + new Date().getTime();
	var queryString	= createQueryString();
	
	xmlHttp.open( "POST", url, true );
	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded;" );
	xmlHttp.send( queryString );
}
		
function handleStateChange ()
{
	alert("state changed: " + xmlHttp.readyState);
	if ( xmlHttp.readyState == 4 )
	{
		alert("readyState == 4");
		if ( xmlHttp.status == 200 )
		{
			alert("server responded with http status 200!");
			clearRegistrationDiv();
			parseResults();
		}
	}
}
		
function clearRegistrationDiv ()
{
	var responseDiv = document.getElementById( "registration" );
	
	if ( responseDiv.hasChildNodes() )
	{
		if ( window.ActiveXObject )
		{
			responseDiv.removeChild( responseDiv.firstChild );
		}
		else if ( window.XMLHttpRequest )
		{
			responseDiv.removeChild( responseDiv.childNodes[1] );
		}
	}
}

function parseResults ()
{
	var results		= xmlHttp.responseXML;

	var submission	= null;
	var message		= "";
	var details		= "";

	var submissions	= results.getElementsByTagName( "submission" );

	submission	= submissions[0];

	message		= submission.getElementsByTagName( "message" )[0].firstChild.nodeValue;

	var resultMessage = document.createElement( "p" );
	var messageText = document.createTextNode( message );

	resultMessage.appendChild( messageText );
	document.getElementById( "registration" ).appendChild( resultMessage );
}



