function initForm ()
{
	var myForm = document.getElementById("registerInterest");
	if ( myForm != null )
	{
		myForm.onsubmit = function() {
						return validateForm();
					  }
		initContactMethod();
	}
}

function initContactMethod()
{
	var myElems = document.getElementsByTagName("input");
	var myPattern = /contactMethod/;
	
	for ( i = 0; i < myElems.length; i++ )
	{
		if ( myPattern.test( myElems[i].className ) == true )
		{
			myElems[i].onclick = function() {
									toggleRequired(this);
								};
		}
	}
}

function clearCurrentReqs() 
{
	var myElems = document.getElementsByTagName("span");
	var myPattern = /Req$/;
	
	for ( i = 0; i < myElems.length ; i++ )
	{
		if ( myPattern.test( myElems[i].id ) == true ) 
		{
			myElems[i].className = "notquiterequired";
		}
	}
}

function toggleRequired( myElem )
{
	var myToggleId = myElem.id.replace("Sel", "Req" );
	var myToggleElem = document.getElementById(myToggleId);
	clearCurrentReqs();	
	myToggleElem.className = "required";
}

function isRequired( myField )
{
	var myElem = document.getElementById( myField + "Sel" );
	
	return myElem.checked;
}

function validateForm()
{
	var myErrors = "";
	var myEmailPattern = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	
	if ( isRequired("email") )
	{
		myErrors += validatePresence( "email", "Please supply an email address" );
		myErrors += validatePattern( "email", myEmailPattern, "Please enter a valid internet email address");
	}
	else
	{
		var myEmailChk = validatePresence( "email", "Please supply an email address" );
	
		if ( myEmailChk == "" )
		{
			myErrors += validatePattern( "email", myEmailPattern, "Please enter a valid internet email address");
		}
	}
	
	if ( isRequired("homeTel"))
	{
		myErrors += validatePresence( "homeTel", "Please supply your home telephone number" );
	}
	
	if ( isRequired("officeTel"))
	{
		myErrors += validatePresence( "officeTel", "Please supply your office telephone number" );
	}
	
	if ( isRequired("mobileTel"))
	{
		myErrors += validatePresence( "mobileTel", "Please supply your mobile telephone number" );
	}
	
	if ( isRequired("post") )
	{
		myErrors += validatePresence( "post", "Please supply your postal address" );
	}
	
	
	myErrors += validatePresence( "name", "Please supply your name" );
	myErrors += validatePresence( "organisation", "Please supply the name of your organisation" );
		
	
	if ( myErrors.length > 0 )
	{
		var myErrorDiv = document.getElementById("errors");
		var myErrorText = "<ul>\n" + myErrors + "</ul>";
		myErrorDiv.innerHTML = myErrorText;
		return false;
	}
	else
	{
		return true;
	}
	
}

