$(function() {
	// general
	if ($('body').hasClass('pid-15'))
	{
		$(window)
			.resize(function() {
				$('#meta_nav').toggleClass('absolute', $(window).height() > 780);
			})
			.resize();
	}
	// specific
	
	// Es ist nötig den Standard-Slide-Mechanismus
	// von jQuery zu überschreiben, da sonst die Ziel-
	// höhe der DIV-Elemente falsch berechnet wird
	// und somit ein Rucken in der Animation sichtbar
	// wird.
	var slideToggle = function ($el)
	{
		var mode = '';
		
		if ($el.css('display') == 'block')
			mode = 'hide';
		else
		{
			// Klont das DIV-Element und fügt es an einer
			// unsichtbaren Stelle im Dokument ein, sodass
			// die Höhe des Elementes korrekt berechnet
			// werden kann.
			var clone = $el.clone();
			
			clone.css({
				'display': 'block', 
				'overflow': 'hidden', 
				'width':'540px', 
				'position': 'absolute', 
				'top': '-10000px'});
			
			$('body').append(clone);
			var mode = clone[0].offsetHeight + 'px';
			clone.remove();
		}
		
		if (mode != 'hide')
			$el.css({
				'display': 'block',
				'height': '1px'});
			
		$el.animate({ 'height': mode }, 200, 'swing');
	};
	
	// Akkordeon für die Newssysteme
	$('.news-item h3 a').click(function (e) {
		e.preventDefault();
		
		// Finde das DIV-Element mit den Textinhalten
		var self = $(this)
			.parent()
			.siblings('.news-content')[0];

		var isOpen = $(this)
			.parent()
			.parent()
			.hasClass('open');

		$('.news-item').removeClass('open');
		if(!isOpen) {
			var p = $(this)
				.parent()
				.parent()
				.addClass('open');
		}
		
		// Schließe alle offenen Einträge
		$('.news-content')
			.filter(function () { return $(this).css('display') == 'block' && self != this; })
			.slideUp();
		
		// Öffne den gewählten Eintrag
		slideToggle($(self));
		
	});
	
});

