(function($){
	$.fn.navtoggle = function(options) {
		var settings = {
			cls: 'teaseract', /* aktiv-klasse */
			tsrcls: 'teaser-start', /* teaser-klasse, die bei allen gleich ist */
			sec: 3 /* intervall in sekunden */
		};

		settings = $.extend(settings, options || {});

		var cls = settings.cls;
		var tsrcls = settings.tsrcls;
		var sec = settings.sec;
		var $last = $($('.' + cls).get(0));
		var timer = [];

		var startInterval = function () {
			timer.push(window.setInterval(function () {
				var $next = $last.next();
				if (!$next.hasClass(tsrcls)) {
					$next = $($('.' + tsrcls).get(0));
				}
				hoverFunc($next, true);
			}, (sec * 1000)));
		};

		var stopInterval = function () {
			while (timer.length > 0) {
				window.clearInterval(timer.shift());
			}
		};

		var hoverFunc = function ($obj, isInterval) {
			if (isInterval !== true) {
				stopInterval();
			}
			var objid = $obj.attr('id');
			var lastid = $last.attr('id');
			$obj.addClass(cls).parent().find('#' + lastid).removeClass(cls);
			$('#img-' + objid).removeClass('hidden').parent().find('#img-' + lastid).addClass('hidden');
			$last = $obj;
		};

		startInterval();

		$(this).parent().hover(stopInterval, startInterval);

		return this.each(function () {
			$(this).hover(function () {
				if ($last.attr('id') != $(this).attr('id')) {
					hoverFunc($(this), false);
				}
			}, function () { });
		});
	};
})(jQuery);

$(function() {
	$('.teaser-start').navtoggle();
});
