/*************************************************************************
  Ben Botto - Benningfieldgroup - 2009-01-30
  To use this add this line to the Page_Load event for each textbox
  that needs it:
  Page.ClientScript.RegisterExpandoAttribute(TextboxName.ClientID, 
      "mymaxlength", "5");
  
  An example TextBox:
  
  <asp:TextBox id="TextBoxName" runat="server" ForeColor="black"
      TextMode="MultiLine" Rows="4" 
      onkeydown='return enforceMaxLen(event,this);' 
      onkeyup='return enforceMaxLen(event, this);'/>
*************************************************************************/
function enforceMaxLen(event, sender)
{
  var keynum;
  if (window.event) // IE
    keynum = e.keyCode;
  else if (event.which) // Netscape/Firefox/Opera
    keynum = event.which;

  // If text is pasted in truncate it onkeyup.
  if (sender.value.length > sender.mymaxlength)
  {
    document.getElementById('characters').innerHTML = '1000';
    sender.value = sender.value.substring(0, sender.mymaxlength);
    return true;
  }

  /* 
     If the text is is longer than mymaxlength and the key is not
     up, down, left, right, backspace, delete, home, end, enter,
     or tab reject the key.
  */
  if (sender.value.length >= sender.mymaxlength &&
    keynum != 37 && keynum != 38 && keynum != 39 && keynum != 40
    && keynum != 46 && keynum != 35 && keynum != 36 && keynum != 13 
    && keynum != 8 && keynum != 9)
  {
    document.getElementById('characters').innerHTML = '1000';
    return false;
  }
  
  document.getElementById('characters').innerHTML = 
    sender.value.length;
  
  return true;
}
