	/**
	*
	* glider do przesuwania np. produktow w slocie "plecane" na stronie glownej
	*
	*/
	
	/* warstwa przesuwana */ 
	var scrollingContent = false;

	/* czas trwania slida */
	var duration=500; 
	
	/* ilosc widocznych elementow */
	var visibleElements;

	/* aktualna pozycja */
	var currentPos;

	/* pozycja docelowa */
	var destPos;

	var startPos, dist;

	/* ilosc punktow o ktore przesuwamy */
	var scrollBy;
	
	/* bool dla sprawdzenie czy trwa przesuwanie - jesi tak nie mozna wykonac nastepnego */
	var isSliding;

	/* czas rozpoczecia przesuwania */	
	var startTime;
	
	/* wspolczynnik dla uzyskania efektu zmiennej predkosci przesuwu */
	var factor;
	
	/* szerokosc tabeli */
	var tableWidth;
	
	/* strzalki przewijania */
	var arrowNext;
	var arrowPrev;
	
	/* init slidera 
	* par. wej:
	*	contentId - id warstwy przesuwanej
	*	arrowPrevId - id warstwy zawierajacej strzalke w lewo
	*	arrowNextId - id warstwy zawierajacej strzalke w prawo
	*	elementSize - szerokosc jednego itemu w pixelach
	*	visElements - ilosc elementow widzialnych
	*/
	function initSlider(contentId, arrowPrevId, arrowNextId, elementSize, visElements) {
		scrollingContent = document.getElementById(contentId);
		arrowNext = document.getElementById(arrowNextId).getElementsByTagName('A')[0];
		arrowPrev = document.getElementById(arrowPrevId).getElementsByTagName('A')[0];
		var table = scrollingContent.getElementsByTagName('TABLE')[0];
		tableWidth = table.offsetWidth;	

		visibleElements = visElements;
		scrollBy = elementSize;
		currentPos = 0;
		checkControls();
		putAtPos(currentPos);
		
		arrowNext.o
	}
	
	/* przesuniecie do przodu */
	function slideForward() {
		if(isSliding) {
			return;
		}
		if((tableWidth+currentPos)<=(scrollBy*visibleElements)) {
			return;
		}
		destPos = currentPos-scrollBy;
		startSlide();
	}
	
	/* przesuniecie do tylu */
	function slideBackward() {
		if(isSliding) {
			return;
		}
		destPos = currentPos+scrollBy;
		if(parseInt(destPos)>0) {
			currentPos = 0;
			return;
		}
		startSlide();
	}	

	/* rozpoczecie slidu */
	function startSlide() {
		startPos = currentPos;
		dist = destPos-currentPos;
			
		startTime = (new Date()).getTime();
		factor = Math.PI/(2 * duration);
		isSliding = true;
		doSlide();
	}
	
	/* wlasciwa funkcja przesuwajaca */
	function doSlide() {
		var elapsed = (new Date()).getTime() - startTime;
		if(elapsed<duration)
		{
			var x = startPos + dist * Math.sin(factor*elapsed);	
			putAtPos(x);
			setTimeout('doSlide()',10)
		} else {
			isSliding = false;
			currentPos=destPos;
			checkControls();
			putAtPos(currentPos);
			return;
		}
	}
	
	/* ustawienie pozycji dla warstwy */
	function putAtPos(position) {
		scrollingContent.style.left = parseInt(position) + 'px';
	}
	
	/* wyswietlanie strzalek */
	function checkControls() {
		if((tableWidth+currentPos)<=(scrollBy*visibleElements)) {
			arrowNext.style.visibility = 'hidden';
		} else
		if(tableWidth>(scrollBy*visibleElements)) {
			arrowNext.style.visibility = 'visible';
		}
		
		if(currentPos==0) {
			arrowPrev.style.visibility = 'hidden';
		} else {
			arrowPrev.style.visibility = 'visible';
		}
	}
	
	
	
	/**
	*
	* glider do przesuwania np. produktow w slocie "plecane" na stronie glownej
	*
	*/
	
	/* warstwa przesuwana */ 
	var scrollingContent2 = false;

	/* czas trwania slida */
	var duration2=500; 
	
	/* ilosc widocznych elementow */
	var visibleElements2;

	/* aktualna pozycja */
	var currentPos2;

	/* pozycja docelowa */
	var destPos2;

	var startPos2, dist2;

	/* ilosc punktow o ktore przesuwamy */
	var scrollBy2;
	
	/* bool dla sprawdzenie czy trwa przesuwanie - jesi tak nie mozna wykonac nastepnego */
	var isSliding2;

	/* czas rozpoczecia przesuwania */	
	var startTime2;
	
	/* wspolczynnik dla uzyskania efektu zmiennej predkosci przesuwu */
	var factor2;
	
	/* szerokosc tabeli */
	var tableWidth2;
	
	/* strzalki przewijania */
	var arrowNext2;
	var arrowPrev2;
	
	/* init slidera 
	* par. wej:
	*	contentId - id warstwy przesuwanej
	*	arrowPrevId - id warstwy zawierajacej strzalke w lewo
	*	arrowNextId - id warstwy zawierajacej strzalke w prawo
	*	elementSize - szerokosc jednego itemu w pixelach
	*	visElements - ilosc elementow widzialnych
	*/
	function initSlider2(contentId2, arrowPrevId2, arrowNextId2, elementSize2, visElements2) {
		scrollingContent2 = document.getElementById(contentId2);
		arrowNext2 = document.getElementById(arrowNextId2).getElementsByTagName('A')[0];
		arrowPrev2 = document.getElementById(arrowPrevId2).getElementsByTagName('A')[0];
		var table2 = scrollingContent2.getElementsByTagName('TABLE')[0];
		tableWidth2 = table2.offsetWidth;	

		visibleElements2 = visElements2;
		scrollBy2 = elementSize2;
		currentPos2 = 0;
		checkControls2();
		putAtPos2(currentPos2);

		arrowNext2.o
	}
	
	/* przesuniecie do przodu */
	function slideForward2() {
		if(isSliding2) {
			return;
		}
		if((tableWidth2+currentPos2)<=(scrollBy2*visibleElements2)) {
			return;
		}
		destPos2 = currentPos2-scrollBy2;
		startSlide2();
	}
	
	/* przesuniecie do tylu */
	function slideBackward2() {
		if(isSliding2) {
			return;
		}
		destPos2 = currentPos2+scrollBy2;
		if(parseInt(destPos2)>0) {
			currentPos2 = 0;
			return;
		}
		startSlide2();
	}	

	/* rozpoczecie slidu */
	function startSlide2() {
		startPos2 = currentPos2;
		dist2 = destPos2-currentPos2;
			
		startTime2 = (new Date()).getTime();
		factor2 = Math.PI/(2 * duration2);

		isSliding2 = true;
		doSlide2();
	}
	
	/* wlasciwa funkcja przesuwajaca */
	function doSlide2() {
		var elapsed2 = (new Date()).getTime() - startTime2;
		if(elapsed2<duration2)
		{
			var x2 = startPos2 + dist2 * Math.sin(factor2*elapsed2);	
			putAtPos2(x2);
			setTimeout('doSlide2()',10)
		} else {
			isSliding2 = false;

			currentPos2=destPos2;
			checkControls2();
			putAtPos2(currentPos2);
			return;
		}
	}
	
	/* ustawienie pozycji dla warstwy */
	function putAtPos2(position2) {
		scrollingContent2.style.left = parseInt(position2) + 'px';
	}
	
	/* wyswietlanie strzalek */
	function checkControls2() {
		if((tableWidth2+currentPos2)<=(scrollBy2*visibleElements2)) {
			arrowNext2.style.visibility = 'hidden';
		} else
		if(tableWidth2>(scrollBy2*visibleElements2)) {
			arrowNext2.style.visibility = 'visible';
		}
		
		if(currentPos2==0) {
			arrowPrev2.style.visibility = 'hidden';
		} else {
			arrowPrev2.style.visibility = 'visible';
		}
	}	
	
	
	/**
	* glider do przesuwania np. powiazanych funclubow
	*/
	var scrollingContent3 = false;var duration3=500; var visibleElements3;var currentPos3;var destPos3;var startPos3, dist3;var scrollBy3;var isSliding3;var startTime3;var factor3;var tableWidth3;var arrowNext3;var arrowPrev3;
	function initSlider3(contentId3, arrowPrevId3, arrowNextId3, elementSize3, visElements3) {
		scrollingContent3 = document.getElementById(contentId3);
		arrowNext3 = document.getElementById(arrowNextId3).getElementsByTagName('A')[0];
		arrowPrev3 = document.getElementById(arrowPrevId3).getElementsByTagName('A')[0];
		var table3 = scrollingContent3.getElementsByTagName('TABLE')[0];
		tableWidth3 = table3.offsetWidth;	
		visibleElements3 = visElements3;
		scrollBy3 = elementSize3;
		currentPos3 = 0;
		checkControls3();
		putAtPos3(currentPos3);
		arrowNext3.o
	}
	function slideForward3() {
		if(isSliding3) {return;}
		if((tableWidth3+currentPos3)<=(scrollBy3*visibleElements3)) {return;}
		destPos3 = currentPos3-scrollBy3;
		startSlide3();
	}
	function slideBackward3() {
		if(isSliding3) { return; }
		destPos3 = currentPos3+scrollBy3;
		if(parseInt(destPos3)>0) {
			currentPos3 = 0;
			return;
		}
		startSlide3();
	}	
	function startSlide3() {
		startPos3 = currentPos3;
		dist3 = destPos3-currentPos3;
		startTime3 = (new Date()).getTime();
		factor3 = Math.PI/(2 * duration3);
		isSliding3 = true;
		doSlide3();
	}
	function doSlide3() {
		var elapsed3 = (new Date()).getTime() - startTime3;
		if(elapsed3<duration3)
		{
			var x3 = startPos3 + dist3 * Math.sin(factor3*elapsed3);
			putAtPos3(x3);
			setTimeout('doSlide3()',10)
		} else {
			isSliding3 = false;
			currentPos3=destPos3;
			checkControls3();
			putAtPos3(currentPos3);
			return;
		}
	}
	function putAtPos3(position3) {
		scrollingContent3.style.left = parseInt(position3) + 'px';
	}
	function checkControls3() {
		if((tableWidth3+currentPos3)<=(scrollBy3*visibleElements3)) {
			arrowNext3.style.visibility = 'hidden';
		} else
		if(tableWidth3>(scrollBy3*visibleElements3)) {
			arrowNext3.style.visibility = 'visible';
		}
		
		if(currentPos3==0) {
			arrowPrev3.style.visibility = 'hidden';
		} else {
			arrowPrev3.style.visibility = 'visible';
		}
	}
	
	

