
function swfMouseWheel( swfObject )
{
	var strNavig = navigator.appName + navigator.appVersion;
	
	this.so = swfObject;
	var isMac = strNavig.toLowerCase().indexOf( "mac" ) != -1;
	var isIE = strNavig.toLowerCase().indexOf( "msie" ) != -1;
	var isMoz = strNavig.toLowerCase().indexOf( "netscape" ) != -1;
	
	if (( isMac ) || (isMoz)) {
		this.init();
	}
}

swfMouseWheel.prototype = {
	init: function()
	{
		swfMouseWheel.instance = this;
		if (window.addEventListener)
		{
	        window.addEventListener('DOMMouseScroll', swfMouseWheel.instance.wheel, false);
		}
		window.onmousewheel = document.onmousewheel = swfMouseWheel.instance.wheel;
	},
	
	handle: function( delta )
	{
		//alert(this.so.getAttribute('id'));
		var flashToSendTo = document.getElementById(this.so.getAttribute('id'));
		flashToSendTo.js2asScroll( 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)
               swfMouseWheel.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;
	}
};