//Funkcja korzystając z AdvancedAJAX do obsługi AJAX wczytuje dane do warstwy
function loadInto(src, destId, evt)
{
 //Funkcja ta jest wywoływana w chwili gdy link klasy LinkAJAX-WarstwaDocelowa zostanie
 //kliknięty. src to referencja do linku, destId docelowa warstwa, evt objekt zdarzenia
  link_href=(src.href || src.getAttribute('href'));
  //Wykorzorzystujemy skrypt advAJAX więcej na stronie http://advajax.anakin.us/
  advAJAX.get({
    url: link_href,
    parameters : {	//parametr posłuży do identyfikacji czy mamy dotrzynienia z AJAX
      "AJAXOK" : "1" 
    },
    onSuccess : function(obj) { //ładujemy stronę do warstwy
	document.getElementById(destId).innerHTML=obj.responseText; 
    },
    onError : function(obj) { //wyświetlamy błąd
	document.getElementById(destId).innerHTML="Błąd "+obj.status; 
    }
  });
  //Ponieważ zapytanie działa asynchronicznie, nie jesteśmy w stanie 
  //zablokować przeładowania strony reagując na to czy element został
  //załadowany poprawnie, czy też na to czy AJAX działa.
  //Jeśli można obsłużyć AJAX to blokujemy przeładowanie strony (normalne
  //zdarzenie na kliknięcie w link).
  if (window.XMLHttpRequest || window.ActiveXObject) cancelEvent(evt);
};

//Dodajemy obsługę zdarzenia. Dzięki takiemu podejściu
//nie musimy deklarować onLoad w znaczniku body. Obsługa
//zostanie załadowana w czasie wczytywania strony.
addEvent(document, 'click', function(evt)
{
 //Skanujemy wszystkie kliknięcia w obrębie dokumentu w celu odnalezienia linka
 //w znaczniku a, ktorego klasa jest rowna LinkAJAX-(.+)
 evt = evt || window.event;

 //Sprawdzamy jedynie kliknięcia lewym klawiszem myszy.
 //Jeśli napotkamy prawy to kończymy obsługę.
 if (evt.which > 1 || evt.button > 1) return;
 var src = evt.target || evt.srcElement;
 //Ponieważ elementy mogą być zagnieżdzone, szukamy rodzica.
 if (src.nodeType && src.nodeType != 1) src = src.parentNode;
 //Skanujemy całe drzewo elementów DOM w poszukiwaniu tego pasującego
 while (src)
 {
  var srcName = (src.nodeName||src.tagName||'').toLowerCase();
  //Jesli znajdziemy element o znaczniku a, sprawdzamy czy jest klasy LinkAJAX-(.+)
  if (srcName == 'a' && src.className && src.className.match(/^Ocena-(.+)$/))
  {
   //Znaleźliśmy pasujący element więc wywołujemy funkcję obsługi i kończymy pętle.
   	return loadInto(src, RegExp.$1, evt);
  }
  //Jeśli nie znaleźliśmy pasującego elementu, przesuwamy się w górę drzewa.
  src = src.parentNode;
 }
}, 1);

