function checkForm() {
	requiredFields = new Array("name","organisation","email","telephone");
	for(var i = 0; i < requiredFields.length; i++) {
		if(document.getElementById(requiredFields[i]).value == "") {
			alert("Please enter a value for " + requiredFields[i]);
			document.getElementById(requiredFields[i]).focus();
			return false;
		}
		if(requiredFields[i] == "email") {
			if(document.getElementById(requiredFields[i]).value.search(/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/) == -1) {
				alert("Please enter a valid email address");
				document.getElementById(requiredFields[i]).focus();
				return false;
			}
		}
	}
	if(document.getElementById("requirehardcopy").checked) {
		addressFields = new Array("address1","town","postcode");
		for(var j = 0; j < addressFields.length; j++) {
			if(document.getElementById(addressFields[j]).value == "") {
				alert("To receive a copy of the Repair Guide please enter a value for " + addressFields[j]);
				document.getElementById(addressFields[j]).focus();
				return false;
			}
		}
	}
	return true;
}

function formSubmitted(evt) {
	evt = (evt) ? evt : ((window.event) ? window.event : null);
	if(evt) {
		if(!checkForm()) {
			if(evt.preventDefault) { evt.preventDefault(); }
			return false;
		}
	}
	return true;
}

function requireHardCopyChanged() {
	if(document.getElementById("requirehardcopy").checked) {
		document.getElementById("addressdetails").style.display = "block";
	}
	else {
		document.getElementById("addressdetails").style.display = "none";
	}
}

function onLoad() {
	if(document.getElementById("requirehardcopy").checked) {
		document.getElementById("addressdetails").style.display = "block";
	}
	else {
		document.getElementById("addressdetails").style.display = "none";
	}
	addEvent(document.getElementById("requirehardcopy"), "click", requireHardCopyChanged);
	addEvent(document.getElementById("requestdemoform"), "submit", formSubmitted);
}

addEvent(window, "load", onLoad);