(function($) {
    $.fn.kicker_slide = function(opts) {
        var $this = $(this);
        var data = $this.data('kicker_slide');

        var settings = {
            'selector': 'div.kicker'
        }

        if(opts) {
            $.extend(settings, opts);
        }

        if(!data) {
            var kickers = $this.children(settings['selector']);
            var kicker_content = null;

            kickers.each(function() {
                var rel = $(this).attr('rel');
                var $c = $('#' + rel);
                if(!kicker_content) {
                    kicker_content = $c;
                } else {
                    kicker_content = kicker_content.add($c);
                }
            });

            $this.data('kicker_slide', {
                'kickers': kickers,
                'kicker_content': kicker_content
            });

            data = $this.data('kicker_slide');
        }

        data.kickers.click(function(data) {
            return function() {
                if($(this).hasClass('active')) return;

                data.kicker_content.slideUp();
                data.kickers.removeClass('active');

                var $e = $(this);
                var id = $e.attr('rel');

                $e.addClass('active');
                $('#'+id).slideDown();
            }
        }(data));

        return $this;

    }
})(jQuery);

