/* JavaScript markenfaktuer - Martin Riekert */

// Bugfix fuer IEx bei Hintergrund-Bildern
try {
	document.execCommand('BackgroundImageCache', false, true);
} catch (e) {}

var start_bg_array = new Array();

$(document).ready(
	function() {
		// Startseiten-News ein-/ausblenden
		$("#start_news_header a.pages").click(
			function() {
				$("#start_news_header a").removeClass("current");
				$(this).addClass("current");
				var index = $("#start_news_header a").index(this);
				
				$("#start_news_headlines h1").fadeOut(1000);
				$("#start_news_headlines h1:eq(" + index + ")").fadeIn(1000);
				// sifr neu generieren
				replaceH1();
//				$("body").css("background-image", "url(../images/bg/" + start_bg_array[index] + ")");
				$("#bg img").fadeOut(500, function(){
					$(this).attr("src", "/fileadmin/images/bg/" + start_bg_array[index]);
					$("#bg img").fadeIn(500);
				});

				return false;
			}
		)

		// Startseiten-News durchklicken
		$("#start_news_header a.prev, #start_news_header a.next").click(
			function() {
				var current = $("#start_news_header a").index($("#start_news_header a.current"));
				var maximum = $("#start_news_header a.pages").length - 1;

				// Index erhöhen/erniedrigen
				if ($(this).hasClass("prev")) {
					current = (--current == -1) ? maximum : current;
				} else {
					current = (++current > maximum) ? 0 : current;
				}
				
				// Klick auf die Nummer auslösen
				$("#start_news_header a.pages:eq(" + current + ")").trigger("click");
				
				return false;
			}
		)
		
		// Footer aus-/zuklappen
		$("#footer_arrow").toggle(
			function() {
				$("#footer_teaser").css("padding", "10px 0px 20px");
				$(this).css("background-image", "url(/fileadmin/images/Balken_zu.gif)");
				
				// Inhaltselemente ein-/ausblenden
				$("#copyright").slideUp();
				$("#current_news").slideDown();
				$("#downloads").slideDown();
				$("#address").slideDown();
				
				return false;
			},
			function() {
				$("#footer_teaser").css("padding", "10px 0px");
				$(this).css("background-image", "url(/fileadmin/images/Balken_auf.gif)");

				// Inhaltselemente ein-/ausblenden
				$("#current_news").slideUp();
				$("#downloads").slideUp();
				$("#address").slideUp();
				$("#copyright").slideDown();
				
				return false;
			}
		);
		
		// Teaser Aktuelles: News durchklicken
		$("#current_news .prev, #current_news .next").click(
			function() {
				var current = $("#current_news a.title").index($("#current_news a.current"));
				var maximum = $("#current_news a.title").length - 1;

				// Index erhöhen/erniedrigen
				if ($(this).hasClass("prev")) {
					current = (--current == -1) ? maximum : current;
				} else {
					current = (++current > maximum) ? 0 : current;
				}
				
				// aktuelles verstecken
				$("#current_news a.current").removeClass("current");

				// neues anzeigen
				$("#current_news .title:eq(" + current + ")").addClass("current");
				$("#current_news span.current").text(++current);

				return false;
			}
		);
		
		// Teaser Aktuelles: hover
		$("#current_news").hover(
			function() {
				$(this).addClass("hover");
				$("#go_to_article").addClass("hover");
			},
			function() {
				$(this).removeClass("hover");
				$("#go_to_article").removeClass("hover");
			}
		);
		
		// Teaser Aktuelles: Bild/Link "Zum Artikel" umleiten auf den Titel der aktuellen News
		$("#go_to_article").click(
			function() {
				$(this).attr("href", $("#current_news a.current").attr("href"));
			}
		);

		// Teaser Downloads: News durchklicken
		$("#downloads .prev, #downloads .next").click(
			function() {
				var current = $("#downloads a.title").index($("#downloads a.current"));
				var maximum = $("#downloads a.title").length - 1;

				// Index erhöhen/erniedrigen
				if ($(this).hasClass("prev")) {
					current = (--current == -1) ? maximum : current;
				} else {
					current = (++current > maximum) ? 0 : current;
				}

				// aktuelles verstecken
				$("#downloads a.current").removeClass("current");
				
				// neues anzeigen
				$("#downloads .title:eq(" + current + ")").addClass("current");
				$("#downloads span.current").text(++current);

				return false;
			}
		);
		
		// Teaser Aktuelles: hover
		$("#downloads").hover(
			function() {
				$(this).addClass("hover");
				$("#download").addClass("hover");
			},
			function() {
				$(this).removeClass("hover");
				$("#download").removeClass("hover");
			}
		);
		
		// Teaser Aktuelles: Bild/Link "Zum Artikel" umleiten auf den Titel der aktuellen News
		$("#download").click(
			function() {
				$(this).attr("href", $("#downloads a.current").attr("href"));
			}
		);
		
		// News auf den Contentseite auf-/zuklappen
		$(".show_news").click(
			function() {
				if ( $(this).hasClass("hover") ) {
					$(this).parent().children("div.detail_content").slideUp();
					$(this).removeClass("hover");
				} else {
					$(this).parent().children("div.detail_content").slideDown();
					$(this).addClass("hover");
				}
				
				return false;
			}
		);

		// News auf Contentseiten mit "height" versehen, damit slideUp/slideDown funktioniert
		$(".detail_content").each(
			function() {
				$(this).height( $(this).height() ).hide();
			}
		);
		
		// alle News auf Contentseiten ausklappen
		$("#slideDown_all a").click(
			function() {
				$(".show_news").each(
					function() {
						if( !$(this).hasClass("hover") ) {
							$(this).trigger("click");
						}
					}
				);
				
				return false;
			}
		);
		
		// Entwicklungsprozess: Punktlinie hinter dem letzen p-Tag entfernen
		$(".content_news_small").each(
			function() {
				$(this).children("p:last").css("background", "none");
			}
		);
		
		// Arbeitsbeispiele: Hover-Effekt
		if ( $(".show_detail").length ) {
			$("#left_content a, #center_content a, #right_content a").hover(
				function() {
					$(this).children("span.show_detail").show();
				},
				function() {
					$(this).children("span.show_detail").hide();
				}
			)
		}
		
		// Arbeitsbeispiel-Detail: Hover-Effekt
		/*$("#left_reference div").hover(
			function() {
				var index = $("#left_reference div").index(this);
				$(".next_thumbnail, .prev_thumbnail").fadeIn(500);
			},
			function() {
				$(".next_thumbnail, .prev_thumbnail").fadeOut(500);
			}
		);*/
		
		
		// Fenster verkleinern/-vergroessern
		$(window).resize(function(){
			reposition_bg();
		});
		
		
		// Kontakt: ertses Bild Anzeigen
		$("#contact_maps_container div:eq(0)").fadeIn().addClass("current");
				
		// Kontakt: Tabs - Grafiken tauschen
		$(".contact_maps a").click(
			function() {
				var index = $(".contact_maps a").index( $(this) );
				$(".contact_maps a").removeClass("current");
				$(this).addClass("current");
				$("#contact_maps_container div.current").fadeOut().removeClass("current");
				$("#contact_maps_container div:eq(" + index + ")").fadeIn().addClass("current");
				return false;
			}
		);
		
		init();
	}
);

