
function isNetscape() {
    if( document.layers ) //IE has a uniqeu object named all
        return true;
    return false;
}

function loadNSEventHandler(win) {
   if( isNetscape() ) {
        win.captureEvents(Event.KEYUP);
        win.onKeyUp = autoTab;
   }
   return true;
}    

function setFocus(field) {
    field.focus();
    return true;
}

function setFocus_and_EventHandler(focusField,win){
    setFocus(focusField);
    loadNSEventHandler(win);
    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;
}

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();
	}
	return true;
}

