
    jQuery.noConflict();
    jQuery(document).ready(function($) {
    	
    	var contHeight = 500;
    	var amountOfImagesToPreloadAhead = 5;
    	
    	if (typeof(galleryImageContainerHeight) !== 'undefined') {
    		contHeight = galleryImageContainerHeight;
    	}
    	
    	if (typeof(galleryImageCountPreloadAhead) !== 'undefined') {
            amountOfImagesToPreloadAhead = galleryImageCountPreloadAhead;
        }
    	
    	// set the height of the slideshow container
    	imageHeight = jQuery('span.current img').attr('height');
    	var galleryImageContainerSel = '#slideshow';
    	jQuery(galleryImageContainerSel).css('height', contHeight);
    	
    	// hide the fallback image to avoid ugly picture effects at the start
        jQuery('#slideshow img').hide();
    	
        // We only want these styles applied when javascript is enabled
        jQuery('div.content').css('display', 'block');

        // Initially set opacity on thumbs and add
        // additional styling for hover effect on thumbs
        var onMouseOutOpacity = 0.67;
        jQuery('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
            mouseOutOpacity:   onMouseOutOpacity,
            mouseOverOpacity:  1.0,
            fadeSpeed:         'fast',
            exemptionSelector: '.selected'
        }); 
        
        // Initialize Advanced Galleriffic Gallery
        var gallery = jQuery('#thumbs').galleriffic({
            delay:                     5000,
            numThumbs:                 4,
            preloadAhead:              amountOfImagesToPreloadAhead,
            enableTopPager:            true,
            enableBottomPager:         false,
            imageContainerSel:         galleryImageContainerSel,
	        captionContainerSel:       '',
	        controlsContainerSel:      '',
	        loadingContainerSel:       '',
            renderSSControls:          false,
            renderNavControls:         false,
            playLinkText:              'Play Slideshow',
            pauseLinkText:             'Pause Slideshow',
            prevLinkText:              '&lsaquo; Vorheriges Bild',
            nextLinkText:              'N&auml;chstes Bild &rsaquo;',
            nextPageLinkText:          'weiter &rsaquo;',
            prevPageLinkText:          '&lsaquo; zur&uuml;ck',
            enableHistory:             true,
            autoStart:                 false,
            syncTransitions:           true,
            defaultTransitionDuration: 900,
            onSlideChange:             function(prevIndex, nextIndex) {
                // 'this' refers to the gallery, which is an extension of jQuery('#thumbs')
                this.find('ul.thumbs').children()
                    .eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
                    .eq(nextIndex).fadeTo('fast', 1.0);

                // Update the photo index display
                //this.jQuerycaptionContainer.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();
        });

        /****************************************************************************************/

        /**** Functions to support integration of galleriffic with the jquery.history plugin ****/

        // PageLoad function
        // This function is called when:
        // 1. after calling jQuery.historyInit();
        // 2. after calling jQuery.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) {
                jQuery.galleriffic.gotoImage(hash);
            } else {
                gallery.gotoIndex(0);
            }
        }

        // Initialize history plugin.
        // The callback is called at once by present location.hash. 
        jQuery.historyInit(pageload, "advanced.html");

        // set onlick event for buttons using the jQuery 1.3 live method
        jQuery("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 "#", "?"
            jQuery.historyLoad(hash);

            return false;
        });

        //jQuery(".navigation-container").hide();

        //jQuery("#testcontainer").append(jQuery(".navigation-container"));

        /****************************************************************************************/
    });
