/*
    (c) Peralta Informatics 2009
*/


var initHrefs = function()
{
    var f = window.location.hash.toString();

    if (f.length == 0 && (f = urlparam('hash')).length != 0)
    {
        f = '#{0}'.format(f);
        window.location.hash = f; 
    }

    if (f.length != 0)
    {
        var fs = f.substring(1).split('/');
        var ind = -1;
        var tind = 0;

        $('.directlinkable a[v]').each(function()
        {
            if ((ind = jQuery.inArray($(this).attr('v'), fs)) != -1)
            {
                tind = $('.directlinkable a[v]').index(this);
                return false;
            }
        });

        if (ind != -1)
        {
            $('.directlinkable a[v]').each(function()
            {
                var fs0 = fs.slice();
                fs0[ind] = $(this).attr('v');
                var hash = '#{0}'.format(fs0.join('/'));
                $(this).attr('href', hash);
            });

            $('#tabs').tabs('select', tind);
        }
    }
};

$(document).ready(function()
{
    $('#tabs').tabs({cache: true});

    initHrefs();

    $('#tabs').bind('tabsselect', function(event, ui)
    {
        var f = window.location.hash.toString();
        var fs = f.substring(1).split('/');
        var ind = -1;

        $('.directlinkable a[v]').each(function()
        {
            if ((ind = jQuery.inArray($(this).attr('v'), fs)) != -1)
            {
                return false;
            }
        });

        if (ind != -1)
        {
            fs[ind] = $(ui.tab).attr('v');
        }
        else
        {
            fs.unshift($(ui.tab).attr('v'));
        }

        window.location.hash = '#{0}'.format(fs[0]);
    });
});

