function LAThemenPanelTabs(id, selectedId, selectedListItemId, selectedSubTitleId, allTabIDs, idleTime) {
	// constructor
	
	this.id=id;
	this.allTabIDs = allTabIDs;
	this.selectedId=selectedId;
	this.selectedListItemId=selectedListItemId;
	this.selectedSubTitleId=selectedSubTitleId;
	this.idleTime = idleTime;
	// tab-iterator
	this.currentTab;
	this.isStopped = false;
	
	this.idleTime = (this.idleTime <= 5000 || this.idleTime == undefined)?5000:this.idleTime;
	
	if (location.hash != '' && $(id).select(location.hash) != '') {
		this.selectTab(location.hash.replace(/#/, ''), 1);
	}
	else {
		this.selectTab(selectedId, 1);		
	}
	
	// selectedId in der liste finden
	for (var i = 0; i<=this.allTabIDs.length-1;i++) {
		if (this.allTabIDs[i] == this.selectedId) this.currentTab = i;
	}
	var self = this;
	this.timer = window.setInterval(function() {
		// current tab fade out
		new Effect.Fade( self.allTabIDs[self.currentTab], {duration:1.5, from:1.0, to:0.0} );	
		// next tab:
		
		self.currentTab=++self.currentTab==self.allTabIDs.length?0:self.currentTab;
		
	//	new Effect.Appear( self.allTabIDs[self.currentTab], {duration:2.0, from:0.0, to:1.0} );
		self.selectTab(self.allTabIDs[self.currentTab], 1);
		
	},this.idleTime);
	
		
}

LAThemenPanelTabs.prototype.id;
LAThemenPanelTabs.prototype.allTabIDs;
LAThemenPanelTabs.prototype.selectedId;
LAThemenPanelTabs.prototype.selectedListItemId;
LAThemenPanelTabs.prototype.selectedSubTitleId;
LAThemenPanelTabs.prototype.componentStoreUrl;
LAThemenPanelTabs.prototype.currentTab;

LAThemenPanelTabs.prototype.timer;

LAThemenPanelTabs.prototype.isStopped;


LAThemenPanelTabs.prototype.pausecomp = function(millis)  {
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); } 
	while(curDate-date < millis);
} 

LAThemenPanelTabs.prototype.setComponentStoreUrl=function(newUrl) {
	this.componentStoreUrl = newUrl;
}

LAThemenPanelTabs.prototype.selectTab=function(newSelectedId, dontStop) {
	
	if (newSelectedId == this.selectedId) return;
	
	if (dontStop == 0 || dontStop == undefined) {
		window.clearInterval(this.timer);
		$(this.selectedId).show();
		$(this.selectedId).setOpacity(1.0);
		
		$(newSelectedId).hide();
		$(newSelectedId).setOpacity(0.0);
		
		for (var i = 0; i<=this.allTabIDs.length-1;i++) {
			if (this.allTabIDs[i] != this.selectedId) {
				$(this.allTabIDs[i]).hide();
				$(this.allTabIDs[i]).setOpacity(0.0);
			}
		}
		
		var queue = Effect.Queues.get('global');
		queue.each(function(effect) { effect.cancel(); });

		new Effect.Fade( this.selectedId, {duration:1.5, from:1.0, to:0.0} );	
		
	} 
	
	
	var newSelectedListItemId = newSelectedId+'LI';
	var newSelectedSubTitleId = newSelectedId+'SUBTITLE';
		
	//var selectedClassName=document.getElementById(this.selectedId).className;
	//document.getElementById(this.selectedId).className=selectedClassName.replace(/selected/, 'notSelected');
	//
	
	var selectedLiClassName=document.getElementById(this.selectedId+'LI').className;
	document.getElementById(this.selectedId+'LI').className=selectedLiClassName.replace(/\s*selected satisfyIE6HTabListSelected/, '');

	var selectedSubTitleClassName=document.getElementById(this.selectedId+'SUBTITLE').className;
	document.getElementById(this.selectedId+'SUBTITLE').className=selectedSubTitleClassName.replace(/selected/, 'notSelected');
	
	
	this.selectedId=newSelectedId;
	
	
	
	var newSelectedClassName=document.getElementById(this.selectedId).className;
	$(this.selectedId).setOpacity(0.0);
	document.getElementById(this.selectedId).className = newSelectedClassName.replace(/notSelected/, 'selected');
	
	var newSelectedLiClassName=document.getElementById(this.selectedId+'LI').className;
	document.getElementById(newSelectedListItemId).className = newSelectedLiClassName+' selected satisfyIE6HTabListSelected';
	
	var newSelectedSubTitleClassName=document.getElementById(this.selectedId+'SUBTITLE').className;
	document.getElementById(newSelectedSubTitleId).className = newSelectedSubTitleClassName.replace(/notSelected/, 'selected');

	// remember new selected tab
	
	if(this.componentStoreUrl != null) {
		new Ajax.Request( this.componentStoreUrl, { 
			method:'get',
			parameters: { command: 'setValue', key: 'selectedTab', value: newSelectedId }
		} );
	}
	
	if(typeof(tabStatisticAction) == 'function') {
		tabStatisticAction(newSelectedId);
	}
	
	new Effect.Appear( newSelectedId, {duration:1.5, from:0.0, to:1.0} );
}



