function checkRequiredField (fieldObj) {
  var ok=true;
  if (Element.hasClassName(fieldObj,'required')) {
    fieldVal=($(fieldObj).value).strip();
    if (fieldVal=='') ok=false;
    if (!ok) {
      highlightField(fieldObj);
    } else {
      Element.removeClassName(fieldObj,'highlighted');
    }
  }
  return ok;
}
function checkRequiredFields (formObj) {
  var formElements=Form.getElements(formObj);
  var ok=true;
  for (var i=formElements.length;i>-1;i--) {
    var status=checkRequiredField(formElements[i]);
    if (!status) ok=false;
  }
  if (!ok) alert('Required information missing. Check the highlighted field(s) and resubmit the form.');
  return ok;
}
function email_hider (c1,c2,c3) {
  return (c1!='' && c2!='') ? ('<a href="'+'mail'+'to'+':'+c1+'&#64;'+c2+'">'+((c3!='') ? c3 : (c1+'@'+c2))+'</a>') : '<a href="/contact.php">contact us</a>';
}
function highlightField(fieldObj) {
  Element.addClassName(fieldObj,'highlighted');
  // Kludge to get around Mozilla 'permission denied' bug
  var oldAttr=$(fieldObj).getAttribute('autocomplete');
  if (oldAttr != 'off') $(fieldObj).setAttribute('autocomplete','off');
  $(fieldObj).focus();
  if (oldAttr != 'off') $(fieldObj).setAttribute('autocomplete',oldAttr);
  $(fieldObj).blur();
}
function in_array(haystack,needle) {
  r=false;
  for (i=0,l=haystack.length;i<l;i++) {
    if (haystack[i]==needle) r=true;
  }
  return r;
}
function openHelpWindow(topic) {
  var newWin=window.open('/pages/help/'+topic,'Help','height=400,resizable=1,scrollbars=1,width=600');
  newWin.focus();
}
function set_select(ctrl,val) {
  opts=$(ctrl).options;
  for (var i=0,l=opts.length;i<l;i++) {
    if (opts[i].value==val) {
      opts[i].selected=true;
      return true;
    }
  }
  return false;
}
function validateEmail(email) {
  if (($(email).value).strip()!='') {
    var emailFilter=/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
    if (!emailFilter.test($(email).value)) {
      alert('The email address you entered appears to be invalid');
      highlightField($(email));
    } else {
      Element.removeClassName($(email),'highlighted');
    }
  }
}