(function(window,$){"use strict";var KeyboardShortcuts={shortcuts:[],initialized:false,registerDefaults:function(){this.register({key:72,ctrl:true,shift:true,description:"Go to Home Dashboard",category:"navigation",icon:"fa-home",handler:function(){window.location="/"}});this.register({key:79,ctrl:true,shift:true,description:"Browse Orders",category:"navigation",icon:"fa-list",handler:function(){window.location="/orders/browse-orders.html"}});this.register({key:67,ctrl:true,shift:true,description:"Browse Contacts",category:"navigation",icon:"fa-users",handler:function(){window.location="/customer/browse.html"}});this.register({key:68,ctrl:true,shift:true,description:"View Order Details",category:"navigation",icon:"fa-file-text-o",handler:function(){var detailLink=$('a[href*="/orders/order-detail.html"]').first();if(detailLink.length){window.location=detailLink.attr("href")}else{swal({title:"Not Available",text:"Order details link not found on this page",type:"info"})}}});this.register({key:69,ctrl:true,shift:true,description:"Edit Customer",category:"navigation",icon:"fa-edit",handler:function(){var editLink=$('a[href*="/customer/edit.html"]').first();if(editLink.length){window.location=editLink.attr("href")}else{swal({title:"Not Available",text:"Customer edit link not found on this page",type:"info"})}}});this.register({key:191,ctrl:true,shift:true,description:"Show Keyboard Shortcuts",category:"help",icon:"fa-keyboard-o",handler:function(){KeyboardShortcuts.showHelp()}})},register:function(config){if(!config.key||!config.handler||!config.description){console.error("Invalid shortcut configuration",config);return}config.ctrl=config.ctrl!==false;config.shift=config.shift!==false;config.alt=config.alt||false;config.category=config.category||"other";config.icon=config.icon||"fa-keyboard-o";this.shortcuts.push(config)},init:function(){if(this.initialized){return}this.registerDefaults();var self=this;window.addEventListener("keydown",function(e){self.handleKeyPress(e)},true);$(document).on("click","#keyboardShortcutsHelp",function(e){e.preventDefault();self.showHelp()});this.initialized=true;console.log("Keyboard shortcuts initialized:",this.shortcuts.length,"shortcuts registered")},handleKeyPress:function(e){var target=e.target||e.srcElement;var tagName=target.tagName.toLowerCase();if(tagName==="input"||tagName==="textarea"||target.isContentEditable){return}var key=e.which||e.keyCode;for(var i=0;iCtrl');if(shortcut.shift)parts.push('Shift');if(shortcut.alt)parts.push('Alt');parts.push(''+key+"");return parts.join(" + ")},showHelp:function(){var self=this;var categories={navigation:{title:"Navigation",icon:"fa-compass",shortcuts:[]},help:{title:"Help",icon:"fa-question-circle",shortcuts:[]}};this.shortcuts.forEach(function(shortcut){var category=categories[shortcut.category];if(category){category.shortcuts.push(shortcut)}});var html='
';html+='
';html+="

Use these keyboard shortcuts to navigate faster throughout the system.

";html+="
";Object.keys(categories).forEach(function(key){var category=categories[key];if(category.shortcuts.length>0){html+='
';html+='

'+category.title+"

";html+='
';category.shortcuts.forEach(function(shortcut){html+='
';html+='
'+self.generateKeyBadge(shortcut)+"
";html+='
';html+=' ';html+=shortcut.description;html+="
";html+="
"});html+="
"}});html+='";html+="
";var css=` `;swal({title:' Keyboard Shortcuts',html:css+html,width:"700px",confirmButtonText:"Got it!",confirmButtonColor:"#007bff"})}};window.KeyboardShortcuts=KeyboardShortcuts})(window,jQuery);