// dostep do obiektu przez
var przeg, wer, ds, dw, menuZaladowane=0;
var nazwa = navigator.appName;
var agent = navigator.userAgent;

var isNS6 = ((document.getElementById&&!document.all) ? true : false);
var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);

// podstawowe dane przegladarki
function sprawdzPrzegladarke() {
 if (agent.indexOf("Opera") != -1) { przeg = "Opera"; }
 else if (nazwa.indexOf("Microsoft") != -1 && agent.indexOf("Opera") == -1) { przeg = "MSIE"; }
 else if (nazwa.indexOf("Netscape") != -1 && agent.indexOf("Netscape") != -1) { przeg = "Netscape"; }
 else if (nazwa.indexOf("Netscape") != -1 && agent.indexOf("Netscape") == -1) { przeg = "Mozilla"; }
 else { przeg = "Inna"; }

 wer = navigator.appVersion.substr(0, navigator.appVersion.indexOf(" "));
 wer = parseInt(wer);
}

// uchwyt do obiektu
function layerGet(id) {
 if (isNS6 || isDOM) return document.getElementById(id);
 else if (isNS4) return document.layers[id];
 else return document.all[id];
}

// dla ie dodaj style
function layerObj(id) {
 return (isNS4 ? layerGet(id) : layerGet(id).style);
}

// zapis do pola
function layerPut(id, opis) {
 if (isNS4) { // zapis do starego netscape
  obj = document.layers[id];
  obj.document.open();
  obj.document.write(opis);
  obj.document.close();
 }
 else {
  obj = layerGet(id);
  obj.innerHTML = opis;
 }
}

function wymiaryOkna() {
 if (window.innerWidth) { ds = window.innerWidth; dw = window.innerHeight; }
 else { ds = document.body.clientWidth; dw = document.body.clientHeight; }
 as = Math.floor(ds/2);
}

function changeBgColor(id, wartosc) {
 if (wartosc == 'on') { kolor = "#ececec"; } // "#f4f4f4"
 else if (wartosc == 'off') { kolor = "#e5eff3"; } //"#cfd1de"
 else { kolor = wartosc; }
 if(!document.layers) { id.style.backgroundColor = kolor; }
 else { id.backgroundColor = kolor; }
}
 
function changeBorderColor (id, wartosc) {
 if (wartosc == 'on') { kolor = "#CC0000"; }
 else if (wartosc == 'off') { kolor = "#03a7eb"; }
 else { kolor = wartosc; }
 if(!document.layers) { id.style.borderColor = kolor; }
 else { id.borderColor = kolor; }
}

function changeColor(id, wartosc) {
 if (wartosc == 'on') { kolor = "#ff0006"; }
 else if (wartosc == 'off') { kolor = "#0b52a0"; }
 else { kolor = wartosc; }
 if(!document.layers) { id.style.color = kolor; }
 else { id.color = kolor; }
}


function wydrukuj(dane) { otworzOkno("wydrukuj.php?p=" + dane, 0, 800, 430); }

function otworzOkno(link, statusy, szerokosc, wysokosc) {
 if (statusy == undefined) { statusy = 0; }
 if (szerokosc == undefined || wysokosc == undefined) { gora=0; lewa=0; }
 else {
  gora = Math.round((screen.availHeight - wysokosc) / 2);
  lewa = Math.round((screen.availWidth - szerokosc) / 2);
 }
 if (szerokosc == undefined) { szerokosc = screen.availWidth; }
 if (wysokosc == undefined) { wysokosc = screen.availHeight; }
 var okienko = window.open(link, "okno", "toolbar="+statusy+",location="+statusy+",directories="+statusy+",status="+statusy+",menubar="+statusy+",scrollbars=1,resizable="+statusy+",dependent=1,width=" + szerokosc + ",height=" + wysokosc + ",top=" + gora + ",left=" + lewa);
}


function sprawdzSzukaj() {
 var pathSzukaj = document.Fszukaj;
 pathSzukaj.submit();
}

function sprawdzLogin() {
 var pathLogowanie = document.Flogowanie;
 if (pathLogowanie.Flogin.value == "") { alert("Proszę podać swój login."); pathLogowanie.Flogin.focus(); }
 else if (pathLogowanie.Fhaslo.value == "") { alert("Proszę podać swoje hasło."); pathLogowanie.Fhaslo.focus(); }
 else { pathLogowanie.submit(); }
}

