// load multiple functions on page load
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if(typeof window.onload != "function")
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			oldonload();
			func();
		}
	}
}

// Create the error if certain fields are left blank
function createError(theLabel,theInput,msg){
	var errorPara = document.createElement("p");
	errorPara.id = theLabel.id+"_error";
	
	errorPara.className = "error"; 
	var errorTxt = document.createTextNode(msg);
	errorPara.appendChild(errorTxt);
	theLabel.parentNode.insertBefore(errorPara,theLabel);
	
	theLabel.className += " errorField";
	theInput.className += " errorField";
}
// Clean the error second time around
function cleanError(theField,theInput){
	if(document.getElementById(theField.id+"_error"))
	{
		theField.parentNode.removeChild(document.getElementById(theField.id+"_error"));
		theField.className = theField.className.replace(/errorField/g,"");
	}
	if(theInput.className.indexOf('errorField'))
	{
		theInput.className = theInput.className.replace(/errorField/g,"");
	}
}
// check form fields
function validate(whichForm)
{
		var title 		= document.getElementById('f_title');
		var l_title 	= document.getElementById('l_title');

		var fname 		= document.getElementById('f_fname');
		var l_fname 	= document.getElementById('l_fname');
		
		var sname 		= document.getElementById('f_sname');
		var l_sname 	= document.getElementById('l_sname');
		
		var addr1 		= document.getElementById('f_add_1');
		var l_addr1 	= document.getElementById('l_add_1');
		
		var addr2 		= document.getElementById('f_add_2');
		var l_addr2 	= document.getElementById('l_add_2');

		var post 		= document.getElementById('f_postcode');
		var l_post 		= document.getElementById('l_postcode');

		var tele 		= document.getElementById('f_tele');
		var l_tele 		= document.getElementById('l_tele');										

		var country 	= document.getElementById('f_country');
		var l_country 	= document.getElementById('l_country');
				
		var email 		= document.getElementById('f_email');
		var l_email 	= document.getElementById('l_email');
		
		var hear 		= document.getElementById('f_hear');
		var l_hear 	= document.getElementById('l_hear');		
		
		cleanError(l_title,title);
		cleanError(l_fname,fname);
		cleanError(l_sname,sname);
		cleanError(l_addr1,addr1);
		cleanError(l_addr2,addr2);
		cleanError(l_post,post);
		cleanError(l_tele,tele);
		cleanError(l_country,country);		
		cleanError(l_email,email);
		cleanError(l_hear,hear);		

		if(title.value.length<1)
		{
		  createError(l_title,title,"Please let us know your title.");
		  var errorTitle = true;
		}
		if(fname.value.length<1)
		{
		  createError(l_fname,fname,"Please enter your name and / initial.");
		  var errorName = true;
		}
		if(sname.value.length<1)
		{
		  createError(l_sname,sname,"Please enter your surname.");
		  var errorSname = true;
		}		
		if(addr1.value.length<1)
		{
		  createError(l_addr1,addr1,"Please enter the first line of your address.");
		  var errorAddr1 = true;
		}
		if(addr2.value.length<1)
		{
		  createError(l_addr2,addr2,"Please enter the second line of your address.");
		  var errorAddr2 = true;
		}
		if(post.value.length<1)
		{
		  createError(l_post,post,"Please enter your postcode.");
		  var errorPost = true;
		}
		if(country.value.length<1)
		{
		  createError(l_country,country,"Please select a country.");
		  var errorCountry = true;
		}	
		if(tele.value.length<1)
		{
		  createError(l_tele,tele,"Please enter your telephone number.");
		  var errorPost = true;
		}
		if(hear.value.length<1)
		{
		  createError(l_hear,hear,"Please select the source of your enquiry.");
		  var errorHear = true;
		}												
		if(!email.value.match(/^[A-Za-z0-9]([A-Za-z0-9_-]|(\.[A-Za-z0-9]))+@[A-Za-z0-9](([A-Za-z0-9]|(-[A-Za-z0-9]))+)\.([A-Za-z]{2,6})(\.([A-Za-z]{2}))?$/))
		{
		  createError(l_email,email,"Please enter a valid email address.");
		  var errorEmail = true;
		}	
		if(errorTitle||errorName||errorSname||errorAddr1||errorAddr2||errorPost||errorCountry||errorEmail||errorHear)
		{
			return false;
		}
		else
		{
			/* clean all the errors and submit the form
			cleanError(l_title);
			cleanError(l_fname);
			cleanError(l_sname);			
			cleanError(l_email);
			return true;*/
		}	
}
		
// looop through the forms
function prepareForms()
{
		var thisform = document.getElementById('applynow');
		
		if(!thisform)
		{
			return false;
		}
		
		thisform.onsubmit = function()
		{
			return validate(this);
		}	
}
addLoadEvent(prepareForms);