// --- zapisz ciastko ---
function zapisz_ciastko(nazwa,wartosc,eksp_dni) {
  // --- generacja stringa z datą ważności
  now = new Date();
  eksp_czas_milisec=now.getTime()+eksp_dni*24*60*60*1000;
  eksp_czas_data=new Date(eksp_czas_milisec);
  eksp_czas_data_gmts=eksp_czas_data.toGMTString();
  // --- zapis ciastka
  if (eksp_dni!=undefined) document.cookie=nazwa+'='+wartosc+'; EXPIRES='+eksp_czas_data_gmts+'; PATH=/';
  if (eksp_dni==undefined) document.cookie=nazwa+'='+wartosc+'; PATH=/';
}

// --- czytaj ciastko ---
function czytaj_ciastko(nazwa) {
  ciastko="-";
  if (document.cookie!="") {
    lista_ciastek=document.cookie;
    ind_start=lista_ciastek.indexOf(nazwa,0);
    if (ind_start>-1) {
      ind_start=lista_ciastek.indexOf('=',ind_start)+1;
      ind_stop=lista_ciastek.indexOf(' ',ind_start)-1;
      if (ind_stop<0) ind_stop=9999;
      ciastko=lista_ciastek.slice(ind_start,ind_stop);
      return ciastko;
    } else {
      return "-";
    } // gdy brak ciastka na liście
  } else {
    return "-";
  } // gdy brak pliku ciastek
}


// --- ajax_zapytanie ---
var http_request = false;
var ajax_funkcja_obslugi = ""; this.pub;

function ajax_zapytanie(url) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
  try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch (e) {
    try {
     http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) {}
    }
  }
  if (!http_request) {
    alert('Poddaje sie :( Nie mogę stworzyć instancji obiektu XMLHTTP');
    return false;
  }
  http_request.onreadystatechange = ajax_obsluga_odpowiedzi;
  http_request.open('GET', url, true);
  http_request.send(null);
}
// --- /ajax_zapytanie ---


// --- ajax_obsluga_odpowiedzi ---
function ajax_obsluga_odpowiedzi() {
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      zmienna=http_request.responseText;
      // --- tu definiujemy listę procedur obsługi zapytań ---
      if (ajax_funkcja_obslugi=="zmien_post") zmien_post_odp(zmienna);
      // --- /tu definiujemy listę procedur obsługi zapytań ---
    }
    else {
      alert('Wystąpił problem z zapytaniem.');
    }
  }
}
// --- /ajax_obsluga_odpowiedzi ---


// zmiana_zc
function zmiana_zc() {
  // zapalenie
  zc_id="zc"+nr_zc;
  element=document.getElementById(zc_id);
  element.style.visibility="visible";

  // zgaszenie
  nr_zc_gas=nr_zc-1;
  if (nr_zc_gas<1) nr_zc_gas=liczba_zc;
  zc_id="zc"+nr_zc_gas;
  element=document.getElementById(zc_id);
  element.style.visibility="hidden";

  // zwiększenie indeksu
  nr_zc++;
  if (nr_zc>liczba_zc) nr_zc=1;
}

// zatwierdz - test podania wymaganych danych formularza
function zatwierdz() {
  element=document.getElementById("brak");
  element.style.visibility="hidden";

  element=document.getElementById("jest");
  element.style.visibility="visible";
}


// zapal - test podania wymaganych danych formularza
function zapal(nr) {
  // zmiana koloru pozycji ankiety
  element=document.getElementById("d"+nr);
  element.style.color="green";

  // test wszystkich kolorów
  ok=1;
  for (x=1;x<=40;x++) {
    element=document.getElementById("d"+x);
    kolor=element.style.color;
    if ((kolor!="green")&&(kolor!="#008000")) ok=0;
  }

  if (ok==1) {
    element=document.getElementById("brak");
    element.style.visibility="hidden";

    element=document.getElementById("jest");
    element.style.visibility="visible";
  }

}

// zapal_kal - podświetlanie kalendarium
function zapal_kal(id,nr,opis,input_liczby_ramek) {
  
  // odczyt liczby ramek i ew. przerwanie funkcji  
  element=document.getElementById(input_liczby_ramek);
  ile_ramek=element.value;
  if (ile_ramek==0) return;

  // definicja kolorów: zgaszonego i zapalonego
  kolor_zgaszony="#eeeeee";
  kolor_zapalony="#FCE691";

  // podświetlanie zajawek
  for (xkal=1;xkal<=ile_ramek;xkal++) {
    element=document.getElementById(id+"_"+xkal);
    if (xkal==nr) {
      element.style.backgroundColor=kolor_zapalony;
    } else {
      element.style.backgroundColor=kolor_zgaszony;
    }
  }
  
  // RAMAKA zajawki < top
  element=document.getElementById(id+"_"+nr);
  kal_zajawka_top=element.offsetTop;
  
  // RAMAKA zajawek < top, < wysokość
  element=document.getElementById("kal_lewo_"+id);
  kal_zajawki_top=element.offsetTop;
  kal_zajawki_hei=element.offsetHeight;
  kal_zajawki_bot=kal_zajawki_top+kal_zajawki_hei;
  
  // RAMKA rozwijana > treść, < wysokość, > top, > widoczność
  element=document.getElementById("kal_prawo_"+id);
  element.innerHTML=opis;

  kal_opis_hei=element.offsetHeight;

  // obliczenie RAMKA opis top
  kal_opis_top=kal_zajawka_top;   
  if ((kal_zajawka_top+kal_opis_hei)>kal_zajawki_bot) {
    kal_opis_top=kal_zajawki_bot-kal_opis_hei;
    if (kal_opis_top<kal_zajawki_top) kal_opis_top=kal_zajawki_top;
  } 
  
  kal_opis_top_px=kal_opis_top+"px";
  element.style.marginTop=kal_opis_top_px;
  element.style.visibility="visible";
}


// menu - ukazywanie klatek menu
function menu(nr_wybrany) {
  // --- nie odpalaj, gdy nie załadowano klatek
  if (test_zaladowania_klatek==0) return;
	
  // --- gaszenie wszystkich ---
  for(nr=1;nr<=menu_klatek;nr++) {
    element=document.getElementById("mk_"+nr);
    element.style.visibility="hidden";
	}
    element=document.getElementById("menu_pod_klatki");
    element.style.visibility="hidden";
	
  // --- zapalenie wybranej ---
  if (nr_wybrany!=0) {
    element=document.getElementById("mk_"+nr_wybrany);
    element.style.visibility="visible"
		;
		element=document.getElementById("menu_pod_klatki");
    element.style.visibility="visible";
	}
}