//v3.1
//(c) 2006 DC PAK
function Gallery(id) {
  this.id = id;
  this.listFile = null;
  this.listData = null;
  this.listType = 'full';   // images | full
  this.imgDir = '';
  this.thumbDir = '';
  this.txtDir = '';
  this.thumbPrefix = '';
  this.fullImageUrl = '';   //jeśli jest, obrazek otwiea się w poupie z taką stroną
  this.displayStyle = 'inline';

  this.layered = false;              //galeria na warstwie
  this.centerImgSect = false;       //centrowanie obrazka
  this.autoFit = false;             //automatyczne dopasowanie rozmiaru okna
  this.thumbsAlwaysVisible = true;  //miniaturki zawsze widoczne
  this.thumbsLabeled = false;       //podpisy pod miniaturkami
  this.thumbQuantity = 24;          //ilość miniaturek na stronie
  this.slideshowSpeed = 5;          //szybkosć slideshow [sekundy]
  this.maxWidth = 750;              //maxymalna szerokość okna
  this.maxHeight = 500;             //maxymalna wysokość okna
  this.extraWidth = 40;             //dodatkowa szerokość
  this.extraHeight = 100;           //dodatkowa wysokość

  this.currentImg = null;
  this.currentThumbPage = 0;
  this.coverThumbIdx = 0;

  this.imgs;
  this.thumbs;
  this.labels;
  this.autoTimer;
  this.mainElm = document.getElementById(this.id+'Element');
  this.thumbSect;
  this.imgSect;
  this.thumbGallery;
  this.wW = document.all ? document.documentElement.clientWidth : window.innerWidth;
  this.wH = document.all ? document.documentElement.clientHeight : window.innerHeight;

  this.nop = nop;
  this.getElementsByTagAndClass = getElementsByTagAndClass;
  this.initDelayed = initDelayed;
  this.init = init;
  this.finalizeInit = finalizeInit;
  this.slideshowStart = slideshowStart;
  this.slideshowStop = slideshowStop;
  this.slideshow = slideshow;
  this.autoSize = autoSize;
  this.showImg = showImg;
  this.hideImgSect = hideImgSect;
  this.showThumbSect = showThumbSect;
  this.hideThumbSect = hideThumbSect;
  this.imgLoaded = imgLoaded;
  this.setImgLabel = setImgLabel;
  this.showPrevImg = showPrevImg;
  this.showNextImg = showNextImg;
  this.showThumbPage = showThumbPage;
  this.showPrevThumbPage = showPrevThumbPage;
  this.showNextThumbPage = showNextThumbPage;
  this.coverPage = coverPage;
  this.uncoverPage = uncoverPage;
  this.centrizeImgSect = centrizeImgSect;

//
  function nop() {}

//zwraca tablicę elementów typu tag o stylu class, potomnych elementu o
  function getElementsByTagAndClass(o) {
  var tc = new Array();
    o = new Array(o);
    for(var i = 1; i < arguments.length; i++)
      tc.push(arguments[i]);
    return getElementsByTagClassArray(o, tc);
  }

//zwraca tablicę elementów typu tag o stylu class, potomnych elementu o
  function getElementsByTagClassArray(o, tc) {
  var r = new Array();
  var elms, tags;
  var tag, cls;
    try {
      if(tc.length > 1) {
        tag = tc.shift();
        cls = tc.shift();
        for(var i = 0; i < o.length; i++) {
          elms = o[i].getElementsByTagName(tag);
          tags = new Array();
          for(var j = 0; j < elms.length; j++)
            tags.push(elms[j]);
          for(var j = tags.length-1; j >= 0; j--)
            if(tags[j].className != cls)
              tags.splice(j, 1);
          r = r.concat(getElementsByTagClassArray(tags, tc));
        }
        return r;
      } else {
        return o;
      }
      return r;
    } catch(ex) { }
  }

//inicjalizacja galerii z danymi
  function initDelayed(listData) {
    try {
      this.listData = eval(listData);
      this.init();
    } catch(ex) {
      setTimeout(this.id + '.initDelayed("' + listData + '");', 100);
    }
  }
//inicjalizacja galerii
  function init() {
    if(this.listData) {
      var params = this.listData.pop();
      if(typeof params == 'object')
        for(var p in params)
          this[p] = params[p];
    }
    if(this.layered || this.mainElm.innerHTML == '') {
      var o, o1, o2;
      this.mainElm.innerHTML = '';
      if(this.layered) {
        this.mainElm.className = 'gallery galleryLayered';
      }

      this.thumbGallery = document.createElement('div');
      this.thumbGallery.className = 'thumbGallery';
      this.thumbGallery.onclick = new Function(this.id + '.showThumbSect();');
      this.mainElm.appendChild(this.thumbGallery);

      if(this.layered) {
        o2 = document.createElement('div');
        o2.className = 'hideThumbSect';
        o1 = document.createElement('a');
        o1.className = 'hideThumbSect';
        o1.innerHTML = 'zamknij';
        o1.onclick = new Function(this.id + '.hideThumbSect();');
        o2.appendChild(o1);
      }
      o = document.createElement('div');
      o1 = document.createElement('a');
      o1.className = 'showPrev';
      o1.innerHTML = 'poprzednie';
      o.appendChild(o1);
      o1 = document.createElement('a');
      o1.className = 'showNext';
      o1.innerHTML = 'następne';
      o.appendChild(o1);
      o1 = document.createElement('div');
      o1.className = 'content';
      o.appendChild(o1);
      o1 = document.createElement('a');
      o1.className = 'showPrev';
      o1.innerHTML = 'poprzednie';
      o.appendChild(o1);
      o1 = document.createElement('a');
      o1.className = 'showNext';
      o1.innerHTML = 'następne';
      o.appendChild(o1);
      o1 = document.createElement('div');
      o1.className = 'galNavi';
      if(navigator.userAgent.toLowerCase().indexOf('msie 6') != -1)
        o1.style.border = '1px solid white';
      if(this.layered) {
        o1.appendChild(o2);
      }
      o1.appendChild(o);
      this.thumbSect = document.createElement('div');
      this.thumbSect.className = 'thumbSect';
//      this.thumbSect.appendChild(o2);
      this.thumbSect.appendChild(o1);
      this.mainElm.appendChild(this.thumbSect);

      o = document.createElement('div');
      o.className = 'galNavi';
      o1 = document.createElement('div');
      o2 = document.createElement('a');
      o2.className = 'hideImgSect';
      o2.innerHTML = 'zamknij';
      o1.appendChild(o2);
      o.appendChild(o1);
      o1 = document.createElement('div');
      o2 = document.createElement('a');
      o2.className = 'showPrev';
      o2.innerHTML = 'poprzedni';
      o1.appendChild(o2);
      o2 = document.createElement('a');
      o2.className = 'showNext';
      o2.innerHTML = 'następny';
      o1.appendChild(o2);
      o.appendChild(o1);
      this.imgSect = document.createElement('div');
      this.imgSect.className = 'imgSect';
      this.imgSect.appendChild(o);
      o = document.createElement('div');
      o.className = 'content';
      if(navigator.userAgent.toLowerCase().indexOf('msie 6') != -1)
        o.style.border = '1px solid white';
      this.imgSect.appendChild(o);
      o = document.createElement('div');
      o.className = 'label';
      this.imgSect.appendChild(o);
      this.mainElm.appendChild(this.imgSect);

    }
    if(this.listFile) {
      advAJAX.get({
        url: this.listFile
        , tag: this
        , onSuccess : function(obj) { try { obj.tag.finalizeInit(obj.responseText); } catch(ex) {} }
        , onError : function(obj) { try { alert('Error: ' + obj.status); } catch(ex) {} }
      });
    } else if(this.listData) {
      if(this.listData.length >= 3) {
        var list = '';
        for(var i = 0; i < this.listData.length / 3; i++)
          list += (list != '' ? "\n" : '') + this.listData[i * 3] + "\n" + this.listData[i * 3 + 1] + "\n" + (this.listData[i * 3 + 2] == '' ? ' ' : this.listData[i * 3 + 2]);
        this.finalizeInit(list);
      }
    }
  }
  
//generacja galerii (po otrzymaniu listy plików obrazków l)
  function finalizeInit(l) {
  var matchRE = /[^ ]*\.(jpg|jpeg|gif|png)$/;
  var splitRE = /\r?\n/;
  var matches;
  var list;
  var conts = new Array();
  var iConts;
    if(this.listType == 'images') {
      this.imgs = l.split(splitRE);
      for(var i = this.imgs.length-1; i >= 0; i--) {
        matches = this.imgs[i].match(matchRE);
        if(matches != null)
          this.imgs[i] = matches[0];
        else
          this.imgs.splice(i, 1);
      }
    } else {
      var data = l.split(splitRE);
      var dataLength = Math.floor(data.length/3);
      this.imgs = new Array(dataLength);
      this.thumbs = new Array(dataLength);
      this.labels = new Array(dataLength);
      for(var i = dataLength-1; i >= 0; i--) {
        this.thumbs[i] = data[i*3];
        this.imgs[i] = data[i*3+1];
        this.labels[i] = data[i*3+2] != ' ' ? data[i*3+2] : '';
      }
    }
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi');
    for(var i = 0; i < conts.length; i++) {
      iConts = conts[i].getElementsByTagName('a');
      for(var j = 0; j < iConts.length; j++)
        if(iConts[j].className == 'showPrev')
          iConts[j].href = 'javascript:'+this.id+'.showPrevImg();';
        else if(iConts[j].className == 'showNext')
          iConts[j].href = 'javascript:'+this.id+'.showNextImg();';
        else if(iConts[j].className == 'slideshowStart')
          iConts[j].href = 'javascript:'+this.id+'.slideshowStart();';
        else if(iConts[j].className == 'slideshowStop')
          iConts[j].href = 'javascript:'+this.id+'.slideshowStop();';
        else if(iConts[j].className == 'showThumbs')
          iConts[j].href = 'javascript:'+this.id+'.showThumbPage(0);';
        else if(iConts[j].className == 'hideImgSect')
          iConts[j].href = 'javascript:'+this.id+'.hideImgSect();';
        else if(iConts[j].className == 'hideThumbSect')
          iConts[j].href = 'javascript:'+this.id+'.hideThumbSect();';
    }
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect', 'div', 'galNavi');
    for(var i = 0; i < conts.length; i++) {
      iConts = conts[i].getElementsByTagName('a');
      for(var j = 0; j < iConts.length; j++)
        if(iConts[j].className == 'showPrev')
          iConts[j].href = 'javascript:'+this.id+'.showPrevThumbPage();';
        else if(iConts[j].className == 'showNext')
          iConts[j].href = 'javascript:'+this.id+'.showNextThumbPage();';
    }
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi', 'div', 'list');
    list = '';
    if(this.imgs.length > 1 && conts.length > 0) {
      for(var i = 0; i < this.imgs.length; i++)
        list += '<a href="javascript:'+this.id+'.showImg('+i+');" class="active">&nbsp;'+(i+1)+'&nbsp;</a> ';
      for(var i = 0; i < conts.length; i++)
        conts[i].innerHTML = list;
    }
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect', 'div', 'galNavi', 'div', 'list');
    list = '';
    if(this.thumbQuantity != null && conts.length > 0) {
      for(var i = 0; i < Math.ceil(this.imgs.length / this.thumbQuantity); i++)
        list += '<a href="javascript:'+this.id+'.showThumbPage('+i+');" class="active">&nbsp;'+(i+1)+'&nbsp;</a> ';
      for(var i = 0; i < conts.length; i++)
        conts[i].innerHTML = list;
    }
    if(this.currentImg != null) {
      this.showImg(this.currentImg-1);
      if(this.thumbsAlwaysVisible)
        this.showThumbPage(0);
    } else {
      this.showThumbPage(0);
    }
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect');
    for(var i = 0; i < conts.length; i++) {
      if(this.currentImg == null)
        conts[i].style.display = 'none';
      conts[i].style.visibility = 'visible';
    }
//    if(this.centerImgSect)
//      this.centrizeImgSect(true);
    if(this.thumbsAlwaysVisible || this.currentImg == null) {
      conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect');
      for(var i = 0; i < conts.length; i++)
        conts[i].style.display = this.displayStyle;
    }
    if(this.imgs.length > 0)
      this.mainElm.style.display = this.displayStyle;
    else
      this.mainElm.style.display = 'none';
    if(this.layered) {
      var o = document.createElement('img');
      o.src = this.thumbs[(this.coverThumbIdx < this.thumbs.length ? this.coverThumbIdx : 0)];
      this.thumbGallery.appendChild(o);
      this.thumbSect.style.display = 'none';
    }
  }
  
//uruchomienie pokazu
  function slideshowStart() {
  var elms = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi', 'div', 'slideshow', 'a', 'slideshowStart');
  for(var i = 0; i < elms.length; i++)
    elms[i].style.display = 'none';
  elms = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi', 'div', 'slideshow', 'a', 'slideshowStop');
  for(var i = 0; i < elms.length; i++)
    elms[i].style.display = 'inline';
  this.autoTimer = setInterval(this.id+'.slideshow()', 1000*this.slideshowSpeed);
  this.slideshow();
  }
  
//zatrzymanie pokazu
  function slideshowStop() {
  var elms = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi', 'div', 'slideshow', 'a', 'slideshowStart');
    for(var i = 0; i < elms.length; i++)
      elms[i].style.display = 'inline';
    elms = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi', 'div', 'slideshow', 'a', 'slideshowStop');
    for(var i = 0; i < elms.length; i++)
      elms[i].style.display = 'none';
    if(this.autoTimer != undefined)
      clearInterval(this.autoTimer);
  }
  
//pokaz obrazków
  function slideshow() {
    if(++this.currentImg == this.imgs.length)
      this.showImg(0);
    else
      this.showImg(this.currentImg);
  }
  
//automatyczne wymiarowanie okienka
  function autoSize() {
  var o = document.getElementById('imgContent');
  var inners = o==null?null:o.getElementsByTagName('img');
    if(this.autoFit) {
      if(!document.all) {
        window.blur();
        window.resizeTo(2000, 150);
      }
      if(inners.length == 1)
        window.resizeBy(Math.min(inners[0].offsetWidth+extraWidth, maxWidth)-this.wW, Math.min(inners[0].offsetHeight+extraHeight, maxHeight)-this.wH);
//      else
//        window.resizeBy(listWidth-this.wW, listHeight-this.wH);
      window.focus();
    }
  }
  
//ukrycie sekcji obrazków
  function hideImgSect() {
  var conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect');
    for(var i = 0; i < conts.length; i++) {
      conts[i].style.display = 'none';
      conts[i].style.top = '';
    }
    this.uncoverPage();
  }

//ukrycie sekcji miniaturek
  function hideThumbSect() {
  var conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect');
    for(var i = 0; i < conts.length; i++)
      conts[i].style.display = 'none';
    this.uncoverPage();
  }

//pokazanie sekcji miniaturek
  function showThumbSect() {
    var conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect');
      for(var i = 0; i < conts.length; i++)
        conts[i].style.display = 'inline';
    var p = ((this.wW - this.thumbSect.offsetWidth) / 2);
    this.thumbSect.style.left = (p > 0 ? p : 0) + 'px';
    p = (document.documentElement.scrollTop + (this.wH - this.thumbSect.offsetHeight) / 2);
    this.thumbSect.style.top = (p > 0 ? p : 0) + 'px';
    this.coverPage(true);
  }

//pokazanie obrazka o numerze n z listy
  function showImg(n) {
    if(this.fullImageUrl != '') {
      var popImage = window.open(this.fullImageUrl+n,'popGallery', 'width=750,height=750,scrollbars=no,resizable=yes,toolbar=no,userbar=no,location=no,status=no,menubar=no,screenX=100,screenY=100');
    } else {
      this.coverPage(true);
      var conts;
      var iConts;
      if(n < 0)
        n = 0;
      else if(n >= this.imgs.length)
        n = this.imgs.length-1;
      this.currentImg = n;
      conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'galNavi');
      for(var i = 0; i < conts.length; i++) {
        iConts = conts[i].getElementsByTagName('a');
        for(var j = 0; j < iConts.length; j++) {
          if(iConts[j].className == 'showPrev') {
            if(n == 0)
              iConts[j].style.visibility = 'hidden';
            else
              iConts[j].style.visibility = 'visible';
          } else if(iConts[j].className == 'showNext') {
            if(n == this.imgs.length-1)
              iConts[j].style.visibility = 'hidden';
            else
              iConts[j].style.visibility = 'visible';
          } else if(iConts[j].innerHTML == '&nbsp;'+(n+1)+'&nbsp;') {
            iConts[j].className = 'inactive'
          } else if(iConts[j].className == 'inactive') {
            iConts[j].className = 'active'
          }
        }
      }
      conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'content');
      for(var i = 0; i < conts.length; i++) {
        conts[i].innerHTML = '<img src="'+(this.imgDir+this.imgs[n])+'" alt="" onload="' + this.id + '.centrizeImgSect(this);"/>';
        conts[i].style.display = this.displayStyle;
      }
      conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect');
      for(var i = 0; i < conts.length; i++)
        conts[i].style.display = this.displayStyle;
      if(!this.thumbsAlwaysVisible) {
        conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect');
        for(var i = 0; i < conts.length; i++)
          conts[i].style.display = 'none';
      }
      this.imgLoaded(n);
    }
  }
  
