/********************************************************************************
* Webcam Tool																	*
*																				*
* created by Yannik Borter														*
* Copyright (c) 2009 indual GmbH (http://www.indual.ch)							*
********************************************************************************/

/*************** Scrollbar ***********/
window.onload = function() {
		// scroll the element horizontally based on its width and the slider maximum value
	function scrollVertical(value, element, slider) {				
		element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
	}
	// horizontal slider control
	window.slider = new Control.Slider('timehandle', 'timetrack', {
		axis: 'vertical',
		onSlide: function(v) { scrollVertical(v, $('date_container'), slider);  },
		onChange: function(v) { scrollVertical(v, $('date_container'), slider); }
	});
	
	slider.setValueBy(1);
		
	/*************** Mouse Wheel for date_container scrollbar  ***********/
	// mouse wheel code from http://adomas.org/javascript-mouse-wheel/
	if ($('timehandle') != null){
		function timehandle(sliderid, delta) {
			sliderid.setValueBy(-delta/20);
		}
	
		/** Event timehandler for mouse wheel event. */
		function wheel(event){
			var delta = 0;
			if (!event) /* For IE. */
				event = window.event;
			if (event.wheelDelta) { /* IE/Opera. */
				delta = event.wheelDelta/120;
			} else if (event.detail) { /** Mozilla case. */
				/** In Mozilla, sign of delta is different than in IE.
				* Also, delta is multiple of 3.
				*/
				delta = -event.detail/3;
			}
	
			/** If delta is nonzero, timehandle it.
			* Basically, delta is now positive if wheel was scrolled up,
			* and negative, if wheel was scrolled down.
			*/
			if (delta)
				timehandle(slider, delta);
	
			/** Prevent default actions caused by mouse wheel.
			* That might be ugly, but we timehandle scrolls somehow
			* anyway, so don't bother here..
			*/
			if (event.preventDefault)
				event.preventDefault();
			
			event.returnValue = false;
		}
		// mozilla
		Event.observe('date_container', 'DOMMouseScroll', wheel);
		
		// IE/Opera
		Event.observe('date_container', 'mousewheel', wheel);
	}		
}
