Object.extend(Event, {
	wheel: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;	}
		return Math.round(delta); //Safari Round
	}
});
/*
EXAMPLE:
var counterDIV2=0;
function handleDIV2(e) {
	counterDIV2 +=	Event.wheel(e);
	$('divdelta2').innerHTML = counterDIV2 +'#'+ Event.wheel(e) + ": " + (Event.wheel(e) < 0 ? 'down' : 'up' );
}
Event.observe($('divdelta2'), "mousewheel", handleDIV2, false);
Event.observe($('divdelta2'), "DOMMouseScroll", handleDIV2, false); // Firefox
*/
function onWheel(f){
	e=(arguments.length>1)?$(arguments[1]):document;
	Event.observe(e,"mousewheel",f,false);
	Event.observe(e,"DOMMouseScroll",f,false); // Firefox
}
Element.addMethods({
	onWheel:function(element,f){
		onWheel(f,element);
	}
});
Object.extend(is,{
	leftClick:function(e){
		return Event.isLeftClick(e);
	},
	middleClick:function(e){
		var middleclick;
		if (!e) var e = window.event;
		if (e.which) middleclick = (e.which == 2);
		else if (e.button) middleclick = (e.button == 4);
		return 	middleclick;
	},
	rightClick:function(e){
		var rightclick;
		if (!e) var e = window.event;
		if (e.which) rightclick = (e.which == 3);
		else if (e.button) rightclick = (e.button == 2);
		return 	rightclick;
	}
});