var Scanner = new Object(); Scanner.KeyString = ''; Scanner.LastInputTime = 0; Scanner.Form = null; Scanner.Input = null; Scanner.handleKey = function (iKey) { var iNow = new Date().getTime(); if (iKey == 13) { if (iNow - Scanner.LastInputTime > 1000) { Scanner.KeyString = ''; } Scanner.LastInputTime = iNow; if (Scanner.KeyString != '') { Scanner.Input.value = Scanner.KeyString; Scanner.Form.submit(); } } else if (iKey >= 48 && iKey <= 57) { if (iNow - Scanner.LastInputTime > 1000) { this.KeyString = ''; } Scanner.LastInputTime = iNow; Scanner.KeyString += String.fromCharCode(iKey); } } Scanner.register = function () { Scanner.Form = document.createElement('form'); Scanner.Form.action = window.location; Scanner.Form.method = 'post'; Scanner.Form.name = 'scanner_form'; Scanner.Input = document.createElement('input'); Scanner.Input.type = 'hidden'; Scanner.Input.name = 'scanner_product_barcode'; Scanner.Form.appendChild(Scanner.Input); document.body.appendChild(Scanner.Form); var fOldOnkeyup = document.onkeyup; document.onkeyup = function (e) { var oEvent = e || window.event; Scanner.handleKey(oEvent.keyCode || oEvent.which); if (fOldOnkeyup) fOldOnkeyup(e); } } /** Register event for when DOM is loaded. */ DOMEvents.register(function () { Scanner.register(); });