var form_field_length = 0;

function TabNext(obj, event, len, next_field) {

	if (event == "down") {
		// form_field_length = obj.value.length;

	} else if (event == "up") {
        s = new String(obj.value);
        obj.value = s.replace(/ /g, "");
		if (obj.value.length != form_field_length) {
			form_field_length = obj.value.length;
			if (form_field_length == len) {
				next_field.focus();
			}
		}
	}
}



var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function AutoTab(input, len, e) {

  var keyCode = (isNN) ? e.which : e.keyCode; 
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

  if (input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    // input.form[(getIndex(input)+1) % input.form.length].focus();
    input.form[(getIndex(input)+1) % input.form.length].select();
  }

  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(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)
      index = i;
    else
      i++;
    return index;
  }

  return true;
}

