function checkForm(formType)
{
  if (formType == "brochure")
  {
    atLeastOneModelChosen = false;
    for(i=0; i<document.brochureForm.models.options.length; i++)
	
	{
		  if (document.brochureForm.models.options[i].selected)
		  {
			atLeastOneModelChosen = true;
			break;
		  }
	}
	
    if (!atLeastOneModelChosen)
	{
      alert('Please choose the model you\'d like to receive a brochure for.');
	  document.brochureForm.models.focus();
	  return false
    }
	
    if (document.brochureForm.realname.value == "")
    {
      alert ('Please enter your name.');
      document.brochureForm.realname.focus();
	  return false;
    }
	 if (document.brochureForm.subjecttest.value != "")
    {
      alert ('Please don\'t spam me.');
      document.brochureForm.subjecttest.focus();
	  return false;
    }
    if (document.brochureForm.address.value == "")
    {
      alert ('Please enter your address.');
      document.brochureForm.address.focus();
	  return false;
    }
    if (document.brochureForm.postcode.value == "")
    {
      alert ('Please enter your postcode.');
      document.brochureForm.postcode.focus();
	  return false;
    }
	if (document.brochureForm.canTelephoneMe.checked)
	{
      if (document.brochureForm.telephone.value == "")
      {
        alert ('Please enter your telephone number if you would like us to contact you by phone.');
        document.brochureForm.telephone.focus();
	    return false;
      }
	}
    if (document.brochureForm.email.value == "")
    {
      alert ('Please enter your Email address in case we need to contact you about your brochure.');
      document.brochureForm.email.focus();
	  return false;
    }
    if (!checkEmailAddress(document.brochureForm.email.value))
    {
      alert ('Please enter a valid Email address.');
      document.brochureForm.email.focus();
	  return false;
    }
    else
    {
      return true;
    }
  }
  
  
  if (formType == "testDrive")
  {
    atLeastOneModelChosen = false;
    for(i=0; i<document.testDriveForm.models.options.length; i++)
	{
	  if (document.testDriveForm.models.options[i].selected)
	  {
        atLeastOneModelChosen = true;
	    break;
	  }
	}
    if (!atLeastOneModelChosen)
	{
      alert('Please choose the model you\'d like to test drive.');
	  document.testDriveForm.models.focus();
	  return false
    }
    if (document.testDriveForm.realname.value == "")
    {
      alert ('Please enter your name.');
      document.testDriveForm.realname.focus();
	  return false;
    }
	 if (document.testDriveForm.subjecttest.value != "")
    {
      alert ('Please don\'t spam me.');
      document.testDriveForm.subjecttest.focus();
	  return false;
    }
 
		if (document.testDriveForm.contactByEmail.checked)
	{
      if (document.testDriveForm.email.value == "")
      {
        alert ('Please enter your Email address if you would like to arrange your test drive by Email.');
        document.testDriveForm.email.focus();
	    return false;
      }
      if (!checkEmailAddress(document.testDriveForm.email.value))
      {
        alert ('Please enter a valid Email address.');
        document.testDriveForm.email.focus();
	    return false;
      }
	}
	else if (document.testDriveForm.contactByPhone.checked)
	{
      if (document.testDriveForm.telephone.value == "")
      {
        alert ('Please enter your telephone number if you would like to arrange your test drive by phone.');
        document.testDriveForm.telephone.focus();
	    return false;
      }
	}
    else
    {
      return true;
    }
  }
  
  
  
  
  if (formType=="contactUs")
  {
    if (document.contactUsForm.realname.value == "")
    {
      alert ('Please enter your name.');
      document.contactUsForm.realname.focus();
	  return false;
    }
    if (document.contactUsForm.email.value == "")
    {
      alert ('Please enter your Email address.');
      document.contactUsForm.email.focus();
	  return false;
    }
    if (!checkEmailAddress(document.contactUsForm.email.value))
    {
      alert ('Please enter a valid Email address.');
      document.contactUsForm.email.focus();
	  return false;
    }
	 if (document.contactUsForm.subjecttest.value != "")
    {
    alert ('Are you trying to spam me.');
    document.contactUsForm.subjecttest.focus();
	return false;
    }
	if (document.contactUsForm.message.value == "")
    {
      alert ('Please tell us how we can help you.');
      document.contactUsForm.message.focus();
	  return false;
    }
	else
	{
	  return true;	  
	}
  }
}

function checkEmailAddress(emailAddress)
{
  var allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.@-_";
  var emailLength = emailAddress.length;
  var atSignPosition = 0;
  var finalDotPosition = 0;
  var numberOfDots = 0;
  var numberOfAtSigns = 0;

  if (emailLength < 5)
  {
    return false;
  }

  for (i = 0; i < emailLength ;i ++)
  {
    if (allowed.indexOf(emailAddress.charAt(i))<0)
    {
      return (false);
    }
    if ((emailAddress.charAt(i)) == "@")
    {
      numberOfAtSigns ++;
      atSignPosition = i;
    }
    else
    {
      if ((emailAddress.charAt(i)) == ".")
      {
        numberOfDots ++;
        finalDotPosition = i;
      }
    }
  }
  if (numberOfDots == 0)
  {
    return (false);
  }
  if (numberOfAtSigns != 1)
  {
    return (false);
  }
  if (atSignPosition > finalDotPosition)
  {
    return (false);
  }
  if (finalDotPosition == (emailLength-1))
  {
    return (false);
  }
  return (true);
}

