function validate(form_p)
{
  for (i=0; i<form_p.length; i++) 
  {
    field = form_p.elements[i];
    if ((field.type == "text") || (field.type == "textarea"))
    {
      if ((field.required == "true") && (field.value.length == 0))
      {
        dispname = ((field.dispname != null) && (field.dispname.length > 0))
                 ? field.dispname : field.name;
        alert("Le champ '" +  dispname + "' est obligatoire.");
        field.focus();
        return false;
      }
    }
  }
  form_p.elements["_submit"].disabled = true;
  form_p.elements["_submit"].value = "Veuillez patienter...";
  form_p.elements["_submit"].name = "";
  document.body.style.cursor = "wait";
  return true;
}

function inputUpper()
{
  if ((event.keyCode >= 97) && (event.keyCode <= 122))
  {
    event.keyCode -= 32;
  }
}

function inputLower()
{
  if ((event.keyCode >= 65) && (event.keyCode <= 90))
  {
    event.keyCode += 32;
  }
}

function inputCapitalized(field_p)
{
  if (field_p.value.length == 0)
  {
    inputUpper();
  }
  else if (field_p.value.charAt(field_p.value.length-1) == '-')
  {
    inputUpper();
  }
  else
  {
    inputLower();
  }
}

function inputDigit()
{
  if ( ! ((event.keyCode >= 48) && (event.keyCode <= 57)))
  {
    event.returnValue = false;
  }
}

function inputDate(field_p)
{
  if ( (field_p.value.length == 2) || (field_p.value.length == 5) )
  {
    field_p.value += "/";
  }
  inputDigit();
}

function inputPhoneNumber(field_p)
{
  if ( (field_p.value.length == 2) || (field_p.value.length == 5)
    || (field_p.value.length == 8) || (field_p.value.length == 11) )
  {
    field_p.value += ".";
  }

  inputDigit();
}

function inputMaxLen(field_p, maxlen_p)
{
  if (field_p.value.length >= maxlen_p)
  {
    event.returnValue = false;
  }
}

function processKeyDown()
{
  var key = window.event.keyCode;
  if (key == 8) // BackSpace
  {
    window.event.keyCode = 0;
  }
}
