!function(u,t,o,a){var s="menuAim",e={rowSelector:"> li",handle:"> a",submenuSelector:"*",submenuDirection:"right",openClassName:"open",tolerance:75,activationDelay:300,mouseLocsTracked:3,defaultDelay:300,enterCallback:u.noop,activateCallback:u.noop,deactivateCallback:u.noop,exitCallback:u.noop,exitMenuCallback:u.noop};function n(t,o){this.el=t,this.options=u.extend({},e,o),this._defaults=e,this._name=s,this.init()}n.prototype={init:function(){this.activeRow=null,this.mouseLocs=[],this.lastDelayLoc=null,this.timeoutId=null,this.openDelayId=null,this._hoverTriggerOn()},_mouseMoveDocument:function(t){(obj=t.data.obj).mouseLocs.push({x:t.pageX,y:t.pageY}),obj.mouseLocs.length>obj.options.mouseLocsTracked&&obj.mouseLocs.shift()},_mouseLeaveMenu:function(t){(obj=t.data.obj).timeoutId&&clearTimeout(obj.timeoutId),obj.openDelayId&&clearTimeout(obj.openDelayId),obj._possiblyDeactivate(obj.activeRow),obj.options.exitMenuCallback(this)},_mouseEnterRow:function(t){(obj=t.data.obj).timeoutId&&clearTimeout(obj.timeoutId),obj.options.enterCallback(this),obj._possiblyActivate(this)},_mouseLeaveRow:function(t){t.data.obj.options.exitCallback(this)},_clickRow:function(t){(obj=t.data.obj)._activate(this),u(obj.el).find(obj.options.rowSelector).find(obj.options.handle).on("click",{obj:obj},obj._clickRowHandle)},_clickRowHandle:function(t){obj=t.data.obj,u(this).closest("li").hasClass(obj.options.openClassName)&&(obj._deactivate(),t.stopPropagation())},_activate:function(t){var o=this;t!=this.activeRow&&(this.openDelayId&&clearTimeout(this.openDelayId),!(0<parseInt(o.options.activationDelay,0))||o.activeRow?o._activateWithoutDelay(t):this.openDelayId=setTimeout(function(){o._activateWithoutDelay(t)},o.options.activationDelay))},_activateWithoutDelay:function(t){this.activeRow&&this.options.deactivateCallback(this.activeRow),this.options.activateCallback(t),this.activeRow=t},_deactivate:function(){this.openDelayId&&clearTimeout(this.openDelayId),this.activeRow&&(this.options.deactivateCallback(this.activeRow),this.activeRow=null)},_possiblyActivate:function(t){var o=this._activationDelay(),e=this;o?this.timeoutId=setTimeout(function(){e._possiblyActivate(t)},o):this._activate(t)},_possiblyDeactivate:function(t){var o=this._activationDelay(),e=this;o?this.timeoutId=setTimeout(function(){e._possiblyDeactivate(t)},o):(this.options.deactivateCallback(t),this.activeRow=null)},_activationDelay:function(){if(this.activeRow&&u(this.activeRow).is(this.options.submenuSelector)){var t=u(this.el).offset(),o={x:t.left,y:t.top-this.options.tolerance},e={x:t.left+u(this.el).outerWidth(),y:o.y},i={x:t.left,y:t.top+u(this.el).outerHeight()+this.options.tolerance},a={x:t.left+u(this.el).outerWidth(),y:i.y},s=this.mouseLocs[this.mouseLocs.length-1],n=this.mouseLocs[0];if(s&&!((n=n||s).x<t.left||n.x>a.x||n.y<t.top||n.y>a.y||this.lastDelayLoc&&s.x==this.lastDelayLoc.x&&s.y==this.lastDelayLoc.y)){var t=e,l=a,a=("left"==this.options.submenuDirection?(t=i,l=o):"below"==this.options.submenuDirection?(t=a,l=i):"above"==this.options.submenuDirection&&(t=o,l=e),c(s,t)),i=c(s,l),o=c(n,t),e=c(n,l);if(a<o&&e<i)return this.lastDelayLoc=s,this.options.defaultDelay;this.lastDelayLoc=null}}return 0;function c(t,o){return(o.y-t.y)/(o.x-t.x)}},_outsideMenuClick:function(t){var o=t.data.obj;u(o.el).not(t.target)&&0===u(o.el).has(t.target).length&&(o.options.deactivateCallback(o.activeRow),o.activeRow=null)},_hoverTriggerOn:function(){u(this.el).on("mouseleave",{obj:this},this._mouseLeaveMenu).find(this.options.rowSelector).on("mouseenter",{obj:this},this._mouseEnterRow).on("mouseleave",{obj:this},this._mouseLeaveRow),u(t).on("blur",{obj:this},this._mouseLeaveMenu),u(o).on("mousemove",{obj:this},this._mouseMoveDocument)},_hoverTriggerOff:function(){u(this.el).off("mouseleave",this._mouseLeaveMenu).find(this.options.rowSelector).off("mouseenter",this._mouseEnterRow).off("mouseleave",this._mouseLeaveRow),u(t).off("blur",this._mouseLeaveMenu),u(o).off("mousemove",{obj:this},this._mouseMoveDocument)}},u.fn[s]=function(o){var e,i=arguments;return o===a||"object"==typeof o?this.each(function(){u.data(this,"plugin_"+s)||u.data(this,"plugin_"+s,new n(this,o))}):"string"==typeof o&&"_"!==o[0]&&"init"!==o?(this.each(function(){var t=u.data(this,"plugin_"+s);t instanceof n&&"function"==typeof t[o]&&(e=t[o].apply(t,Array.prototype.slice.call(i,1))),"destroy"===o&&u.data(this,"plugin_"+s,null)}),e!==a?e:this):void 0}}(jQuery,window,document);