$(function($) {

	// Elemente vorbereiten
	$('.ka-panel').each(function() {
		
		//Erste Überschrift suchen
		$header = $(':header:first', this);
		
		//Fehler Behandlung wenn keine Überschrift vorhanden ist
		if($header.length == 0) {
			$(this).addClass('ka-error').removeClass('ka-panel');
			console.error('This panel contains no header.', this);
		}
		else {
			//kleiner trick um <div class="csc-header"><h1>... abzufangen			
			if($header.parent().find('*').length == 1 && !$header.parent().is('.ka-panel')) {
				$header.parent().addClass('ka-handler');
			}
			else {
				$header.addClass('ka-handler');
			}
			$('>*:not(.ka-handler)', this).wrapAll('<div class="ka-content"></div>');
			if($('.ka-content .ka-handler', this).length > 0) {
				console.error('Handler may not be wrapped by more then one element.', this);
				$(this).addClass('ka-error').removeClass('ka-panel');
			}
		}
	});
	
	$('.ka-panel.close .ka-content').hide();
	
	$('.ka-panel .ka-handler').hover(function() {
		$(this).parents('.ka-panel').addClass('hover');
	}, function() {
		$(this).parents('.ka-panel').removeClass('hover');
	});
	
	$('.ka-handler').click(function(event, data) {
		
		$panel = $(this).parents('.ka-panel');
		$content = $panel.find('.ka-content');
		
		if($panel.is('.close')) {
			$('.ka-panel.ka-opend').removeClass('ka-opend');
			
			$content.show('fast');
			$panel.removeClass('close').addClass('open');
			
			//Wenn nur ein offenes Panel erlaubt ist, andere Panels schließen
			if(tx_kiwiaccordion_exclusive) {
				$('.ka-panel.open .ka-handler').trigger('click', {clicked: $('.ka-panel').index($panel)});
			}
		}
		else {
			if(!data) {
				data = { clicked: -1 };
			}
			
			//if(!$panel.is('.ka-opend')) {
			if(data.clicked != $('.ka-panel').index($panel)) {
				//Diesen Panel zuklappen
				$content.hide('fast');
				$panel.removeClass('open').addClass('close');
			}
		}
	});
});
