nexus site path corrected
[portal.git] / ecomp-portal-FE / client / bower_components / jquery.event.drag-new / event.wheel / jquery.event.wheel.js
1 /*! 
2  * jquery.event.wheel - v 1.0.0 - http://jquery-ux.com/
3  * Copyright (c) 2010 Michael Helgeson, Three Dub Media
4  * Open Source MIT License - http://jquery-ux.com/license 
5  */
6 // Created: 2008-07-01
7 // Updated: 2010-01-08
8 // REQUIRES: jquery 1.3+
9
10 ;(function( $ ){ // secure $ jQuery alias
11
12 // jquery method
13 $.fn.wheel = function( fn ){
14         return this[ fn ? "bind" : "trigger" ]( "wheel", fn );
15 };
16
17 // special event config
18 var wheel = $.event.special.wheel = {
19         events: "DOMMouseScroll mousewheel" // IE, opera, safari, firefox
20                 +( $.browser.mozilla && $.browser.version < "1.9" ? " mousemove" : "" ), // firefox 2
21         setup: function(){
22                 $.event.add( this, wheel.events, wheel.handler, {} );
23         },
24         teardown: function(){
25                 $.event.remove( this, wheel.events, wheel.handler );
26         },
27         handler: function( event ){ 
28                 switch ( event.type ){
29                         case "mousewheel": // IE, opera, safari
30                                 event.delta = event.wheelDelta/120; 
31                                 if ( window.opera ){
32                                         event.delta *= -1; 
33                                 }
34                                 break;
35                         case     "DOMMouseScroll": // firefox
36                                 $.extend( event, event.data ); // fix event properties in FF2
37                                 event.delta = -event.detail/3; 
38                                 break;
39                         case "mousemove": // FF2 has incorrect event positions
40                                 return $.extend( event.data, { // store the correct properties
41                                         clientX: event.clientX, pageX: event.pageX, 
42                                         clientY: event.clientY, pageY: event.pageY
43                                 });                     
44                 }
45                 event.type = "wheel"; // hijack the event       
46                 return $.event.handle.call( this, event, event.delta );
47         }
48 };
49         
50 })( jQuery ); // confine scope