//a=element,b=eventname,c=callback
function addEvent(a, b, c) {
    if (a.addEventListener) {a.addEventListener(b, c, false);}
    else if (a.attachEvent) {
        a.attachEvent("on" + b, c); }
    else { a.setAttribute("on" + b,c); }
}
function StatsTabs() {
    var colTabs = [], colTbl = [];
    function ce(a, b) {
        c = document.createElement(a);
           if(b){ c.className = b;
        }; return c; 
    }
    this.init = function() {
        elementItem = document.getElementById("StatsArea");
        if (elementItem) {
            var theParent = elementItem.parentNode;
            var listH2 = elementItem.getElementsByTagName('h2');
            var colH2 = []; for (z = 0, zl = listH2.length; z < zl; z++) { colH2[colH2.length] = listH2[z]; }
            var listTables = elementItem.getElementsByTagName('table');
            for (z = 0, zl = listTables.length; z < zl; z++) { colTbl[colTbl.length] = listTables[z]; }
            var navDiv = ce("div");
            navDiv.className = "TabNav";
            var contentDiv = ce("div");
            contentDiv.className = "TabContents";
            for (x = 0, xl = colH2.length; x < xl; x++) {
                elA = ce('a');
                elA.setAttribute("href", "#");
                elA.appendChild(ce("span", "tl"));
                linkText = ce("span", "t")
                linkText.appendChild(document.createTextNode(colH2[x].innerHTML))
                elA.appendChild(linkText);
                elA.appendChild(ce("span", "tr"))
                var thisClass = (x === 0 | x === xl - 1) ? (x === 0) ? 'first active' : 'last' : null;
                if (thisClass) { elA.className = thisClass; }
                addEvent(elA, 'click', (function(x) { return function(e) { objStatsTabs.SwitchTab(x); if (e.preventDefault) { e.preventDefault(); return false } else { return false } } })(x))
                colTabs[colTabs.length] = elA;
                navDiv.appendChild(elA);
            }
            var ScrollerContainer = ce("div", "TabScrollerContainer");
            for (x = 0, xl = colTbl.length; x < xl; x++) {
                var Scroller = ce("div", "TabScroller");
                //colTbl[x].style.display = (x === 0) ? '' : 'none';
                Scroller.appendChild(colTbl[x]);
                colTbl[x] = Scroller;
                ScrollerContainer.appendChild(Scroller);
            }
            navDiv.appendChild(ce("div", "clear"));
            contentDiv.appendChild(ScrollerContainer)
            contentDiv.appendChild(ce("div", "clear"));
            elementItem.appendChild(navDiv);
            elementItem.appendChild(contentDiv);
            elementItem.appendChild(ce("div", "clear"));
            for (var b in colH2) { elementItem.removeChild(colH2[b]) }
            this.SwitchTab(0);
        }
    }
    this.Tabs = colTabs;
    this.TabContents = colTbl;
    this.SwitchTab = function(index) {
        for (var i = 0, il = this.TabContents.length; i < il; i++) {
            var jqs = this.TabContents[i].parentNode.className.match(/jScrollPaneContainer/ig)
            if (i === index) {
                if (jqs) { this.TabContents[i].parentNode.style.display = '' } else {
                this.TabContents[i].parentNode.style.display = ''; try { this.TabContents[i].style.display = ''; $(this.TabContents[i]).jScrollPane({ showArrows: true, scrollbarWidth: 15, scrollbarMargin:0,reinitialiseOnImageLoad: true }); } catch (e) { }
                }
            } else {
                if (jqs) { this.TabContents[i].parentNode.style.display = 'none' } else { this.TabContents[i].style.display = 'none' }
            }
            var thisClass = (i === 0 | i === il - 1) ? (i === 0) ? 'first active' : 'last active' : 'active';
            var noClass = (i === 0 | i === il - 1) ? (i === 0) ? 'first' : 'last' : '';
            this.Tabs[i].className = (i === index) ? thisClass : noClass;
        }
    }
}
objStatsTabs = new StatsTabs();
addEvent(window,'load',function(){objStatsTabs.init()})
