
/* Slider-Breite abhaengig von der Anzahl der Slider setzen */
function setSliderDimensions(animate) {
	var totalSliderPadding = 0;
	sliderBoxes.each(function() {
		totalSliderPadding += (jQuery(this).outerWidth(true) - jQuery(this).width());
	});
	var sliderDIVWidthTotal = sliderDIVWidth - activeSliderWidth - totalSliderPadding; // minus den aktiven Slider, minus padding+margin der Slider
	var sliderQuantity = sliderBoxes.size() - 1; // ohne den aktiven Slider
	
	var inactiveSliderWidth = Math.floor(sliderDIVWidthTotal / sliderQuantity);
	if (animate) {
		sliderBoxesNotActive.stop().animate({ width: inactiveSliderWidth }, sliderSpeed);
		sliderBoxActive.stop().animate({ width: activeSliderWidth }, sliderSpeed, '', function() {
			/* setSliderHeight(animate); */
		});
	}
	else {
		sliderBoxesNotActive.width(inactiveSliderWidth);
		sliderBoxActive.width(activeSliderWidth);
		/* setSliderHeight(animate); */
	}
}

function setSliderHeight(animate) {
	var activeSliderHeightTmp = sliderBoxActive.height();
	sliderBoxActive.height('auto');
	var activeSliderHeight = sliderBoxActive.height();
	sliderBoxActive.height(activeSliderHeightTmp);
	if (animate) {
		sliderBoxActive.animate({ height: activeSliderHeight}, sliderSpeed);
		sliderBoxesNotActive.animate({ height: activeSliderHeight }, sliderSpeed);
	}
	else {
		sliderBoxActive.height(activeSliderHeight);
		sliderBoxesNotActive.height(activeSliderHeight);
	}
}

function setSliderActive(slider) {
	sliderBoxActive.removeClass(sliderActiveClass);
	jQuery(slider).addClass(sliderActiveClass);

	sliderBoxActive = jQuery('.slider .'+sliderActiveClass);
	sliderBoxesNotActive = jQuery('.slider-box:not(.'+sliderActiveClass+')');
	
	setSliderDimensions(true);
	setSliderMouseover();
}

function setSliderMouseover() {
	sliderBoxActive.unbind('mouseenter');
	sliderBoxesNotActive.mouseenter(function() {
		setSliderActive(this);
	});
}

function setSliderVars() {
	sliderSpeed = 'normal';
	sliderActiveClass = 'slider-active';
	sliderDIVWidth = jQuery('.slider').width();
	jQuery('.slider').width(sliderDIVWidth);
	sliderBoxes = jQuery('.slider-box');
	sliderBoxActive = jQuery('.slider .'+sliderActiveClass);
	sliderBoxesNotActive = jQuery('.slider-box:not(.'+sliderActiveClass+')');
	activeSliderWidth = 350;
	
	jQuery('.slider-box .slider-inner-box').width(activeSliderWidth);
	
	var thisSliderHeight = 0;
	for (var i=0; i<sliderBoxes.length; i++) {
		var thisSlider = sliderBoxes[i];
		
		if (jQuery(thisSlider).height() > thisSliderHeight) thisSliderHeight = jQuery(thisSlider).height();
	}
	
	sliderBoxes.height(thisSliderHeight); // default Hoehe
	sliderBoxActive.height(thisSliderHeight);
	sliderBoxes.css('clear', 'none');
	jQuery('.slider .slider-filter').css('display', 'block');
}

function setAccordionVars() {
	accordionActiveClass = 'accordion-active';
	accordionCloseHeight = 18;
	
	jQuery('.accordion-box').each(function() { jQuery(this).attr('rel', jQuery(this).outerHeight()) });
}

function setAccordionActive(accordion) {
	jQuery('.accordion .'+accordionActiveClass).removeClass(accordionActiveClass);
	jQuery(accordion).addClass(accordionActiveClass);
	
	initAccordion();
}

function initAccordion() {
	var accordionActive = jQuery('.accordion .'+accordionActiveClass);
	var accordionsNotActive = jQuery('.accordion-box:not(.'+accordionActiveClass+')');
	
	accordionActive.unbind('click');
	accordionActive.css('cursor', 'auto');
	accordionsNotActive.css('cursor', 'pointer');
	accordionsNotActive.click(function() { setAccordionActive(this) })
	
	accordionsNotActive.stop().animate({
			height: accordionCloseHeight
		}, '', '', function() {
		accordionActive.stop().animate({ height: accordionActive.attr('rel') });
	});
}

function initAccordionPagebrowser() {
	jQuery('div.accordion-box ul.accordion-pagebrowser li.active a[href]').removeAttr('href');
	jQuery('div.accordion-box ul.accordion-pagebrowser li:not(.active) a[href]').click(function() {
		var listDIV_ID = jQuery(this).attr('rel');
		var ajaxURL = jQuery(this).attr('href');
		if (ajaxURL != undefined && ajaxURL != '') {
			jQuery(this).removeAttr('href');
			jQuery('#'+listDIV_ID+'-accordion-content').fadeOut('def', function() {
				jQuery(this).fadeIn().html('<div class="ajax-loader" style="height:'+jQuery(this).height()+'px">&nbsp;</div>');
				jQuery(this).text();
				jQuery(this).load(ajaxURL+' #'+listDIV_ID+'-accordion-content > *', '', function() {
					initAccordionPagebrowser();
					jQuery('#'+listDIV_ID+'-accordion-content').fadeIn('def', function() {
						var ajaxAccordion = jQuery('#'+listDIV_ID+'-accordion');
						ajaxAccordion.height('auto');
						ajaxAccordion.attr('rel', ajaxAccordion.height());
						ajaxAccordion.height(ajaxAccordion.height());
						return false;
					});
				});
			});
		}
		else { return false; }
	});
}

/* jQuery in den Conflict-Mode setzen */
jQuery.noConflict();
/* OnDomReady-Funktionen ausloesen */
jQuery(document).ready(function() {
	setSliderVars();
	setSliderDimensions(false);
	setSliderMouseover();
	
	setAccordionVars();
	initAccordion();
	
	initAccordionPagebrowser();
});
