var JVTabDefault = new Class({
	options:{		
	},
	initialize:function(options){
		this.setOptions(options);
		this.container = $(this.options.container);
		this.tabTitles = $ES('ul.tabs_title li',this.options.container);
		this.panel = $ES('div.panel_tr',this.options.container)[0];		
		this.tabPanels = $ES('.jv_default_content',this.options.container);		
		this.currentTab = 0;
		this.fx = new Fx.Style(this.panel, 'height',{duration:(this.options.duration/2)+100});
		this.fxOpac = [];
		this.firstLoad();		
		this.tabTitles.each(function(item,i){
			item.addEvent(this.options.eventType,function(){
				this.changeTab(i);
			}.bind(this));
		}.bind(this));
		if(this.options.isModule == 0) this.hoverItem();		
	},
	firstLoad:function(){
		this.tabPanels[0].setStyle('display','block');
		this.tabPanels[0].setStyle('opacity',1);
		var panelHeight = this.tabPanels[0].offsetHeight;
		this.panel.setStyle('height',panelHeight);
		this.tabPanels.each(function(item,i){
			if(i!=0){
				item.setStyle('display','none');
				item.setStyle('opacity',0);
			}
			this.fxOpac[i] = new Fx.Styles(this.tabPanels[i], {duration: 400, transition: Fx.Transitions.linear});
		}.bind(this));
	},
	changeTab:function(i){
		if(this.currentTab != i){
			this.tabPanels.each(function(item,j){
				if(j!=i){
					this.tabTitles[j].removeClass('active');
					item.setStyle('display','none');
				} else {
					this.tabTitles[j].addClass('active');
					item.setStyle('display','block');					
					this.fx.stop().start(this.panel.offsetHeight, item.offsetHeight+10);
					this.fxOpac[j].stop().start({'opacity': [0,1]});
				}
			}.bind(this));
			this.currentTab = i;
		}
	},
	hoverItem:function(){
		this.items = $ES('div.panel_tr li.jv_default_item',this.options.container);
		this.items.each(function(item,i){			
			item.addEvent('mouseenter',function(){item.addClass('item_active');});
			item.addEvent('mouseleave',function(){item.removeClass('item_active');});				
		}.bind(this));
	}
});
JVTabDefault.implement(new Events);
JVTabDefault.implement(new Options);
