function chkEmpty(field, msg)
{
  if(field.value.search(/\S/) != -1) return true;
  alert(msg);
  field.focus();
  return false;
}

function chkSelect(field, msg)
{
  var opts = field.options;
  var sIdx = opts.selectedIndex;
  if(sIdx >= 0 && opts[sIdx].value != '') return true;
  alert(msg);
  field.focus();
  return false;
}

function chkSelectText(field, msg)
{
  var opts = field.options;
  var sIdx = opts.selectedIndex;
  if(sIdx >= 0 && opts[sIdx].text != '') return true;
  alert(msg);
  field.focus();
  return false;
}

function chkEmail(field, msg)
{
  if(field.value.search(/^([A-Za-z0-9_\.+-]+@([A-Za-z0-9-]+\.)+[A-Za-z0-9-]{2,})?$/) != -1) return true;
  alert(msg);
  field.focus();
  return false;
}

/*function chkContact(form) {
  if(form.elements.anruf.checked) {
    return chkEmpty(form.telefon, 'Bitte geben Sie Ihre Telefonnummer ein');
  }
  else {
    if(
      form.telefon.value.search(/\S/) == -1 &&
      form.email.value.search(/\S/) == -1
    ) {
      alert('Bitte geben Sie Ihre Telefonnummer oder Emailadresse ein.');
      return false;
    }
    else {
      return true;
    }
  }
}*/

function chkForm(form) {
  return (
    chkEmpty(form.name, 'Bitte geben Sie Ihren Namen ein') &&
    chkEmpty(form.telefon, 'Bitte geben Sie Ihre Telefonnummer ein') &&
    chkEmpty(form.email, 'Bitte geben Sie Ihre Emailadresse ein') &&
    chkEmail(form.email, 'Ungültige Emailadresse')
  );
}

function checkDeps(form, name)
{
  var d = deps[name];
  var v = false;
  
  if(!form.elements[name].checked) {
    for(var i=0; i<d.length; ++i) {
      form.elements[d[i]].checked = false;
    }
  }
}

function checkSubDeps(form, name)
{
  var d = deps[name];
  var v = false;
  
  for(var i=0; i<d.length; ++i) {
    if(form.elements[d[i]].checked) {
      v = true;
      break;
    }
  }
  
  form.elements[name].checked = v;
}

