try {
    var slideShow = function() {
        var bxs, bxe, fxs, fxe, ys, ye, ta, ia, ie, st, ss, ft, fs, xp, yp, ci, t, tar, tarl;
        var processing=0;
        ta = document.getElementById(thumbid);
        ia = document.getElementById(imgid);
        t = ta.getElementsByTagName('li');
        ie = document.all ? true : false;
        st = 3;
        ss = 3;
        ft = 10;
        fs = 5;
        
        xp, yp = 0;
        return {
            init: function() {
                document.onmousemove = this.pos;
                window.onresize = function() {
                    setTimeout("slideShow.lim()", 500)
                };
                ys = this.toppos(ta);
                ye = ys + ta.offsetHeight;
                len = t.length;
                tar = [];
                for (i = 0; i < len; i++) {
                    // edit - zmiana miejsca przechowywania sciezki
                    // przechowywanie sciezki w title powodowalo wyswietlanie sie krzków
                    //var id = t[i].title;
                    var id = t[i].getAttribute('rel');
                    tar[i] = id;
                    t[i].onclick = new Function("slideShow.getimg('" + id + "')");
                    if (i == 0) {
                        this.getimg(id)
                    }
                }
                tarl = tar.length;
            },
            scrl: function(d) {
                clearInterval(ta.timer);
                var l = (d == -1) ? 0 : (t[tarl - 1].offsetLeft - (ta.parentNode.offsetWidth - t[tarl - 1].offsetWidth) + 10)
                ta.timer = setInterval(function() {
                    slideShow.mv(d, l)
                }, st);
            },
            mv: function(d, l) {
                ta.style.left = ta.style.left || '0px';
                var left = ta.style.left.replace('px', '');
                if (d == 1) {
                    if (l - Math.abs(left) <= ss) {
                        this.cncl(ta.id);
                        ta.style.left = '-' + l + 'px';
                    }
                    else {
                        ta.style.left = left - ss + 'px'
                    }
                }
                else {
                    if (Math.abs(left) - l <= ss) {
                        this.cncl(ta.id);
                        ta.style.left = l + 'px';
                    }
                    else {
                        ta.style.left = parseInt(left) + ss + 'px'
                    }
                }
            },
            cncl: function() {
                clearTimeout(ta.timer)
            },
            getimg: function(id) {
            
                    if (auto) {
                        clearTimeout(ia.timer)
                    }
                    if (ci != null) {
                        var ts, tsl, x;
                        ts = ia.getElementsByTagName('img');
                        tsl = ts.length;
                        x = 0;
                        for (x; x < tsl; x++) {
                            if (ci.id != id) {
                                var o = ts[x];
                                clearInterval(o.timer);
                                o.timer = setInterval(function() {
                                slideShow.fdout(o)
                                }, fs)
                            }
                        }
                    }
                    if (!document.getElementById(id)) {
                        var i = document.createElement('img');
                        ia.appendChild(i);
                        i.id = id;
                        i.av = 0;
                        i.style.opacity = 0;
                        i.style.filter = 'alpha(opacity=0)';
                        //i.src = imgdir + '/' + id + imgext;
                        i.src = id + imgext;
                    }
                    else {
                        i = document.getElementById(id);
                        clearInterval(i.timer);
                    }
                    i.timer = setInterval(function() {
                    slideShow.fdin(i)
                    
                    }, fs);
                
            
            },
            nav: function(d) {
                if (processing==0)
                {
                processing=1; 
                var c = 0;
                for (key in tar) {
                    if (tar[key] == ci.id) {
                        c = key
                    }
                }
                if (tar[parseInt(c) + d]) {
                    this.getimg(tar[parseInt(c) + d]);
                }
                else {
                    if (d == 1) {
                        this.getimg(tar[0]);
                    }
                    else {
                        this.getimg(tar[tarl - 1])
                    }
                }
                }
            },
            auto: function() {
                ia.timer = setInterval(function() {
                    slideShow.nav(1)
                }, autodelay * 1000)
            },
            fdin: function(i) {
                if (i.complete) {
                    i.av = i.av + fs;
                    i.style.opacity = i.av / 100;
                    i.style.filter = 'alpha(opacity=' + i.av + ')'
                }
                if (i.av >= 100) {
                    if (auto) {
                        this.auto()
                    };
                    clearInterval(i.timer);
                 processing=0;  
                    ci = i
                }
                 
            },
            fdout: function(i) {
                i.av = i.av - fs;
                i.style.opacity = i.av / 100;
                i.style.filter = 'alpha(opacity=' + i.av + ')';
                if (i.av <= 0) {
                    clearInterval(i.timer);
                    if (i.parentNode) {
                        i.parentNode.removeChild(i)
                    }
                }
            },
            lim: function() {
                var taw, taa, len;
                taw = ta.parentNode.offsetWidth;
                taa = taw / 4;
                bxs = slideShow.leftpos(ta);
                bxe = bxs + taa;
                fxe = bxs + taw;
                fxs = fxe - taa;
            },
            pos: function(e) {
                xp = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
                yp = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
                if (xp > bxs && xp < bxe && yp > ys && yp < ye) {
                    slideShow.scrl(-1);
                }
                else
                    if (xp > fxs && xp < fxe && yp > ys && yp < ye) {
                    slideShow.scrl(1);
                }
                else {
                    slideShow.cncl()
                }
            },
            leftpos: function(t) {
                var l = 0;
                if (t.offsetParent) {
                    while (1) {
                        l += t.offsetLeft;
                        if (!t.offsetParent) {
                            break
                        };
                        t = t.offsetParent
                    }
                }
                else
                    if (t.x) {
                    l += t.x
                }
                return l;
            },
            toppos: function(t) {
                var p = 0;
                if (t.offsetParent) {
                    while (1) {
                        p += t.offsetTop;
                        if (!t.offsetParent) {
                            break
                        };
                        t = t.offsetParent
                    }
                }
                else
                    if (t.y) {
                    p += t.y
                }
                return p;
            }
        };
    }
();
	
	window.onload = function(){
		slideShow.init();
		slideShow.lim()
	};
} 
catch (e) {
	
}
