function validate_required(field, alerttxt)
{
  with (field) {
	  if (value==null||value=="") {
	    	alert(alerttxt);
	    	return false;
	  }
	  else {
	    	return true;
	  }
  }
}

function validate_required_select(field, alerttxt)
{
  with (field) {
	  if (selectedIndex == 0 || options[selectedIndex].text.match(/^-{5,}/) != null) {
	    	alert(alerttxt);
	    	return false;
	  }
	  else {
	    	return true;
	  }
  }
}

function validate_required_code_phone(field, alerttxt)
{
  with (field) {
	  if (value==null || value=="" || value == "+") {
	    	alert(alerttxt);
	    	return false;
	  }
	  else {
	    	return true;
	  }
  }
}

function validate_email(form_id, email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   if(reg.test(address) == false) {
      alert('Invalid email address');
      return false;
   }
}

function highlightelement(element)
{
  with (element) {
    focus();
    select();
    style.borderColor = "red";
    //style.borderWidth = 3;
  }
}

function validate_form(form_name, check_request, check_interested_in)
{
  var form = document.forms[form_name];
  var lastname = form.elements['lastname'];
  var companyname = form.elements['companyname'];
  var companycountry = form.elements['companycountry'];
  var companyaddresspart1 = form.elements['companyaddresspart1'];
  var companyzip = form.elements['companyzip'];
  var companycity = form.elements['companycity'];
  var countrycodephone = form.elements['countrycodephone'];
  var perfixphone = form.elements['perfixphone'];
  var numberphone = form.elements['numberphone'];
  var email = form.elements['email'];
  var contacttype = form.elements['contacttype'];

 
  if (validate_required(lastname, "Last name must be filled in") == false) {
  	highlightelement(lastname);
  	return;
  }
  
  if (validate_required(companyname, "Company name must be filled in") == false) {
    highlightelement(companyname);
    return;  
  }
  
  if (validate_required_select(companycountry, "Country must be filled in") == false) {
    highlightelement(companycountry);
    return;
  }
  
  if (validate_required(companyaddresspart1, "Company address must be filled in") == false) {
    highlightelement(companyaddresspart1);
    return;
  }
  
  if (validate_required(companyzip, "Postal code must be filled in") == false) {
    highlightelement(companyzip);
    return;
  }
  
  if (validate_required(companycity, "City must be filled in") == false) {
    highlightelement(companycity);
    return;
  }
  
  if (validate_required_code_phone(countrycodephone, "Country phone code must be filled in") == false) {
    highlightelement(countrycodephone);
    return;
  }
  
  if (validate_required(perfixphone, "Phone prefix code must be filled in") == false) {
    highlightelement(perfixphone);
    return;
  }
  
  if (validate_required(numberphone, "Phone number must be filled in") == false) {
    highlightelement(numberphone);
    return;
  }
  
  if (validate_required(email, "Email must be filled in") == false) {
    highlightelement(email);
    return;
  }
  
  if (validate_required_select(contacttype, "Contact type must be filled in") == false) {
    highlightelement(contacttype);
    return;
  }
  
  if (validate_email(form_name, 'email') == false) {
    highlightelement(email);
    return;
  }
  
  if (check_request == true) {
    if (validate_required(form.elements['notes'], "The Your request field must be filled in") == false) {
      highlightelement(form.elements['notes']);
      return;
    }
  }

  if (check_interested_in == true) {
    if (validate_required_select(form.elements['interestedin'], "The Interested in field must be filled in") == false) {
      highlightelement(form.elements['interestedin']);
      return;
    }
  }

  form.submit();
}

