/******************************************************************************
 * エレベータ
 */

function Elevator() {
	this.initialize.apply(this, arguments);
}

Elevator.prototype = {
	initialize: function(id, speed, interval) {
		_speed = speed;
		_interval = interval;
		
		if (document.all) {
			_element = document.all(id);
		}
		else if (document.getElementById) {
			_element = document.getElementById(id);
		}
	}, 
	
	move: function() {
		var screenY = 0;
		var elementY = 0;
		var deltaY = 0;
		
		
		if (document.all) {
			screenY = document.documentElement.scrollTop || document.body.scrollTop;
			elementY = _element.style.pixelTop;
		}
		else {
			screenY = self.pageYOffset;
			
			if (document.getElementById) {
				elementY = parseInt(_element.style.top);
				
				if (isNaN(elementY)) {
					elementY = 0;
				}
			}
		}
		
		if (elementY < screenY) {
			deltaY = (screenY - elementY) / _speed;
		}
		else {
			deltaY = ((elementY - screenY) / _speed) * -1;
		}
		
		if (deltaY > 0.0 && deltaY < 1.0) {
			deltaY = 1.0;
		}
		
		//window.status = 'screenY' + screenY + 
		//	', elementY' + elementY + 
		//	', deltaY = ' + deltaY + 
		//	', scrollTop = ' + document.body.scrollTop + 
		//	', scrollTop' + document.documentElement.scrollTop;
		
		_element.style.top = elementY + deltaY + "px";
	}, 
	
	start: function() {
		_timerID = setInterval(this.move, _interval);
	}, 
	
	stop: function() {
		clearInterval(_timerID);
	}
}
