function IFrame(obiektRamka, obiektSuwak, obiektTrasa, nazwaZmiennej) {
  ramka = obiektRamka;
	interwal=null;
	suwak = obiektSuwak;
	trasa = obiektTrasa;
	suwak.unselectable='on';
	trzymany=false;
	nazwa = nazwaZmiennej;
	ramka.style.height='310px';
	ramka.style.overflow='hidden';
	
	function chwyc(){trzymany=true;}
	this.chwyc = chwyc;
	
	function pusc(){trzymany=false;}
	this.pusc = pusc;
	
	function zwolnij()
	{
		pusc();
		zakonczPrzesuwanie();
	}
	this.zwolnij = zwolnij;
	
	function przesunDo(evt)
	{
		if(evt.pageY) {odGory = evt.pageY - document.getElementById('tresc').offsetTop - trasa.offsetTop-190;}
		else { odGory = evt.offsetY-20;}
		
		maxPrzesuniecie = ramka.scrollHeight-ramka.offsetHeight;
		maxSuwak = trasa.offsetHeight - (suwak.offsetHeight)-25;
		odGory = Math.round((maxPrzesuniecie*odGory)/maxSuwak);
		odleglosc = Math.max(0,Math.min(maxPrzesuniecie,odGory));
		ramka.scrollTop = odleglosc;
		
		suwak.style.top = 30+Math.round((odleglosc*maxSuwak)/maxPrzesuniecie)+'px';
	}
	this.przesunDo = przesunDo;
	
	function dragDrop(evt)
	{	
		if(trzymany) przesunDo(evt);
	}
	this.dragDrop = dragDrop;
	
	function przesun(dx)
	{
		maxPrzesuniecie = ramka.scrollHeight-ramka.offsetHeight;
		maxSuwak = trasa.offsetHeight - suwak.offsetHeight;
		odleglosc = Math.max(0,Math.min(maxPrzesuniecie,ramka.scrollTop+dx));
		ramka.scrollTop = odleglosc;

		suwak.style.top = (Math.round((odleglosc*maxSuwak)/maxPrzesuniecie))+'px';
	}
	this.przesun = przesun;
	
	function przesuwaj(dx){
		przesun(dx);
		if(interwal==null) interwal = window.setInterval(nazwa+'.przesun('+dx+')',50);
	}
	this.przesuwaj = przesuwaj;
	
	function zakonczPrzesuwanie(){
		if(interwal!=null) clearInterval(interwal);
		interwal=null;
	}
	this.zakonczPrzesuwanie = zakonczPrzesuwanie;
	
}