
function Accordion(id,style) {
	this.id=id;
	this.style=style;
	this.elements = new Array(); // ergebnisse
	
}

//Suchergebnis hinzufügen, sofern noch nicht vorhanden
Accordion.prototype.push = function(hit) {
	var drin = false;
	for ( var i = 0; i < this.elements.length; i++) {
		if (hit == this.elements[i]) {
			drin = true;
		}
	}
	if (!drin) {
		this.elements.push(hit);
	}
};

Accordion.prototype.pop = function(hit) {
	var newMems = new Array();
	for ( var i = 0; i < this.elements.length; i++) {
		if (this.elements[i] != hit) {
			newMems.push(this.elements[i]);
		}
	}
	this.elements = newMems;
};


Accordion.prototype.over = function(hit){
	this.doOutOver(false, hit);
};

Accordion.prototype.out = function(hit){
	this.doOutOver(true, hit);
};

Accordion.prototype.doOutOver = function(out, hit) {
	var color = out ? "schwarz" : "weiss";
	var colorToReplace = out ? "weiss" : "schwarz";
	var headerElement=$('#accordion'+this.id+'Element'+hit+'Header');
	
	if (headerElement.attr('class') == 'accordionElementHeader0_'+this.style ||
			headerElement.attr('class') == 'accordionElementHeader1_'+this.style) {
		
		var headerIcon=$('#download'+this.id+'Element'+hit+'Icon');
		var src = headerIcon.attr('src');
		
		if (src) {
			headerIcon.attr('src', src.replace(color,colorToReplace)); 	
			if (out) {
				headerElement.find('.downloadgroupLabel').removeClass("active");
			} else {
				headerElement.find('.downloadgroupLabel').addClass("active");
			}
		}
	}
};


Accordion.prototype.click = function(hit){

	var drin = false;
	for ( var i = 0; i < this.elements.length; i++) {
		if (hit == this.elements[i]) {
			drin = true;
		}
	}
	
	var isParentElement;
	
	var contentElement=$('#accordion'+this.id+'Element'+hit+'Detail');
	var headerElement=$('#accordion'+this.id+'Element'+hit+'Header');
	var headerIconOn=$('#download'+this.id+'Element'+hit+'IconOn');
	var headerIconOff=$('#download'+this.id+'Element'+hit+'IconOff');
	var headerLabel=$('#download'+this.id+'Element'+hit+'Label');
	var contentClass='accordionElementDetail'+(hit%2)+'_'+this.style;
	var headerClass='accordionElementHeader'+(hit%2)+'_'+this.style;
	var headerClassActive='accordionElementHeaderActive'+(hit%2)+'_'+this.style;
		
	isParentElement = !($('#Accordion'+this.id).hasClass('accordion_downloadgroup'));
	
	if (drin){
		headerElement.removeClass(headerClassActive);
		headerElement.addClass(headerClass);
		
//		if (hit==0 && isParentElement) {
//			headerIconOff.css('display','inline');
//			headerIconOn.css('display','none');
//		} else {
//			headerIconOff.css('display','none');
//			headerIconOn.css('display','inline');
//		}
		
		headerLabel.css('color','#000');
		contentElement.slideUp('slow');
		this.pop(hit);
	} else {
		headerElement.removeClass(headerClass);
		headerElement.addClass(headerClassActive);
		
//		if (hit==0 && isParentElement) {
//			headerIconOff.css('display','none');
//			headerIconOn.css('display','inline');
//		} else {
//			headerIconOff.css('display','inline');
//			headerIconOn.css('display','none');
//		}
		headerLabel.css('color','#FFF');
		
		if (!contentElement.hasClass(contentClass)){
			contentElement.addClass(contentClass);
		}
		
		contentElement.slideDown('slow');
		this.elements.push(hit);
	}
};

