//
function ValidateContact(ContactName,ContactEmail,ContactComments,TheForm)
{
var IsOk = true;
var MessageText = "";
if (ValidateName(ContactName,TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nName : Please supply a contact name";
	}
if (ValidateEmail(ContactEmail,TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nEmail : This email address appears to be invalid";
	}
if (ValidateName(ContactComments,TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nMessage : Please enter a comment";
	}
if(IsOk == true)
	{
	TheForm.submit();
	}
else
	{
	alert(MessageText);
	}
}

//
function CheckUserDetails(TheForm)
{
var MessageText = "Highlighted fields are incorrect\n";

var IsOk = true;

var Title = TheForm.Title.value;
var FirstName = Capitalise(TheForm.FirstName.value);
var LastName = Capitalise(TheForm.LastName.value);
var CompanyName = Capitalise(TheForm.CompanyName.value);
var Address = escape(Capitalise(TheForm.Address.value));
var Town = Capitalise(TheForm.Town.value);
var County = Capitalise(TheForm.County.value);
var PostCode = Capitalise(TheForm.PostCode.value);
var TeleLand = TheForm.TeleLand.value;
var TeleMob = TheForm.TeleMob.value;

for(i = 0; i < 5; i++)
	{
	TeleLand = TeleLand.replace(" ",""); 
	TeleLand = TeleLand.replace("(",""); 
	TeleLand = TeleLand.replace(")",""); 
	TeleMob = TeleMob.replace(" ",""); 
	TeleMob = TeleMob.replace("(",""); 
	TeleMob = TeleMob.replace(")",""); 
	}
if(Title == "")
	{
	IsOk = false;
	MessageText = MessageText + "\nTitle : Please select a Title";
	TheForm.Title.style.backgroundColor="yellow";
	}
else
	{
	TheForm.Title.style.backgroundColor="white";
	}
if (ValidateName('FirstName',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nFirst Name : Must contain at least one letter";
	}
if (ValidateName('LastName',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nLast Name : Must contain at least one letter";
	}
if (ValidateName('Address',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nAddress : Must not be empty";
	}
if (ValidateName('Town',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nTown : Must not be empty";
	}
if (ValidateName('County',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nCounty : Must not be empty";
	}
if (ValidatePostCode('PostCode',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nPostcode : Must follow standard Postcode format";
	MessageText = MessageText + "\n           Only one space";
	MessageText = MessageText + "\n           Between 6 and 7 chars long";
	MessageText = MessageText + "\n           Last 2 chars must be alphabetic";
	MessageText = MessageText + "\n           First char after space must be numeric";
	}
if (ValidateEmail('Email',TheForm) == false)
	{
	IsOk = false;
	MessageText = MessageText + "\nEmail Address : Must be a valid address";
	}
var TeleLandComplete = ValidatePhone('TeleLand',TheForm);
var TeleMobComplete = ValidatePhone('TeleMob',TheForm);

if (TeleLand == "" && TeleMob == "")
	{
	IsOk = false;
	TheForm.TeleLand.style.backgroundColor="yellow";
	TheForm.TeleMob.style.backgroundColor="yellow";
	MessageText = MessageText + "\nTelephone : At least 1 phone number required";
	}
else
	{
	if (TeleLand != "" && TeleLandComplete == false)
		{
		IsOk = false;
		MessageText = MessageText + "\nTelephone : Land Number must only contain digits";
		}
	if (TeleMob != "" && TeleMobComplete == false)
		{
		IsOk = false;
		MessageText = MessageText + "\nTelephone : Mobile Number must only contain digits";
		}
	}

if(TeleLandComplete == true && TeleMobComplete == "")
	{
	TheForm.TeleLand.style.backgroundColor="white";
	}
if(TeleLandComplete == "" && TeleMobComplete == true)
	{
	TheForm.TeleLand.style.backgroundColor="white";
	}

if(IsOk == true)
	{
	return true;
	}
	else
	{
	alert(MessageText);
	}
}

//
function ValidatePassWord(TheForm,ElementToCheck)
{
if(TheForm.elements[ElementToCheck].value != "")
	{
	TheForm.elements[ElementToCheck].style.backgroundColor="white";
	return true;
	}
else
	{
	TheForm.elements[ElementToCheck].style.backgroundColor="yellow";
	return false;
	}
}

//
function ValidatePostCode(ElementToCheck,TheForm) //check postcode format is valid
{
var FormElement = TheForm.elements[ElementToCheck];
var FormText = FormElement.value;
var size = FormText.length;
var test = FormText.toUpperCase(); //Change to uppercase

while (test.slice(0,1) == " ") //Strip leading spaces
	{
	test = test.substr(1,size-1);
	size = test.length;
	}
while(test.slice(size-1,size)== " ") //Strip trailing spaces
	{
	test = test.substr(0,size-1);
	size = test.length;
	}
FormElement.value = test; //write back to form field

if(size < 6 || size > 8) //Code length rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
if(!(isNaN(test.charAt(0)))) //leftmost character must be alpha character rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
if (isNaN(test.charAt(size-3))) //first character of inward code must be numeric rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
if (!(isNaN(test.charAt(size-2)))) //second character of inward code must be alpha rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
if (!(isNaN(test.charAt(size-1)))) //third character of inward code must be alpha rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
if (!(test.charAt(size-4) == " ")) //space in position length-3 rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
	count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
if (count1 != count2) //only one space rule
	{
	FormElement.style.backgroundColor="yellow";
	return false;
	}
	FormElement.style.backgroundColor="white";
return true;
}

//
function ValidateEmail(ElementToCheck,TheForm)
{
if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(TheForm.elements[ElementToCheck].value))
	{
	TheForm.elements[ElementToCheck].style.backgroundColor="white";
	return true;
	}
else
	{
	TheForm.elements[ElementToCheck].style.backgroundColor="yellow";
	return false;
	}
}

//
function ValidateName(ElementToCheck,TheForm)
{
var IsCompleted = TheForm.elements[ElementToCheck].value;
if(IsCompleted > "")
	{
	TheForm.elements[ElementToCheck].style.backgroundColor="white";
	return true;
	}
else
	{
	TheForm.elements[ElementToCheck].style.backgroundColor="yellow";
	return false;
	}
}

//
function ValidatePhone(ElementToCheck,TheForm)
{
var PhoneNumber = TheForm.elements[ElementToCheck].value;
for(i = 0; i < 5; i++)
	{
	PhoneNumber = PhoneNumber.replace(" ",""); 
	PhoneNumber = PhoneNumber.replace("(",""); 
	PhoneNumber = PhoneNumber.replace(")",""); 
	}
TheForm.elements[ElementToCheck].value = PhoneNumber;
if (TheForm.elements[ElementToCheck].value/TheForm.elements[ElementToCheck].value == 1)
	{ 
	TheForm.elements[ElementToCheck].style.backgroundColor="white";
	return true;
	}
else
	{
	return false;
	}
}