//
//  $Id: script.js,v 1.1 2005-07-06 15:06:47 root Exp $
//
//  Copyright (C) 2003-2005 Licenturion GmbH
//  All rights reserved.
//

var downField;

function keyDown()
{
  this.oldLen = this.value.length;
  downField = this;
}

function keyPress(event)
{
  var code, up;

  if (navigator.appName == "Microsoft Internet Explorer")
  {
    event = window.event;
    code = event.keyCode;
  }

  else
    code = event.charCode;

  if (code >= 32)
  {
    up = String.fromCharCode(code).toUpperCase();

    if (up != 'A' && up != 'B' && up != 'C' && up != 'D' &&
        up != 'E' && up != 'F' && up != 'G' && up != 'H' &&
        up != 'J' && up != 'K' && up != 'L' && up != 'M' &&
        up != 'N' && up != 'P' && up != 'Q' && up != 'R' &&
        up != 'S' && up != 'T' && up != 'W' && up != 'X' &&
        up != 'Y' && up != 'Z' && up != '3' && up != '4' &&
        up != '7' && up != '9')
    {
      if (navigator.appName == "Netscape")
        event.preventDefault();

      else
      {
        event.returnValue = false;
        event.keyCode = 0;
      }

      return false;
    }

    code = up.charCodeAt(0);

    if (navigator.appName == "Microsoft Internet Explorer")
      event.keyCode = code

    else
    {
      event.preventDefault();
      this.value += up;

      return false;
    }
  }

  return true;
}

function keyUp(event)
{
  var code;
  var textRange;

  if (navigator.appName == "Microsoft Internet Explorer")
  {
    event = window.event;
    code = event.keyCode;
  }

  else
    code = event.keyCode;

  if (this == downField && this.nextField != null &&
      this.oldLen == 3 && this.value.length == 4)
    this.nextField.focus();

  else if (this == downField && this.prevField != null &&
           this.oldLen == 0 && this.value.length == 0 &&
           code == 8)
  {
    this.prevField.focus();

    textRange = this.prevField.createTextRange();

    if (textRange != null)
    {
      textRange.moveStart('character', 4);
      textRange.collapse();
      textRange.select();
    }
  }

  downField = null;
}

function setFilter(currName, nextName, prevName)
{
  var currForm;
  var currField;
  var nextField;
  var prevField;

  currForm = document.forms[document.forms.length - 1];

  if (currForm == null)
    return;

  currField = currForm.elements[currName];

  if (currField == null)
    return;

  nextField = currForm.elements[nextName];
  prevField = currForm.elements[prevName];

  currField.nextField = nextField;
  currField.prevField = prevField;

  currField.onkeydown = keyDown;
  currField.onkeyup = keyUp;
  currField.onkeypress = keyPress;
}

