// Detection of Browser should be replaced by Detection of
// Objects as per Coding Standards

var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input, len, e, postback) {

    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);
        var index = getIndex(input) + 1;
        index = index % input.form.length;
        
        while ((index < input.form.length) && (input.form[index].type == "hidden")) {
            index = index + 1;
        }

        if (!postback) {
        if (index >= 0 && input.form[index] != null && input.form[index].type != "hidden" && !input.form[index].disabled)
        {
          input.form[index].focus();
        }
		}
		else {
		__doPostBack(input.name,'')
		}
    }

    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;
}
