/**
 * @requires cms
 */
cms.MediaRotator = function(selector, opts)
{
    this.selector = selector;
    this.opts = opts;

    this.getObject = function() {
        return $(this.selector);
    }

    this.selectTab = function(e) {

        var target = $(e.target).closest('li');
        target.siblings().removeClass('selected');
        target.addClass('selected');

        var id = target.attr('id');

        var media = this.getObject().find('.media');
        var current = media.filter('.' + id);

        media.removeClass('selected');
        current.addClass('selected');

        EventUtils.cancelEvent(e);
    }

    this.load = function() {

        // find the tabs
        var ul = this.getObject().find('ul');
        if (ul.length) {
            ul.find('li').click(EventUtils.Delegate.create(this, 'click', this.selectTab));
        }
    }

    $(EventUtils.Delegate.create(this, 'load', this.load));
}
