﻿function Tabs(name) {
    return {
        name: name,

        wire: function() {
            $('.' + this.name + '-tab').css('display', 'none');
            $('.' + this.name + '-tab.selected-tab').css('display', 'block');

            $('#' + this.name).bind('click', this, function(e) { });
            $('.' + this.name + '-menu-item').bind('click', this, function(e) {
                var index = this.id.substring(this.id.lastIndexOf('-') + 1, this.id.length).valueOf();

                $('.' + e.data.name + '-menu-item.selected-menu-item').removeClass('selected-menu-item');
                $('#' + e.data.name + '-menu-item-' + index).addClass('selected-menu-item');
                $('.' + e.data.name + '-tab.selected-tab').css('display', 'none').removeClass('selected-tab');
                $('#' + e.data.name + '-tab-' + index).css('display', 'block').addClass('selected-tab');
            });
        },

        unwire: function() {
            $('#' + this.name).unbind('click');
            $('.' + this.name + '-menu-item').click(null);
        }
    }
}