var jquerySlider = new Array();
var mouseCurrentOver = null;
$.fn.carousel = function(){
	var slide = function(a, nav, section) {
		$('.active',nav).removeClass('active');
		a.addClass('active');
		
		// Rausfinden das wie vielte element geklickt wurde
		var navElements = $('a',nav);
		for(var i=0;i<navElements.length;i++){
			if($(navElements[i]).hasClass('active')){
				$('.article',section).clearQueue().animate({
					top:-i*$('.article',section).outerHeight()
				},1000);
			}
		}		
	};
	jquerySlider.push({'el': this, 'slide': slide, 'dir': 1});
	$(this).hover(function(){
		mouseCurrentOver = this;
	},function(){
		mouseCurrentOver = null;
	});
	
	// Im IE<9 wird das PNG durch filter:X hässlich, deshalb hier nicht faden
	if(!$.browser.msie || $.browser.version.substr(0,$.browser.version.indexOf(".")) >= 9) {
		$('.nav a',$(this)).hover(function(){
			if(!$(this).hasClass('active')){
				$('.active',$(this).parents('.nav')).clearQueue().animate({
					opacity:0
				},200);
				$(this).animate({
					opacity:1
				},200);
			}
		},function(){
			if(!$(this).hasClass('active')){
				$('.active',$(this).parents('.nav')).clearQueue().animate({
					opacity:1
				},200);
				$(this).animate({
					opacity:0
				},200);
			}
		});
	// Ein und Ausblenden im IE<9
	}else{
		$('.nav a',$(this)).hover(function(){
			if(!$(this).hasClass('active')){
				$('.active',$(this).parents('.nav')).css("opacity", "0");
				$(this).css("filter", "");
			}
		},function(){
			if(!$(this).hasClass('active')){
				$('.active',$(this).parents('.nav')).css("filter", "");
				$(this).css("opacity", "0");
			}
		});
	}
	$('.nav a',$(this)).bind('click', function(){
		slide($(this), $(this).parents('.nav'), $(this).parents('.section'));
	});
}

function carouselAutoSlide() {
	for ( var i = 0; i < jquerySlider.length; i++) {
		if(!(mouseCurrentOver && mouseCurrentOver == jquerySlider[i].el[0])) {
			var aEls = $('.nav a', jquerySlider[i].el);
			var nextEl = null;
			for(var j=0;j<aEls.length;j++) {
				if($(aEls[j]).hasClass('active')) {
					if(jquerySlider[i].dir == 1 && j+1<aEls.length) {
						nextEl = aEls[j+1];
					} else if(jquerySlider[i].dir == 1) {
						jquerySlider[i].dir = -1;
					}
					if(jquerySlider[i].dir == -1 && j-1>=0) {
						nextEl = aEls[j-1];
					} else {
						jquerySlider[i].dir = 1;
						nextEl = aEls[j+1];
					}
				}
			}
			jquerySlider[i].slide($(nextEl), $('.nav', jquerySlider[i].el), jquerySlider[i].el);
		}
	}
};
setInterval('carouselAutoSlide()', 5000);
