/**
 * 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 v1.5 - (c) 2006 Geoff Stearns.
 * http://blog.deconcept.com/swfobject/
 */

var focuswheelSID = '';
var focuswheelSO = null;
var focused = true;

function SWFMacMouseWheel( swfObject, sid )
{
	focuswheelSO = swfObject;
        focuswheelSID = sid;
	var isMac = navigator.appVersion.toLowerCase().indexOf( "mac" ) != -1;
	if( isMac ) wheelinit();
        initFocus();
};

function wheelinit()
{    
    if (window.addEventListener)
    {
        window.addEventListener('DOMMouseScroll', wheelHandler, false);
    }
    window.onmousewheel = document.onmousewheel = wheelHandler;
};

function handleIt( delta )
{
    document[ focuswheelSID ].externalMouseEvent( delta );
};

function wheelHandler(event)
{
        var delta = 0;
        if (event.wheelDelta) {
            delta = event.wheelDelta/120;
            if (window.opera) delta = -delta;
        } else if (event.detail) {
            delta = -event.detail * 3;
        }
        if (delta) handleIt(delta);

        if (event.preventDefault) event.preventDefault();
		event.returnValue = false;
};

function initFocus()
{
    
    if (/*@cc_on!@*/false) { // check for Internet Explorer
            document.onfocusin =  onFocus;
            document.onfocusout =  onBlur;
        }
        else
        {
            window.onfocus =  onFocus;
            window.onblur =  onBlur;
            
        }
		
};


function onBlur()
{
    if ( focused )
        focused = false;
};

function onFocus()
{    
    if ( focused )
      return;
    focused = true;

    if ( document[focuswheelSID] && document[focuswheelSID].takeFocus )
    {
        document[ focuswheelSID ].takeFocus();            
    }
};
