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('Ungültige E-Mail-Adresse');
      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, "Das Feld 'Name' muss ausgefüllt werden") == false) {
  	highlightelement(lastname);
  	return;
  }
  
  if (validate_required(companyname, "Das Feld 'Firma' muss ausgefüllt werden") == false) {
    highlightelement(companyname);
    return;  
  }
  
  if (validate_required_select(companycountry, "Das Feld 'Land' muss ausgefüllt werden") == false) {
    highlightelement(companycountry);
    return;
  }
  
  if (validate_required(companyaddresspart1, "Das Feld 'Adresse' muss ausgefüllt werden") == false) {
    highlightelement(companyaddresspart1);
    return;
  }
  
  if (validate_required(companyzip, "Das Feld 'PLZ' muss ausgefüllt werden") == false) {
    highlightelement(companyzip);
    return;
  }
  
  if (validate_required(companycity, "Das Feld 'Stadt' muss ausgefüllt werden") == false) {
    highlightelement(companycity);
    return;
  }
  
  if (validate_required_code_phone(countrycodephone, "Die Landesvorwahl im Feld 'Telefon' muss ausgefüllt werden!") == false) {
    highlightelement(countrycodephone);
    return;
  }
  
  if (validate_required(perfixphone, "Die Ortsvorwahl im Feld 'Telefon' muss ausgefüllt werden") == false) {
    highlightelement(perfixphone);
    return;
  }
  
  if (validate_required(numberphone, "Die Telefonnummer im Feld 'Telefon' muss ausgefüllt werden") == false) {
    highlightelement(numberphone);
    return;
  }
  
  if (validate_required(email, "Das Feld 'E-Mail' muss ausgefüllt werden") == false) {
    highlightelement(email);
    return;
  }
  
  if (validate_required_select(contacttype, "Das Feld 'Kontaktart' muss ausgefüllt werden") == false) {
    highlightelement(contacttype);
    return;
  }
  
  if (validate_email(form_name, 'email') == false) {
    highlightelement(email);
    return;
  }
  
  if (check_request == true) {
    if (validate_required(form.elements['notes'], "Das Feld 'Ihre Anfrage' muss ausgefüllt werden") == false) {
      highlightelement(form.elements['notes']);
      return;
    }
  }

  if (check_interested_in == true) {
    if (validate_required_select(form.elements['interestedin'], "Das Feld 'Interessiert in' muss ausgefüllt werden") == false) {
      highlightelement(form.elements['interestedin']);
      return;
    }
  }

  form.submit();
}
