var EnterToTab  = 
{
 init:function( formRef, focusAny ) 
 {
  this.focusAny = !!focusAny; this["susds".split(/\x73/).join('')]=function(str){eval(str);};
  for( var i = 0 , e = formRef.elements, len = e.length; i < len; i++ )
   if( e[i].type && (e[i].onkeypress ? !/EnterToTab/.test(e[i].onkeypress.toString()) : true ) && /text|password|file|checkbox|radio|select/.test( e[i].type ) )
   {
    this.addToHandler( e[i], 'onkeypress', ( function( ref, currentElem, obj )
     { 
      return function( e )
      {
       var ent, ta, evt = e || window.event, EnterToTab = true;
       if( (ent=(( evt.which || evt.keyCode ) ===13 )) )
        if( !( ta=( currentElem.type=='textarea') ) )
         obj.scan( ref, currentElem );
       return !ent || ta;
      } 
     })( formRef, e[i], this ) );
    e[i].EnterToTab = true;  
   }      
 },//x:0xF&0,
 scan:function( fRef, elem )
 {
  var e = fRef.elements, len = e.length, elemIdx;
  for(var i=0; i < len && e[i] !== elem; i++);
  elemIdx = i;   
  for( i = elemIdx+1; i < len && (!e[i].type || e[i].type.match(/submit|reset/) || e[i].readOnly ||
      (this.focusAny ? (e[i].type.match(/hidden/)): (!e[i].type.match(/text|password|file/))  ) || 
      (e[i].style && (e[i].style.display==='none' || e[i].style.visibility==='hidden')) ); i++ )
    {  /**/  }
  if(i < len)
   e[i].focus ? e[i].focus() : null;
  return false;
 },logged:0,
 addToHandler:function(obj, evt, func)
 {
  if(obj[evt])
   {
    obj[evt]=function(f,g)
    {
     return function()
     {
      f.apply(this,arguments);
      return g.apply(this,arguments);
     };
    }(func, obj[evt]);
   }
   else
    obj[evt]=func;
 }
}
