var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); /* * 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($) { $.fn.autotab = function(options) { var defaults = { format: 'all', // text, numeric, alphanumeric, all maxlength: 2147483647, // Defaults to maxlength value uppercase: false, // Converts a string to UPPERCASE lowercase: false, // Converts a string to lowecase nospace: false, // Remove spaces in the user input target: null, // Where to auto tab to previous: null // Backwards auto tab when all data is backspaced }; $.extend(defaults, options); var check_element = function(name) { var val = null; var check_id = $('#' + name)[0]; var check_name = $('input[name=' + name + ']')[0]; if(check_id != undefined) val = $(check_id); else if(check_name != undefined) val = $(check_name); return val; }; var key = function(e) { if(!e) e = window.event; return e.keyCode; }; // Sets targets to element based on the name or ID passed if(typeof defaults.target == 'string') defaults.target = check_element(defaults.target); if(typeof defaults.previous == 'string') defaults.previous = check_element(defaults.previous); var maxlength = $(this).attr('maxlength'); // Each text field has a maximum character limit of 2147483647 // defaults.maxlength has not changed and maxlength was specified if(defaults.maxlength == 2147483647 && maxlength != 2147483647) defaults.maxlength = maxlength; // defaults.maxlength overrides maxlength else if(defaults.maxlength > 0) $(this).attr('maxlength', defaults.maxlength) // defaults.maxlength and maxlength have not been specified // A target cannot be used since there is no defined maxlength else defaults.target = null; // IE does not recognize the backspace key // with keypress in a blank input box if($.browser.msie) { this.keydown(function(e) { if(key(e) == 8) { var val = this.value; if(val.length == 0 && defaults.previous) defaults.previous.focus(); } }); } return this.keypress(function(e) { if(key(e) == 8) { var val = this.value; if(val.length == 0 && defaults.previous) defaults.previous.focus(); } }).keyup(function(e) { var val = this.value; switch(defaults.format) { case 'text': var pattern = new RegExp('[0-9]+', 'g'); var val = val.replace(pattern, ''); break; case 'alpha': var pattern = new RegExp('[^a-zA-Z]+', 'g'); var val = val.replace(pattern, ''); break; case 'number': case 'numeric': var pattern = new RegExp('[^0-9]+', 'g'); var val = val.replace(pattern, ''); break; case 'alphanumeric': var pattern = new RegExp('[^0-9a-zA-Z]+', 'g'); var val = val.replace(pattern, ''); break; case 'all': default: break; } if(defaults.nospace) { pattern = new RegExp('[ ]+', 'g'); val = val.replace(pattern, ''); } if(defaults.uppercase) val = val.toUpperCase(); if(defaults.lowercase) val = val.toLowerCase(); this.value = val; /** * Do not auto tab when the following keys are pressed * 8: Backspace * 9: Tab * 16: Shift * 17: Ctrl * 18: Alt * 19: Pause Break * 20: Caps Lock * 27: Esc * 33: Page Up * 34: Page Down * 35: End * 36: Home * 37: Left Arrow * 38: Up Arrow * 39: Right Arrow * 40: Down Arroww * 45: Insert * 46: Delete * 144: Num Lock * 145: Scroll Lock */ var keys = [8, 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 144, 145]; var string = keys.toString(); if(string.indexOf(key(e)) == -1 && val.length == defaults.maxlength && defaults.target) defaults.target.focus(); }); }; })(jQuery); }