var zdjecia_licznik = '0';
var zdjecia_licznik_okno = '0';
var zdjecia_okno_ile = '3';
var zdjecia_id = new Array('zdjecie_1', 'zdjecie_2', 'zdjecie_3');
var zdjecia_id_pod = new Array('zdjecie_1_1', 'zdjecie_2_1', 'zdjecie_3_1');
var zdjecia_buffor = new Array();
var interwal_buffor;
var interval_buffor_working = 'off';
var opacity = '0';
function wyswietlaj_zdjecia ()
{
	//sprawdzamy czy są zdjecia
	if(!zdjecia) return true;
	//ustawiamy pierwsze domyslne zdjecie
	document.getElementById(zdjecia_id[zdjecia_licznik_okno]).style.background = 'url(' + zdjecia[zdjecia_licznik] + ')';
	zdjecia_licznik++;
	zdjecia_licznik_okno++;

	document.getElementById(zdjecia_id[zdjecia_licznik_okno]).style.background = 'url(' + zdjecia[zdjecia_licznik] + ')';
	zdjecia_licznik++;
	zdjecia_licznik_okno++;

	document.getElementById(zdjecia_id[zdjecia_licznik_okno]).style.background = 'url(' + zdjecia[zdjecia_licznik] + ')';
	zdjecia_licznik++;
	zdjecia_licznik_okno = '0';
	
	setTimeout("zamieniaj_zdjecia(3000)", 3000);
}
function buforuj_zdjecia ()
{
	ile_zdjec = zdjecia.length;
	if(ile_zdjec <= '0') return false;
	for(i=0;i<=ile_zdjec;i++)
	{
		zdjecia_buffor[i] = new Image();
		zdjecia_buffor[i].src = zdjecia[i];
	}
	interwal_buffor = setInterval("check_buffor()", 2000);
	return true;
}
function zamieniaj_zdjecia(czas)
{
	if(zdjecia_licznik == zdjecia.length) zdjecia_licznik = '0';
	if(zdjecia_licznik_okno == zdjecia_okno_ile) zdjecia_licznik_okno = '0';

	document.getElementById(zdjecia_id_pod[zdjecia_licznik_okno]).style.backgroundImage = 'url(' + zdjecia_buffor[zdjecia_licznik].src + ')';
	
	//uruchamiamy przejście
	setTimeout("przejscie('150', "+zdjecia_licznik_okno+", null, "+czas+")", 100);

	//uaktualniamy warstwy
	zdjecia_licznik++;
	zdjecia_licznik_okno++;
}
function przejscie(i, nr_warstwy, szybkosc_przejscia, czas)
{
	if(szybkosc_przejscia == null)
	{
		//obliczamy szybkosc przejscia czyli czas dzielimy na 50 równych części
		szybkosc_przejscia = Math.ceil(czas/i);
	}

	// 'style' jest podwojone ze wzgledu na roznice w przegladarkach
	document.getElementById(zdjecia_id[nr_warstwy]).style.filter="Alpha(Opacity="+i+")";
	document.getElementById(zdjecia_id[nr_warstwy]).style.opacity= (i/100);

	// zmienna 'i' jest przekazywana przy kazdej rekurencji i zmniejszana o wartosc zmiennej 'krok_przejscia'
	if(i > 0)
	{
		i -= '2';//zmniejszamy o 2
		setTimeout("przejscie("+i+",'"+nr_warstwy+"',"+szybkosc_przejscia+", "+czas+");", szybkosc_przejscia);
	}
	else
	{
		// kiedy element uzyska 100% przezroczystosci, zmieniamy z-index
		document.getElementById(zdjecia_id[nr_warstwy]).style.zIndex="1";
		document.getElementById(zdjecia_id_pod[nr_warstwy]).style.zIndex="2";
		document.getElementById(zdjecia_id[nr_warstwy]).style.filter="Alpha(Opacity=100)";
		document.getElementById(zdjecia_id[nr_warstwy]).style.opacity= 100;
		//podmieniamy elementy w tablicy zdjecia_id i zdjecia_id_pod = new Array('zdjecie_1_1', 'zdjecie_2_1', 'zdjecie_3_1');
		pomocniczy = zdjecia_id[nr_warstwy];
		zdjecia_id[nr_warstwy] = zdjecia_id_pod[nr_warstwy];
		zdjecia_id_pod[nr_warstwy] = pomocniczy;
		//wywołujemy funkcję ponownej zamiany zdjęć
		setTimeout("zamieniaj_zdjecia("+czas+")", 2000);
	}
}
function check_buffor()
{
	if(interval_buffor_working == 'on') return true;//program cały czas pracuje, więc kończymy kolejne wywołanie
	interval_buffor_working = 'on';
	ile_zdjec = zdjecia.length;
	for(i=0;i<ile_zdjec;i++)
	{
		if(zdjecia_buffor[i].complete == false)
		{
			interval_buffor_working = 'off';
			return false;
		}
	}
	//wszystkie zdjęcia są zabuforowane
	interval_buffor_working = 'off';
	clearInterval(interwal_buffor);//usuwanie wywołania co 2 sekundy
	wyswietlaj_zdjecia ();
	return true;
}