/******GALLERY*******/
/*
Thumbnail size: Typoscript 
tt_content.image.20.1 {
	file.width = 150c
	file.height = 100c
}
Und im Flexilbe Content!!

Thumbnail tt_news:
gallery.js line 82
Thumbnail more news images:
Typoscript:
plugin.tt_news.displayList.image.file.width = 90c
plugin.tt_news.displayList.image.file.height = 60c
*/

(function($) {
	$.fn.customFadeIn = function(speed, callback) {
		$(this).fadeIn(speed, function() {
			if(!$.support.opacity)
				$(this).get(0).style.removeAttribute('filter');
			if(callback != undefined)
				callback();
		});
	};
	$.fn.customFadeOut = function(speed, callback) {
		$(this).fadeOut(speed, function() {
			if(!$.support.opacity)
				$(this).get(0).style.removeAttribute('filter');
			if(callback != undefined)
				callback();
		});
	};
	$.fn.customFadeTo = function(speed,to,callback) {
		return this.animate({opacity: to}, speed, function() {
			if (to == 1 && jQuery.browser.msie)
				this.style.removeAttribute('filter');
			if (jQuery.isFunction(callback))
				callback();
		});
	};
})(jQuery);

jQuery(document).ready(function($) {						
	$('#thumbicon').click(function(e) {
		if($('#tt_news_images') != ''){
			$('#tt_news_images').css('display','none');
		}
		$('.slideshow-container').css('display','none');	
		$('.nav-controls').css('display','none');	
		$('.caption').css('display','none');	
		//$('.thumbs').fadeIn("normal");	
		$('.thumbs').css('display', 'block');
	});
	$('.thumb').click(function(e){		
		//$('.thumbs').fadeOut(20);		
		$('.thumbs').css('display','none');	
		//$('.slideshow-container').fadeIn("normal");
		$('.slideshow-container').css('display', 'block');
		//$('.nav-controls').fadeIn("normal");
		$('.nav-controls').css('display', 'block');
		//$('.caption').fadeIn("normal");	
		$('.caption').css('display', 'block');
		if($('#tt_news_images') != ''){
			$('#tt_news_images').fadeIn("normal");
		}
	});
	
	//News container wechsel
	function checkNewsThumbs(){		
		data = $('.selected').children('.tt_news_images').html();
		$('#tt_news_images').html(data);
		$('#tt_news_images div').click(function(e){	
			src = $(this).attr('id');
			$('.advance-link img').each(function(index) {												
				$(this).attr('src',src);	
			});
		});
		var count = 0;
		$('#tt_news_images img').each(function(index) {
			count = count + 1;
		});
		if(count <= 1){
			$('#tt_news_images').css('display','none');	
		}else{
			$('#tt_news_images').css('display','block');		
		}
	}	

	if($('.tt_news_images') != ''){			
		$('.tt_news_images').each(function(index) {
			img = $(this).children(':first-child').attr('id');
			//img_src = img.attr('src');
			$(this).prev('.thumb').html('<img src="'+img+'" width="150" height="100" border="0" alt="" title="" />');
			$(this).prev('.thumb').attr('href',img);
			
  		});			
	}
	
	
								
	// We only want these styles applied when javascript is enabled
	$('div.images').css('display', 'block');

	// Initially set opacity on thumbs and add
	// additional styling for hover effect on thumbs
	var onMouseOutOpacity = 0.67;
	$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
		mouseOutOpacity:   onMouseOutOpacity,
		mouseOverOpacity:  1.0,
		fadeSpeed:         'fast',
		exemptionSelector: '.selected'
	});
	
	// Initialize Advanced Galleriffic Gallery
	var gallery = $('#thumbs').galleriffic({
		delay:                     0,
		numThumbs:                 100,
		preloadAhead:              100,
		enableTopPager:            false,
		enableBottomPager:         false,
		imageContainerSel:         '#slideshow',
		controlsContainerSel:      '#controls',
		captionContainerSel:       '#title',
		loadingContainerSel:       '#loading',
		renderSSControls:          true,
		renderNavControls:         true,
		playLinkText:              'Play Slideshow',
		pauseLinkText:             'Pause Slideshow',
		prevLinkText:              '&lsaquo; Previous Photo',
		nextLinkText:              'Next Photo &rsaquo;',
		nextPageLinkText:          'Next &rsaquo;',
		prevPageLinkText:          '&lsaquo; Prev',
		enableHistory:             true,
		autoStart:                 false,
		syncTransitions:           true,
		defaultTransitionDuration: 1000,
		onSlideChange:             function(prevIndex, nextIndex) {
			// 'this' refers to the gallery, which is an extension of $('#thumbs')
			this.find('ul.thumbs').children()
				.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
				.eq(nextIndex).fadeTo('fast', 1.0);
			
			$('a.prev').click(function(e) {
				command = 1;
			});

			// Update the photo index display
			this.$captionContainer.find('div.photo-index')
				.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
			
			if(nextIndex == 0){
				$('a.prev').css('display', 'none');	
			}else{
				$('a.prev').css('display', 'block');		
			}
			
			if(nextIndex +1 == imageCounter){
				$('a.next').css('display', 'none');	
			}else{
				$('a.next').css('display', 'block');		
			}		
		},
		onPageTransitionOut:       function(callback) {
			this.fadeTo('fast', 0.0, callback);
		},
		onPageTransitionIn:        function() {
			var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
			var nextPageLink = this.find('a.next').css('visibility', 'hidden');
			
			// Show appropriate next / prev page links
			if (this.displayedPage > 0)
				prevPageLink.css('visibility', 'visible');

			var lastPage = this.getNumPages() - 1;
			if (this.displayedPage < lastPage)
				nextPageLink.css('visibility', 'visible');

			this.fadeTo('fast', 1.0);
		}
	});

	/**************** Event handlers for custom next / prev page links **********************/

	gallery.find('a.prev').click(function(e) {
		gallery.previousPage();
		e.preventDefault();		
	});

	gallery.find('a.next').click(function(e) {
		gallery.nextPage();
		e.preventDefault();
	});

	/****************************************************************************************/

	/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

	// PageLoad function
	// This function is called when:
	// 1. after calling $.historyInit();
	// 2. after calling $.historyLoad();
	// 3. after pushing "Go Back" button of a browser
	function pageload(hash) {
		// alert("pageload: " + hash);
		// hash doesn't contain the first # character.
		if(hash) {
			$.galleriffic.gotoImage(hash);
		} else {
			gallery.gotoIndex(0);
		}
		checkNewsThumbs();
	}

	// Initialize history plugin.
	// The callback is called at once by present location.hash. 
	$.historyInit(pageload, "advanced.html");

	// set onlick event for buttons using the jQuery 1.3 live method
	$("a[rel='history']").live('click', function(e) {
		if (e.button != 0) return true;

		var hash = this.href;
		hash = hash.replace(/^.*#/, '');

		// moves to a new page. 
		// pageload is called at once. 
		// hash don't contain "#", "?"
		$.historyLoad(hash);

		return false;
	});
	
	if($('.tt_news_images') != ''){
		checkNewsThumbs();
	}
	
	
	
	
	/****************************************************************************************/
});

