window.shortcut=(function(){var d={type:"keydown",propagate:false,disable:"input textarea",target:document,keycode:false};var e={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"};var f={escape:27,space:32,"return":13,enter:13,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,backspace:8,esc:27,tab:9,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105};var g={ctrl:"ctrl",control:"ctrl",shift:"shift",alt:"alt",option:"alt",meta:"meta"};var b={};function c(l,j){if(typeof j!=="string"){return false}var k=l.target||l.srcElement;if(k.nodeType===3){k=k.parentNode}return(j.toLowerCase().indexOf(k.tagName.toLowerCase())>=0)?true:false}function a(o,t,n){var l,q,k;var p={};var s=o.split("+");var j=n.keyCode||n.which;var r={188:",",190:"."}[j]||String.fromCharCode(j).toLowerCase();var m=0;for(l=0;l<s.length;l++){q=s[l];k=g[q];if(k){p[k]=true;m++}else{if((q.length>1&&f[q]===j)||(t.keycode===j)||(r===q)||(n.shiftKey&&e[r]===q)){m++}}}return(s.length===m&&!!p.shift===!!n.shiftKey&&!!p.ctrl===!!n.ctrlKey&&!!p.alt===!!n.altKey&&!!p.meta===!!n.metaKey)}function h(k,l,j){return function(m){m=m||window.event;if(c(m,j.disable)||!a(k,j,m)){return}l(m);if(!j.propagate){m.stopPropagation&&m.stopPropagation();m.preventDefault&&m.preventDefault();m.cancelBubble=true;m.returnValue=false}}}function i(j){var m=b[j];delete b[j];if(!m){return}var k=m.event;var l=m.target;var n=m.callback;if(l.removeEventListener){l.removeEventListener(k,n,false)}else{if(l.detachEvent){l.detachEvent("on"+k,n)}else{l["on"+k]=false}}}return{add:function(l,o,k){k=k||{};for(var j in d){if(!k.hasOwnProperty(j)){k[j]=d[j]}}var n=k.target;if(typeof n==="string"){n=document.getElementById(n)}var m=h(l,o,k);b[l.toLowerCase()]={callback:m,target:n,event:k.type};if(n.addEventListener){n.addEventListener(k.type,m,false)}else{if(n.attachEvent){n.attachEvent("on"+k.type,m)}else{n["on"+k.type]=m}}},remove:function(j){j=j.toLowerCase();i(j)},clear:function(){for(var j in b){i(j)}}}})();window.cmdshortcuts=(function(){var c={propagate:false,disable:"input textarea",target:document,actionkeycode:17};var f={escape:27,space:32,"return":13,enter:13,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,backspace:8,esc:27,tab:9,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105};var g={ctrl:"ctrl",control:"ctrl",shift:"shift",alt:"alt",option:"alt",meta:"meta"};var n={};var o={};var l={};var p=null;var k=null;var a;var i="";function b(s,q){if(typeof q!=="string"){return false}var r=s.target||s.srcElement;if(r.nodeType===3){r=r.parentNode}return(q.toLowerCase().indexOf(r.tagName.toLowerCase())>=0)?true:false}function j(){return function(r){r=r||window.event;if(!r||b(r,n.disable)){return}var q=r.keyCode||r.which;if(q==n.actionkeycode){a(i);if(!n.propagate){r.stopPropagation&&r.stopPropagation();r.preventDefault&&r.preventDefault();r.cancelBubble=true;r.returnValue=false}}}}function e(){return function(t){t=t||window.event;if(!t||b(t,n.disable)){return}var z=t.keyCode||t.which;var y={188:",",190:"."}[z]||String.fromCharCode(z).toLowerCase();var w=i;for(var u in o){var A=u.split("+");var r,x,q;var v={};var s=0;for(r=0;r<A.length;r++){x=A[r];q=g[x];if(q){v[q]=true;s++}else{if((x.length>1&&f[x]===z)||(y===x)||(t.shiftKey&&shiftNums[y]===x)){s++}}}if(A.length===s&&!!v.shift===!!t.shiftKey&&!!v.ctrl===!!t.ctrlKey&&!!v.alt===!!t.altKey&&!!v.meta===!!t.metaKey){if(l.hasOwnProperty(x)){i+=l[x]}else{i+=y}if(!n.propagate){t.stopPropagation&&t.stopPropagation();t.preventDefault&&t.preventDefault();t.cancelBubble=true;t.returnValue=false}break}}if((w==i)&&t.altKey&&t.ctrlKey&&(z==17||z==18)){i=""}return(w==i)}}function m(r,q,s){if(typeof r==="string"){r=document.getElementById(r)}if(r.addEventListener){r.addEventListener(q,s,false)}else{if(r.attachEvent){r.attachEvent("on"+q,s)}else{r["on"+q]=s}}}function d(r,q,s){if(typeof r==="string"){r=document.getElementById(r)}if(r.removeEventListener){r.removeEventListener(q,s,false)}else{if(r.detachEvent){r.detachEvent("on"+q,s)}else{r["on"+q]=false}}}function h(){if(p){d(n.target,"keyup",p);p=null}if(k){d(n.target,"keydown",k);k=null}n=c;o={};l={};a=null;i=""}return{setOptions:function(r){h();r=r||{};for(var q in c){if(!r.hasOwnProperty(q)){r[q]=c[q]}}n=r;if(!p){p=j();m(r.target,"keyup",p)}if(!k){k=e();m(r.target,"keydown",k)}},add:function(q){o[q.toLowerCase()]=true},addTranslation:function(q,r){l[q]=r},remove:function(q){delete o[q.toLowerCase()]},setCallback:function(q){a=q},clear:function(){h()}}})();
