function isblank(str)
{
  for(var ibI = 0; ibI < str.length; ibI++) 
  {
    var char = str.charAt(ibI);
    if ((char != ' ') && (char != '\n') && (char != '\t')) return false;
  }
  return true;
}

function verify(formName,bgBad)
{
  var msg;
  var passMsg;
  var empty_fields = "";
  var errors = "";
  var bgOk = "#FFFFFF";
  var emailPattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
  
  debugString = ""
  for(var i = 0; i < formName.length; i++)
  {
    var element = formName.elements[i];

    if (((element.type == "text") || (element.type == "textarea")) && !element.optional)
    {    
      if ((element.value == null) || (element.value == "") || isblank(element.value))
      {
        element.style.backgroundColor = bgBad;
        empty_fields += "\n          " + element.errname;
        //continue;
      }
      else 
      {
        if (element.name == "email")
        {
          if (emailPattern.test(element.value))
          {
            element.style.backgroundColor = bgOk;
          }
          else
          {
            element.style.backgroundColor = bgBad;
            empty_fields += "\n          " + element.errname + " is invalid";
          }
        }
        else
        {
          element.style.backgroundColor = bgOk;
        }
      }
    } 
    else if ((element.type == "select-one") && !element.optional)
    {
      if ((element.options.value == null) || (element.options.value == "") || isblank(element.options.value)) 
      {
        element.style.backgroundColor = bgBad;
        empty_fields += "\n          " + element.errname;
        //continue;
      }
      else 
      {
        element.style.backgroundColor = bgOk;
      }
    }
    else if (element.name == "prod0")
    {
      q1Checked = false;
      for (var x=0 ; x<=6 ; x++)
      {
        if (eval("compform.prod" + x + ".checked"))
        {
          q1Checked = true;
        }
      }
      
      if (!q1Checked)
      {
        empty_fields += "\n          Question 1";
      }
    }
  }

  if (!empty_fields)
  {
    return true;
  }
  else
  {
    msg  = "______________________________________________________\n\n"
    msg += "The form was not submitted because of the following error(s).\n";
    msg += "Please correct these error(s) and re-submit.\n";
    msg += "______________________________________________________\n\n"
  
    msg += "- The following mandatory field(s) are empty or contain errors:" + empty_fields + "\n";
    if (errors)
    {
      msg += "\n";
    }
    msg += errors;
    msg += "\n-   Empty fields or fields with errors are indicated.\n";
    alert(msg);
    return false;
  }
}