//
// Hesehus SlideShow plugin
//
(function($) {
    //
    // plugin name
    //
    $.fn.hesSlideShow = function(arrFiles, options) {
        $.fn.hesSlideShow.startIndex = 0;
        // build main options before element iteration
        var opts = $.extend({}, $.fn.hesSlideShow.defaults, options);
        opts.thumbContainer = this;
        
        //setup left and right navigation
        if($(opts.slideRightId))
        {
            $(opts.slideRightId).click(function() {
                $.fn.hesSlideShow.Next(arrFiles, opts);
            });
        }
        if($(opts.slideLeftId))
        {
            $(opts.slideLeftId).click(function() {
                $.fn.hesSlideShow.Prev(arrFiles, opts);
            });
        }
        $(opts.thumbContainer).find('li:lt(4)').show();
        $(opts.thumbContainer).find('li:gt(3)').hide();
        
        //hide thumbs if less than two thumbs
        if($(opts.thumbContainer).find('li:gt(0)').size() == 0)
        {
            $(opts.thumbContainer).hide();
        }
        else
        {
            $(opts.thumbContainer).show();
        }
    };
    
    function debug(strLog) {
        if (window.console && window.console.log)
            window.console.log(strLog);
    };

    //
    // Prev
    //
    $.fn.hesSlideShow.Prev = function(arrFiles, options) {     
        $.fn.hesSlideShow.AnimateThumbs('prev', options);
    };

    //
    // Next
    //
    $.fn.hesSlideShow.Next = function(arrFiles, options) {
        $.fn.hesSlideShow.AnimateThumbs('next', options);
    };
    
    //
    // Display file
    //
    $.fn.hesSlideShow.AnimateThumbs = function(strDirection, options) {
        if(strDirection == 'prev')
        {
            $(options.thumbContainer).find('li:first').insertAfter($(options.thumbContainer).find('li:last'));
        }
        else if(strDirection == 'next')
        {
            $(options.thumbContainer).find('li:last').insertBefore($(options.thumbContainer).find('li:first'));
        }
        $(options.thumbContainer).find('li:lt(4)').show();
        $(options.thumbContainer).find('li:gt(3)').hide();
    }

    //
    // default settings for plugin
    //
    $.fn.hesSlideShow.defaults = {
        enableLargePreview: false,
        displayContainer: null,
        FileThumbClass: 'FileThumb',
        slideLeftId: '#ThumbSliderForward',
        slideRightId: '#ThumbSliderBack',
        numberOfShownThumbs: 2,
        thumbContainer: null,
        LargePreviewImageClass: null
    };
})(jQuery);