/* polskie znaczki aby editplus zapisywal jako utf-8 -> ąśź */
var ajaxIloscZdjec, ajaxAktualneZdjecie, ajaxNastepneZdjecieId, ajaxAktualnyKatalog, ajaxZdjecieOpis="", ajaxOpisWysokosc, zapytaniePicAjaxStatus=false, pokazInfoTimeout;
var picAktualneId, picPoprzednieId, picNastepneId;
var systemPicAktywny=0, systemPicZaladowany=0, systemPokazCien=1;


//---------------------------- GŁÓWNE ---------------------------
// po zaladowaniu strony
function odpalcalosc() {
 wymiaryOkna();
 ustawRozmiarPicBack();
 
 tablicaAktualnyRozmiarX["picObrazekBox"] = szerokoscObiektu("picObrazekBox"); // zapisz aktualny rozmiar picBox
 tablicaAktualnyRozmiarY["picObrazekBox"] = wysokoscObiektu("picObrazekBox"); // zapisz aktualny rozmiar picBox
 /*
 ustawNaSrodku("picObrazekBox");
 ustawOdstepTop("picObrazekBox", pozycjaObiektuTop("picObrazekBox"));
 ustawObiektRozruch("picObrazekBox", false);
 
 */
 systemPicZaladowany = 1;
}

// po zmianie rozmiaru ekranu
function zmianaRozmiaruEkranu() {
 odpalcalosc();
 
 // dodatkowo rozstaw na nowo box informacyjny
 rozlozBoxInformacyjny();
}
 
// po klikniecoi na miniaturke zdjecia
function pokazZdjecie(pid, did, kid) {
 if (systemPicZaladowany == 1) {
  systemPicAktywny = 1;
  ajaxNastepneZdjecieId = pid; // numer zdjecia do zaladowania
  ajaxAktualnyKatalog = kid; // numer katalogu ze zdjeciami
  ajaxAktualneZdjecie = did; // numer kolejny zdjecia
  tablicaAlphaZakonczono["ajaxTlo"] = "pobierzDaneZdjecia";
  tablicaDocelowaAlpha["ajaxTlo"] = 60;
  odpalAjaxTlo(); // odpal tlo
 }
}

// zaladuj poprzednie zdjecie
function zaladujPoprzednieZdjecie() {
 if (picPoprzednieId != "" && picPoprzednieId != 0) {
  ajaxNastepneZdjecieId = picPoprzednieId;
  schowajOpisZdjecia("schowanoOpisZdjecia");
  ajaxAktualneZdjecie = ajaxAktualneZdjecie-1;
 }
}

// zaladuj nastepne zdjecie
function zaladujNastepneZdjecie() {
 if (picNastepneId != "" && picNastepneId != 0) {
  ajaxNastepneZdjecieId = picNastepneId;
  schowajOpisZdjecia("schowanoOpisZdjecia");
  ajaxAktualneZdjecie = ajaxAktualneZdjecie+1;
 }
}

// pobierz dane dla danego zdjecia
function pobierzDaneZdjecia() {
 // jesli nie pokazano jeszcze pic box to zamknij system
 if (tablicaWartosciAlpha["picObrazekBox"] == 0) {
  konfigurujBoxInf("Ładuję ilustracje...", "przerwij", "zakonczPraceSystemu()");
 }
 else {
  konfigurujBoxInf("Ładuję ilustracje...", "przerwij", "niePobranoDaneZdjecia()");
 }
 pokazInfoTimeout = setTimeout("pokazInformacje()", 300);
 stworzPicZapytanieAjax();
}

// po pobraniu danych dla nowego zdjecia
function pobranoDaneZdjecia(dane) {
 var daneRozbite = dane.split("|"); // rozbij lancuch danych
 
 if (daneRozbite[0] == "ok") {
  picAktualneId = ajaxNastepneZdjecieId;
  
  ajaxIloscZdjec = daneRozbite[5];
  
  // rozbij i zapisz dane zdjecia
  picPoprzednieId = daneRozbite[3];
  if (ajaxAktualneZdjecie <= 1) { wartosc_tmp = 40; }
  else { wartosc_tmp = 80; }
  tablicaWartosciAlpha['picPoprzedni'] = wartosc_tmp;
  narzucAlpha('picPoprzedni', wartosc_tmp);
  
  picNastepneId = daneRozbite[4];
  if (ajaxAktualneZdjecie >= ajaxIloscZdjec || ajaxAktualneZdjecie == "") { wartosc_tmp = 40; }
  else { wartosc_tmp = 80; }
  tablicaWartosciAlpha['picNastepny'] = wartosc_tmp;
  narzucAlpha('picNastepny', wartosc_tmp);
  
  ajaxZdjecieOpis = daneRozbite[2];
  ajaxZdjecieOpis += '<br /><span class="picOpisBoxIlosc">Zdjęcie: ' + ajaxAktualneZdjecie + " / " + ajaxIloscZdjec + "</span>";

  document.images["picObrazek"].src = daneRozbite[1]; // wrzuc zdjecie do pudelka img
 }
}

