/*==============================================================================
  Versão   : 1.0
  Autor    : Evandro Souza
  Data     : 23/10/2007
  Objetivo : Salto entre campos de formulários, que possuem a propriedade
             MAXLENGTH definida, quando o comprimento total é atingido.

  Versão   : 1.1
  Autor    : Evandro Souza
  Data     : 16/01/2008
  Objetivo : Correção da verificação do tipo de navegador.
  ==============================================================================
*/
if( document.captureEvents && Event.KEYUP ) {
  document.captureEvents( Event.KEYUP );
}

document.onkeyup = checkLength;

function checkLength(event)
{  
   if ( typeof event == "undefined" ) event = window.event;

   var whichCode     = (window.event) ? event.keyCode : event.which;
   var senderElement = (event.target) ? event.target  : event.srcElement;

   var alphaCheck = ' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-0123456789`';
   if ( alphaCheck.indexOf( String.fromCharCode( whichCode ) ) == -1 ) return;

   if ( !senderElement.getAttribute("maxlength") ) return;

   if ( senderElement.value.length < senderElement.getAttribute("maxlength") ) return;

   var senderForm   = senderElement.form;
   var formElements = senderForm.elements;

   var nextElement;

   for ( var i=0; i < formElements.length; i++ ) 
       if ( senderElement == formElements[i] && ( nextElement = formElements[i+1] ) )
          if (!nextElement.disabled) 
             if ( nextElement.focus ) { 
                nextElement.focus();
                if ( nextElement.select )
                   if ( nextElement.type == "text" ) nextElement.select();
             }

}
