(function(d){var f=function(c){var a=null,b=d("#"+c);c=d("input[name="+c+"]");if(b!=undefined)a=b;else if(c!=undefined)a=c;return a};d.fn.autotab_magic=function(c){for(var a=0;a<this.length;a++){var b=a+1,e=a-1;if(a>0&&b<this.length)d(this[a]).autotab({target:d(this[b]),previous:d(this[e])});else a>0?d(this[a]).autotab({previous:d(this[e])}):d(this[a]).autotab({target:d(this[b])});if(c!=null&&isNaN(c)&&c==d(this[a]).attr("id")||!isNaN(c)&&c==a)d(this[a]).focus()}};d.fn.autotab_filter=function(c){var a=
{format:"all",uppercase:false,lowercase:false,nospace:false,pattern:null};if(typeof c=="string"||typeof c=="function")a.format=c;else d.extend(a,c);for(c=0;c<this.length;c++)d(this[c]).bind("keyup",function(){var b=this.value;switch(a.format){case "text":var e=RegExp("[0-9]+","g");b=b.replace(e,"");break;case "alpha":e=RegExp("[^a-zA-Z]+","g");b=b.replace(e,"");break;case "number":case "numeric":e=RegExp("[^0-9]+","g");b=b.replace(e,"");break;case "alphanumeric":e=RegExp("[^0-9a-zA-Z]+","g");b=b.replace(e,
"");break;case "custom":e=RegExp(a.pattern,"g");b=b.replace(e,"");break;case "all":default:if(typeof a.format=="function")b=a.format(b);break}if(a.nospace){e=RegExp("[ ]+","g");b=b.replace(e,"")}if(a.uppercase)b=b.toUpperCase();if(a.lowercase)b=b.toLowerCase();if(b!=this.value)this.value=b})};d.fn.autotab=function(c){var a={format:"all",maxlength:2147483647,uppercase:false,lowercase:false,nospace:false,target:null,previous:null,pattern:null};d.extend(a,c);if(typeof a.target=="string")a.target=f(a.target);
if(typeof a.previous=="string")a.previous=f(a.previous);c=d(this).attr("maxlength");if(a.maxlength==2147483647&&c!=2147483647)a.maxlength=c;else if(a.maxlength>0)d(this).attr("maxlength",a.maxlength);else a.target=null;a.format!="all"&&d(this).autotab_filter(a);return d(this).bind("keydown",function(b){b.which==8&&this.value.length==0&&a.previous&&a.previous.focus().val(a.previous.val())}).bind("keyup",function(b){var e=[8,9,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45,46,144,145];if(b.which!=8){var g=
d(this).val();d.inArray(b.which,e)==-1&&g.length==a.maxlength&&a.target&&a.target.focus()}})}})(jQuery);