// stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject();
// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject(){
// will store the reference to the XMLHttpRequest object
var xmlHttp;
// if running Internet Explorer
if(window.ActiveXObject){
		try{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e){
			xmlHttp = false;
		}
}
// if running Mozilla or other browsers
else{
	try{
		xmlHttp = new XMLHttpRequest();
	}
	catch (e){
		xmlHttp = false;
	}
}


// return the created object or display an error message
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}


// make asynchronous HTTP request using the XMLHttpRequest object
function process(){
	// proceed only if the xmlHttp object isn't busy
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
		// retrieve the name typed by the user on the form
		//name = encodeURIComponent(document.getElementById("action").value);
		var Name = document.getElementById('Name').value;
		var Addy = document.getElementById('Addy').value;
		var Comments = document.getElementById('Comments').value;
		var sender = 'Name='+ Name + '&Addy=' + Addy + '&Comments=' + Comments;
		// execute the form.php page from the server
		xmlHttp.open("POST", "ajaxform.php", true);
		// Defines type of data sent via POST method
		xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleServerResponse;
		// make the server request
		xmlHttp.send(sender);
	}
	else{
	// if the connection is busy, try again after one second
	setTimeout('process()', 1000);
	}
	
	// executed automatically when a message is received from the server
	function handleServerResponse(){
		// move forward only if the transaction has completed
		if (xmlHttp.readyState == 4){
			// status of 200 indicates the transaction completed successfully
			if (xmlHttp.status == 200){
				// Create "Thank You" response
				var thankyoutitle='Thank You!';
				var thankyou='Your message has been sent.';
				// update the client display using the data received from the server
				document.getElementById('ContentTitle').innerHTML=thankyoutitle;
				document.getElementById('MainContent').innerHTML=thankyou;
			}
			// a HTTP status different than 200 signals an error
			else{
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
			}
		}
	}
}
