function ValidateAndSubmit()
{
	var ll_Error = false;
	var lc_ResetError = '<img src="images/blank.gif" width=1 height=1><br/>';
	var lc_Name = document.getElementById('txtName').value;
	var lc_CompanyName = document.getElementById('txtCompanyName').value;
	var lc_AddTelNo = document.getElementById('txtAddTelNo').value;
	var lc_EmailAddress = document.getElementById('txtEmailAddress').value;
	
	if (lc_Name.length == 0)
	{
		document.getElementById('errName').innerHTML = "Name cannot be empty";
		ll_Error = true;
	}
	else
	{
			document.getElementById('errName').innerHTML = lc_ResetError;		
	}

	if (lc_CompanyName.length == 0)
	{
		document.getElementById('errCompanyName').innerHTML = "Company Name cannot be empty";
		ll_Error = true;
	}
	else
	{
			document.getElementById('errCompanyName').innerHTML = lc_ResetError;		
	}

	if (lc_AddTelNo.length == 0)
	{
		document.getElementById('errAddTelNo').innerHTML = "Telephone Number cannot be empty";
		ll_Error = true;
	}
	else
	{
			document.getElementById('errAddTelNo').innerHTML = lc_ResetError;		
	}

	if (lc_EmailAddress.length > 0)
	{
		var lc_Error = CheckEmailFormat(lc_EmailAddress, 'Email Address');
		if (lc_Error.length > 0)
		{
			document.getElementById('errEmailAddress').innerHTML = lc_Error;
			ll_Error = true;
		}
		else
		{
			document.getElementById('errEmailAddress').innerHTML = lc_ResetError;		
		}
	}
	else
	{
			document.getElementById('errEmailAddress').innerHTML = lc_ResetError;		
	}
	if (ll_Error == false)
	{
		document.getElementById('frmEnquiry').submit();
	}
	else
	{
		document.getElementById('txtName').focus();
	}
}

function ErrMessage(lc_Current, lc_New)
{
	var lc_ErrMessage = "";
	if (lc_New.length > 0)
	{
		if (lc_Current.length > 0)
			lc_ErrMessage = lc_Current + '<br/>' + lc_New;
		else
			lc_ErrMessage = lc_New;
	}
	else
	{
		lc_ErrMessage = lc_Current;
	}
	return lc_ErrMessage;
}


function CheckEmailFormat(lc_Email, lc_ErrName)
{
	var lc_ErrMessage = "";
	var lc_CheckStdEmailAddress = "";
	var ln_Chars = lc_Email.length;
	if (ln_Chars > 0)
	{
		var ln_AtSignPos = lc_Email.indexOf('@');
		if (ln_AtSignPos > -1)
		{
			var lc_Before = lc_Email.substring(0,ln_AtSignPos);
			if (lc_Before.charAt(0) == '.')
			{
				lc_ErrMessage = ErrMessage(lc_ErrMessage,lc_ErrName + ' cannot start with a "."');				
			}
			var ln_Before_FS = lc_Before.lastIndexOf(".");
			if (ln_Before_FS > -1 && ln_Before_FS == lc_Before.length-1)
			{
				lc_ErrMessage = ErrMessage(lc_ErrMessage,lc_ErrName + ' must have at least 2 characters after the "." and before the "@"');
			}
				
		}
		else
		{
			lc_ErrMessage = ErrMessage(lc_ErrMessage,lc_ErrName + ' address must contain @ sign');
		}
		if (ln_AtSignPos < lc_Email.length-1)
		{
			var lc_After = lc_Email.substring(ln_AtSignPos+1);
			if (lc_After.charAt(0) == '.')
			{
				lc_ErrMessage = ErrMessage(lc_ErrMessage,lc_ErrName + ' cannot have a "." immediately after the "@"');				
			}
			var ln_After_FS = lc_After.lastIndexOf(".");
			if (ln_After_FS > 0)
			{
				var ln_After_FS2 = lc_After.indexOf(".");
				if (ln_After_FS2 > 0 && ln_After_FS2 != ln_After_FS)
				{
					if (ln_After_FS2 < 2)
					{
						lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' must have at least 2 characters after the "@" and before the "."');
					}
					if (ln_After_FS2 + 2 >= ln_After_FS)
					{
						lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' must have at least 2 characters between the "." characters');
					}					
				}
				else
				{
					if (ln_After_FS < 2)
					{
						lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' must have at least 2 characters after the "@" and before the "."');
					}
				}
			}
			else
			{
				lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' must contain at least one "." character after the "@"');
			}
			if (ln_After_FS > -1 && ln_After_FS == lc_After.length-1)
			{
				lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' cannot end with a "." character');
			}
			if (ln_After_FS > -1 && ln_After_FS >= lc_After.length-2)
			{
				lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' must end with at least 2 characters after the last "."');
			}			
		}
		else
		{
			lc_ErrMessage = ErrMessage(lc_ErrMessage, lc_ErrName + ' address cannot end with an @ sign');
		}	
	}
	else
	{
		lc_ErrMessage = ErrMessage(lc_ErrMessage,'Please enter a valid ' + lc_ErrName + ' address');
	}
	lc_CheckStdEmailAddress=lc_ErrMessage;
	return lc_ErrMessage;
}

