var jQuery = jQuery.noConflict();

jQuery(document).ready(function() {
    //Execute the slideShow, set 4 seconds for each images
    slideShow(8000);
 
});
 
function slideShow(speed) {
	//append a LI item to the UL list for displaying caption
    jQuery('ul.slider').append('<li id="slider-caption" class="caption"><div class="slider-caption-container"><h3></h3><p></p></div></li>');
    //Set the opacity of all images to 0
    jQuery('ul.slider li').css({opacity: 0.0});
    //Get the first image and display it (set it to full opacity)
    jQuery('ul.slider li:first').css({opacity: 1.0});
    //Get the caption of the first image from REL attribute and display it
    jQuery('#slider-caption h3').html(jQuery('ul.slider a:first').find('img').attr('title'));
    jQuery('#slider-caption p').html(jQuery('ul.slider a:first').find('img').attr('alt')); 
    //Display the caption
    jQuery('#slider-caption').css({opacity: 1.0, bottom:0});
    //Call the gallery function to run the slideshow    
    var timer = setInterval('gallery()',speed);
    //pause the slideshow on mouse over
    jQuery('ul.slider').hover(
        function () {
            clearInterval(timer);  
        },  
        function () {
            timer = setInterval('gallery()',speed);        
        }
    );
   return false;
}
 
function gallery() {
    //if no IMGs have the show class, grab the first image
    var current = (jQuery('ul.slider li.show')?  jQuery('ul.slider li.show') : jQuery('#ul.slider li:first'));
    //Get next image, if it reached the end of the slideshow, rotate it back to the first image
    var next = ((current.next().length) ? ((current.next().attr('id') == 'slider-caption')? jQuery('ul.slider li:first') :current.next()) : jQuery('ul.slider li:first'));    
    //Get next image caption
    var title = next.find('img').attr('title'); 
    var desc = next.find('img').attr('alt');     
    //Set the fade in effect for the next image, show class has higher z-index
    next.css({opacity: 0.0}).addClass('show').animate({opacity: 1.0}, 1000);
    //Hide the caption first, and then set and display the caption
    jQuery('#slider-caption').slideToggle(100, function () { 
        jQuery('#slider-caption h3').html(title); 
        jQuery('#slider-caption p').html(desc); 
        jQuery('#slider-caption').slideToggle(200); 
    }); 
 
    //Hide the current image
    current.animate({opacity: 0.0}, 1000).removeClass('show');
 
}
