// onclick event for submit

function onSubmit()
{
	if (!document.getElementById("applypt")) return false; // check if the form exists (stops error on form submitted confirmation
	document.forms["applypt"].onsubmit = validateFields;
	return true; 
}

addLoadEvent(onSubmit);

//

// Clear existing error messages created on the page

function clearErrors(){
	if (!document.getElementById("error")) return false;
	var spanMarkup = document.getElementById("error");
	var labelMarkup = spanMarkup.parentNode;
	labelMarkup.removeChild(spanMarkup);
}

//

function validateFields() {
// validate 'surname'	
	var surname = document.forms["applypt"]["surname"];
	
	if (surname.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = surname.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		surname.focus();/* focus on */	
		fadeUpErrors();
		return false;
	}
	else {
		clearErrors();
	}
	
	// validate 'title'	
	var title = document.forms["applypt"]["title"];
	
	if (title.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG-title";
		errorSpan.id = "error";
		
		var fieldLabel = title.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		title.focus();/* focus on */	
		fadeUpErrors();
		return false;
	}
	else {
		clearErrors();
	}
	
// validate 'forenames'	
	var forenames = document.forms["applypt"]["forenames"];
	
	if (forenames.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = forenames.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		forenames.focus();/* focus on */	
		fadeUpErrors();
		return false;
	}
	else {
		clearErrors();
	}
	
// validate 'forenames'	
	var forenames = document.forms["applypt"]["forenames"];
	
	if (forenames.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = forenames.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		forenames.focus();/* focus on */	
		fadeUpErrors();
		return false;
	}
	else {
		clearErrors();
	}
	
// validate 'address'	
	var address = document.forms["applypt"]["address"];
	
	if (address.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = address.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		address.focus();/* focus on */	
		fadeUpErrors();
		return false;
	}
	else {
		clearErrors();
	}

	
	// validate 'telephone number' exists	
	var telNumber = document.forms["applypt"]["telephonenumber"];
	
	if (telNumber.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = telNumber.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		telNumber.focus();/* focus on */	
		fadeUpErrors();
		return false;
	}
	else {
		clearErrors();
	}
	
	var emailAddress = document.forms["applypt"]["emailaddress"];
	
// validate email address exists
	
	if (emailAddress.value == "") {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Required");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = emailAddress.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		fadeUpErrors();
		emailAddress.focus();/* focus on */
		return false;
	}
	else {
		clearErrors();
	}
	
// validate email address is valid
	
	if (emailAddress.value.indexOf('@') < 0 || emailAddress.value.indexOf('.') < 0 || emailAddress.value.length<5) {
		clearErrors();
		var errorSpan = document.createElement("span");
		var errorMessage = document.createTextNode("Not valid");
		
		errorSpan.appendChild(errorMessage);
		errorSpan.className = "errorMSG";
		errorSpan.id = "error";
		
		var fieldLabel = emailAddress.previousSibling;
		
		while (fieldLabel.nodeName.toLowerCase() != "label")
		{
		  fieldLabel = fieldLabel.previousSibling;
		}
		fieldLabel.appendChild(errorSpan);
		fadeUpErrors();
		emailAddress.focus();/* focus on */
		return false;
	}
	else {
		clearErrors();
	}	
	
	// if everything validates then...
	return true;
}
