function IsRequestValid()
{
	var AlertMessage = "Invalid details!\n\nYou have entered 1 or more of your details incorrectly. Those field(s) are highlighted in red.";
	var Result = true;
	
	document.getElementById("ClientName").value = toProperCase(document.getElementById("ClientName").value);
	document.getElementById("AddressHouse").value = toProperCase(document.getElementById("AddressHouse").value);
	document.getElementById("AddressTown").value = toProperCase(document.getElementById("AddressTown").value);
	document.getElementById("AddressCounty").value = toProperCase(document.getElementById("AddressCounty").value);

	
	if ((!CheckName("ClientName", true)) && Result)
	{
		Result = false;
	}
	
	if ((!CheckPhoneNo()) && Result)
	{
		Result = false;
	}
	
	if ((!CheckEmail()) && Result)
	{
		Result = false;
	}
	
	if ((!CheckMisc("AddressHouse", true)) && Result)
	{
		Result = false;
	}
	
	if ((!CheckMisc("AddressTown", true)) && Result)
	{
		Result = false;
	}
	
	if ((!CheckMisc("AddressCounty", true)) && Result)
	{
		Result = false;
	}
	
	if ((!CheckPostcode()) && Result)
	{
		Result = false;
	}
    
	if (!Result)
	{
		alert(AlertMessage);
	}
	
	return Result;
}

function CheckPhoneNo()
{
	var InputID = "PhoneNo";
	var Input = document.getElementById(InputID);
	var Result;
	
	if ((document.getElementById(InputID).value != null) && (document.getElementById(InputID).value != ""))
	{
		Result = IsValidPhoneNo(InputID);
	}
	else
	{
		Result = true;	
	}
	
	ColourTextfield(Result, InputID);
	return Result;
}
function CheckEmail()
{
	var InputID = "Email";
	var Input = document.getElementById(InputID);
	var Result;
	
	if ((document.getElementById(InputID).value != null) && (document.getElementById(InputID).value != ""))
	{
		Result = IsValidEmail(InputID);
	}
	else
	{
		Result = true;	
	}

	ColourTextfield(Result, InputID);
	return Result;
}
function CheckPostcode()
{
	var InputID = "AddressPostcode";
	var Input = document.getElementById(InputID);
	var Result = IsValidPostcode(InputID);
	
	ColourTextfield(Result, InputID);
	
	return Result;
}
function CheckName(InputID, HighlightIfWrong)
{
	var Input = document.getElementById(InputID);
	
	if (!((Input.value==null)||(Input.value=="")))
	{
		var Splity = Input.value.split(" ");

		if (Splity.length > 1)
		{
			ColourTextfield(true, InputID);
			return true;
		}
		else
		{
			if (HighlightIfWrong)
			{
				ColourTextfield(false, InputID);
			}
			return false;
		}
	}
	else
	{
		if (HighlightIfWrong)
		{
			ColourTextfield(false, InputID);
		}
		return false;
	}
}
function CheckMisc(InputID, HighlightIfWrong)
{
	var Input = document.getElementById(InputID);
	
	if (!((Input.value==null)||(Input.value=="")))
	{
		ColourTextfield(true, InputID);
		return true;
	}
	else
	{
		if (HighlightIfWrong)
		{
			ColourTextfield(false, InputID);
		}
		return false;
	}
}

function ColourTextfield(IsCorrect, InputID)
{
	var Input = document.getElementById(InputID);
	
	if (IsCorrect)
	{
		Input.style.backgroundColor = "#ffffff";
		Input.style.borderColor = "#7f9db9";
	}
	else
	{
		Input.style.backgroundColor = "#f6a6a6";
		Input.style.borderColor = "#945656";
	}
}
