function limit_chars(obj, limit)
{
   if (obj == null)
      return;

   if (obj.value.length > limit)
      obj.value = obj.value.substr(0, limit);
}

function setlabel_onfocus(obj, label)
{
   if (obj.value == label)
   {
      obj.value = "";
   }

   obj.className = obj.className.replace(/ input_unfocused/g, "");
}

function setlabel_onblur(obj, label)
{
   if (obj.value == "")
   {
      obj.value = label;
      obj.className += " input_unfocused";
   }
}

var people_err = false;
function validate_people(form, label_qf, label_qmi, label_qn, label_qc)
{
   //if the input values are the same as the labels, empty them
   if (form.qf.value == label_qf)
      form.qf.value = "";
   if (form.qmi.value == label_qmi)
      form.qmi.value = "";
   if (form.qn.value == label_qn)
      form.qn.value = "";

   //replace dashes with spaces
   form.qf.value = form.qf.value.replace(/-/g, " ");
   form.qmi.value = form.qmi.value.replace(/-/g, " ");
   form.qn.value = form.qn.value.replace(/-/g, " ");

   var valid = true;
   var count = 0;
   var regex_nonempty = /[a-zA-Z]{2,}/;
   if (form.qf != null && regex_nonempty.test(form.qf.value))
      count++;
   if (form.qn != null && regex_nonempty.test(form.qn.value))
      count++;
   if (form.qs.selectedIndex > 0)
      count++;
   if (count < 2)
      valid = false;
   if (form.qf.value.length == 1 || form.qn.value.length == 1)
      valid = false;

   //ensure that the field has a value that is not just whitespace or invalid characters
   var regex_blacklist = /[^a-zA-Z \']/;
   if (regex_blacklist.test(form.qf.value))
      valid = false;
   if (regex_blacklist.test(form.qn.value))
      valid = false;

   if (!valid)
   {
      setlabel_onblur(form.qf, label_qf);
      setlabel_onblur(form.qmi, label_qmi);
      setlabel_onblur(form.qn, label_qn);
      var errmsg = document.getElementById("people_validation");
      var err = "Please enter at least two of the following: First Name, Last Name, State. <br> Names may only contain letters and must be at least 2 letters long.";
      if (people_err)
      {
         people_err = false;
         errmsg.style.background = '#ff6800';
         errmsg.innerHTML = err;
         errmsg.style.display = "block";
      }
      else
      {
         people_err = true;
         errmsg.style.background = '#ff0000';
         errmsg.innerHTML = err;
         errmsg.style.display = "block";
      }
   }
   else
   {
      people_err = 0;
      errmsg.style.display = "none";
   }

   return valid;
}

var background_err = false;
function validate_background(form, label_qf, label_qmi, label_qn, label_qc, label_qa)
{
   //if the input values are the same as the labels, empty them
   if (form.qf.value == label_qf)
      form.qf.value = "";
   if (form.qmi.value == label_qmi)
      form.qmi.value = "";
   if (form.qn.value == label_qn)
      form.qn.value = "";
   if (form.qc != null && form.qc.value == label_qc)
      form.qc.value = "";
   if (form.qa != null && form.qa.value == label_qa)
      form.qa.value = "";

   //replace dashes with spaces
   form.qf.value = form.qf.value.replace(/-/g, " ");
   form.qmi.value = form.qmi.value.replace(/-/g, " ");
   form.qn.value = form.qn.value.replace(/-/g, " ");

   var valid = true;
   var count = 0;
   var regex_nonempty = /[a-zA-Z]{2,}/;
   if (form.qf != null && regex_nonempty.test(form.qf.value))
      count++;
   if (form.qn != null && regex_nonempty.test(form.qn.value))
      count++;
   if (form.qs.selectedIndex > 0)
      count++;
   if (count < 3)
      valid = false;
   if (form.qf.value.length == 1 || form.qn.value.length == 1)
      valid = false;

   //ensure that the field has a value that is not just whitespace or invalid characters
   var regex_blacklist = /[^a-zA-Z \']/;
   if (regex_blacklist.test(form.qf.value))
      valid = false;
   if (regex_blacklist.test(form.qn.value))
      valid = false;

   if (!valid)
   {
      setlabel_onblur(form.qf, label_qf);
      setlabel_onblur(form.qmi, label_qmi);
      setlabel_onblur(form.qn, label_qn);
      if (form.qc != null)
         setlabel_onblur(form.qc, label_qc);
      if (form.qa != null)
         setlabel_onblur(form.qa, label_qa);
      var errmsg = document.getElementById("people_validation");
      var err = "Please enter a First Name, Last Name and State. <br> Names may only contain letters and must be at least 2 letters long.";
      if (people_err)
      {
         people_err = false;
         errmsg.style.background = '#ff6800';
         errmsg.innerHTML = err;
         errmsg.style.display = "block";
      }
      else
      {
         people_err = true;
         errmsg.style.background = '#ff0000';
         errmsg.innerHTML = err;
         errmsg.style.display = "block";
      }
   }
   else
   {
      people_err = 0;
      errmsg.style.display = "none";
   }

   return valid;
}
