var simpleGalleryItems = []; var simpleGalleryOverlay = null; var simpleGalleryIndex = -1; function initSimpleGallery() { var HTML = '\n'; document.body.innerHTML += HTML; simpleGalleryOverlay = jQuery(".simple-gallery-overlay"); return false; } function findSimpleGalleryPictures() { var matches = jQuery("figure.image > a"); matches.each(function(index, match) { match = jQuery(match); if(match.attr("href").match(/\.(jpe?g|png|gif|tiff?)/i)) { simpleGalleryItems.push(match); match.removeAttr("onclick"); match.off("click"); match.attr("onclick", "return loadSimpleGalleryImage(this);"); } }); } /** * if img is NULL, load current index */ function loadSimpleGalleryImage(img) { if(simpleGalleryOverlay == null) { initSimpleGallery(); } var imgTag = simpleGalleryOverlay.find("img"); if(img != null) { img = jQuery(img); simpleGalleryIndex = findSimpleGalleryImage(img); toggleSimpleGallery(); } var src = simpleGalleryItems[simpleGalleryIndex]; imgTag.attr("src", src.attr("href")); return false; } /** * return index of given image in List */ function findSimpleGalleryImage(img) { for(var i=0; i < simpleGalleryItems.length; i++) { if(simpleGalleryItems[i].attr("href") == img.attr("href")) return i; } console.error("image not found"); console.log(img); } function nextSimpleGalleryImg() { if(simpleGalleryIndex < simpleGalleryItems.length -1) { simpleGalleryIndex++; loadSimpleGalleryImage(null); } else { simpleGalleryIndex = 0; loadSimpleGalleryImage(null); } return false; } function prevSimpleGalleryImg() { if(simpleGalleryIndex > 0) { simpleGalleryIndex--; loadSimpleGalleryImage(null); } else { simpleGalleryIndex = simpleGalleryItems.length -1; loadSimpleGalleryImage(null); } return false; } function toggleSimpleGallery() { if(simpleGalleryOverlay.css("display") == "block") simpleGalleryOverlay.hide(); else simpleGalleryOverlay.show(); } jQuery(findSimpleGalleryPictures);