jQuery(document).ready(function() { function getAccessMapIDs() { var accessMapDivs = jQuery('[id^=access-map-main-]'); return jQuery.map(accessMapDivs, function(div) { return jQuery("#" + div.id); }); } function makeAccessMap(DOM) { var id = DOM.data("id"); var count = parseInt(DOM.data("pictures")); var active = 0; jQuery('body').delegate('.mobile-picture-slide', 'lcms_slide_shown', function(slide_object, slide_index) { jQuery("#access-map-" + id + "-mobile-button-" + active).removeClass("access-map-mainbutton-active"); jQuery("#access-map-" + id + "-mobile-button-" + slide_index).addClass("access-map-mainbutton-active"); active = slide_index; }); for(i = 0; i < count; i++) { var button = i; jQuery("#access-map-" + id + "-button-" + button).click(function() { var buttonId = jQuery(this).data("id"); if(buttonId != active) { jQuery("#access-map-" + id + "-button-" + active).removeClass("access-map-mainbutton-active"); jQuery("#access-map-" + id + "-pic-" + active).removeClass("access-map-pic-active"); jQuery(this).addClass("access-map-mainbutton-active"); jQuery("#access-map-" + id + "-pic-" + buttonId).addClass("access-map-pic-active"); active = buttonId; } }); jQuery("#access-map-" + id + "-mobile-button-" + button).click(function() { var buttonId = jQuery(this).data("id"); if(buttonId != active) { jQuery("#access-map-main-"+id+" .mobile-picture-slide").lcms_paginate(buttonId); } }); } } accessMapIDs = getAccessMapIDs(); accessMapIDs.forEach(function(DOM) { return makeAccessMap(DOM); }); });