function coolSlideGlide() {

	var activeClass = "sliderCenter";
	var $body = $("#sliderTapeBody");
	var $tape = $body.children("#sliderTape");
	var $images = $tape.find("a.sliderImage");
	var $activeImage = $tape.find("a.sliderImage." + activeClass);
	var height = $tape.find("a.sliderImage").height();
	var $sipka1 = $("a.sliderArrow.topArrow");
	var $sipka2 = $("a.sliderArrow.bottomArrow");
	var $mainImage = $("#templateContentCenter img");
	var bodyHeight = $body.height();
	var visibleImages = bodyHeight / height;
	var center = bodyHeight / visibleImages;
	var offset = 10;
	var animationTime = 250;
	var playTime = 10000; // ms == 1/1000s
	var pauseTime = 3 * playTime; // ms == 1/1000s
	// srovnání o délku playTIme
	pauseTime -= playTime;
	var timer;
	var playing = false;
	var onpause = false;
	$mainImage.parent().css("position", "relative");
	$mainImage.css({
		position : "absolute",
		top : 0,
		left : 0,
		zIndex : 100
	});
	jumpTo = function($image) {
		$activeImage.removeClass(activeClass);
		$activeImage = $image;
		$activeImage.addClass(activeClass);
		slideToImage($activeImage);
		changeMainImage();
	}

	jumpToPrev = function() {
		var $image = $activeImage.prev();
		if ($image.length > 0)
			jumpTo($image);
	}

	jumpToNext = function() {
		var $image = $activeImage.next();
		if ($image.length > 0) {
			jumpTo($image);
			return true;
		}
		return false
	}

	slideToImage = function($image) {
		var top = $image.position()['top'];
		var position = 0;

		if ($image.next().length == 0) {
			top = $image.prev().position()['top'];
		}
		position = center - top + 10;
		/*
		 * if (position < -center) position = -center - offset; else position +=
		 * offset;
		 */
		if (position > 0)
			position = 0;
		$tape.animate({
			top : position
		}, animationTime);

	}

	changeMainImage = function() {
		var img = new Image();
		img.src = $activeImage.attr("rel") + "#"
				+ Math.round(Math.random() * 999);
		img.onload = function() {
			var $tempImage = $mainImage.clone();
			$tempImage.css({
				zIndex : 110
			});
			$mainImage.parent().append($tempImage);
			$mainImage.attr({
				"src" : img.src,
				"alt" : $activeImage.attr("title"),
				"title" : $activeImage.attr('title')
			});
			$mainImage.parent().attr({
				"href" : $activeImage.attr('href'),
				"title" : $activeImage.attr('title')
			});
			$tempImage.animate({
				opacity : 0.0
			}, animationTime, function() {
				$tempImage.remove();
			});

		};
		// img.onLoad();
	}

	$sipka1.click(function() {
		jumpToPrev();
	});

	$sipka2.click(function() {
		jumpToNext();
	});

	$images.click(function() {
		pause();
		jumpTo($(this));
		return false;
	});

	play = function() {
		if (!playing) {
			timer = setInterval(function() {
				if (!jumpToNext())
					jumpTo($images.first());
			}, playTime);
			playing = true;
		}
	}

	stop = function() {
		if (playing) {
			clearInterval(timer);
			playing = false;
		}
	}

	pause = function() {
		if (!onpause) {
			stop();
			setTimeout(function() {
				play();
				onpause = false
			}, pauseTime);
		}
		onpause = true;
	}

	jumpTo($activeImage);
	play();
}

$(document).ready(function(){
  if($("#sliderBox").length) {
    new coolSlideGlide();
  }
});
