function startSlideshowA( options ) {
    // get list of images in hidden gallery div
    var allImages = new Array();
    $('div.photo').each( function( index, domElement ) {
        allImages.push( domElement.id );
    });
    
    numImages = allImages.length;
    
    // initialize variables
    var curPanel = $('#panel');
    var myTimer;
    var init = 0;
    var counter = 0;
    var cycleCounter = 0;
    
    // Settings
    var quotationInterval = ( options.quotationInterval == null ) ? 3 : options.quotationInterval; // display quotation for every nth photo
    var panelSlideUpDelay = ( options.panelSlideUpDelay == null ) ? 1000 : options.panelSlideUpDelay; // seconds before sliding panel up
    var panelSlideUpDuration = ( options.panelSlideUpDuration == null ) ? 2000 : options.panelSlideUpDuration; // duration of panel sliding up animation
    var panelSlideDownDelay = ( options.panelSlideDownDelay == null ) ? 5000 : options.panelSlideDownDelay; // seconds before sliding panel down
    var panelSlideDownDuration = ( options.panelSlideDownDuration == null ) ? 2000 : options.panelSlideDownDuration; // duration of panel sliding down animation
    var fadePhotoDelay = ( options.fadePhotoDelay == null ) ? 5000 : options.fadePhotoDelay; // delay between switching photos
    var fadePhotoDuration = ( options.fadePhotoDuration == null ) ? 2000 : options.fadePhotoDuration; // duration of photo fade in animation
    
    // function to cycle through images
    function increaseCounter() {
        counter = ( counter + 1 >= numImages ) ? 0 : counter + 1;
        cycleCounter++;
    }
    
    function setPhoto() {
        if ( init == 1 ) {
            
            increaseCounter();
            
            // set background image of galleryImage div to next photo - will appear transparent on top of current gallery image
            // gradually fade in photo

            $('#galleryImage').css("opacity", "0")
                              .css('background-image', "url('" + $( "#" + allImages[counter] + "> img").attr("src") + "')")
                              .delay( fadePhotoDelay )  
                              .animate( { opacity: 1 },
                                        fadePhotoDuration, 
                                        "linear", 
                                        function(){ checkShowPanel(); } );

            // determine if we should hide panel
            if ( cycleCounter % quotationInterval == 1 ) {
                // slide panel out to the bottom
                $("#panel").removeClass()
                           .addClass("two")
                           .delay( panelSlideDownDelay )
                           .animate( { top: "340px" },
                                     panelSlideDownDuration ,
                                     "swing" );
            }

        } else {
            
            // set the background image of the gallery div to the first photo
            $('#gallery').css('background-image', "url('" + $( "#" + allImages[counter] + "> img").attr("src") + "')");

            // clear top layers
            $('#galleryImage').css('background-image', '');
            
            init = 1;
            showSlidingPanel();
        }
        
        // check show panel
        function checkShowPanel() {
            if ( cycleCounter % quotationInterval == 0) {
                showSlidingPanel();
            } else {
                swapLayers();
            }
        }
    }
    
    function showSlidingPanel() {
        
        // remove contents of panel and replace with first quote
        curPanel.empty();
        
        // add quotation to current panel
        $( "#" + allImages[counter] + "> div" ).clone().appendTo(curPanel);
        
        // slide panel in from the bottom
        $("#panel").attr("class", "below")
                   .delay( panelSlideUpDelay )  // delay before starting panel slide
                   .animate( {
                                left: "0px",
                                top: "250px"
                             }, 
                             panelSlideUpDuration,
                             "swing",
                             function(){ swapLayers(); }
                             );    
    }


    function swapLayers() {
        // replace the background image of the bottom layer
        $('#gallery').css('background-image', "url('" + $( "#" + allImages[counter] + "> img").attr("src") + "')");
        // clear top layer
        $('#galleryImage').css('background-image', '');
        setPhoto();
    }
    
    // begin slideshow
    setPhoto();
}