/**
 * Init Fancybox
 */
jQuery(document).ready(function() {

  jQuery(".ce-reference-images a[rel]").fancybox();
  jQuery(".news-list-images a[rel]").fancybox();

  /** File-Info **/
  jQuery('fieldset.amounts a.imagepopup').each(function() {
    var container = jQuery(this);
	 var imageUrl = container.attr('rel');

	 var img = jQuery('<img />').attr('src', '/fileadmin/templates/images/info.gif');
    img = jQuery('<a href="' + imageUrl + '"></a>').append(img);
    img.fancybox();

    container.replaceWith(img);
  });

  jQuery('fieldset.amounts a.fileinfo').each(function() {

	 var container = jQuery(this);
	 var fileUid = container.attr('rel');

    jQuery.ajax({
      type: 'GET',
		url: serviceUrl + '?type=11&tx_qtdownload_pi1[uid]=' + fileUid,
		dataType: 'xml',
		success: function(xml) {

		  var title = jQuery('fileinfo file title', xml).text();
		  var file = jQuery('fileinfo file file', xml).text();
		  var ext = jQuery('fileinfo file ext', xml).text();
		  var size = jQuery('fileinfo file size', xml).text();
		  var description = jQuery('fileinfo file description', xml).text();
		  var preview = jQuery('fileinfo file preview', xml).text()

		  if(!title || !file || !ext || !preview)
	  	    return;

        jQuery.preLoadImages(preview);

    	  var img = jQuery('<img />').attr('src', '/fileadmin/templates/images/info.gif');
		  img = jQuery('<a href="#"></a>').append(img);

		  img.click(function(event) {

		    event.preventDefault();

			 jQuery.fancybox(
            '<div class="preview"><img src="' + preview + '" alt="" /></div>' +
            '<p style="text-align:center"><a href="' + file + '" target="_blank">Download</a></p>' , 
            {
               'autoDimensions':	true,
               'title':  size 
		      }			   
			 );

		  });

       
        container.replaceWith(img);

		}

	 });

  });

});

// Slideshow
jQuery(document).ready(function($) {

		      if(!$('#thumbs').get(0)) return;

				// 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:                     4000,
					numThumbs:                 33,
					preloadAhead:              33,
					enableTopPager:            false,
					enableBottomPager:         false,
					imageContainerSel:         '#slideshow',
					controlsContainerSel:      '#controls',
					captionContainerSel:       '#caption',
					loadingContainerSel:       '#loading',
					renderSSControls:          true,
					renderNavControls:         true,
					playLinkText:              'Slideshow starten',
					pauseLinkText:             'Slideshow anhalten',
					prevLinkText:              '&lsaquo; Zur&uuml;ck',
					nextLinkText:              'Vorw&auml;rts &rsaquo;',
					nextPageLinkText:          'Weiter &rsaquo;',
					prevPageLinkText:          '&lsaquo; Zur&uuml;ck',
					enableHistory:             false,
					autoStart:                 true,
					syncTransitions:           true,
					defaultTransitionDuration: 900,
					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);

						// Update the photo index display
						this.$captionContainer.find('div.photo-index')
							.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
					},
					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();
				});

});


(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)


