function getElementsByClass(searchClass,node,tag)
{
    var classElements = new Array();
    if (node == null)
        node = document;
    if (tag == null)
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) 
    {
        if (pattern.test(els[i].className) ) 
        {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}
function setupTabs()
{
    var tabs = getElementsByClass("tabbitTabs");
    for (i = 0; i < tabs.length; i++)
    {
        var tablinks = tabs[i].getElementsByTagName("a");
        for(j = 0; j<tablinks.length; j++)
        {
            tablinks[j].onclick = function() { return setTab(this); };
            var tabPanelId = getLinkTarget(tablinks[j]);
            
            //hide all but the first tab panel, and set the class of the first tab
            if(j>0){
                document.getElementById(tabPanelId).className = "state-default";
            }
            else{
                document.getElementById(tabPanelId).className = "state-active";
                tablinks[j].className = "state-active";
            }
                
        }
    }
}
function setTab(anchorElement)
{
    var tabPanelId = getLinkTarget(anchorElement);

    var tabbitTabs = anchorElement.parentNode.parentNode;
    var tabSet = tabbitTabs.getElementsByTagName("a");
    for (i = 0; i < tabSet.length; i++) {
        tabSet[i].className = "state-default";
        var tabPanel = document.getElementById(getLinkTarget(tabSet[i]));
        tabPanel.className = "state-default";
    }
    anchorElement.className = "state-active";
    document.getElementById(tabPanelId).className = "state-active";
    
    return false;
}
function getLinkTarget(link) {
    return link.href.substring(link.href.indexOf('#') + 1);
}
