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