
var Slide2 = {

	frameTime: 50,
	frameStep: 5,
	frameWheel: 20,
	frameJump: 50,

	wrap: null,
	slide: null,
	timer: null,

	// d&d
	moveListener: null,
	upListener: null,
	dragStartEle: null,
	prevMouseX: null,

	controls: {
		left: null,
		right: null
	},
	LEFT: 1,
	RIGHT: 2,

	init: function() {
		Slide2.wrap = document.getElementById("skladacka2");
		Slide2.slide = document.getElementById('dilek');
		},

	gms: function() {
		// get max scroll
		return Slide2.slide.scrollWidth - Slide2.slide.offsetWidth;
	},

	controlOver: function(e) {
		if (e == "right") Slide2.start(Slide2.RIGHT);
		else Slide2.start(Slide2.LEFT);
		},

	controlOut: function(e) {
		Slide2.stop();
	},

	controlDown: function(e) {
		var dir = (e.currentTarget == Slide2.controls.right)
					? Slide2.RIGHT
					: Slide2.LEFT
		Slide2.frame(dir, Slide2.frameJump);
		e.stopPropagation();
	},

	wrapWheel: function(e) {
		var dir, delta = 0;
		if (e.wheelDelta) {
			delta = e.wheelDelta / 120;
			window.opera && (delta =  - delta);
		} else if (e.detail) {
			delta = - e.detail / 3
		}
		if (delta != 0) {
			dir = delta > 0 ? Slide2.LEFT : Slide2.RIGHT;
			Slide2.frame(dir, Slide2.frameWheel);
		}
		e.preventDefault();
	},

	dragAndDrop: function(e) {
		switch (e.type) {
			case 'mousedown':
				e.preventDefault(); // avoid FF internal image dragging
				Slide2.dragStartEle = e.target;
				Slide2.moveListener.listen();
				Slide2.upListener.listen();
				Slide2.dragStartEle.onselectstart = Slide2.dragStartEle.ondrag = function(){return false;}
				ClassName.add(document.body, 'slide-dragging');
			break;
			case 'mousemove':
				var move = (e.clientX + Viewport.getScrollLeft()) - Slide2.prevMouseX;
				if (move > 0) {
					Slide2.frame(Slide2.LEFT, move)
				} else {
					Slide2.frame(Slide2.RIGHT, +(-move))
				}
			break;
			case 'mouseup':
				Slide2.moveListener.stopListen();
				Slide2.upListener.stopListen();
				Slide2.dragStartEle.onselectstart = Slide2.dragStartEle.ondrag = null;
				ClassName.remove(document.body, 'slide-dragging');
			break;
		}
		Slide2.prevMouseX = e.clientX + Viewport.getScrollLeft();
	},

	start: function(dir) {
		Slide2.timer = window.setInterval(function(){
			Slide2.frame(dir, Slide2.frameStep);
		}, Slide2.frameTime);
	},

	stop: function() {
		window.clearInterval(Slide2.timer);
	},

	frame: function(dir, step) {
		// TODO: better support for IE 5.0
		if (dir == Slide2.RIGHT && Slide2.slide.scrollLeft >= Slide2.gms()) {
			var img = Slide2.slide.getElementsByTagName('img')[0];
			Slide2.slide.appendChild(img);
			Slide2.slide.scrollLeft = Slide2.gms() - img.offsetWidth;
		} else if (dir == Slide2.LEFT && Slide2.slide.scrollLeft < 1) {
			var images = Slide2.slide.getElementsByTagName('img')
			var img = images[images.length - 1];
			Slide2.slide.insertBefore(img, Slide2.slide.firstChild);
			Slide2.slide.scrollLeft = img.offsetWidth;
		}
		Slide2.slide.scrollLeft +=  (dir == Slide2.RIGHT) ? step : -step
	}

}