// Webseite initialisieren
function init() {
	// Footer:

	// Aktuelles
	$("#current_news span.current").text("1");
	$("#current_news span.maximum").text($("#current_news a.title").length);
	$("#current_news .title:eq(0)").addClass("current");

	// Downloads
	$("#downloads span.current").text("1");
	$("#downloads span.maximum").text($("#downloads a.title").length);
	$("#downloads .title:eq(0)").addClass("current");

	
	// Startseite
	if ($("#start_news").length) {
		// src im Hintergrundbild setzen
		$("#bg img").attr("src", "/fileadmin/images/bg/" + start_bg_array[0]);

		// 1. Hintergrundbild einfaden
		window.setTimeout(function() {
			// 1. Hintergrundbild laden
			$("#bg img").fadeIn();
			reposition_bg()
		}, 1000);

		// Footer soll ausgeklappt sein
		$("#footer_arrow").trigger("click");
	}
	
	// Contentseiten mit Ausklappboxen. Hier das margin-bottom der letzten Box entfernen
	$("#left_content .show_news:last, #center_content .show_news:last, #right_content .show_news:last").css("margin-bottom", "0px");
	
	
	// Arbeitsbeispiel-Detail
	
	// Erstes Bild, Thumb und Text class="current"
  $("#left_reference").children(":first").css("display", "block");
	$("#left_reference").children(":first").addClass("current");
	$("#thumbnails").children(":first").addClass("active");
	$("#descriptions").children(":first").addClass("current");
  
	if ($("#thumbnails").length) {
		// Farbwert aus "content_container" fuer diverse Elemente verwenden
		var new_color = $("#content_container").css("color");
		$("#thumbnails div.active a").css("border-color", new_color);
		$("#reference_navi a, #right_reference a").css("color", new_color);
		$("#reference_navi a").hover(
			function() {
				$(this).css({
					"color": "#FFFFFF",
					"background-color": new_color
				});
			},
			function() {
				$(this).css({
					"color": new_color,
					"background-color": "transparent"
				});
			}
		);
		
		var i = 1;
		$("#thumbnails div").each(
			function() {
				// margin-right jedes 3. Thumbnails korrigieren
				if (i % 3 == 0) {
					$(this).css("margin-right", "0px");
				}
				i++;
			}
		);
		
		$("#thumbnails div").hover(
			function() {
				$(this).addClass("hover").children("a").css("border-color", $("#content_container").css("color"));
			},
			function() {
				$(this).removeClass("hover");
			}
		);
		
		// Klick auf die Thumbnails
		$("#thumbnails div").click(
			function() {
				// Markierung neu setzen
				$("#thumbnails div").removeClass("active");
				$(this).addClass("active");

				// Index ermitteln
				var index = $("#thumbnails div").index(this);
				
				// grosses Bild ausblenden und neues einblenden
				$("#left_reference .current").fadeOut(500,
					function() {
						$(this).removeClass("current");
						$("#left_reference div:eq(" + index + ")").fadeIn(500).addClass("current");
						
						// Beschreibungstext neu setzen
						$("#descriptions div").removeClass("current");
						$("#descriptions div:eq(" + index + ")").addClass("current");
					}
				);
				
				return false;
			}
		);
		
		// Klick auf den Link "Produktbeschreibung"
		$("#plain_description_link a").click(
			function() {
				
				// Index ermitteln
				
				var index = $("#left_reference div").length - 1;
				
				// Markierung neu setzen
				$("#thumbnails div").removeClass("active");
				
				// grosses Bild ausblenden und neues einblenden
				$("#left_reference .current").fadeOut(500,
					function() {
						$(this).removeClass("current");
						$("#left_reference div:eq(" + index + ")").fadeIn(500).addClass("current");
						
						// Beschreibungstext neu setzen
						$("#descriptions div").removeClass("current");
						$("#descriptions div:eq(" + index + ")").addClass("current");
					}
				);
				return false;
			}
		);
	}
}

function reposition_bg() {
	var new_bg_top = ( ( $("#bg img").height() - $("body").height() ) / 2 * -1 ) + "px";
	$("#bg").css("top", new_bg_top);
}
