function VKaruzela(div,w,h,banner,tlo) {
	var X = this;
 	var steps = 20;
	var grBan = 28;
	var grSter = 24;
	var banTr = new Array();
	var banMid;
	var currTop = 0;
   function abs(x) { x=(x<0)?-x:x; return x; }
   function setA(e,ax) {
		if(navigator.appName=="Microsoft Internet Explorer") {e.style.filter = "Alpha(opacity="+ax+")";}
		else {e.style.opacity=(ax/100);}
	}
  	var Fcount = 0;
  	var images = new Array();
  	var text = new Array();
	var linki = new Array();
 	this.El = document.getElementById(div);
	this.El.style.fontFamily = "Arial";
 	this.El.style.position = "relative";
	this.El.style.width = w+"px";
	this.El.style.backgroundColor = tlo;
	this.El.style.overflow = "hidden";

	this.klap = document.createElement("div");
	this.El.appendChild(this.klap);
	this.klap.style.visibility = "hidden";
	this.klap.style.position = "absolute";
	this.klap.style.cursor = "pointer";
	this.klap.style.zIndex = "20";
   this.klap.style.left = ((w/2)-22)+"px";
	this.klap.style.top = ((h/2)-29)+"px";
	this.klap.innerHTML = '<img src="skrypty/video.gif" />';
	this.klap.style.visibility = "visible";


	this.f1 = document.createElement("div");
	this.El.appendChild(this.f1);
	this.f1.style.position = "absolute";
	this.f1.style.cursor = "pointer";
	this.f1.style.zIndex = "2";

	this.f2 = document.createElement("div");
	this.El.appendChild(this.f2);
	this.f2.style.position = "absolute";
	this.f2.style.zIndex = "1";

	this.video = document.createElement("div");
	this.El.appendChild(this.video);
	this.video.style.position = "absolute";
	this.video.style.zIndex = "3";
	this.video.style.visibility = "hidden";

	this.Ekr = document.createElement("iframe");
	this.video.appendChild(this.Ekr);
	this.Ekr.style.width = w + "px";
	this.Ekr.style.height = h + "px";

	this.ster = document.createElement("div");
	this.El.appendChild(this.ster);

	this.bann = document.createElement("div");
	this.El.appendChild(this.bann);
	this.bant = document.createElement("div");
	this.El.appendChild(this.bant);
	this.f2.style.left = this.f2.style.top = this.f1.style.left = this.f1.style.top = currTop+"px";
	currTop = h;

	this.bann.style.width = this.bant.style.width = w+"px";
	this.bann.style.height = this.bant.style.height = grBan+"px";
	this.bann.style.left = this.bant.style.left = "0px";
	this.bann.style.position = this.bant.style.position = "absolute";
	this.El.style.height = (grSter+h)+"px";
	this.bann.style.top = this.bant.style.top = (h-grBan)+"px";
	setA(this.bann,40);
	//40 przezroczystość
	if(!banner)this.bann.style.display = this.bant.style.display = "none";

	var Styl = this.bann.style;
	Styl.backgroundColor = "transparent";
	Styl.zIndex = "4";

	Styl = this.bant.style;
	Styl.backgroundColor = "transparent";
	Styl.textAlign = "left";
	Styl.padding = "5px 5px 1px 20px";
	Styl.zIndex = "4";
	Styl.color = "white";

	Styl = this.ster.style;
	Styl.position = "absolute";
	Styl.zIndex = "5";
	Styl.top = currTop+"px";
	Styl.left = "0px";
	Styl.width = w+"px";
	Styl.height = "24px";
	Styl.backgroundColor = "#666666";
	Styl.color = "white";
	Styl.fontSize = "12px";
	Styl.textAlign = "justify";

	this.addImg = function(img,t,link) {
	  if(Fcount==0) {X.f1.innerHTML = '<img src="'+img+'" />';}
	  images[Fcount] = img;
	  text[Fcount] = t;
	  linki[Fcount] = link;
	  Fcount++;
	}
	var imc;
	var imn;
	var sterHTML;
	this.geted = function() {imc++; this.getImg();}
	this.getImg = function() {
	  im = new Image();
	  im.onload = function() {
	    if (imc<images.length) { X.getImg(); }
  	    else {
         	X.f1.innerHTML = '<img src="'+images[0]+'" />';
         	X.klap.onclick = X.f1.onclick = function() {
					if (linki[imc]) {
						//window.open (linki[imc]);
						clearTimeout(T);
						X.bann.style.visibility = X.bant.style.visibility = 'hidden';
						sterHtml = X.ster.innerHTML;
						X.ster.innerHTML = '<center><font size=3><b>wróć</b></font></center>';
						X.ster.style.cursor = "pointer";
						X.video.style.visibility = 'visible';
						X.Ekr.src = 'film.php?film='+linki[imc];
						X.ster.onclick = function(){
							X.ster.innerHTML='';
							setSter();
							X.video.style.visibility = 'hidden';
							X.Ekr.src = null;
							X.bann.style.visibility = X.bant.style.visibility = 'visible';
							X.ster.style.cursor = "auto";
							X.ster.onclick = null;
							T = setTimeout(function(){X.timeOut();},interval);
						}
					}
				}
         	X.f2.innerHTML += '<img src="'+images[1]+'" />';
         	X.bant.innerHTML = text[0];
				imc = 0;
         	T = setTimeout(function(){X.timeOut();},interval);
       }
	  }
     imc++;im.src = images[imc-1];
 	}
 	var interval;
	this.start = function(i,s) {
	  interval = i;
	  steps = s;
 	  imc = 0; imn = 1;
 	  var A = -4*(grBan)/(steps*steps);
 	  var B = 4*(grBan)/steps;
 	  for (i=0;i<steps;i++) { banTr[i] = Math.round(A*i*i + B*i); }
	  banMid = Math.round(steps/2);
	  setSter(X); this.bant.innerHTML = text[0];
 	  this.getImg();
 	}
	var st = 0;
	this.butt = new Array();
	var T;
	function Table(elem,col) {
		var t = new Array();
		t[0] = document.createElement("table");
		elem.appendChild(t[0]);
		t[0].style.height = "100%";
		var tb = document.createElement("tbody");
		t[0].appendChild(tb);
		var tr = document.createElement("tr");
		tb.appendChild(tr);
		for(i=1;i<=col;i++) {
			t[i] = document.createElement("td");
			tr.appendChild(t[i]);
			t[i].style.verticalAlign = "middle";
			t[i].style.padding = "0px 0px 0px 0px";
		}
		return t;
	}
	function reSter() {
		for(i=0;i<Fcount;i++) { X.butt[i].style.color = (i==imc) ? "orange" : "white"; }
	}
	function setAttr(A,k,cont) {
		A.style.color = k ? "orange" : "white";
		A.style.cursor = "pointer";
	   A.innerHTML = cont;
	}
	function setSter() {
		var td = Table(X.ster,3);
		td[0].style.width = "100%"; td[0].style.fontWeight = "bold";
		td[1].style.width = td[3].style.width = "30px";
		td[1].style.textAlign = "left"; td[1].style.paddingLeft = "5px";
		setAttr(td[1],false,"&lt;&lt;");
		td[1].onclick = function () {
			if (st==0) {
				clearTimeout(T);
				imn = (images.length+imc-1)%images.length;
				X.f2.innerHTML = '<img src="'+images[(imn)%images.length]+'">';
				X.timeOut();
			}
		}
		td[2].style.textAlign = "center";
		for (i=0;i<Fcount;i++) {
			X.butt[i] = document.createElement("span");
			td[2].appendChild(X.butt[i]);
			setAttr(X.butt[i],i==imc,(i+1));
			X.butt[i].style.marginLeft = X.butt[i].style.marginRight = "5px";
			X.butt[i].onclick = function() {
			   if (st==0) {
					clearTimeout(T);
					imn = (this.innerHTML-1)%images.length;
					X.f2.innerHTML = '<img src="'+images[(imn)%images.length]+'">';
					X.timeOut();
				}
			}
		}
		td[3].style.textAlign = "right"; td[3].style.paddingRight = "5px";
		setAttr(td[3],false,"&gt;&gt;");
		td[3].onclick = function () {
			if (st==0) {
				clearTimeout(T);
				imn = (imc+1)%images.length;
				X.f2.innerHTML = '<img src="'+images[(imn)%images.length]+'">';
				X.timeOut();
			}
		}
	}
	function XtimeOut() {X.timeOut();}
	this.timeOut = function () {
 	 clearTimeout(T);
         setA(X.f1,Math.round(100*(steps-st)/steps));
	 var top = banTr[st];
	 st++;
	 X.bant.style.top = X.bann.style.top = top + (h-grBan)+"px";
	 if(st == banMid) {X.bant.innerHTML = text[(imn)%images.length]; T = setTimeout(function(){X.timeOut();},50); return;}
	 if(st<steps){ T = setTimeout(function(){X.timeOut();},50); return;}
	 imc = imn;
	 X.f1.innerHTML = '<img src="'+images[imc]+'">';
	 X.f2.innerHTML = '<img src="'+images[(imc+1)%images.length]+'">';
	 st = 0;
	 X.bant.style.top = X.bann.style.top = (h-grBan)+"px";
	 setA(X.f1,100);reSter();
	 imn = (imc+1)%images.length;
	 T = setTimeout(function(){X.timeOut();},interval);
  }
 }
