﻿//-------------------------------------------------------------[Class] TabContainer-----------------------------------------------------------//
//  标签显示控件。
function TabContainer(id, elements, selectedIndex, titleVerticalAlign, isTabMode)
{
    //  设置指定索引的标签的显示状态。
    this.setVisible = function(index, visible)
    {
        if (this.IsTabMode == false)
        {
            for (var i = 0; i < arguments.length; i = i + 2)
            {
                if (arguments[i + 1] == true)
                {
                    this.Lis[arguments[i]].style.display = "inline-block";
                    this.Elements[arguments[i]].style.display = "inline-block";
                }
                else
                {
                    this.Lis[arguments[i]].style.display = "none";
                    this.Elements[arguments[i]].style.display = "none";
                }
            }
        }
        else
        {
            for (var i = 0; i < arguments.length; i = i + 2)
            {
                if (arguments[i + 1] == true)
                {
                    this.Lis[arguments[i]].style.display = "inline-block";
                }
                else
                {
                    this.Lis[arguments[i]].style.display = "none";
                }
            }
        }
    };
    //  选中指定索引[index]的标签。
    this.select = function(index)
    {
        this.onmouseover(index);
        this.onclick(index);
    };
    this.onmouseover = function(index)
    {
        if (this.IsTabMode == false)
        {
            return;
        }
        else
        {
            if (this.SelectedIndex == index)
            {
                return;
            }
            else
            {
                var obj = this.Lis[index];
                obj.className = "tc_Li_Nml";
                obj.getElementsByTagName("span")[0].className = "tc_Span1_Nml";
                obj.getElementsByTagName("label")[0].className = "tc_Label_Nml";
                obj.getElementsByTagName("span")[1].className = "tc_Span2_Nml";
            }
        }
    };
    this.onmouseout = function(index)
    {
        if (this.IsTabMode == false)
        {
            return;
        }
        else
        {
            if (this.SelectedIndex == index)
            {
                return;
            }
            var obj = this.Lis[index];
            obj.className = "tc_Li";
            obj.getElementsByTagName("span")[0].className = "tc_Span1";
            obj.getElementsByTagName("label")[0].className = "tc_Label";
            obj.getElementsByTagName("span")[1].className = "tc_Span2";
        }
    };
    this.onclick = function(index)
    {
        if (this.IsTabMode == false)
        {
            return;
        }
        else
        {
            var obj = this.Lis[index];
            obj.className = "tc_Li_Atd";
            obj.getElementsByTagName("span")[0].className = "tc_Span1_Atd";
            obj.getElementsByTagName("label")[0].className = "tc_Label_Atd";
            obj.getElementsByTagName("span")[1].className = "tc_Span2_Atd";
            if (this.SelectedIndex == index)
            {
                return;
            }
            var obj = this.Lis[index];

            if (this.SelectedIndex != -1)
            {
                var l = this.Lis[this.SelectedIndex];
                l.className = "tc_Li";
                l.getElementsByTagName("span")[0].className = "tc_Span1";
                l.getElementsByTagName("label")[0].className = "tc_Label";
                l.getElementsByTagName("span")[1].className = "tc_Span2";
                this.Elements[this.SelectedIndex].style.display = "none";
            }
            this.Elements[index].style.display = "inline-block";
            this.SelectedIndex = index;
        }
    };
    this.ID = id;
    this.SelectedIndex = selectedIndex;
    this.Elements = [];
    this.TitleVerticalAlign = titleVerticalAlign;
    this.IsTabMode = isTabMode;
    if (this.TitleVerticalAlign == 1)
    {
        this.Lis = document.getElementById(id).lastChild.getElementsByTagName("LI");
    }
    else
    {
        this.Lis = document.getElementById(id).firstChild.getElementsByTagName("LI");
    }
    for (var i = 0; i < elements.length; i++)
    {
        this.Elements[i] = document.getElementById(elements[i]);
    }
    if (this.SelectedIndex >= this.Elements.length)
    {
        this.SelectedIndex = -1;
        this.select(this.Elements.length - 1);
    }
}
//-------------------------------------------------------------[Class] TabContainer-----------------------------------------------------------//
