function Validate2(theForm){
  var invalDat="00/00/00";
  var valDat="^([0-9]{2})/([0-9]{2})/([0-9]{4})$";
  var invalTel=/[a-z|A-Z]/;
  var valNums = /^[0-9]+$/;
  var invalChars=/[\\\"\[\]@<>]/;
  var invalStrs="http|HTTP|www|WWW|viagra|VIAGRA";
  
  if (theForm.Title){
	  if (theForm.Title.value == "" || theForm.Title.value.search(invalChars)!=-1 || theForm.Title.value.search(invalStrs)!=-1 || theForm.Title.value.length<2 || theForm.Title.value.length>10){
		alert("Please enter your Title.");
		theForm.Title.select();
		return (false);
	  }
  }
  if (theForm.Forename){
	  if (theForm.Forename.value == "" || theForm.Forename.value.search(invalChars)!=-1 || theForm.Forename.value.search(invalStrs)!=-1 || theForm.Forename.value.length<2){
		alert("Please enter your Forename.");
		theForm.Forename.select();
		return (false);
	  }
  }
  if (theForm.Surname){
	  if (theForm.Surname.value == "" || theForm.Surname.value.search(invalChars)!=-1 || theForm.Surname.value.search(invalStrs)!=-1 || theForm.Surname.value.length<2){
		alert("Please enter your Surname.");
		theForm.Surname.select();
		return (false);
	  }
  }
  if (theForm.Name){
	  if (theForm.Name.value == "" || theForm.Name.value == "Your Name" || theForm.Name.value.search(invalChars)!=-1 || theForm.Name.value.search(invalStrs)!=-1 || theForm.Name.value.length<2){
		alert("Please enter your Name.");
		theForm.Name.select();
		return (false);
	  }
  }
  if (theForm.Name2){
	  if (theForm.Name2.value == "" || theForm.Name2.value.search(invalChars)!=-1 || theForm.Name2.value.search(invalStrs)!=-1 || theForm.Name2.value.length<2){
		alert("Please enter your Friends Name.");
		theForm.Name2.select();
		return (false);
	  }
  }
  if (theForm.Company2){
	  if (theForm.Company2.value == "" || theForm.Company2.value.search(invalChars)!=-1 || theForm.Company2.value.search(invalStrs)!=-1 || theForm.Company2.value.length<2){
		alert("Please enter your Company Name.");
		theForm.Company2.select();
		return (false);
	  }
  }
  if (theForm.Address1){
	  if (theForm.Address1.value == "" || theForm.Address1.value.search(invalChars)!=-1 || theForm.Address1.value.search(invalStrs)!=-1 || theForm.Address1.value.length<2){
		alert("Please enter your Street Address.");
		theForm.Address1.select();
		return (false);
	  }
  }
  if (theForm.Town){
	  if (theForm.Town.value == "" || theForm.Town.value.search(invalChars)!=-1 || theForm.Town.value.search(invalStrs)!=-1 || theForm.Town.value.length<2){
		alert("Please enter your Town.");
		theForm.Town.select();
		return (false);
	  }
  }
  //if (theForm.PostCode){
	  //if (theForm.PostCode.value == "" || theForm.PostCode.value.search(invalChars)!=-1 || theForm.PostCode.value.search(invalStrs)!=-1 || theForm.PostCode.value.length<2){
		//alert("Please enter your Post Code.");
		//theForm.PostCode.select();
		//return (false);
	  //}
  //}
  if (theForm.Phone){
	  if (theForm.Phone.value == "" || theForm.Phone.value.search(invalChars)!=-1 || theForm.Phone.value.search(invalTel)!=-1 || theForm.Phone.value.search(invalStrs)!=-1 || theForm.Phone.value.length<11){
		alert("Please enter a valid Phone Number.");
		theForm.Phone.select();
		return (false);
	  }
  }
  if (theForm.Email){
	  if (theForm.Email.value == "" || theForm.Email.value == "Email Address"){
		alert("Please enter a valid email address.");
		theForm.Email.select();
		return (false);
	  }
  }
  if (theForm.Email2){
	  if (theForm.Email2.value == "" || theForm.Email2.value == "Email Address"){
		alert("Please enter a valid email address.");
		theForm.Email2.select();
		return (false);
	  }
  }
  if (theForm.Status){
	  if (theForm.Status[0].checked == false && theForm.Status[1].checked == false){
		alert("Please indicate whether you wish to be a reseller or purchase on behalf of a group.");
		//theForm.DPNText.select();
		return (false);
	  }
  }
  if (theForm.Interest1){
	  //if (theForm.Interest[0].checked == false && theForm.Interest[1].checked == false && theForm.Interest[2].checked == false && theForm.Interest[3].checked == false && theForm.Interest[4].checked == false){
	  if (theForm.Interest1.checked == false && theForm.Interest2.checked == false && theForm.Interest3.checked == false && theForm.Interest4.checked == false && theForm.Interest5.checked == false){
		alert("Please select at least one area of interest.");
		//theForm.DPNText.select();
		return (false);
	  }
  }
  // required if 'Other' is selected for interests
  if (theForm.Comments && theForm.Interest5){
	  if (theForm.Interest5.checked == true && theForm.Comments.value == "" || theForm.Comments.value.search(invalChars)!=-1 || theForm.Comments.value.search(invalStrs)!=-1){
		alert("Please enter your requirements without any special characters or html mark-up.");
		theForm.Comments.select();
		return (false);
	  }
  }
  if (theForm.Sides){
	  if (theForm.Sides[0].checked == false && theForm.Sides[1].checked == false){
		alert("Please indicate whether you would like single or double sided printing.");
		return (false);
	  }
  }
  if (theForm.Print){
	  if (theForm.Print[0].checked == false && theForm.Print[1].checked == false){
		alert("Please indicate whether you would like one or two colour printing.");
		return (false);
	  }
  }
  if (theForm.Colour1){
	  if (theForm.Colour1.checked == false && theForm.Colour2.checked == false && theForm.Colour3.checked == false && theForm.Colour4.checked == false && theForm.Colour5.checked == false && theForm.Colour6.checked == false && theForm.Colour7.checked == false && theForm.Colour8.checked == false){
		alert("Please select at least one colour for your balloons.");
		return (false);
	  }
  }
  // used in personalised footballs form
  if (theForm.field1){ 
	  if(theForm.field1.value == "" && theForm.field2.value == "" && theForm.field3.value == ""){
		alert("Please enter your personalised text.");
		theForm.field1.select();
		return (false);
	  }
	  // field1 can only be blank or contain numbers
	  if(theForm.field1.value == "" || theForm.field1.value.match(valNums)){
	  	return true;
	  }else{
		alert("This field can only contain numbers.");
		theForm.field1.select();
		return (false);
	  }
  }
  
  if (theForm.DPN){
	  if (theForm.DPN.checked == false){
		alert("Please make sure that you read and agree to the terms in our Data Protection Notice.");
		theForm.DPNText.select();
		return (false);
	  }
  }
  if (theForm.Email){
  	return (emailCheck(theForm.Email.value)); 								//validate using routines in validemail.js
  }
  if (theForm.Email2){
  	return (emailCheck(theForm.Email2.value)); 								//validate using routines in validemail.js
  }
  return (true);
}