/**
	*
	* Klasa glidera do przesuwania  elementów galerii
	*
	*/
	


function GalleryGlider() {
    
    var self = this;
    
   
/* wlasciwosci klasy */
 
    /* warstwa przesuwana */ 
	this.scrollingContent = false;
    
    /* czas trwania slida */
	this.duration=500; 
    
    /* ilosc widocznych elementow */
	this.visibleElements;
	
	/* aktualna pozycja */
	this.currentPos;
	
	/* pozycja docelowa */
	this.destPos;

    this.startPos; 
	this.dist;
	
	/* ilosc punktow o ktore przesuwamy */
	this.scrollBy;

	/* bool dla sprawdzenie czy trwa przesuwanie - jesi tak nie mozna wykonac nastepnego */
	this.isSliding;

	/* czas rozpoczecia przesuwania */	
	this.startTime;
	
	/* wspolczynnik dla uzyskania efektu zmiennej predkosci przesuwu */
	this.factor;
	
	/* szerokosc tabeli */
	this.tableWidth;
	
	/* strzalki przewijania */
	this.arrowNext;
	this.arrowPrev;
		
    /* nazwa zmiennej obiektu */
  	this.galleryGliderName;

/* metody klasy */
	
/* init slidera 
	* par. wej:
	*	contentId - id warstwy przesuwanej
	*	arrowPrevId - id warstwy zawierajacej strzalke w lewo
	*	arrowNextId - id warstwy zawierajacej strzalke w prawo
	*	elementSize - szerokosc jednego itemu w pixelach
	*	visElements - ilosc elementow widzialnych
	*/	
	
	this.initSlider = function (contentId, arrowPrevId, arrowNextId, galleryGliderName,elementSize , visElements) {
		self.galleryGliderName=galleryGliderName;
		self.scrollingContent = document.getElementById(contentId);
		self.scrollingContent.style.position='relative';
		self.arrowNext = document.getElementById(arrowNextId).getElementsByTagName('A')[0];
		self.arrowPrev = document.getElementById(arrowPrevId).getElementsByTagName('A')[0];
		var table = self.scrollingContent.getElementsByTagName('TABLE')[0];
		self.tableWidth = table.offsetWidth;	

		self.visibleElements = visElements;
		self.scrollBy = elementSize;
		self.currentPos = 0;
		self.checkControls();
		self.putAtPos(self.currentPos);
		
		self.arrowNext.o
	}	
	
/* przesuniecie do przodu */
   this.slideForward = function () {
		if(self.isSliding) {
			return;
		}
		if((self.tableWidth+self.currentPos)<=(self.scrollBy*self.visibleElements)) {
			return;
		}
		self.destPos = self.currentPos-self.scrollBy;
		self.startSlide();
		
	}	
	
/* przesuniecie do tylu */
	this.slideBackward = function () {
		if(self.isSliding) {
			return;
		}
		self.destPos = self.currentPos+self.scrollBy;
		if(parseInt(self.destPos)>0) {
			self.currentPos = 0;
			return;
		}
		self.startSlide();
	}
	
	/* rozpoczecie slidu */
	 this.startSlide = function () {
		self.startPos = self.currentPos;
		self.dist = self.destPos-self.currentPos;
			
		self.startTime = (new Date()).getTime();
		self.factor = Math.PI/(2 * self.duration);
		self.isSliding = true;
		self.doSlide();
	}
	
	/* wlasciwa funkcja przesuwajaca */
	this.doSlide = function () {
		var elapsed = (new Date()).getTime() - self.startTime;
		if(elapsed<self.duration)
		{
			var x = self.startPos + self.dist * Math.sin(self.factor*elapsed);	
			self.putAtPos(x);
			setTimeout(self.galleryGliderName+'.doSlide()',10);
			
			
			
		} else {
			self.isSliding = false;
			self.currentPos=self.destPos;
			self.checkControls();
			self.putAtPos(self.currentPos);
			return;
		}
	}
	
	/* ustawienie pozycji dla warstwy */
    this.putAtPos = function (position) {
		self.scrollingContent.style.left = parseInt(position) + 'px';
	}
	
	
	/* wyswietlanie strzalek */
	this.checkControls = function () {
		if((self.tableWidth+self.currentPos)<=(self.scrollBy*self.visibleElements)) {
			self.arrowNext.style.visibility = 'hidden';
		} else
		if(self.tableWidth>(self.scrollBy*self.visibleElements)) {
			self.arrowNext.style.visibility = 'visible';
		}
		
		if(self.currentPos==0) {
			self.arrowPrev.style.visibility = 'hidden';
		} else {
			self.arrowPrev.style.visibility = 'visible';
		}
	}	
}	