function validateFormOnSubmit(theForm)
{
  var msg          = "";
  var errFirstName = validateFirstName(theForm.first_name);
  var errLastName  = validateLastName(theForm.last_name);
  var errEmail     = validateEmail(theForm.email);
  
  if (errFirstName != "")
  {
    setFocus("tbFirstName");
  }
  else if (errLastName != "")
  {
    setFocus("tbLastName");
  }
  else if (errEmail != "")
  {
    setFocus("tbEmail");
  }

  msg += validateFirstName(theForm.first_name);
  msg += validateLastName(theForm.last_name);
  msg += validateEmail(theForm.email);

  if (msg == "")
  {
    return true;
  }
  else
  {
    alert("The following field(s) are required:\n\n" + msg);
    return false;
  }
}

function validateFirstName(fld)
{
    var msg   = "";
    fld.value = trim(fld.value);
 
    if ((fld.value == "") || (fld.value.length == 0))
    {
        toggleLabel("lblFirstName", "#FF0000");
        msg = "First Name\n";
    }
    else
    {
        toggleLabel("lblFirstName", "#25408F");
    }
    return msg;
}

function validateLastName(fld)
{
    var msg   = "";
    fld.value = trim(fld.value);
 
    if ((fld.value == "") || (fld.value.length == 0))
    {
        toggleLabel("lblLastName", "#FF0000");
        msg = "Last Name\n";
    }
    else
    {
        toggleLabel("lblLastName", "#25408F");
    }
    return msg;
}

function validateEmail(fld)
{
    var msg   = "";
    fld.value = trim(fld.value);
 
    if ((fld.value == "") || (fld.value.length == 0))
    {
        toggleLabel("lblEmail", "#FF0000");
        msg = "eMail\n";
    }
    else
    {
        toggleLabel("lblLastName", "#25408F");
    }
    return msg;
}

function trim(str)
{
  return str.replace(/^\s+|\s+$/, '');
}

function toggleLabel(elemID, color)
{
    var elem = (document.getElementById) ? document.getElementById(elemID) : ((document.all) ? document.all[elemID] : null);

    if (elem)
    {
      elem.style.color = color;
    }
}

function validateNumeric(evt)
{
  evt = (evt) ? evt : ((event) ? event : null);

  if (evt)
  {
    var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : evt.which);

    if (charCode > 31 && (charCode < 48 || charCode > 57))
    {
      return false;
    }
    else
    {
      return true;
    }
  }
}

function setFocus(elemID)
{
    var elem = (document.getElementById) ? document.getElementById(elemID) : ((document.all) ? document.all[elemID] : null);

    if (elem)
    {
      elem.focus();
    }
}
