
current = 0;

function registerOnClickHandler(aElementType, aLinkClass, aCallbackFunc) {
  
  
  
  if(aLinkClass.length == aCallbackFunc.length) {
      
      
      for(var i=0; i<aElementType.length; ++i) {
      
        var aElementy = document.getElementsByTagName(aElementType[i]); // pobieranie elementow o podanym typie
        
            for(var j=0; j<aElementy.length; ++j ) { // przegladanie tablicy elementow
            
                for(var k=0; k<aLinkClass.length; ++k) {
                     
                      if( aElementy[j].className==aLinkClass[k] ) // jeśli element jest podanej klasy
                      {
                              aElementy[j].onclick = aCallbackFunc[k]; // rejestrowanie funkcji zwrotnej
                              
                      }
                            
                            
                }               
                
            
            }  // wyszukiwanie i rejestrowanie elementow spelniajacych kryteria
      
      }
        
  } // jesli poprawne argumenty, pary do siebie pasuja
  
  else {
    
    alert(aElementType);
    alert(aLinkClass);
    alert(aCallbackFunc);
    
  }
  
}

function refresh(iPhotos, current) {
  //alert(iPhotos + ' ' + current);
  
  
  var navi = iPhotos[iPhotos.length-1];
  
  //alert(navi.childNodes.length);
  for(var x=0; x<navi.childNodes.length-1; ++x) {
    
    if(x==current) {
        navi.childNodes[x].className = 'canva_on';
    }
    else navi.childNodes[x].className = 'canva_off';
  }
  
  
  

  for(var j=0; j<iPhotos.length-1; ++j) {
  
     if(j == current) iPhotos[current].style.display='block';
     else iPhotos[j].style.display='none'; 
      
  }
  
  
}

function setIMG(e) {
  
  if (!e) {
    var link = window.event.srcElement; // dla IE
    var e = window.event;
  }
  else var link = e.target; // dla DOM
  
  Event.stop(e); // zatrzymuje propagacje eventu
    
  var iPhotos = link.parentNode.parentNode.childNodes;
  
  if(link.className=='wstecz' && link.parentNode.current > 0 ) {
      --link.parentNode.current;
      refresh(iPhotos, link.parentNode.current);
  }
  if(link.className=='dalej' && link.parentNode.current+1 < iPhotos.length-1) {
      ++link.parentNode.current;
      refresh(iPhotos, link.parentNode.current);
  }
     
}


function initSlideShow() {
  
  sClassName = 'kxgaleria';
    
  var elementList = document.getElementsByClassName(sClassName); // pobranie elementow danej klasy
  
  /*
  var aElementType = new Array('a', 'img'); // rejestruj zdarzenia dla typow
  var aLinkClass = new Array('wstecz', 'dalej'); 
  var aCallbackFunc = new Array(setIMG, setIMG);
  */ 
 
  
  
  for(var i=0; i < elementList.length; ++i) {
        
        var current = 0;
        elementList[i].style.visibility='visible'; 
        
        //alert(elementList[i].style.visibility.nodeValue);
        
        // usuwanie zbednych elementow
        
        //alert(elementList[i].childNodes.length);
        
        for(var j=0; j < elementList[i].childNodes.length; ++j)
          if(elementList[i].childNodes[j].nodeName != 'LI') elementList[i].removeChild(elementList[i].childNodes[j]);
          else elementList[i].childNodes[j].nodeValue;
          
        //alert(elementList[i].childNodes.length);
               
        for(var j=0; j < elementList[i].childNodes.length; ++j ) {
        
              ///*
              if(j==current && elementList[i].childNodes[j].nodeName == 'LI')
                elementList[i].childNodes[j].style.display='block';
              else if(elementList[i].childNodes[j].nodeName == 'LI')
                elementList[i].childNodes[j].style.display='none';
              //*/
              //alert(elementList[i].childNodes[j]);
        
        } // for
        
        if( elementList[i].childNodes.length > 0) {
        
        var navi = document.createElement('li'); // przelacznik fotek
        Element.extend(navi);
        navi.addClassName('navi');
        navi.current = current;
        
        for(var x=0; x<elementList[i].childNodes.length; ++x) {
            
            var elm = $(document.createElement('div'));
            if(x==0) elm.addClassName('canva_on');
            else elm.addClassName('canva_off');
         
            elm.setAttribute('to', x);
            elm.onclick = changeTo2;
  
            elm.innerHTML = x+1
            navi.appendChild( elm );
                        
        }
        
        var elm = $(document.createElement('div'));
        elm.addClassName('canva_powieksz');
        elm.onclick = powieksz;
        navi.appendChild(elm);
        
        elementList[i].appendChild(navi); // wrzucanie przelacznika fotek
        
        
        } // jesli jest wiecej niz jedno zdjecie
        
                        
    }
    
    //registerOnClickHandler(aElementType, aLinkClass, aCallbackFunc); // rejestrowanie obslugi zdarzenia onclick
    
  
}

