var pendingRequest = null;

var fields = new Array('name', 'email', 'qc');

function validateForm() {
	var x;
	var blank;
	var invalidFlag = 0;
	for (x in fields) {
		blank = 1;
		if ($(fields[x]).value == '') {
			$(fields[x]).className = 'invalid';
			invalidFlag = 1;
		} else {
			$(fields[x]).className = '';
		}
	}
	if (invalidFlag) {
		alert("Please complete all required fields before proceeding.");
		return false;
	}
	else {
		return true;
	}
}

function ajaxSubmit() {
	if (!validateForm()) {
		return false;
	}
	if (pendingRequest == null) {
		var request = new createXMLHttpRequestObject();
		if (!request) {
			return;
		}
		request.onreadystatechange = function(e) {
			if (request.readyState == 4) {
				// Update UI
				if (request.responseText) {
					$('contact').style.display = 'none';
					$('results').style.display = 'block';
					$('results').innerHTML = request.responseText;
				}
				pendingRequest = null;
			}
		}
		request.open("GET", $('contact').action + '?name=' + escape($('name').value) + '&email=' + escape($('email').value) + '&phone=' + escape($('phone').value) + '&qc=' + escape($('qc').value));
		request.setRequestHeader("Cache-Control", "no-cache");
		request.send(null);
		$('contact').className = 'ajax-pending';
		return false;
	}
}
function createXMLHttpRequestObject() {
	// creates an XMLHttpRequest instance
	// xmlHttp will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// try to instantiate the native XMLHttpRequest object
	try {
		// create an XMLHttpRequest object
		xmlHttp = new XMLHttpRequest();
	}
	catch(e) {
		// assume IE6 or older
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
		}
		catch(e) { }
	}
	// return the created object or display an error message
	if (!xmlHttp) {
		// alert("Error creating the XMLHttpRequest object.");
		return false;
	} else {
		return xmlHttp;
	}
}

function $(id) {
	return document.getElementById(id);
}
