// Home page

jQuery(document).ready(function() {

    // Caching elements that need to be queried multiple times
    var homeSlideshowWrap = jQuery('#splash-container').find('#jqb_object');
    var homeSlidesContainer = homeSlideshowWrap.find('div.hero-slide-container div.hero-slide-container-inner');
    var homeSlides = homeSlidesContainer.children('div');
    
    var pager = homeSlideshowWrap.find('div.slideshow-progress-bar-wrap div.slideshow-progress-bar');
    var highlightBar = homeSlideshowWrap.find('div.highlight-bar');
    
    var pagerMarkup = new Array();
    var pagerElPercentW = 1 / homeSlides.length * 100;
    
    homeSlides.each(function(i) {
        // Make a pager element for each slide
        var oneBasedIndex = i + 1;
        pagerMarkup.push('<div class="pagerLink" style="width: '+ pagerElPercentW +'%;"><div class="pager'+ oneBasedIndex +'"></div></div>');
    });
    // Insert the pager elements into the markup
    pager.append(pagerMarkup.join(''));
    
    // Make the highlight bar the same width as each pager element
    highlightBar.css('width', pagerElPercentW+'%');

    var TRANSITION_SPEED = 500;

    // Fire the slideshow
    homeSlidesContainer.cycle({
        activePagerClass:   'active',
        before:             function(curr, next, opts) {
                                // Slide the highlight bar to the next slide's pager anchor. Cancel any
                                // unfinished animations on the highlight bar and then start a new one.
                                highlightBar.stop(true).animate(
                                    {
                                        'left': pager.find('div.pagerLink').eq( jQuery(next).index() ).position().left
                                    }, 
                                    TRANSITION_SPEED
                                );
                            },
        fx:                 'fade',
        speed:              TRANSITION_SPEED,
        timeout:            5000,
        pause:              1,
        pauseOnPagerHover:  1,
        pager:              '#splash-container #jqb_object div.slideshow-progress-bar-wrap div.slideshow-progress-bar',
        pagerAnchorBuilder: function(idx, slide) {
                                // Selector string to grab the pager for each slide
                                return '#splash-container #jqb_object div.slideshow-progress-bar-wrap div.slideshow-progress-bar div.pagerLink:eq(' + idx + ')';
                            },
        pagerEvent:         'mouseenter.cycle'
    });
    
});
