/** * SWFMacMouseWheel v1.0: Mac Mouse Wheel functionality in flash - http://blog.pixelbreaker.com/ * * SWFMacMouseWheel is (c) 2006 Gabriel Bucknall and is released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * * Dependencies: * SWFObject v2.0 - (c) 2006 Geoff Stearns. * http://blog.deconcept.com/swfobject/ */ function SWFMacMouseWheel( swfObject ) { this.so = swfObject; var isMac = navigator.appVersion.toLowerCase().indexOf( "mac" ) != -1; if( isMac ) this.init(); } SWFMacMouseWheel.prototype = { init: function() { SWFMacMouseWheel.instance = this; if (window.addEventListener) { window.addEventListener('DOMMouseScroll', SWFMacMouseWheel.instance.wheel, false); } window.onmousewheel = document.onmousewheel = SWFMacMouseWheel.instance.wheel; }, handle: function( delta ) { document[ this.so.getAttribute('id') ].externalMouseEvent( delta ); }, wheel: function(event){ var delta = 0; if (event.wheelDelta) { /* IE/Opera. */ delta = event.wheelDelta/120; if (window.opera) delta = -delta; } else if (event.detail) { /** Mozilla case. */ delta = -event.detail/3; } if( /AppleWebKit/.test(navigator.userAgent) ) { delta /= 3; } /** If delta is nonzero, handle it. * Basically, delta is now positive if wheel was scrolled up, * and negative, if wheel was scrolled down. */ if (delta) SWFMacMouseWheel.instance.handle(delta); /** Prevent default actions caused by mouse wheel. * That might be ugly, but we handle scrolls somehow * anyway, so don't bother here.. */ if (event.preventDefault) event.preventDefault(); event.returnValue = false; } };