jQuery.fn.extend({mousewheel:function(up,down,preventDefault){return this.hover(function(){jQuery.event.mousewheel.giveFocus(this,up,down,preventDefault);},function(){jQuery.event.mousewheel.removeFocus(this);});},mousewheeldown:function(fn,preventDefault){return this.mousewheel(function(){},fn,preventDefault);},mousewheelup:function(fn,preventDefault){return this.mousewheel(fn,function(){},preventDefault);},unmousewheel:function(){return this.each(function(){jQuery(this).unmouseover().unmouseout();jQuery.event.mousewheel.removeFocus(this);});},unmousewheeldown:jQuery.fn.unmousewheel,unmousewheelup:jQuery.fn.unmousewheel});jQuery.event.mousewheel={giveFocus:function(el,up,down,preventDefault){if(el._handleMousewheel)jQuery(el).unmousewheel();if(preventDefault==window.undefined&&down&&down.constructor!=Function){preventDefault=down;down=null;}
el._handleMousewheel=function(event){if(!event)event=window.event;if(preventDefault)
if(event.preventDefault)event.preventDefault();else event.returnValue=false;var delta=0;if(event.wheelDelta){delta=event.wheelDelta/120;if(window.opera)delta=-delta;}else if(event.detail){delta=-event.detail/3;}
if(up&&(delta>0||!down))
up.apply(el,[event,delta]);else if(down&&delta<0)
down.apply(el,[event,delta]);};if(window.addEventListener)
window.addEventListener('DOMMouseScroll',el._handleMousewheel,false);window.onmousewheel=document.onmousewheel=el._handleMousewheel;},removeFocus:function(el){if(!el._handleMousewheel)return;if(window.removeEventListener)
window.removeEventListener('DOMMouseScroll',el._handleMousewheel,false);window.onmousewheel=document.onmousewheel=null;el._handleMousewheel=null;}};
