function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function _CF_checkCFForm_1() 
{ 	
	// Check the First Name
	var TextElement = document.getElementById ("firstName");
	if (TextElement.value == "")
	{
		// Prevents displaying multiple error messages 
		if(document.getElementById("errorMessageFirstName")) return false;
		
		createElement ("strong","errorMessageFirstName","Please enter your First Name","firstNameLabel");
	}

	// Check the Last Name
	var TextElement = document.getElementById ("lastName");
	if (TextElement.value == "")
	{
		if(document.getElementById("errorMessageLastName")) return false;
		
		createElement ("strong","errorMessageLastName","Please enter your Last Name","lastNameLabel");
	} 

	// Check the Email
	var email = document.getElementById("email");
	var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
	
	if(!emailPattern.test(email.value))
	{
		if(document.getElementById("emailErrorMessage")) return false;

		createElement ("strong","emailErrorMessage","Please enter correct email address","emailLabel");
	}

	// Check the Password
	var TextElement = document.getElementById ("password");
	if (TextElement.value == "")
	{
		if(document.getElementById("errorMessagePassword")) return false;
		
		createElement ("strong","errorMessagePassword","Please enter your password","passwordLabel");

	}

	// Check the Re-entered Password
	var TextElement = document.getElementById("passwordConfirm");
	if (TextElement.value == "")
	{
		if(document.getElementById("errorMessagePasswordConfirm")) return false;

		createElement ("strong","errorMessagePasswordConfirm","Please re-enter your password","passwordConfirmLabel");
		return false;
	}	
	
	// Check if the passwords match
	var psw1 = document.getElementById ("password");
	var psw2 = document.getElementById ("passwordConfirm");
	
	if (psw1.value !== psw2.value)
	
	{
		if(document.getElementById("errorMessagePasswordMatch")) return false;
		psw2.focus();
		
		if(document.getElementById("errorMessageFirstName")) hideElement("errorMessageFirstName");
		if(document.getElementById("errorMessageLastName")) hideElement("errorMessageLastName");
		if(document.getElementById("emailErrorMessage")) hideElement("emailErrorMessage");
		if(document.getElementById("errorMessagePassword")) hideElement("errorMessagePassword");
		if(document.getElementById("errorMessagePasswordConfirm")) hideElement("errorMessagePasswordConfirm");
								   
		createElement ("strong","errorMessagePasswordMatch","Passwords do not match","passwordConfirmLabel");
		return false;

	}
	
		createElement ("strong","thankyouMessage","Thank you for your entry.","submitButton");
}


/* REUSABLE FUNCTIONS ----------------------------------------------------------------------- */

function createElement (element,id,text,existingDiv) {
		// Creating error  message on the fly and displaying inside xhtml
		var errorMessage= document.createElement(element);
		errorMessage.setAttribute("id",id);
		// Error message text
		var errorText = document.createTextNode(text);
		errorMessage.appendChild(errorText);
		// Define the element which will be used in insertBefore function
		var existingDiv = document.getElementById (existingDiv);
		// Define parent node of element defined in the line above
		var parent = existingDiv.parentNode;
		// insertBefore function has 2 parameters (what, where)
		var newChild = parent.insertBefore(errorMessage, existingDiv);
}

function hideElement (element) {
	var element = document.getElementById(element)
	if(element) {
	}
}