﻿/// <reference path="i.js" />
function Tabinator()
{
    function GetTabNameFromUrl(url)
    {
         url = url.toString();
         var tabNameFromUrl = (url.indexOf('#') > -1) ? url.toString().split('#')[url.toString().split('#').length - 1] : null;//see if the state has already been set
         tabNameFromUrl = (tabNameFromUrl != null) ? tabNameFromUrl.split('=')[tabNameFromUrl.split('=').length - 1] : null;
         return tabNameFromUrl;
    }
    this.init = function(rootEl)
    {  
        if(rootEl != null && $(rootEl).length == 1)//if there is & exists as a unique element
        {
            var tabNameFromUrl = GetTabNameFromUrl(window.location);
            var tabs = $(rootEl).children('.Tabs').children('*');
            $(tabs).hide();//initially hide all tabs
            if(tabNameFromUrl != null)
            {//select that tab
                $(rootEl).find('.TabButton').each(function()
                {
                    if(GetTabNameFromUrl($(this).attr('href')) == tabNameFromUrl)
                    {
                        $(this).addClass('on');
                    }
                });
                $(tabs).filter('.' + tabNameFromUrl).show();
            } else {
             //select tab 1
                $(rootEl).find('.TabButton').eq(0).addClass('on');
                $(tabs).eq(0).show();
            }
            $(rootEl).find('.TabButton').click(function()
            {
                $(rootEl).find('.TabButton').removeClass('on');
                $(this).addClass('on');
                var tabToSelect = GetTabNameFromUrl($(this).attr('href'));
                $(tabs).hide();
                if(tabToSelect != null) $(tabs).filter('.' + tabToSelect).show();
            });
        }
    }
}
