var isNN	= (navigator.appName.indexOf('Netscape')!=-1);
var keys	= new Array (8, 9, 13, 33, 34, 35, 36, 37, 39, 45, 46);
var filter	= (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
var keyCode;
function autoTab(input, len, eVENT)
{
	isKeyValid (input, eVENT);
	if(input.value.length >= len && !containsElement(filter,keyCode))
	{
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}
	
	return true;
}
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;
}
function isKeyValid (obj, eVENT)
{	
	keyCode		= (isNN) ? eVENT.which : eVENT.keyCode; 
	var clear	= false;
	if( (keyCode >= 65 && keyCode <= 90) ||(keyCode >= 106 && keyCode <= 111) ||(keyCode >= 186 && keyCode <= 222) || keyCode == 32 )
	    clear = true;   	
	if (clear)
		obj.value = obj.value.substring(0, obj.value.length-1);
}
function isAuxKey (keyCode)
{
	for (i=0; i<keys.length; i++)
		if (keyCode == keys[i])
			return true;
			
	return false;
}