/*
 * Autotab - jQuery plugin 1.0
 * http://dev.lousyllama.com/auto-tab
 *
 * Copyright (c) 2008 Matthew Miller
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revised: 2008/05/22 01:23:25
 */
(function(a){a.fn.autotab=function(b){var e={format:"all",maxlength:2147483647,uppercase:false,lowercase:false,nospace:false,target:null,previous:null};a.extend(e,b);var f=function(g){var j=null;var i=a("#"+g)[0];var h=a("input[name="+g+"]")[0];if(i!=undefined){j=a(i)}else{if(h!=undefined){j=a(h)}}return j};var d=function(g){if(!g){g=window.event}return g.keyCode};if(typeof e.target=="string"){e.target=f(e.target)}if(typeof e.previous=="string"){e.previous=f(e.previous)}var c=a(this).attr("maxlength");if(e.maxlength==2147483647&&c!=2147483647){e.maxlength=c}else{if(e.maxlength>0){a(this).attr("maxlength",e.maxlength)}else{e.target=null}}if(a.browser.msie){this.keydown(function(g){if(d(g)==8){var h=this.value;if(h.length==0&&e.previous){e.previous.focus()}}})}return this.keypress(function(g){if(d(g)==8){var h=this.value;if(h.length==0&&e.previous){e.previous.focus()}}}).keyup(function(j){var k=this.value;switch(e.format){case"text":var i=new RegExp("[0-9]+","g");var k=k.replace(i,"");break;case"alpha":var i=new RegExp("[^a-zA-Z]+","g");var k=k.replace(i,"");break;case"number":case"numeric":var i=new RegExp("[^0-9]+","g");var k=k.replace(i,"");break;case"alphanumeric":var i=new RegExp("[^0-9a-zA-Z]+","g");var k=k.replace(i,"");break;case"all":default:break}if(e.nospace){i=new RegExp("[ ]+","g");k=k.replace(i,"")}if(e.uppercase){k=k.toUpperCase()}if(e.lowercase){k=k.toLowerCase()}this.value=k;var h=[8,9,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45,46,144,145];var g=h.toString();if(g.indexOf(d(j))==-1&&k.length==e.maxlength&&e.target){e.target.focus()}})}})(jQuery);
