(function(n){n.fn.hoverIntent=function(t,i){var r={sensitivity:3,interval:60,timeout:0};r=n.extend(r,i?{over:t,out:i}:t);var u,f,e,o,s=function(n){u=n.pageX;f=n.pageY},h=function(t,i){if(i.hoverIntent_t=clearTimeout(i.hoverIntent_t),Math.abs(e-u)+Math.abs(o-f)<r.sensitivity)return n(i).unbind("mousemove",s),i.hoverIntent_s=1,r.over.apply(i,[t]);e=u;o=f;i.hoverIntent_t=setTimeout(function(){h(t,i)},r.interval)},l=function(n,t){return t.hoverIntent_t=clearTimeout(t.hoverIntent_t),t.hoverIntent_s=0,r.out.apply(t,[n])},c=function(t){var u=jQuery.extend({},t),i=this;i.hoverIntent_t&&(i.hoverIntent_t=clearTimeout(i.hoverIntent_t));t.type=="mouseenter"?(e=u.pageX,o=u.pageY,n(i).bind("mousemove",s),i.hoverIntent_s!=1&&(i.hoverIntent_t=setTimeout(function(){h(u,i)},r.interval))):(n(i).unbind("mousemove",s),i.hoverIntent_s==1&&(i.hoverIntent_t=setTimeout(function(){l(u,i)},r.timeout)))};return this.bind("mouseenter",c).bind("mouseleave",c)}})(jQuery)