function validate_email(field) {
	field=trim(field); 
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars= /[\!\"\?\$\%\^\&\*\+\=\{\}\~\#\?\(\)\<\>\,\;\:\\\/\"\[\]\ ]/;
	
	if ((!(emailFilter.test(field))) || (field.match(illegalChars))) {
		return 0;
	} else {
		return 1;
	}
}

function trim (str) {
	str = this != window? this : str;
	return str.replace(/^\s+|\s+$/g,"");
}

function validate_phone(field){
	var telFilter=/^([0-9\- ])+$/;
	if (!telFilter.test(field)) {return 0;} else {return 1;}
}

function validateEmailForm () {
	var valid = true;
	var msg = "";
	var str = document.enqForm.telephone.value;
	var strlen = str.length;
	
	if(document.enqForm.emaildealer.value != "Email"){
		if(!validate_email(document.enqForm.emaildealer.value)){
			msg = msg + "Please enter a valid email address.\n";
			valid = false;
		}
	} else {
		msg = msg + "Please enter your email addess.\n";
		valid = false;
	}
	
	if(document.enqForm.telephone.value != 'Telephone'){
		if((!validate_phone(document.enqForm.telephone.value)) || ((strlen<11) || (strlen>15))){
			msg = msg + "Please enter a valid UK telephone number between 11 and 15 digits in length.\n";
			valid = false;
		}
	}
	if (!valid) alert (msg);
	return valid;
}

function ValidateForm() {
	var valid = true;
	var msg = '';		
    
  fillBox(document.search_select.pc_F);
      
  if(document.search_select.pc_F.value == ' POSTCODE'){document.search_select.pc_F.value = ' Postcode'; }

  if(document.search_select.pc_F.value != ' Postcode' || document.search_select.pc_F.value.length==0) {
    if(!validate_postcode(document.search_select.pc_F.value)) {
      valid = false;
	    msg = msg + 'Please enter a valid UK Postcode.\n';
    }
  }

if (document.getElementById('distance_F') != null) {

	if(document.getElementById('peak_yn0')){
		if(document.getElementById('peak_yn0').checked){
			document.search_select.rpeakh.value = 'Y';
		} else {
			document.search_select.rpeakh.value = 'N';
		}
	    document.search_select.distance_Fh.value = document.getElementById('distance_F').value;
		document.search_select.drivetime_Fh.value = document.getElementById('drivetime_F').value;
  }		
	if(document.getElementById('distance_F').value!=0 && document.getElementById('distance_F').value!=1000){			
		if(document.search_select.pc_F.value == ' Postcode'){
			msg = msg + 'Please enter a valid UK Postcode.\n';
			valid = false;
		}
	}
}

	if(document.search_select.new_yn_F[0].checked){
		if((document.search_select.manufacturer_F.value == '-Any-')||(document.search_select.manufacturer_F.value == '')){
			msg = msg + 'Please, choose a manufacturer.\n';
			valid = false;
		}			
	}
	if(!valid) alert(msg);
	return valid;
}

function validateAdvertisePhoneNumber(phone)
{
	var phoneFilter1 = /^([0-9]{11})$/; // e.g. 08441234567
	var phoneFilter2 = /^([0-9]{5}) ([0-9]{6})$/; // e.g. 08441 234567
	var phoneFilter3 = /^([0-9]{4}) ([0-9]{7})$/; // e.g. 0844 1234567
	var phoneFilter4 = /^([0-9]{4}) ([0-9]{3}) ([0-9]{4})$/; // e.g. 0844 123 4567

	if (phoneFilter1.test(phone) || phoneFilter2.test(phone) || phoneFilter3.test(phone) || phoneFilter4.test(phone))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function validateAdvertiseForm(fm)
{
	var msg = '';

	oName = fm.req_contact_name_F;
	oPhone = fm.req_contact_phone_F;
	oEmail = fm.req_contact_email_F;

	if (oName.value == '')
	{
		msg += "Please enter your Contact name.\n";
		oName.focus();
	}

	if (oPhone.value == '')
	{
		if (msg == '')
		{
			oPhone.focus();
		}

		msg += "Please enter your Contact telephone number.\n";
	}
	else if (!validateAdvertisePhoneNumber(oPhone.value))
	{
		if (msg == '')
		{
			oPhone.focus();
		}

		msg += "Please enter a valid Contact telephone number.\n";
	}

	if (!validate_email(oEmail.value))
	{
		if (msg == '')
		{
			oEmail.focus();
		}

		msg += "Please enter a valid Contact email address.\n";
	}

	if (msg != '')
	{
		alert(msg);
		return false;
	}
	else
	{
		return true;
	}
}