// blad podczas pobierania danych zdjecia
function niePobranoDaneZdjecia() {
 // jesli jest pokazane poprzednie zdjecie powroc do niego
 if (tablicaWartosciAlpha["picObrazekBox"] > 0) {
  konfigurujBoxInf("Wystąpił problem z zapytaniem.<br />Proszę spróbować ponownie za chwilę.", "ok", "pokazOpisZdjecia()");
  pokazZdjecie();
 }
 else {
  konfigurujBoxInf("Wystąpił problem z zapytaniem.<br />Proszę spróbować ponownie za chwilę.", "ok", "zakonczPraceSystemu()");
 }
}

// po zaladowaniu nowego zdjecia
function zdjecieZaladowane() {
 // zapisz rozmiar zdjecia - jesli system jest uruchomiony
 if (systemPicAktywny == 1) {
  picSzerokosc = szerokoscObiektu("picObrazek");
  picWysokosc = wysokoscObiektu("picObrazek");
  // jesli zaladowane zdjecie jest mniejsze od 400x250 to narzuc taka wartosc
  if (picSzerokosc < 400) { picSzerokosc = 400; }
  //if (picWysokosc < 200) { picWysokosc = 200; }
  
  // jesli juz sa pokazne informacje schowaj je
  if (tablicaWartosciAlpha["ajaxBoxInformacyjny"] > 0) {
   schowajInformacje();
  // w przeciwnym wypadku wykasuj pokazInfoTimeout
  } else {
   clearTimeout(pokazInfoTimeout);
  }
  
  setTimeout("pokazPicObrazekBox()", 400);
  
 }
}

// odpala rozwijanie 
function pokazPicObrazekBox() {
 obj = layerObj("picObrazekBox");
 obj.visibility = "visible";
 
 if (tablicaWartosciAlpha["picObrazekBox"] == 0) {
  pokazIlustracje();
 }
 
 // ustal rozmiar
 // pierwsze odpalenie - ustal docelowy rozmiar
 picBoxSzerokosc = picSzerokosc + 20;
 picBoxWysokosc = picWysokosc + 20;

 if (tablicaWartosciAlpha["picObrazekBox"] == 0) {
  narzucObiektSzerokosc("picObrazekBox", picBoxSzerokosc);
  narzucObiektWysokosc("picObrazekBox", picBoxWysokosc);
  tablicaAktualnyRozmiarX["picObrazekBox"] = picBoxSzerokosc;
  tablicaAktualnyRozmiarY["picObrazekBox"] = picBoxWysokosc;
  tablicaDocelowyRozmiarX["picObrazekBox"] = picBoxSzerokosc;
  tablicaDocelowyRozmiarY["picObrazekBox"] = picBoxWysokosc;
 }
 else {
  tablicaDocelowyRozmiarX["picObrazekBox"] = picBoxSzerokosc;
  tablicaDocelowyRozmiarY["picObrazekBox"] = picBoxWysokosc;
  tablicaRozmiarZakonczono["picObrazekBox"] = "pokazOpisZdjecia";
 }
 ustawNaSrodku("picObrazekBox");
 
 ustawOdstepTop("picObrazekBox", pozycjaObiektuTop("picObrazekBox"));
 ustawObiektRozruch("picObrazekBox", true);
 
 // jesli trzeba odpal alpah in
 if (tablicaWartosciAlpha["picObrazekBox"] == 0) {
  tablicaAlphaZakonczono["picObrazekBox"] = "pokazOpisZdjecia";
  tablicaDocelowaAlpha["picObrazekBox"] = 100;
  zarzadzajAlpha("picObrazekBox");
 }
  
 obj = layerObj("picObrazekBox");
 obj.visibility = "visible";
 zarzadzajRozmiarem("picObrazekBox", true);
}

// chowa zdjecie
function schowajZdjecie() {
 obj = layerObj("picObrazek");
 obj.visibility = "hidden";
}

// pokaz zdjecie
function pokazIlustracje() {
 obj = layerObj("picObrazek");
 obj.visibility = "visible";
}

//---------------------------- GŁÓWNE - KONIEC ---------------------------


// ---------------------------- OPIS ZDJECIA I PRZYCISKI ----------------
// rozpoczyna procedure pokazywani opisu pod zdjeciem jesli jest
function pokazOpisZdjecia() {
 // pokaz zdjecie
 pokazIlustracje();
 
 if (ajaxZdjecieOpis != "") {
  layerPut("picOpisBox", ajaxZdjecieOpis);
  ajaxOpisWysokosc = wysokoscObiektu("picOpisBox");

  picObrazekStopkaPokaz();
  
  tablicaRozmiarZakonczono["picObrazekBox"] = "";
  tablicaDocelowyRozmiarY["picObrazekBox"] += (ajaxOpisWysokosc+10);
  zarzadzajRozmiarem("picObrazekBox", false);
 }
}

