function checkRequiredField (fieldObj) {
  var ok=true;
  if (Element.hasClassName(fieldObj,'required')) {
    fieldVal=myTrim($(fieldObj).value);
    if (fieldVal=='') ok=false;
    if (!ok) {
      Element.addClassName(fieldObj,'highlighted');
      // new Effect.Highlight(fieldObj);
      // 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);
    } else {
      Element.removeClassName(fieldObj,'highlighted');
    }
  }
  return ok;
}
function checkRequiredFields (formObj) {
  var focusFieldIndex=-1;
  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 try again.');
  return ok;
}
function myTrim (str) {
  return str.replace(/^\s+|\s+$/g, '');
}
