/**

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

	}

};