/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  j  onMouseOver function || An object with configuration options
* @param  i  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
$.fn.hoverIntent=function(j,i){var k={sensitivity:7,interval:100,timeout:0};k=$.extend(k,i?{over:j,out:i}:j);var m,l,e,c;var d=function(f){m=f.pageX;l=f.pageY};var b=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);if((Math.abs(e-m)+Math.abs(c-l))<k.sensitivity){$(f).unbind("mousemove",d);f.hoverIntent_s=1;return k.over.apply(f,[g])}else{e=m;c=l;f.hoverIntent_t=setTimeout(function(){b(g,f)},k.interval)}};var h=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);f.hoverIntent_s=0;return k.out.apply(f,[g])};var a=function(o){var n=(o.type=="mouseover"?o.fromElement:o.toElement)||o.relatedTarget;while(n&&n!=this){try{n=n.parentNode}catch(o){n=this}}if(n==this){return false}var g=jQuery.extend({},o);var f=this;if(f.hoverIntent_t){f.hoverIntent_t=clearTimeout(f.hoverIntent_t)}if(o.type=="mouseover"){e=g.pageX;c=g.pageY;$(f).bind("mousemove",d);if(f.hoverIntent_s!=1){f.hoverIntent_t=setTimeout(function(){b(g,f)},k.interval)}}else{$(f).unbind("mousemove",d);if(f.hoverIntent_s==1){f.hoverIntent_t=setTimeout(function(){h(g,f)},k.timeout)}}};return this.mouseover(a).mouseout(a)};
