// jQuery Document Ready Funktion
$(document).ready(function() {

	// fontResize
	var $container = $("#container");
	var defaultSize = $container.css("fontSize");
	if ($.cookie("fontSize")) {
		$container.css("fontSize", $.cookie("fontSize") + "px");
	}
	var $sub_header = $("div#headerRight");
	var ul_fontResize = $('<ul id="fontResize"><li id="fontResize_label" class="textReplace">Schriftgröße ändern:</li><li><a href="#" title="Schrift vergrößern" id="switcher_large" class="textReplace">Schrift vergrößern</a></li><li><a href="#" title="Schrift zurücksetzen" id="switcher_default" class="textReplace">Schrift zurücksetzen</a></li><li><a href="#" title="Schrift verkleinern" id="switcher_small" class="textReplace">Schrift verkleinern</a></li></ul>');
	$sub_header.append(ul_fontResize);
	$("#fontResize a").click(function() {
		var num = parseFloat($container.css("fontSize"), 10);
		switch (this.id) {
			case "switcher_large":
			num *= 1.1;
			break;
			case "switcher_small":
			num /= 1.1;
			break;
			default:
			num = parseFloat(defaultSize, 10);
		}

		if (num < 16 && num > 8) {
			$container.css("fontSize", num + "px");
		}
		$.cookie("fontSize", null);
		$.cookie("fontSize", num, { path: "/", expires: 7 });
		return false;
	});


	// Accordion
	$(".accordion h3").wrapInner('<a href="#"></a>');
	$(".accordion div").hide();
	$(".accordion h3").click(function() {
		$(this).next("div").slideToggle().siblings("div:visible").slideUp();
		$(this).toggleClass("active");
		$(this).siblings("h3").removeClass("active");
		return false;
	});


	// Slideshow
	var slideshow = {
		counter: 0,
		// pause: false,
		init: function() {
			if (!$("div#targetGroup").length) { return; }
			slideshow.items = $("ul#targetGroupInfo li");
			slideshow.itemsAll = slideshow.items.length;
			
			$("ul#targetGroupInfo li").addClass("js");
			$("ul#targetGroupInfo li").eq(0).addClass("active").appendTo("ul#targetGroupInfo");
			//
			$("ul#targetGroupLinks li:eq(0)").css("display", "none");
			$("ul#targetGroupLinks a").hoverIntent(function() {
				clearTimeout(slideshow.timeoutID);
				slideshow.show(this);
				// slideshow.pause = true;
			}, function() {
				// slideshow.timeoutID = setTimeout(slideshow.rotate, 500);
				// slideshow.pause = false;
				var index = $("ul#targetGroupLinks a").index(this);
				slideshow.rotate(index);
			});
			//
			slideshow.items.hoverIntent(function() {
				clearTimeout(slideshow.timeoutID);
			}, function() {
				// var index = $("ul#targetGroupInfo li").index(this);
				// slideshow.rotate(index);
			});
			//
			slideshow.rotate(slideshow.counter);
		},
		show: function(elem) {
			// console.log(elem);
			// console.log(slideshow.pause);
			// console.log($("ul#targetGroupLinks a").index(elem));

			// Vergibt Klasse an Linkliste, um damit das Hintergrundbild austauschen zu können
			$("ul#targetGroupLinks").removeAttr("class").addClass(elem.hash.substr(1));
			$("ul#targetGroupLinks li").removeClass("current");
			$(elem).parent("li").addClass("current");

			var targetGroupActive = $("ul#targetGroupInfo li").filter(elem.hash);
			if (!targetGroupActive.hasClass("active")) {
				$("#targetGroupInfo li").removeClass("active").filter(elem.hash).hide().appendTo("#targetGroupInfo").addClass('active').fadeIn(1000);
			}
		},
		rotate: function(itemIndex) {
			// console.log(itemIndex);
			if (itemIndex != undefined) { slideshow.counter = itemIndex; }
			// console.log(slideshow.pause);
			// if (slideshow.pause) { return; }
			slideshow.show($("ul#targetGroupLinks a")[slideshow.counter]);
			if (slideshow.counter < slideshow.itemsAll - 1) {
				slideshow.counter++;
			} else {
				slideshow.counter = 0;
			}
			// console.log(slideshow.counter);
			slideshow.timeoutID = setTimeout(function() { slideshow.rotate() }, 4000);
		}
	};
	slideshow.init();


	// Formular einblenden
	$("#kontakt a.contact, #formDialogue .close").click(function() {
		$("#formDialogue").animate({
			opacity: "toggle"
		},"fast");
		return false;
	});


	// Animiertes Scrollen
	$('.top').click(function(){
		$('html, body').animate({scrollTop:0}, 'fast');
		return false;
	});

});