//finalizacja załadowanego obrazka
  function imgLoaded(n) {
    if(this.labels == null) {
      advAJAX.get({
        url: this.txtDir+this.imgs[n].replace(/\.(jpg|jpeg|gif|png)$/, '.txt')
        , tag: this
        , onSuccess : function(obj) {
          try {
            obj.tag.setImgLabel('<div>'+obj.responseText+'</div>');
            obj.tag.autoSize();
          } catch(ex) {}
        }
        , onError : function(obj) {
          try {
            obj.tag.setImgLabel('');
            obj.tag.autoSize();
          } catch(ex) {}
        }
      });
    } else {
      this.setImgLabel('<div>'+(this.labels!=null&&this.labels[n]!=null&&this.labels[n].length>0?this.labels[n]:'')+'</div>');
      this.autoSize();
    }
  }

//wpisuje opis do obrazka
  function setImgLabel(l) {
  var conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect', 'div', 'label');
    for(var i = 0; i < conts.length; i++)
      conts[i].innerHTML = l;
  }

//pokazuje poprzedni obrazek
  function showPrevImg() {
    this.showImg(this.currentImg-1);
  }

//pokazuje następny obrazek
  function showNextImg() {
    this.showImg(this.currentImg+1);
  }

//pokazanie strony listy miniaturek o numerze n (pierwszej w przypadku braku numeru)
  function showThumbPage(n) {
  var list = '';
  var conts;
    this.slideshowStop();
    if(n < 0)
      n = 0;
    else if(this.thumbQuantity != null && n >= Math.ceil(this.imgs.length / this.thumbQuantity))
      n = Math.ceil(this.imgs.length / this.thumbQuantity)-1;
    this.currentThumbPage = n;
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect', 'div', 'galNavi');
    for(var i = 0; i < conts.length; i++) {
      iConts = conts[i].getElementsByTagName('a');
      for(var j = 0; j < iConts.length; j++) {
        if(iConts[j].className == 'showPrev') {
          if(n == 0 || this.thumbQuantity == null)
            iConts[j].style.visibility = 'hidden';
          else
            iConts[j].style.visibility = 'visible';
        } else if(iConts[j].className == 'showNext') {
          if(n >= Math.ceil(this.imgs.length / this.thumbQuantity)-1 || this.thumbQuantity == null)
            iConts[j].style.visibility = 'hidden';
          else
            iConts[j].style.visibility = 'visible';
        } else if(iConts[j].innerHTML == '&nbsp;'+(n+1)+'&nbsp;') {
          iConts[j].className = 'inactive';
        } else if(iConts[j].className == 'inactive') {
          iConts[j].className = 'active';
        }
      }
    }
    for(var i = (this.thumbQuantity==null?0:this.thumbQuantity*n); i < (this.thumbQuantity==null?this.imgs.length:Math.min(this.thumbQuantity*(n+1), this.imgs.length)); i++)
      list += '<div class="thumb">'+
              '<img onClick="'+this.id+'.showImg('+i+');" onMouseOver="this.className=\'over\';" onMouseOut="this.className=\'\';" src="'+(this.thumbDir+this.thumbPrefix+(this.thumbs==null?this.imgs[i]:this.thumbs[i]))+'" alt="" />'+
              (this.thumbsLabeled ? '<div class="label">'+this.labels[i]+'</div>' : '')+
              '</div>';
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect', 'div', 'content');
    for(var i = 0; i < conts.length; i++)
      conts[i].innerHTML = '<div class="list">'+list+'</div><div class="breaker"></div>';
    conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect');
    for(var i = 0; i < conts.length; i++)
      conts[i].style.display = this.displayStyle;
    if(!this.thumbsAlwaysVisible) {
      conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect');
      for(var i = 0; i < conts.length; i++)
        conts[i].style.display = 'none';
      conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'thumbSect');
      for(var i = 0; i < conts.length; i++)
        conts[i].style.display = this.displayStyle;
    }
    this.autoSize();
  }

