// t@せつないぶろぐ	2006.06.29
// 
// char code :SJIS
// line feed :CR+LF
// TAB       :4

function WheelRoll(obj, funcName) {

	function onRoll(event) {
		var value = '';

		var rollCount = _eventToRollCount(event);
		var script = funcName + '(rollCount, event)';
		value = eval(script);

		_eventCancell(event);

		return value;
	}

	function _eventToRollCount(e) {
		if (e.wheelDelta) {
			return e.wheelDelta / -120;
		}

		if (e.detail) {
			return e.detail / 3;
		}

		return 0;
	}

	function _eventCancell(e) {
		e.returnValue = false;
		if (e.preventDefault) {
			e.preventDefault();
		}
	}

	function setEvent() {

		var element = obj;
	    if (typeof obj == 'string') {
			element = document.getElementById(obj);
		}

		if (element.attachEvent) {
			element.attachEvent("onmousewheel", onRoll);
			return;
		}

		if (element.addEventListener) {
			element.addEventListener("DOMMouseScroll", onRoll, false);
			return;
		}
	}

	setEvent();

	return this;
}


