﻿function MouseWheel() 
{
    this.silverlightMethod = Silverlight.createDelegate(this, this.onMouseWheelScroll);
    if (window.addEventListener)
        window.addEventListener('DOMMouseScroll', this.silverlightMethod, false);
    window.onmousewheel = document.onmousewheel = this.silverlightMethod;
}
MouseWheel.prototype.silverlightMethod = null;
MouseWheel.prototype.onMouseWheelMove = null;
MouseWheel.prototype.onMouseWheelScroll = function(event) 
{
    var delta = 0;
    if (!event)
        event = window.event;        
    if (event.wheelDelta) 
	{
		delta = event.wheelDelta/120;
        if (window.opera)
            delta = -delta;
    }
    else if (event.detail) 
	{
		delta = -event.detail/3;
        if(navigator.userAgent.indexOf("Macintosh") != -1)
            delta=-delta;
    }
    if (delta && this.onMouseWheelMove)
        this.onMouseWheelMove(delta);
    if (event.preventDefault)
        event.preventDefault();
    event.returnValue = false;
}

MouseWheel.prototype.ignoreMouseWheel = function() 
{
    if (this.silverlightMethod != null) 
	{
        if (window.removeEventListener)
            window.removeEventListener('DOMMouseScroll', this.silverlightMethod, false);
        window.onmousewheel = document.onmousewheel = null;
        this.silverlightMethod = null;
    }
}