/**
 * Tabbed paginator wrapper class
 */
var TabbedPaginator = new JS.Class('TabbedPaginator', {
    initialize: function(container, options) {
        this._container = Ojay(container);
        this._pages     = this._container.descendants(this.klass.TAB_SELECTOR);
        this._pagers    = [null];
        
        var page1 = this._container.descendants('.page-inner').at(0);
        this._x   = page1.getWidth();
        this._y   = page1.getHeight();
        
        this._tabs = new Ojay.Tabs(this._pages);
        
        this._pages.forEach(function(page, i) {
            var pager, ctrls;
            
            page = page.descendants(this.klass.PAGINATOR_SELECTOR).at(0);
            
            pager =  new Ojay.Paginator(page,  {
                direction: 'horizontal',
                width:     this._x + 'px',
                height:    280 + 'px'
            });
            
            pager.setup();
            
            if (pager.getPages() > 1) {
                ctrls = pager.addControls('after').getHTML();
                setControlWidth(ctrls);
            }
            
            if (pager.getPages() > 1) {
                pager.addControls('after').getHTML().addClass('navButtons');
            }
            
            this._pagers[i + 1] = pager;
        }, this);
        
        this._tabs.setup();
        this._container.descendants('.toggles').at(0).addClass('clear');
    },
    
    extend: {
        TAB_SELECTOR:       '.tab',
        PAGINATOR_SELECTOR: '.pages'
    }
});

