ÿþ/ * !   C o p y r i g h t   ( c )   2 0 1 0   B r a n d o n   A a r o n   ( h t t p : / / b r a n d o n a a r o n . n e t )  
   *   L i c e n s e d   u n d e r   t h e   M I T   L i c e n s e   ( L I C E N S E . t x t ) .  
   *  
   *   T h a n k s   t o :   h t t p : / / a d o m a s . o r g / j a v a s c r i p t - m o u s e - w h e e l /   f o r   s o m e   p o i n t e r s .  
   *   T h a n k s   t o :   M a t h i a s   B a n k ( h t t p : / / w w w . m a t h i a s - b a n k . d e )   f o r   a   s c o p e   b u g   f i x .  
   *   T h a n k s   t o :   S e a m u s   L e a h y   f o r   a d d i n g   d e l t a X   a n d   d e l t a Y  
   *  
   *   V e r s i o n :   3 . 0 . 4  
   *    
   *   R e q u i r e s :   1 . 2 . 2 +  
   * /  
  
 ( f u n c t i o n ( $ )   {  
  
 v a r   t y p e s   =   [ ' D O M M o u s e S c r o l l ' ,   ' m o u s e w h e e l ' ] ;  
  
 $ . e v e n t . s p e c i a l . m o u s e w h e e l   =   {  
         s e t u p :   f u n c t i o n ( )   {  
                 i f   (   t h i s . a d d E v e n t L i s t e n e r   )   {  
                         f o r   (   v a r   i = t y p e s . l e n g t h ;   i ;   )   {  
                                 t h i s . a d d E v e n t L i s t e n e r (   t y p e s [ - - i ] ,   h a n d l e r ,   f a l s e   ) ;  
                         }  
                 }   e l s e   {  
                         t h i s . o n m o u s e w h e e l   =   h a n d l e r ;  
                 }  
         } ,  
          
         t e a r d o w n :   f u n c t i o n ( )   {  
                 i f   (   t h i s . r e m o v e E v e n t L i s t e n e r   )   {  
                         f o r   (   v a r   i = t y p e s . l e n g t h ;   i ;   )   {  
                                 t h i s . r e m o v e E v e n t L i s t e n e r (   t y p e s [ - - i ] ,   h a n d l e r ,   f a l s e   ) ;  
                         }  
                 }   e l s e   {  
                         t h i s . o n m o u s e w h e e l   =   n u l l ;  
                 }  
         }  
 } ;  
  
 $ . f n . e x t e n d ( {  
         m o u s e w h e e l :   f u n c t i o n ( f n )   {  
                 r e t u r n   f n   ?   t h i s . b i n d ( " m o u s e w h e e l " ,   f n )   :   t h i s . t r i g g e r ( " m o u s e w h e e l " ) ;  
         } ,  
          
         u n m o u s e w h e e l :   f u n c t i o n ( f n )   {  
                 r e t u r n   t h i s . u n b i n d ( " m o u s e w h e e l " ,   f n ) ;  
         }  
 } ) ;  
  
  
 f u n c t i o n   h a n d l e r ( e v e n t )   {  
         v a r   o r g E v e n t   =   e v e n t   | |   w i n d o w . e v e n t ,   a r g s   =   [ ] . s l i c e . c a l l (   a r g u m e n t s ,   1   ) ,   d e l t a   =   0 ,   r e t u r n V a l u e   =   t r u e ,   d e l t a X   =   0 ,   d e l t a Y   =   0 ;  
         e v e n t   =   $ . e v e n t . f i x ( o r g E v e n t ) ;  
         e v e n t . t y p e   =   " m o u s e w h e e l " ;  
          
         / /   O l d   s c h o o l   s c r o l l w h e e l   d e l t a  
         i f   (   e v e n t . w h e e l D e l t a   )   {   d e l t a   =   e v e n t . w h e e l D e l t a / 1 2 0 ;   }  
         i f   (   e v e n t . d e t a i l           )   {   d e l t a   =   - e v e n t . d e t a i l / 3 ;   }  
          
         / /   N e w   s c h o o l   m u l t i d i m e n s i o n a l   s c r o l l   ( t o u c h p a d s )   d e l t a s  
         d e l t a Y   =   d e l t a ;  
          
         / /   G e c k o  
         i f   (   o r g E v e n t . a x i s   ! = =   u n d e f i n e d   & &   o r g E v e n t . a x i s   = = =   o r g E v e n t . H O R I Z O N T A L _ A X I S   )   {  
                 d e l t a Y   =   0 ;  
                 d e l t a X   =   - 1 * d e l t a ;  
         }  
          
         / /   W e b k i t  
         i f   (   o r g E v e n t . w h e e l D e l t a Y   ! = =   u n d e f i n e d   )   {   d e l t a Y   =   o r g E v e n t . w h e e l D e l t a Y / 1 2 0 ;   }  
         i f   (   o r g E v e n t . w h e e l D e l t a X   ! = =   u n d e f i n e d   )   {   d e l t a X   =   - 1 * o r g E v e n t . w h e e l D e l t a X / 1 2 0 ;   }  
          
         / /   A d d   e v e n t   a n d   d e l t a   t o   t h e   f r o n t   o f   t h e   a r g u m e n t s  
         a r g s . u n s h i f t ( e v e n t ,   d e l t a ,   d e l t a X ,   d e l t a Y ) ;  
          
         r e t u r n   $ . e v e n t . h a n d l e . a p p l y ( t h i s ,   a r g s ) ;  
 }  
  
 } ) ( j Q u e r y ) ; 
