/* polskie znaczki aby editplus zapisywal jako utf-8 -> ąśź */
var tablicaWartosciAlpha = new Array(); // wartosc aplha obiektow
var tablicaDocelowaAlpha = new Array(); // wartosc docelowa alpha
var tablicaDocelowaMaxAlpha = new Array(); // maksymalna docelowa dodatnia wartosc alpha
var tablicaAlphaInterval = new Array(); // co ile wywoluj funkcje do zarzadania alpha
var tablicaAlphaAdd = new Array(); // co ile zwiekszaj.zmniejszaj alpha danego obiektu
var tablicaAlphaTimeout = new Array(); // obiekt timeout dla obiektow
var tablicaAlphaZakonczono = new Array(); // co zrobic po zakonczeniu petli alphy

var objRuchPojemnik = new Array(); // uchwyt do obiektu
var objRuchPojemnikStatus = new Array(); // czy przesuwac dany obiekt
var objRuchAktualnePolozenie = new Array(); // aktualne polozenie obiektu
var objRuchInterval = new Array(); // przerwanie obiektu przesuwanego
var objRuchGora = new Array();


// -------------------------- GŁÓWNE FUNKCJE ---------------------------
// pobiera pozycje obiektu od gornej krawedzi
function pozycjaObiektuTop(obiekt) {
 var obj = layerObj(obiekt);
 var objGet = layerGet(obiekt);
 if (obj.top) { return parseInt(obj.top); }
 if (obj.pixelTop) { return parseInt(obj.pixelTop); }
 if (objGet.offsetTop) { return parseInt(objGet.offsetTop); }
 return (0);
}

// pobiera szerokosc obiektu
function szerokoscObiektu(obiekt) {
 var objGet = layerGet(obiekt);
 if (objGet.offsetWidth) { return parseInt(objGet.offsetWidth); }
 //if (objGet.clip.width) { return parseInt(objGet.clip.width); }
 return (0);
}

// pobiera wysokosc obiektu
function wysokoscObiektu(obiekt) {
 var objGet = layerGet(obiekt);
 if (objGet.offsetHeight) { return parseInt(objGet.offsetHeight); }
 //if (objGet.clip.height) { return parseInt(objGet.clip.height); }
 return (0);
}

// ustawia polozenie top obiektu
function narzucObiektTop(obiekt, wartosc) {
 var obj = layerObj(obiekt);
 obj.top = parseInt(wartosc) + "px";
}

// ustawia obiekt na srodku ekranu
function ustawNaSrodku(obiekt) {
 obj = layerObj(obiekt);
 obj.left = Math.round((ds - szerokoscObiektu(obiekt))/2) + "px";
 obj.top = Math.round(((dw - wysokoscObiektu(obiekt))/2) + pozycjaStronyTop()) + "px";
}
// -------------------------- GŁÓWNE FUNKCJE ---------------------------




// -------------------------- PRZESUWANIE Y ------------------------------
// pobiera pozycje scroll strony
function pozycjaStronyTop() {
 if (window.pageYOffset != null) { return parseInt(window.pageYOffset); }
 if (document.body.scrollTop != null) { return parseInt(document.body.scrollTop); }
 return (0);
}


// zmienia wartosc odstepu od top strony
function ustawOdstepTop(obiekt, od_gory) {
 objRuchAktualnePolozenie[obiekt] = od_gory;
 objRuchGora[obiekt] = od_gory - pozycjaStronyTop();
}

// narzuca wartosc od_gory i polozenie
function narzucOdstepTop(obiekt, od_gory) {
 objRuchGora[obiekt] = od_gory;
 objRuchAktualnePolozenie[obiekt] = od_gory + pozycjaStronyTop();
}


// odpala obiekt ktory ma byc przesuwany
function ustawObiektRozruch(obiekt, pokaz) {
 objRuchPojemnik[obiekt] = layerObj(obiekt);
 objRuchPojemnikStatus[obiekt] = true;
 if (pokaz == true) { objRuchPojemnik[obiekt].visibility = "visible"; }
 ustawObiekt(obiekt);
}

// petla - ustawia obiekt na wskaznej pozycji
function ustawObiekt(obiekt) {
 clearTimeout(objRuchInterval[obiekt]);
 objRuchAktualnePolozenie[obiekt] += (pozycjaStronyTop() + objRuchGora[obiekt] - objRuchAktualnePolozenie[obiekt])/8;
 objRuchPojemnik[obiekt].top = objRuchAktualnePolozenie[obiekt] + "px";
 objRuchInterval[obiekt] = setTimeout("ustawObiekt('" + obiekt + "')", 10);
}
// -------------------------- PRZESUWANIE Y ------------------------------






// ----------------------- ZARZADANIE ALPHA OBIEKTOW ---------------------------
// narzuca wartosc alpha dla danego obiektu
function narzucAlpha(obiekt, wartosc) {
 clearTimeout(tablicaAlphaTimeout[obiekt]);
 var obj = layerObj(obiekt);
 wartosc = parseInt(wartosc);
 ff_op_opacity = (wartosc/100)-0.01;
 obj.filter="alpha(opacity=" + wartosc+ ")";
 // po przyjeciu wartosci 1 - nn6 nie schodzi w dol wartosci, dlatego od wartosci odejmuje 0.01
 obj.MozOpacity=ff_op_opacity;
 obj.opacity=ff_op_opacity;
 
}

// petla do zmiany wartosci alpha danego obiektu
function zarzadzajAlpha(obiekt) {
 if (tablicaDocelowaAlpha[obiekt] > tablicaWartosciAlpha[obiekt]) { // rozjasnienie
  tablicaWartosciAlpha[obiekt] = tablicaWartosciAlpha[obiekt] + tablicaAlphaAdd[obiekt];
  // sprawdz czy nie przeskoczylismy wartosci docelowej
  if (tablicaWartosciAlpha[obiekt] > tablicaDocelowaAlpha[obiekt]) { tablicaWartosciAlpha[obiekt]=tablicaDocelowaAlpha[obiekt]; }
 }
 else { // zciemnienie
  tablicaWartosciAlpha[obiekt] = tablicaWartosciAlpha[obiekt] - tablicaAlphaAdd[obiekt];
  // sprawdz czy nie przeskoczylismy wartosci docelowej
  if (tablicaWartosciAlpha[obiekt] < tablicaDocelowaAlpha[obiekt]) { tablicaWartosciAlpha[obiekt]=tablicaDocelowaAlpha[obiekt]; }
 }

 narzucAlpha(obiekt, tablicaWartosciAlpha[obiekt]);

 if (tablicaDocelowaAlpha[obiekt] == tablicaWartosciAlpha[obiekt]) {
  zarzadajAlphaZakonczono(obiekt);
 }
 else {
  tablicaAlphaTimeout[obiekt] = setTimeout("zarzadzajAlpha('" + obiekt + "');", tablicaAlphaInterval[obiekt]);
 }
}

// zarzadza akcja po zakonczneiu petli alphy
function zarzadajAlphaZakonczono(obiekt) {
 if (tablicaAlphaZakonczono[obiekt] == "odpalMailZaptanieAjax") { odpalMailZapytanieAjax(); }
 else if (tablicaAlphaZakonczono[obiekt] == "ukryjMailAjaxTlo") { ukryjMailAjaxTlo(); }
 else { pokazMailInformacje(); }
 tablicaAlphaZakonczono[obiekt] = "";
}
// ----------------------- ZARZADANIE ALPHA OBIEKTOW ---------------------------







