assets/js/gallery_mod.js
jQuery(document).ready(function (xoops_smallworld) {
// We only want these styles applied when javascript is enabled
xoops_smallworld('div.content').css('display', 'block');
// Initially set opacity on thumbs and add
// additional styling for hover effect on thumbs
var onMouseOutOpacity = 0.67;
xoops_smallworld('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
mouseOutOpacity: onMouseOutOpacity,
mouseOverOpacity: 1.0,
fadeSpeed: 'fast',
exemptionSelector: '.selected'
});
// Initialize Advanced Galleriffic Gallery
var gallery = xoops_smallworld('#thumbs').galleriffic({
delay: 2500,
numThumbs: 6,
preloadAhead: 6,
enableTopPager: false,
enableBottomPager: false,
imageContainerSel: '#slideshow',
controlsContainerSel: '#controls',
captionContainerSel: '#caption',
loadingContainerSel: '#loading',
renderSSControls: true,
renderNavControls: true,
playLinkText: SmallworldPhotoPlaySlideshow,
pauseLinkText: SmallworldPhotoPauseSlideshow,
prevLinkText: SmallworldPhotoPrevPhoto,
nextLinkText: SmallworldPhotoNextPhoto,
nextPageLinkText: SmallworldPhotoNextLink,
prevPageLinkText: SmallworldPhotoPrevLink,
enableHistory: true,
autoStart: false,
syncTransitions: true,
defaultTransitionDuration: 900,
onSlideChange: function (prevIndex, nextIndex) {
// 'this' refers to the gallery, which is an extension of xoops_smallworld('#thumbs')
this.find('ul.thumbs').children()
.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
.eq(nextIndex).fadeTo('fast', 1.0);
// Update the photo index display
this.xoops_smallworldcaptionContainer.find('div.photo-index')
.html('Photo ' + (nextIndex + 1) + ' of ' + this.data.length);
},
onPageTransitionOut: function (callback) {
this.fadeTo('fast', 0.0, callback);
},
onPageTransitionIn: function () {
var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
var nextPageLink = this.find('a.next').css('visibility', 'hidden');
// Show appropriate next / prev page links
if (this.displayedPage > 0)
prevPageLink.css('visibility', 'visible');
var lastPage = this.getNumPages() - 1;
if (this.displayedPage < lastPage)
nextPageLink.css('visibility', 'visible');
this.fadeTo('fast', 1.0);
}
});
/**************** Event handlers for custom next / prev page links **********************/
gallery.find('a.prev').click(function (e) {
gallery.previousPage();
e.preventDefault();
});
gallery.find('a.next').click(function (e) {
gallery.nextPage();
e.preventDefault();
});
/****************************************************************************************/
/**** Functions to support integration of galleriffic with the jquery.history plugin ****/
// PageLoad function
// This function is called when:
// 1. after calling xoops_smallworld.historyInit();
// 2. after calling xoops_smallworld.historyLoad();
// 3. after pushing "Go Back" button of a browser
function pageload(hash) {
// alert("pageload: " + hash);
// hash doesn't contain the first # character.
if (hash) {
xoops_smallworld.galleriffic.gotoImage(hash);
} else {
gallery.gotoIndex(0);
}
}
// Initialize history plugin.
// The callback is called at once by present location.hash.
xoops_smallworld.historyInit(pageload, "advanced.html");
// set onlick event for buttons using the jQuery 1.7 on method
xoops_smallworld("a[rel='history']").on('click', function (e) {
if (e.button != 0) return true;
var hash = this.href;
hash = hash.replace(/^.*#/, '');
// moves to a new page.
// pageload is called at once.
// hash don't contain "#", "?"
xoops_smallworld.historyLoad(hash);
return false;
});
/****************************************************************************************/
});