Accordion.prototype.tvover = function(over){

	var drin = ( over != 0 );
	var hit = 0;
	
	var isParentElement;
	
	var contentElement=$('#Accordion'+this.id +' #accordion1Element'+hit+'Detail' +this.id);
	var headerElement=$('#Accordion'+this.id +' #accordion1Element'+hit+'Header'+this.id);
	var headerIconOn=$('#Accordion'+this.id +' #download1Element'+hit+'IconOn'+this.id);
	var headerIconOff=$('#Accordion'+this.id +' #download1Element'+hit+'IconOff'+this.id);
	var headerLabel=$('#Accordion'+this.id +' #download1Element'+hit+'Label'+this.id);
	var contentClass='accordionElementDetail'+(hit%2)+'_'+this.style;
	var headerClass='accordionElementHeader'+(hit%2)+'_'+this.style;
	var headerClassActive='accordionElementHeaderActive'+(hit%2)+'_'+this.style;
	
	if(contentElement.css('display')=='block'){
		return;
	}
	
	isParentElement = !($('#Accordion'+this.id).hasClass('accordion_downloadgroup'));
	
	if (drin){
			headerElement.removeClass(headerClassActive);
			headerElement.addClass(headerClass);
			
			if (hit==0 && isParentElement) {
				headerIconOff.css('display','inline');
				headerIconOn.css('display','none');
			} else {
				headerIconOff.css('display','none');
				headerIconOn.css('display','inline');
			}
			headerLabel.css('color','#000');

	} else {
			headerElement.removeClass(headerClass);
			headerElement.addClass(headerClassActive);
			
			if (hit==0 && isParentElement) {
				headerIconOff.css('display','none');
				headerIconOn.css('display','inline');
			} else {
				headerIconOff.css('display','inline');
				headerIconOn.css('display','none');
			}
			headerLabel.css('color','#FFF');
			
	
			if (!contentElement.hasClass(contentClass)){
				contentElement.addClass(contentClass);
			}
	
	}
};
Accordion.prototype.tvclick = function(hit){

	var drin = false;
	for ( var i = 0; i < this.elements.length; i++) {
		if (hit == this.elements[i]) {
			drin = true;
		}
	}
	
	var isParentElement;
	
	var contentElement=$('#Accordion'+this.id +' #accordion1Element'+hit+'Detail'+this.id);
	var headerElement=$('#Accordion'+this.id +' #accordion1Element'+hit+'Header'+this.id);
	var headerIconOn=$('#Accordion'+this.id +' #download1Element'+hit+'IconOn'+this.id);
	var headerIconOff=$('#Accordion'+this.id +' #download1Element'+hit+'IconOff'+this.id);
	var headerLabel=$('#Accordion'+this.id +' #download1Element'+hit+'Label'+this.id);
	var contentClass='accordionElementDetail'+(hit%2)+'_'+this.style;
	var headerClass='accordionElementHeader'+(hit%2)+'_'+this.style;
	var headerClassActive='accordionElementHeaderActive'+(hit%2)+'_'+this.style;
		
	isParentElement = !($('#Accordion'+this.id).hasClass('accordion_downloadgroup'));
	
	if (drin){
			headerElement.removeClass(headerClassActive);
			headerElement.addClass(headerClass);
			
			if (hit==0 && isParentElement) {
				headerIconOff.css('display','inline');
				headerIconOn.css('display','none');
			} else {
				headerIconOff.css('display','none');
				headerIconOn.css('display','inline');
			}
			headerLabel.css('color','#000');
			
			
			contentElement.slideUp('slow');
			this.pop(hit);
	} else {
			headerElement.removeClass(headerClass);
			headerElement.addClass(headerClassActive);
			
			if (hit==0 && isParentElement) {
				headerIconOff.css('display','none');
				headerIconOn.css('display','inline');
			} else {
				headerIconOff.css('display','inline');
				headerIconOn.css('display','none');
			}
			headerLabel.css('color','#FFF');
			
	
			if (!contentElement.hasClass(contentClass)){
				contentElement.addClass(contentClass);
			}
			contentElement.slideDown('slow');
			this.elements.push(hit);
			
	
	}
};
