/**
 * 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;
		
	}


};