//pokazuje poprzednią stronę miniaturek
  function showPrevThumbPage() {
    this.showThumbPage(this.currentThumbPage-1);
  }

//pokazuje następną stronę miniaturek
  function showNextThumbPage() {
    this.showThumbPage(this.currentThumbPage+1);
  }

//przykrycie strony
function coverPage(u, w) {
  var pl = document.getElementById('pageGalLid');
  if(!pl) {
    if(w) {
      document.write('<div id="pageGalLid" style="position: '+(navigator.userAgent.toLowerCase().indexOf('msie 6') != -1 ? 'absolute' : 'fixed')+'; height: '+(document.all ? document.documentElement.clientHeight+'px' : '100%')+';"'+(u ? ' onclick="' + this.id + '.uncoverPage();"' : '')+'></div>');
    } else {
      pl = document.createElement('div');
      pl.id = 'pageGalLid';
      pl.style.position = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1 ? 'absolute' : 'fixed';
      if(u) {
        if(this.layered)
          pl.onclick = new Function(this.id + '.hideThumbSect();');
        else
          pl.onclick = new Function(this.id + '.hideImgSect();');
      }
      document.body.appendChild(pl);
    }
  } else if(this.layered) {
    pl.style.zIndex = '251';
    pl.onclick = new Function(this.id + '.hideImgSect();');
  }
  if(!w)
    pl.style.height = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1 ? document.documentElement.clientHeight + 'px' : '100%';
}