// rozpoczyna procedure chowania opisu - po tym laduje nowe zdjecie
function schowajOpisZdjecia(akcjaDalej) {
 ajaxZdjecieOpis = "";
 tablicaRozmiarZakonczono["picObrazekBox"] = akcjaDalej;
 tablicaDocelowyRozmiarY["picObrazekBox"] -= (ajaxOpisWysokosc+10);
 zarzadzajRozmiarem("picObrazekBox", false);
}

//schowano opis zdjecia - co dalej
function schowanoOpisZdjecia() {
 picObrazekStopkaSchowaj();
 
 schowajZdjecie();
 pobierzDaneZdjecia();
}

// pokazuje menu w dolnej czesci obrazek box
function picObrazekStopkaPokaz() {
 obj = layerObj("picObrazekStopka");
 obj.visibility = "visible";
}

// chowa menu w dolnej czesci obrazek box
function picObrazekStopkaSchowaj() {
 obj = layerObj("picObrazekStopka");
 obj.visibility = "hidden";
 // schowaj i pokaz przyciski
 obj = layerObj("picPoprzedni");
 obj.display = "none";
 obj.display = "block";
 obj = layerObj("picNastepny");
 obj.display = "none";
 obj.display = "block";
}

function picDoceloweAlphaOn(pic_id) {
 // tylko gdy button jest aktywny
 if (tablicaWartosciAlpha[pic_id] >= 50) {
  tablicaWartosciAlpha[pic_id] = 100;
  ustalDoceloweAlpha(pic_id, 100);
 }
}

function picDoceloweAlphaOff(pic_id) {
 // tylko gdy button jest aktywny
 if (tablicaWartosciAlpha[pic_id] >= 50) {
  tablicaWartosciAlpha[pic_id] = 70;
  ustalDoceloweAlpha(pic_id, 70);
 }
}
// ---------------------------- OPIS ZDJECIA I PRZYCISKI - KONIEC ----------------



//----------------------------- ZAMKNIJ --------------------------
// konczy prace systemu obrazkow
function zakonczPraceSystemu() {
 systemPicAktywny = 0;
 przerwijZapytanieAjax();
 schowajInformacje();
 
 // jesli pokazany obrazek box zamknij go
 if (tablicaWartosciAlpha["picObrazekBox"] > 0) {
  tablicaAlphaZakonczono["picObrazekBox"] = "zamknijPowiekszenie";
  tablicaDocelowaAlpha["picObrazekBox"] = 0;
  zarzadzajAlpha("picObrazekBox");
 }
 else { zamknijPowiekszenie(); }

}

function zamknijPowiekszenie() {
 obj = layerObj("picObrazekBox");
 obj.visibility = "hidden";
 objRuchPojemnikStatus["picObrazekBox"] = false;
 
 schowajZdjecie();
 picObrazekStopkaSchowaj();
 // wyczysc pudelko
 document.images["picObrazek"].src = " ";
 schowajAjaxTlo();
}

//----------------------------- ZAMKNIJ - KONIEC --------------------------


// ------------------------------------------- AJAX -----------------------
function stworzPicZapytanieAjax() {
 zapytaniePicAjaxStatus = false;

 if (window.XMLHttpRequest) { // Mozilla, Safari,...
  zapytaniePicAjaxStatus = new XMLHttpRequest();
  if (zapytaniePicAjaxStatus.overrideMimeType) {
   zapytaniePicAjaxStatus.overrideMimeType('text/xml');
  }
 } else if (window.ActiveXObject) { // IE
  try {
   zapytaniePicAjaxStatus = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    zapytaniePicAjaxStatus = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {}
  }
 }

 if (!zapytaniePicAjaxStatus) {
  //alert('Nie mogę stworzyć instancji obiektu XMLHTTP');
  konfigurujBoxInf("Wystąpił problem z zapytaniem.<br />Proszę spróbować ponownie za chwilę.", "ok", "zakonczPraceSystemu()");
  pokazInformacje();
  return false;
 }
 zapytaniePicAjaxStatus.onreadystatechange = function() { zawartoscPicOdpowiedziAjax(zapytaniePicAjaxStatus); };
 zapytaniePicAjaxStatus.open('POST', ajaxPicUrl, true);
 zapytaniePicAjaxStatus.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 zapytaniePicAjaxStatus.send('kid=' + ajaxAktualnyKatalog + '&pid=' + ajaxNastepneZdjecieId);
}

function zawartoscPicOdpowiedziAjax(zapytaniePicAjaxStatus) {
 if (zapytaniePicAjaxStatus.readyState == 4) {
  if (zapytaniePicAjaxStatus.status == 200) {
   pobranoDaneZdjecia(zapytaniePicAjaxStatus.responseText);
  } else {
   niePobranoDaneZdjecia();
  }
 }
}

function przerwijZapytanieAjax() {
 zapytaniePicAjaxStatus.abort;
}

// ------------------------------------------- AJAX - KONIEC -----------------------

window.onresize = zmianaRozmiaruEkranu;
document.images["picObrazek"].onload = zdjecieZaladowane;
odpalcalosc();
