/**
 * @author dao
 */
window.addEvent('domready', function(){
    initTabs();
});

function initTabs(){

    var tabs = $$('ul.tabs li');
		var details = $$('.panel-detail');
		
    if (tabs.length) {
    
        var ts = new TabSwapper({
            selectedClass: 'on',
            deselectedClass: 'off',
            tabs: $$('ul.tabs li'),
            clickers: $$('ul.tabs li a'),
            sections: $$('div.panelSet div.panel'),
            initPanel: null, // don't activate a panel on init
            cookieName: null, // no cookies
            smooth: true,
            smoothSize: true
        });
        
        var normalTabs = ts.tabs.filter(function(tab, index){
            return tab.className.indexOf('bigone') == -1;
        });
        
        var bigTabs = ts.tabs.filter(function(tab, index){
            return tab.className.indexOf('bigone') > -1;
        });
        
        ts.tabs.each(function(tab, index){
            var color = $A(colors).filter(function(value, index){
                return tab.className.indexOf(value.name) != -1;
            })[0];
            
            tab.store('color', color);
            
            var size = bigTabs.contains(tab) ? 'big' : 'normal';
            tab.store('size', size);
            
            var box = new Element('span', {
                'class': size + '-block-icon'
            });
            tab.grab(box).store('box', box).grab(new Element('span', {
                'class': size + '-mark'
            }), 'top');
            
            tab.addEvents({
                mouseout: function(){
                    box.morph('.shrink-' + size);
                },
                mouseover: function(){
                    box.morph('.extend-' + color.name + '-' + size);
                }
            });
        });
        
        ts.addEvents({
            onBackground: function(index, section, tab){
                var size = tab.retrieve('size');
                tab.retrieve('box').morph('.shrink-' + size);
            },
            onActive: function(index, section, tab){
							$('display').getElement('.page-panel').hide();
                var color = tab.retrieve('color');
                var size = tab.retrieve('size');
                var items = section.getElement('ul.items');
                
								$('detail').set('text', details[index].get('text'));
                initFonts();
								
                tab.retrieve('box').morph('.extend-' + color.name + '-' + size);
                
                if (items) {
                    // set top of item list for subpage to top of page link
                    items.setStyle('top', $('blocks').offsetTop + tab.offsetTop);
                }
            },
            onActiveAfterFX: function(index, section, tab){
            }
        });
    }
}

