function validateForm(sFormName){
  var currentType;
  var currentTitle;
  var bIsRequired;  var bIsRequiredEmail;
  var sAlertMsg;  var sInvalidMsg;
  var currentValue;
  var currentLabel;  var currentEmailLabel;
  sAlertMsg = "";  sInvalidMsg = "";
  var sHeaderAlertMsg = "ERROR: The following fields are required:\n";  var sHeaderInvalidMsg = "ERROR: The following fields are invalid:\n";  
  for (i=0; i<document.forms[sFormName].elements.length;i++)  {
    currentType = document.forms[sFormName].elements[i].type;
    currentTitle = trim(document.forms[sFormName].elements[i].title);
    currentValue = trim(document.forms[sFormName].elements[i].value);
    bIsRequired = (currentTitle.substr(0,3)=='RQD');    bIsRequiredEmail = (currentTitle.substr(0,4)=='ERQD');
    currentLabel = currentTitle.substr(3);    currentEmailLabel = currentTitle.substr(4);
    if (bIsRequired==true)    {
      //alert(currentType);      if ((currentType=='text')||(currentType=='textarea')||(currentType=='password'))      {
        if (trim(currentValue).length==0){
          sAlertMsg = sAlertMsg+'               - '+currentLabel+'\n';
        }
      }
      else if ((currentType=='select-one')||(currentType=='select-multiple'))      {
        if ((currentValue==0)||(currentValue=="0"))        {
          sAlertMsg = sAlertMsg+'               - '+currentLabel+'\n';
        }
      }
    }    else if (bIsRequiredEmail==true)    {
      //alert(currentType);      if (currentType=='text')      {
        if (trim(currentValue).length==0)        {
          sAlertMsg = sAlertMsg+'               - '+currentEmailLabel+'\n';
        }        else        {
          if (!isEmailValid(currentValue))
          {            if (currentValue.toUpperCase() != 'NOT FOUND')            {
              sInvalidMsg = sInvalidMsg+'               - '+currentEmailLabel+'\n';            }
          }        }
      }
    }    
  }
  if ((sAlertMsg.length > 0 || sInvalidMsg.length > 0))  {    if (sAlertMsg.length > 0)
    {
      sAlertMsg = sHeaderAlertMsg + sAlertMsg;
    }
    
    if (sInvalidMsg.length > 0)
    {      if (sAlertMsg.length > 0)
      {        sAlertMsg = sAlertMsg + '\n';
      }        
      sAlertMsg = sAlertMsg + sHeaderInvalidMsg + sInvalidMsg;
    }    
    alert(sAlertMsg);
    return false;
  }
  else
  {
    return true;
  }
}

function trim(inputString){
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function


function IsNumeric(strString)
//  check for valid numeric strings	
{
var strValidChars = "0123456789";
var strChar;
var blnResult = true;var intCount = 0;

if (strString.length == 0) return false;

//  test strString consists of valid characters listed above
for (intCount = 0; intCount < strString.length && blnResult == true; intCount++)
   {
   strChar = strString.charAt(intCount);
   if (strValidChars.indexOf(strChar) == -1)
      {
      blnResult = false;
      }
   }
return blnResult;
}
