/**
 * SWFMacMouseWheelMod v1.0: Mac Mouse Wheel functionality in flash - http://leefernandes.com/
 *
 * SWFMacMouseWheelMod is a modification to Gabriel Bucknall's javascript/as3 package for accessing the MOUSE_WHEEL event in flash on the mac
(c) 2009 Lee Fernandes and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Dependencies: 
 * SWFObject v2.0 rc1 <http://code.google.com/p/swfobject/>
 * Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
 * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
 */

var wheelListener = null;

var deltaFilter = function(event)
{
	var delta = 0;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120;
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail;
	}
	if (event.preventDefault) event.preventDefault();
	return delta;
}

var deltaDispatcher = function(event)
{
	var delta = deltaFilter(event);
	var obj = swfobject.getObjectById(wheelListener);
	if( typeof( obj.externalMouseEvent ) == 'function' ) obj.externalMouseEvent( delta );
}

function addWheelListener(jsID)
{
	if( !swfobject ) return null;
	
	var u = navigator.userAgent.toLowerCase();
	var p = navigator.platform.toLowerCase();
	var mac = p ? /mac/.test(p) : /mac/.test(u);
	var focused = null;
	
	if( !mac ) return null;
	wheelListener = jsID;

	if (window.addEventListener) window.addEventListener('DOMMouseScroll', deltaDispatcher, false);
		window.onmousewheel = document.onmousewheel = deltaDispatcher;
}

function removeWheelListener(jsID)
{
	wheelListener = null;
	if (window.removeEventListener) window.removeEventListener('DOMMouseScroll', deltaDispatcher, false);
		window.onmousewheel = document.onmousewheel = null;
}
