/*
+--------------------------------------------------------------------------
|   Javascript functions for practicempm.com
|   ========================================
|   by Nick Sperling
|   (c) 2007 
|   http://www.aldazar.com
|   Created:  2007.12.31
|   Modified: 2008.03.13
|   ========================================
+--------------------------------------------------------------------------
*/


/* 
|	Functions to Hide or Show the Tab Plane
*/

function hideElement(ElementID) { 
	if (document.getElementById) { // DOM3 = IE5, NS6 
		document.getElementById(ElementID).style.visibility = 'hidden'; 
	} 
	else { 
		if (document.layers) { // Netscape 4 
			document.ElementID.visibility = 'hidden'; 
		} 
		else { // IE 4 
			document.all.ElementID.style.visibility = 'hidden'; 
		} 
	} 
} 

function showElement(ElementID) { 
	if (document.getElementById) { // DOM3 = IE5, NS6 
		document.getElementById(ElementID).style.visibility = 'visible'; 
	} 
	else { 
		if (document.layers) { // Netscape 4 
			document.ElementID.visibility = 'visible'; 
		} 
		else { // IE 4 
			document.all.ElementID.style.visibility = 'visible'; 
		} 
	} 
} 



/* 
|	Functions for form controls
*/

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();
  }

  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;
}
