// JavaScript Document

$(document).ready(function(){
	
	$(function() {
		$('a[@rel*=lightbox-1]').lightBox(); // Select all links that contains lightbox in the attribute rel
		$('a[@rel*=lightbox-news]').lightBox(); // Select all links that contains lightbox in the attribute rel
		
	});
	
	/* Galerie aktivieren und deaktivieren */ 
	$('.galleryTrigger').click(function(){
				
		var thisElement = $(this);
		
		/* URL auslesen, Galery ID aus href auslesen */
		var linkUrl = $(this).attr('href');
		var linkArr = linkUrl.split('=');
		var galleryId = linkArr[2];		
		
		/* id des Bildercontainers setzten */
		var galleryDivId = '#gallery' + galleryId ;
			
		/* id des Triggers zusammensetzten (Class bei Link wird gesetzt) */
		var galleryPreviewId = '#previewImg' + galleryId + ' a';
		var galleryPreviewIdTitle = '#galleryTitle' + galleryId + ' h1 a';
		
		/* hat der Link das Attribut active? Wenn ja, zuklappen, wenn nein aufmachen */
		if(thisElement.hasClass('active')) {
			/* Zuklappen */
			/* den geklickten Bildercontainer aufklappen */
			$(galleryDivId).slideUp('fast');			
			
			/* active Class bei allen Triggern entfernen */
			$('.galleryTrigger').removeClass('active');
		}
		else {
			
			/* aufklappen (falls nötig zuerst anderen zuklappen) */
			
			/* active Class bei allen Triggern entfernen */
			$('.galleryTrigger').removeClass('active');
			
			/* anzahl aufgeklappter Galerien zählen (max 1) */
			var cntVisiblePictureWrapper = $("div[class*='galleryPicturesWrapper']:visible").size();
			
			if (cntVisiblePictureWrapper == 0) {
				/* wenn nichts offen, muss auch nichts zugemacht werden.*/
				loadGallery (galleryDivId,galleryPreviewId,galleryPreviewIdTitle,galleryId);
					
			} else {
				
				/* Alle Bildercontainer (alle div die galleryPicturesWrapper enthalten -> kann auch galleryPicturesWrapperShow sein, wenn von Shot gekommen....) zuklappen */
				$('body').css({'overflow':'hidden','padding-right':'17px'});
				$("div[class*='galleryPicturesWrapper']:visible").slideUp('fast', function() {
					loadGallery (galleryDivId,galleryPreviewId,galleryPreviewIdTitle,galleryId);
				});	
			}	
		}
		
		return false;
		
	});
	
	/* Headerwechsel Interval setzten*/
	if(imageChange) foo1 = setInterval('changeBanner()', 5000);
	
	/* klick auf den linken pfeil */
	$('#headerChangeLeft').click(function(){		
		changeBannerLeft();
		return false;		
	});
	
	/* klick auf den rechten Pfeil*/	
	$('#headerChangeRight').click(function(){		
		changeBannerRight();
		return false;		
	});
	
	/* Key Events abfangen */
	$(document).keydown(function(e) {
		if (e.keyCode == '37') {
			changeBannerLeft();
	   	}
		if (e.keyCode == '39') {
			changeBannerRight();
	   	}					   
	});
	
});

/* Galerie-Funktionen */

/* Galerien-Inhalt Laden und Galerie öffnen*/
function loadGallery (galleryDivId,galleryPreviewId,galleryPreviewIdTitle,galleryId) {

	var resultContainerContent = $('.result' + galleryId).html();
	/* wurde der inhalt schon geladen oder nicht*/
	if (resultContainerContent == '') {
			/*Inhalt laden und aufklappen*/
			$.get('sub.galerieImages.cfm?galleryId=' + galleryId, function(data) {
				$('.result' + galleryId).html(data);
				openGallery (galleryDivId,galleryPreviewId,galleryPreviewIdTitle,galleryId);						
			});
		}

	else {
			/*Inhalt schon da, nur aufklappen*/
			openGallery (galleryDivId,galleryPreviewId,galleryPreviewIdTitle,galleryId);
		}
}

/* Galerie öffnen, Attribute setzten und Lightbox initialisieren */
function openGallery (galleryDivId,galleryPreviewId,galleryPreviewIdTitle,galleryId) {
	/* den geklickten Bildercontainer aufklappen */
	$(galleryDivId).slideDown();

	/* Trigger auf aktiv setzten */
	$(galleryPreviewId).addClass('active');
	$(galleryPreviewIdTitle).addClass('active');
	
	$('a[@rel*=lightbox-' + galleryId + ']').lightBox(); // Select all links that contains lightbox in the attribute rel
	
	$('body').css({'overflow':'auto', 'padding-right' : '0'});
}

/* END Galerie-Funktionen */

/* Bildwechsler */

/* bildwechsler funktion */
function changeBanner() {
	var preloadElm = $('#banner-preload');
	var bannerDisplay = $('#contentHeaderImage').css('display');

	headerCount++;
	
	// übergebene liste in array wandeln
	bannerPicArray = headerBilder.split(',');
	
	//am Ende wieder vorne anfangen
	if(headerCount > headerAnzahl) {
		headerCount = 1;
	}
	
	// aktueller Banner auslesen (-1 weil array bei 0 anfängt)
	aktbanner = bannerPicArray[headerCount - 1];
	
	// vorheriger eintrag, wenn erster = letzter
	prevCount = headerCount - 1;
	if(prevCount == 0) prevCount = headerAnzahl
	
	// nächster eintrag, wenn letzter = erster
	nextCount = headerCount + 1;
	if(nextCount > headerAnzahl) nextCount = 1
	
	//preloade im hinteren Element (z index 1) das an diesem Punkt noch hinter dem vorderen ist
	preloadElm.css('background-image', 'url(img/layout/header/' + aktbanner + ')');
	
	// bildwechsel: vorderes element ausblenden (z index 2) bild wechseln und dann wieder einblenden
	$('#contentHeaderImage').fadeOut('slow', function() { 
		
		$('#contentHeaderImage').hide();
		$('#contentHeaderImage').css('background-image', 'url(img/layout/header/' + aktbanner + ')');
		$('#contentHeaderImage').show();
		// href der links zum bildwechsel wechseln
		$('#headerChangeLeft').attr('href','index.cfm?aktHeaderPic='+ prevCount);
		$('#headerChangeRight').attr('href','index.cfm?aktHeaderPic='+ nextCount);
		
		return true;
	});
			
}

/* nach links wechseln */
function changeBannerLeft() {
	/* -2 weil in function changeBanner zuerst wieder 1 dazu gezählt wird */
	headerCount = headerCount - 2;
	/* 	
		wenn auf dem ersten geklickt wurde, wird der wert von headerCount -1, in diesem Fall auf den letzten 
		und wieder -1 weil function changeBanner zuerst wieder 1 dazu gezählt wird 
	*/
	if(headerCount == -1) headerCount = headerAnzahl - 1
	changeBanner();		
	/* interval ausschalten*/
	clearInterval(foo1);		
	/* interval neu setzen */
	foo1 = setInterval('changeBanner()', 5000);
}

/* nach rechts wechseln */
function changeBannerRight() {		
	/* banner wechseln */
	changeBanner();		
	/* interval ausschalten*/
	clearInterval(foo1);		
	/* interval neu setzen */
	foo1 = setInterval('changeBanner()', 5000);
}