function Fwyloguj() {
 document.Flogowanie.submit();
}

/* menu */
var ilosc_elementow, opoznienie;
function uruchomMenu() {
 ilosc_elementow = element_nazwa.length;
 menuZaladowane = 1;
}


function schowajWszystkieMenu() {
 window.clearTimeout(opoznienie);
 var obiekt_obj;
 for (var i=0; i < ilosc_elementow; i++) {
  if (element_tablica[i] > 0) {
   obiekt_obj = layerObj("Mmenu" + element_tablica[i]);
   obiekt_obj.visibility = "hidden";
  }
 }
}


function schowajMenuOpoznienie() {
 opoznienie = window.setTimeout("schowajWszystkieMenu()", 500);
}


function znajdzPozycjeX(obj) {
 var curleft = 0;
 if (obj.offsetParent) {
  while (obj.offsetParent) {
   curleft += obj.offsetLeft
   obj = obj.offsetParent;
  }
 }
 else if (obj.x)
  curleft += obj.x;
 return curleft;
}


function znajdzPozycjeY(obj) {
 var curtop = 0;
 if (obj.offsetParent) {
  while (obj.offsetParent) {
   curtop += obj.offsetTop
   obj = obj.offsetParent;
  }
 }
 else if (obj.y)
  curtop += obj.y;
 return curtop;
}


function nastepnaTablica(nazwa) {
 for (var i=0; i<ilosc_elementow; i++) {
  if (element_nazwa[i] == nazwa) {
   return i;
   break;
  }
 }
}

function znajdzPoprzedniElement(numer) {
 for (var i=0; i<ilosc_elementow; i++) {
  if (element_dziecko[i] == numer) {
   return element_tablica[i];
   break;
  }
 }
}


function trzymajMenu() {
 window.clearTimeout(opoznienie);
}

// pobieramy numer najwyzszego menu i dla niego odpalamy mechanizm
// ktory pobiera poprzednie menu i opkazuje je i zapetla sie az id menu jest wieksze od 0
function pokazMenu(aktualnyElement) {
 if (menuZaladowane == 1) {
 window.clearTimeout(opoznienie);
 schowajWszystkieMenu();

 aktualnyElement = aktualnyElement.id;
 aktualnyElementId = nastepnaTablica(aktualnyElement);
 nastepneMenuNumer = element_dziecko[aktualnyElementId];
 nastepneMenuNazwa = "Mmenu" + element_dziecko[aktualnyElementId];

 // pokaz i rozloz jesli trzeba nastepne menu
 if (nastepneMenuNumer > 0) {
  var obiekt_obj = layerObj(nastepneMenuNazwa);
  var obiekt_sty = layerGet(nastepneMenuNazwa);
  if (obiekt_sty.left == undefined && obiekt_sty.top == undefined) {
   var rodzic_sty = layerGet(aktualnyElement);
   var rodzic_x = znajdzPozycjeX(rodzic_sty);
   var rodzic_y = znajdzPozycjeY(rodzic_sty);
   var rodzic_width = rodzic_sty.offsetWidth;
   var rodzic_height = rodzic_sty.offsetHeight;
   obiekt_obj.left = ((rodzic_x + rodzic_width) - 10) + "px";
   obiekt_obj.top = (rodzic_y + 5) + "px";
  }
  obiekt_obj.visibility = "visible";
 }

 // pokaz obecne menu i poprzednie az do menu z id 0
 pokazMenuWszystkie(element_tablica[aktualnyElementId]);
 }
}

function pokazMenuWszystkie(obecneMenuNumer) {
 // pokaz menu
 if (obecneMenuNumer > 0) {
  var obecneMenuNazwa = "Mmenu" + obecneMenuNumer;
  var obiekt_obj = layerObj(obecneMenuNazwa);
  obiekt_obj.visibility = "visible";

  // pobierz numer poprzedniego menu (rodzica) i dopal ponownie te funkcje
  poprzednieMenuNumer = znajdzPoprzedniElement(obecneMenuNumer);
  pokazMenuWszystkie(poprzednieMenuNumer);

 }
}
