﻿Type.registerNamespace("Demo");

Demo.TabControl=function(tabselectors,tabs)
{
    this._tabselectors = tabselectors;
    this._tabs=tabs;
    
    for(i=0;i<tabselectors.length;i++)
    {
        $addHandler($get(tabselectors[i]),'click',Function.createDelegate(this,this.ShowTab));
    }
    
    for(i=0;i<tabs.length;i++)
    {
        $get(tabs[i]).style.visibility='hidden';
        $get(tabs[i]).style.display='none';
        $get(tabselectors[i]).style.cursor='pointer';
    }
    $get(tabs[0]).style.visibility='visible';
    $get(tabs[0]).style.display='block';

}

Demo.TabControl.prototype=
{
    ShowTab:function(event)
    {
        var selectors = this._tabselectors;
        var tabs = this._tabs;
        var index=-1;
       
        for(i=0;i<selectors.length;i++)
        {
            var ts = $get(selectors[i]);
            if(event.target)
            {
                if(ts.id == event.target.id)
                {
                    index=i;
                    break;
                }
            }
            else
            {
                if(ts.id == event.srcElement.id)
                {
                    index=i;
                    break;
                }
            }
        }
        for(i=0;i<tabs.length;i++)
        {
            if(i!=index)
            {
                $get(tabs[i]).style.visibility='hidden';
                $get(tabs[i]).style.display='none';
            }
            else
            {
                $get(tabs[i]).style.visibility='visible';
                $get(tabs[i]).style.display='block';
            }    
        }
    }
}

Demo.TabControl.registerClass("Demo.TabControl");

