var swfmousewheel = function()
{
	if (!swfobject) return null;
	var objects = [];
	
	var deltaFilter = function(event) {
		var delta = 0;
		if (event.wheelDelta) {
			delta = event.wheelDelta;
			if (window.opera) delta = -delta;
		} else if (event.detail) {
			delta = -event.detail;
		}
		if (delta <= -120 || delta >= 120) {
			delta = delta / 120;
		}
		return Math.round(delta); 
	}
	
	var deltaDispatcher = function(event) {
		if (!event) event = window.event;
		var delta = deltaFilter(event);
		var obj;
		for (var i = 0; i < objects.length; i++ ) {
			obj = swfobject.getObjectById(objects[i]);
			if (typeof(obj.externalMouseEvent) == 'function') {
				if (obj.externalMouseEvent(delta)) {
					if (event.preventDefault) {
						event.preventDefault();
					}
					return false;
				}
			}
		}
	}
	
	if (window.addEventListener) window.addEventListener('DOMMouseScroll', deltaDispatcher, false);
	window.onmousewheel = document.onmousewheel = deltaDispatcher;

	return {
		registerObject: function(id) {
			objects[objects.length] = id;
		}
	};
}();




