var tabMenu = function () {
    var sp, st, t, m, sa, l, w, sw, ot;
    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 () { tabMenu.slide(sa[sl - 1]) }, t) }
        },
        timer: function (s) { s.onmouseover = function () { clearInterval(m.timer); m.timer = setInterval(function () { tabMenu.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) }
        }
    };
} ();
