var BWSO = BWSO || {};

BWSO.AsyncTabs = new Class({
	
	Extends : MGFX.Tabs,
	
	options : {
		keepContent : true 
	},
	
	createFx:function(){
		if(!this.slideFx){
			this.parent.apply(this, arguments);
			this.slideFx.addEvent('complete', function(){
				this.loadContent(this.currentSlide);
			}.bindWithEvent(this));
		}
	},
	
	showSlide:function( index ){		
		this.removeContent(this.currentSlide);
		this.parent.apply(this, arguments);
	},
	
	removeContent : function(index) {
		if(!this.options.keepContent && index >= 0) {
			var slide = this.slides[index];
			slide.set('html', null);
			slide.getParent('div.boxholder').addClass('loading');
		}
	},
	
	loadContent: function(index) {
		var a = this.tabsA[index];
		var targetUrl = a.get('href');						
		var slide = this.slides[index];
		slide.get('load').onSuccess = function() {
				var contentHeight = slide.getCoordinates().height + 50;
				var dataEl = slide.getParent('div.datasheet');
				dataEl.getParent().setStyle('height', contentHeight);
				slide.getParent('div.boxholder').setStyle('height', contentHeight);
				slide.getParent('div.boxholder').removeClass('loading');
		}


		slide.load(targetUrl);
	}
	
});