// rozpoczyna ściąganie obrazka
function preload(url) {
  if (document.images) {
    var i = Imgi.length;
    Imgi[i] = new Image();
    Imgi[i].src = url;
  }
}

// wywoływana, jeśli wystąpił jakiś błąd - zlicza błędy
function preloadOnError() {
  Bledy++;
}

// rozpoczyna ściąganie plików
function preloadStart() {
  if (document.images) {
    pasekImg1 = new Image();
    pasekImg1.src = pasek1;
    pasekImg2 = new Image();
    pasekImg2.src = pasek2;
    preloadCheck();
  }
}

// sprawdza, czy ładowanie się już zakończyło
function preloadCheck() {
  var i=0;
  var l=Imgi.length;
  var gotowe=0;

  // Trochę zagęszczonego kodu:
  for (i=0;i<l;i++)
    if (Imgi[i].complete) gotowe++;
  //gotowe+=Bledy;  //przyjmijmy, że obrazek przy którym wystąpił błąd jest gotowy
  ustawPasek(Math.min(gotowe,l));
  if (gotowe>=l) // to już wszystkie
    self.location.replace(przejdzDoUrl);
  else // któryś nie był ukończony
    preloadTimer = setTimeout('preloadCheck()',100);
}

function ustawPasek(n) {
// ustawia pasek na odpowiednią wartość
// zakładam, że pasek przesuwa się tylko w prawo!
  if (JestPasek) {
    for (var i=0;i<n;i++)
      document.images['pasek_element_'+i].src=pasekImg2.src;
  }
}
