function addAutotab(DOM, options) {
	var defaults = {
		target: options.target ? options.target : null,
		previous: options.previous ? options.previous : null
	};
	var check_element = function(name) {
		var val = null;
		var check_id = $(name);
		if(check_id != undefined)
			val = $(check_id);
		return val;
	};
	var key = function(e) {
		if(!e)
			e = window.event;
		return e.keyCode;
	};
	if(typeof defaults.target == 'string')
		defaults.target = check_element(defaults.target);
	if(typeof defaults.previous == 'string')
		defaults.previous = check_element(defaults.previous);
	var maxlength = $(DOM).readAttribute('maxlength');
	Event.observe(DOM, 'keypress', function(e) {
		if(e.keyCode == 8)
		{
			var val = DOM.value;

			if(val.length == 0 && defaults.previous) {
				defaults.previous.focus();
			}
		}
	});
	Event.observe(DOM, 'click', function(e){DOM.select();});
	Event.observe(DOM, 'keyup', (function(e) {
		var val = DOM.value;
		var pattern = new RegExp('[^0-9]+', 'g');
		val = val.replace(pattern, '');
		DOM.value = val;
		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(e.keyCode) == -1 && val.length == maxlength && defaults.target) {
			defaults.target.focus();
			defaults.target.select();
		}
	}));
}