function showContactTimer () {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
      var commentform = document.getElementById('commentform');
	commentform.style.display = 'none';
	sentTimer = setTimeout("hideContactTimer()",4000);
}

function hideContactTimer () {

	var loader = document.getElementById('loadBar');
	loader.style.display = "none";

      var commentform = document.getElementById('commentform');
	commentform.style.display = 'block';

	var confirmationsection = document.getElementById("confirmationsection");
	confirmationsection.style.display = "block";
}


function talktoServer(){

	var req = newXMLHttpRequest();

	//register the callback handler function

  	var callbackHandler = getReadyStateHandler(req, updateMsgOnBrowser);
  	req.onreadystatechange = callbackHandler;
  	req.open("POST", "processContact.php", true);
  	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  	//get the value from the text input element and send it to server
	//Name, Email, Message, work, subject, regular, x, turing

  	var message = document.getElementById("message");
  	var message_value = message.value;

  	var name = document.getElementById("name");
  	var name_value = name.value;

	var email = document.getElementById("email");
  	var email_value = email.value;

	var work = document.getElementById("work");
  	var work_value = work.checked;

	var regular = document.getElementById("regular");
  	var regular_value = regular.checked;

	var x = document.getElementById("x");
  	var x_value = x.value;
	
	var turing = document.getElementById("turing");
  	var turing_value = turing.value;

	var subject = document.getElementById("subject");
  	var subject_value = subject.value;

	showContactTimer();

 	var confirmationsection = document.getElementById('confirmationsection');
	confirmationsection.style.display = 'none';

	req.send("message="+message_value+"&name="+name_value+"&email="+email_value+"&subject="+subject_value+"&x="+x_value+"&turing="+turing_value+"&regular="+regular_value+"&work="+work_value);
}

// This is the callback functions that gets called
// for the response from the server with the XML data

function updateMsgOnBrowser(testXML) {

	var confirmation = testXML.getElementsByTagName("confirmation")[0];
	var confirmation_value = confirmation.firstChild.nodeValue;
	
	//document.getElementById('loadBar').style.display = "none";

	var confirmationsection = document.getElementById("confirmationsection");
	//confirmationsection.style.display = "block";
      confirmationsection.innerHTML = "<br/><br/><strong>"+confirmation_value+"</strong><br/><br/><input type=\"button\" value=\"OK\" class=\"inputbutton\" onClick=\"hideConfirmationSection()\"/>";
	
}


//the following two functions are helper infrastructure to 
//craete a XMLHTTPRequest and register a listner callback function

function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    		// Try ActiveX
		try { 
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) { 
			// first method failed 
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				 // both methods failed 
			} 
		}
 	}
   	return xmlreq;
} 

function getReadyStateHandler(req, responseXmlHandler) {
	return function () {
	if (req.readyState == 4) {
		if (req.status == 200) {
        		responseXmlHandler(req.responseXML);
		} else {
			var hellomsg = document.getElementById("hellomsg");
			hellomsg.innerHTML = "ERROR: "+ req.status;
      		}
    	}
 	}
}