function fullImg(src) {
  showLayerWithImage($('formblack_layer'), $('loader'), 'images/loading.gif');showLayerWithImage($('formblack_layer'), $('photo_container'), src); 
}

function powieksz() {
  
  var elementList = document.getElementsByClassName(sClassName);
  
  var i = $('kxgaleria').childNodes[$('kxgaleria').childNodes.length-1].current;
  var src = elementList[0].childNodes[i].childNodes[0].href
  //zoomPhoto(src);
  fullImg(src)
 
  return false;
}

function changeTo(i) {
  --i;
  $('kxgaleria').childNodes[$('kxgaleria').childNodes.length-1].current = i;
  refresh($('kxgaleria').childNodes, i);
  return false;
}

function changeTo2(e) {
  if (!e) {
    var link = window.event.srcElement; // dla IE
    var e = window.event;
  }
  else var link = e.target; // dla DOM
  
  Event.stop(e); // zatrzymuje propagacje eventu
  
  i = link.innerHTML;
  --i;

  $('kxgaleria').childNodes[$('kxgaleria').childNodes.length-1].current = i;
  refresh($('kxgaleria').childNodes, i);
  return false;
}


function zoomPhoto(src)
{
 var img = document.getElementById('zoomIMG');
 var holder = document.getElementById('zoom_holder');
 img.src = '';
 
 if(img==null)return;
 
 img.src = src;
 //img.onload = function(){showPhoto();}
 showPhoto();
 holder.style.paddingTop="20px";
 
 window.onresize = function(){hidePhoto();}
}

function showPhoto()
{
 var pageWidth = 0;
 var pageHeight = 0;

 if(window.innerHeight && window.scrollMaxY )
 {
  pageWidth = window.innerWidth + window.scrollMaxX - 17;
  pageHeight = window.innerHeight + window.scrollMaxY;
 }
 else if( document.body.scrollHeight > document.body.offsetHeight )
 {
  pageWidth = document.body.scrollWidth;
  pageHeight = document.body.scrollHeight;

 }
 else
 { 
  pageWidth = document.body.offsetWidth + document.body.offsetLeft; 
  pageHeight = document.body.offsetHeight + document.body.offsetTop;  
 }
  
 //alert(pageWidth+'x'+pageHeight); 
   
 var bg = document.getElementById('zoom_overlay');
 if(bg!=null)
 {
  bg.style.visibility = 'visible';
  bg.style.display = 'block';
  bg.style.height = pageHeight+'px';
  bg.style.width = pageWidth+'px';
  
  var holder = document.getElementById('zoom_holder');
  if(holder!=null)
  {
   holder.style.height = (pageHeight-20)+'px';
   holder.style.width = pageWidth+'px';
   holder.style.visibility = 'visible';
   holder.style.display = 'block';  
  }
  else
  {
   hidePhoto();
  }
 }
}

function hidePhoto()
{
 var bg = document.getElementById('zoom_overlay');
 if(bg!=null)
 {
  bg.style.visibility = 'hidden';
  bg.style.display = 'none';
 }  
 
 var holder = document.getElementById('zoom_holder');
 if(holder!=null)
 {
  holder.style.visibility = 'hidden';
  holder.style.display = 'none';   
 } 
 
 window.onresize = null;
}
