function verify(form) {
  
  var inc_format_fields = "";
  for (var i = 0; i < form.length; i++) {
      if (form.elements[i].isEmail) {
          if (!isEmail(form.elements[i].value)) {
              inc_format_fields += "\n\t" + form.elements[i].DescName;
              continue;
          }
      }
      if (form.elements[i].isRequired) {
          if (form.elements[i].value == null || form.elements[i].value == "") {
              inc_format_fields += "\n\t" + form.elements[i].DescName;
              continue;
          }
      }
  }

  if (!inc_format_fields) {
      return true;
  } else {
      alert("-The following field(s) are in incorrect format\n\t" + inc_format_fields); // this is also optional
      return false;
  }
}

function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}    
