var slideMenu = function() {
    var sp, st, t, m, sa, l, w, sw, ot;
    var ss;
    var intIndex = 0;
    var intSlide = 8000;
    var blnDesc = false;
    var blnOnMouseOver = false;
    ot = 37;
    return {
        build: function(sm, sw, mt, s, sl, h) {
            sp = s; st = sw; t = mt;
            m = document.getElementById(sm);
            sa = m.getElementsByTagName('li');
            l = sa.length;
            w = m.offsetWidth;
            sw = w / l;
            //ot = Math.floor((w - st) / (l - 1));
            var i = 0;
            for (i; i < l; i++) { s = sa[i]; s.style.width = sw + 'px'; this.timer(s) }
            if (sl != null) { m.timer = setInterval(function() { slideMenu.slide(sa[sl - 1]) }, t) }
            m.timer1 = setInterval(function() { clearInterval(m.timer); m.timer = setInterval(function() { slideMenu.slide(sa[intIndex]) }, t) }, intSlide);
            m.onmouseout = function() { clearInterval(m.timer1); m.timer1 = setInterval(function() { clearInterval(m.timer); m.timer = setInterval(function() { slideMenu.slide(sa[intIndex]) }, t) }, intSlide); };
            m.onblur = function() { clearInterval(m.timer1); m.timer1 = setInterval(function() { clearInterval(m.timer); m.timer = setInterval(function() { slideMenu.slide(sa[intIndex]) }, t) }, intSlide); };
        },
        timer: function(s) {
        s.onmouseover = function() { blnOnMouseOver = true; clearInterval(m.timer1); clearInterval(m.timer); m.timer = setInterval(function() { slideMenu.slide(s) }, t) };
        s.onfocus = function() { blnOnMouseOver = true; clearInterval(m.timer1); clearInterval(m.timer); m.timer = setInterval(function() { slideMenu.slide(s) }, t) };            
         },
        slide: function(s) {
            var cw = parseInt(s.style.width, '10');
            if (cw < st) {
                var owt = 0; var i = 0;
                for (i; i < l; i++) {
                    if (sa[i] != s) {
                        var o, ow; var oi = 0; o = sa[i]; ow = parseInt(o.style.width, '10');
                        if (ow > ot) { oi = Math.floor((ow - ot) / sp); oi = (oi > 0) ? oi : 1; o.style.width = (ow - oi) + 'px' }
                        owt = owt + (ow - oi)
                    }
                }
                s.style.width = (w - owt) + 'px';
            } else {
                clearInterval(m.timer);

                if (intIndex == l - 1)
                    blnDesc = true;
                else if (intIndex == 0)
                    blnDesc = false;

                if (blnDesc)
                    intIndex--;
                else
                    intIndex++;

                if (blnOnMouseOver)
					intIndex = s.getAttribute("ADIndex");
                    //intIndex = s.id.substring(2);

                blnOnMouseOver = false;
            }
        }
    };
} ();
