var agent  = navigator.userAgent.toLowerCase();
var isNN = (agent.indexOf("netscape")!=-1);
var isOpera = (agent.indexOf("opera")!=-1);
var isIE = (agent.indexOf("msie") != -1);

function autoTab(eCtrl,len, e)
{
  var keyCode;
  var filter;

  if (isOpera | isIE)
  {
      keyCode = e.keyCode;
      filter = [0,8,9,16,17,18,37,38,39,40,46];
  }
  else if (isNN)
  {
      keyCode = e.which;
      filter = [0,8,9];
  }

  if(eCtrl.value.length >= len && !containsElement(filter,keyCode))
  {
      eCtrl.value = eCtrl.value.slice(0, len);
      eCtrl.form[(getIndex(eCtrl)+1) % eCtrl.form.length].focus();
  }


  function containsElement(arr, ele)
  {

      var found = false, index = 0;

      while(!found && index < arr.length)

        if(arr[index] == ele)
            found = true;
        else
            index++;

      return found;
  }

  function getIndex(eCtrl)
  {

      var index = -1, i = 0, found = false;

      while (i < eCtrl.form.length && index == -1)

        if (eCtrl.form[i] == eCtrl) index = i;
        else i++;

      return index;
  }
  return true;
}