//odkrycie strony
function uncoverPage() {
  var pl = document.getElementById('pageGalLid');
  if(pl) {
    if(pl.style.zIndex == '251') {
      pl.style.zIndex = '200';
      pl.onclick = new Function(this.id + '.hideThumbSect();');
    } else {
      document.getElementById('pageGalLid').parentNode.removeChild(document.getElementById('pageGalLid'));
    }
  }
}

//centrowanie sekcji obrazka
function centrizeImgSect(img) {
  if(this.centerImgSect) {
    var conts = this.getElementsByTagAndClass(this.mainElm, 'div', 'imgSect');
    for(var i = 0; i < conts.length; i++) {
      conts[i].style.width = (img.offsetWidth) + 'px';
      conts[i].style.position = 'absolute';
//      conts[i].style.visibility = h ? 'hidden' : 'visible';
      conts[i].style.display = this.displayStyle;
      var p = ((this.wW - conts[i].offsetWidth) / 2);
      conts[i].style.left = (p > 0 ? p : 0) + 'px';
      p = (document.documentElement.scrollTop + (this.wH - conts[i].offsetHeight) / 2);
      if(!conts[i].style.top) {
        conts[i].style.top = (p > 0 ? p : 0) + 'px';
      } else if(parseFloat(conts[i].style.top.replace('px', '')) + conts[i].offsetHeight - document.documentElement.scrollTop > this.wH) {
        conts[i].style.top = (p > 0 ? p : 0) + 'px';
      }
    }
  }
}

}