(function($){this.version="(beta)(0.0.3)";this.all={};this.special_keys={27:"esc",9:"tab",32:"space",13:"return",8:"backspace",145:"scroll",20:"capslock",144:"numlock",19:"pause",45:"insert",36:"home",46:"del",35:"end",33:"pageup",34:"pagedown",37:"left",38:"up",39:"right",40:"down",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"};this.shift_nums={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"};this.add=function(D,F,C){if($.isFunction(F)){C=F;F={}}var E={},A={type:"keydown",propagate:false,disableInInput:false,target:$("html")[0],checkParent:true},_=this;E=$.extend(E,A,F||{});D=D.toLowerCase();var B=function(I){I=$.event.fix(I);var A=I.target;A=(A.nodeType==3)?A.parentNode:A;if(E["disableInInput"]){var K=$(A);if(K.is("input")||K.is("textarea"))return}var B=I.which,C=I.type,G=String.fromCharCode(B).toLowerCase(),L=_.special_keys[B],O=I.shiftKey,D=I.ctrlKey,J=I.altKey,H=true,F=null;if($.browser.opera||$.browser.safari||E.checkParent)while(!_.all[A]&&A.parentNode)A=A.parentNode;var M=_.all[A].events[C].callbackMap;if(!O&&!D&&!J)F=M[L]||M[G];else{var N="";if(J)N+="alt+";if(D)N+="ctrl+";if(O)N+="shift+";F=M[N+L]||M[N+G]||M[N+_.shift_nums[G]]}if(F){F.cb(I);if(!F.propagate){I.stopPropagation();I.preventDefault();return false}}};if(!this.all[E.target])this.all[E.target]={events:{}};if(!this.all[E.target].events[E.type]){this.all[E.target].events[E.type]={callbackMap:{}};$.event.add(E.target,E.type,B)}this.all[E.target].events[E.type].callbackMap[D]={cb:C,propagate:E.propagate};return $};this.remove=function(_,A){A=A||{};target=A.target||$("html")[0];type=A.type||"keydown";_=_.toLowerCase();delete this.all[target].events[type].callbackMap[_];return $};$.hotkeys=this;return $})(jQuery)