﻿function Slider(ident, cnt)
{
	this.id = ident;
	this.slides = new Array();
	this.intID = 0;
	this.mouseover = -1;
	this.slidecount = 0;
	this.animatePeriod = 25;
	this.slideExtent = 110;
	this.slideMoveDelta = 10;

	for( i = 0; i < cnt; i++ ) this.slides.push(new Slide(this));

	this.MoveSlide = function (indx, dir)
	{
		this.slides[indx].dir = dir;
		if (dir)
		{
			this.slidecount++;
			if (this.slidecount == 1) this.intID = window.setInterval(this.id + ".Animate();", this.animatePeriod);
		}
		else
		{
			this.slidecount--;
			if (this.slidecount == 0) { window.clearInterval(this.intID); this.mouseover = -1; }
		}
	};

	this.Animate = function ()
	{
		for (var i = 1; i < this.slides.length; i++)
		{
			if (this.slides[i].dir)
			{
				var element = this.slides[i].element;
				var sliderPos = parseInt(element.style.marginTop) + this.slides[i].dir;
				if ((sliderPos < -this.slideExtent) || (sliderPos > 0)) this.MoveSlide(i, 0); else element.style.marginTop = sliderPos + "px";
			}
		}
	};

	this.onmouseover = function (index)
	{
		if (this.mouseover != index)
		{
			for (var i = 1; i < this.slides.length; i++) this.MoveSlide(i, i > index ? -this.slideMoveDelta : this.slideMoveDelta);
			this.mouseover = index;
		}
	};
}

function Slide(sldr)
{
	this.dir = 0;
	this.index = sldr.slides.length;
	this.element = document.getElementById(sldr.id + "_" + this.index);
	this.element.style.marginTop = "0px";
}
