(function($){
    var initFade = function(startSlide, closedSlides, allSlides) {
        //add fade to footer bg
        var R = closedSlides.length;
        for(var i = R; i--;) {
            elm = closedSlides[i];
            $(".slide-footer", elm).css({
                //should be using rgba, but for now just opacity as it has to be
                //animated
                //backgroundColor:"rgba(2, 175, 233, 0.75)"
                opacity: 0.75
            });
            $(".slide-copy", elm).css({
                opacity: 0.45
            })
        }
    }
        
    var fadeInSpeed = 250;
    var fadeOutSpeed = 250;
    
    var fadeIn = function(containers) {
        fade(containers, false);
    }
    
    var fadeOut = function(containers) {
        fade(containers, true);
    }
    
    var fade = function(containers, fade) {
        $(".slide-footer", containers).animate({
            opacity: (fade == true) ? 0.75 : 1.0
        }, fadeInSpeed
        );
        $(".slide-copy", containers).animate({
            opacity: (fade == true) ? 0.45 : 1.0
        }, fadeInSpeed
        );
    }
    
    
    var slideOpen = function(targetPos, openedSlide, otherSlides, allSlides) {
        fadeIn(openedSlide);
        fadeOut(otherSlides);
    }
    
    var slideClosed = function(targetPos, targetSlide, otherSlides, allSlides) {

        fadeIn(targetSlide);
        
        fadeOut(otherSlides);
        
    }
    
    var mouseEnter = function(targetPos, overSlide, otherSlides, allSlides) {
        if(!$(overSlide).hasClass('visible')) {
            fadeIn(overSlide);
        }
    }
    
    var mouseLeave = function(targetPos, outSlide, otherSlides, allSlides) {
        if(!$(outSlide).hasClass('visible')) {
            fadeOut(outSlide);
        }
    }

    var opts = {
        startSlide: 0,
        initialOffset: 102,
        openOffset: 614,
        stackTop: 'right',
        openOnClick: true,
        openOnMouseEnter: true,
        closeOnMouseEnter: true,
        closeOnMouseLeave: false,
        donePrepCallback: initFade,
        slideOpenCallback: slideOpen,
        slideCloseCallback: slideClosed,
        slideMouseEnterCallback: mouseEnter,
        slideMouseLeaveCallback: mouseLeave,
        slideBackgroundPositions: { 0 : [0, 0], 1 : [0, -90], 2 : [0, -100], 3 : [0, -450]}
    }

    var gm2is = new AccordianSlideshow.slider(document.getElementById('bplc-slideshow'), opts);
})(jQuery);


    




