var slideShow = function() {
    var bxs, bxe, fxs, fxe, ys, ye, ta, ia, ie, st, ss, ft, fs, xp, yp, ci, t, tar, tarl;
    ta = document.getElementById('loops');
    ia = document.getElementById('loopsG');
    t = ta.getElementsByTagName('li');
    ie = document.all ? true : false;
    st = 3;
    ss = 3;
    ft = 10;
    fs = 1;
    xp, yp = 0;
    var sonu = 0;
    var ccnt = 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++) {
                var id = t[i].title;
                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 (!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 = id;
            } else {
                i = document.getElementById(id); clearInterval(i.timer);
            }
            i.timer = setInterval(function() { slideShow.fdin(i) }, 50); //in 1 sec
        },
        nav: function(d) {
            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 * 500) },
        fdin: function(i) {
            if (i.av >= 0 && i.av < 100) {
                i.av = i.av + fs;
                i.style.opacity = i.av / 100;
                i.style.filter = 'alpha(opacity=' + i.av + ')'
            }
            else {

                clearInterval(i.timer);
                i.timer = setInterval(function() { slideShow.holds(i) },80); //puase 8 sec
            }

        },

        holds: function(i) {
            if (ccnt < 100) {
                i.av = 100;
                i.style.opacity = i.av / 100;
                i.style.filter = 'alpha(opacity=' + i.av + ')';
                ccnt++;
            }
            else {
                ccnt = 0;
                clearInterval(i.timer);
                i.timer = setInterval(function() { slideShow.fout(i) }, 35);
            }

        },

        fout: function(i) {

            if (i.av > 0) {
                i.av = i.av - fs; i.style.opacity = i.av / 100;
                i.style.filter = 'alpha(opacity=' + i.av + ')';
            }
            else {
                clearInterval(i.timer);
                i.timer = setInterval(function() { slideShow.rmv(i) }, 15); //out 1 sec
            }

        },
        rmv: function(i) {

            if (auto) { this.auto() }; clearInterval(i.timer);
            if (i.parentNode) {
                i.parentNode.removeChild(i);
            }
            ci = 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;
        }
    };
} ();

function test() {alert('sonu');   }
window.onload = function() { slideShow.init(); slideShow.lim() };

