if(typeof(window.galleryObjects) == 'undefined'){ window.galleryObjects = {}; } function initGallery(listId){ var listId = jQuery('#pictureGallery_' + listId).data('listid'); var fadeTime = jQuery('#pictureGallery_' + listId).data('fadetime'); var animation = jQuery('#pictureGallery_' + listId).data('animation'); var animationDuration = jQuery('#pictureGallery_' + listId).data('animationduration'); var previewAnimation = jQuery('#pictureGallery_' + listId).data('previewanimation'); var numberEntries = jQuery('#pictureGallery_' + listId).data('numberentries'); var currentEntry = jQuery('#pictureGallery_' + listId).data('currententry'); var useFancybox = jQuery('#pictureGallery_' + listId).data('usefancybox'); if(useFancybox == 'yes'){ var position = 0; jQuery('#listEntriesPreview_' + listId + ' .listEntry').each(function(){ var srcFancybox = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position) + ')').find('img.listEntryImage').attr('src'); if(typeof srcFancybox == 'undefined'){ srcFancybox = jQuery(this).data('src-detail'); } var titleFancybox = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position) + ')').find('img.listEntryImage').attr('title'); if(typeof titleFancybox == 'undefined'){ titleFancybox = jQuery(this).find('img').attr('title'); } jQuery(this).wrap(''); position++; }); jQuery('#listEntriesPreview_' + listId + ' a').fancybox({"titlePosition": "inside", "transitionIn" : "none", "transitionOut" : "none", "hideOnContentClick": true, "zoomOpacity": true, "zoomSpeedChange": 200, "zoomSpeedIn": 400, "zoomSpeedOut": 400, "overlayShow": false, "overlayOpacity": 1}); } onAfterSelectListEntryGallery(listId, 0); if(typeof(fadeTime) != 'undefined' && fadeTime != '' && fadeTime != 0){ jQuery('#pictureGallery_' + listId).data('intervalcount', 1); window.galleryObjects[listId] = {'interval' : window.setInterval(function(){jQuery('#pictureGallery_' + listId).data('intervalcount', jQuery('#pictureGallery_' + listId).data('intervalcount') + 1);if(jQuery('#pictureGallery_' + listId).data('intervalcount') >= 128){window.clearInterval(window.galleryObjects[listId]['interval'])};selectListEntryGallery(listId, "+")}, fadeTime * 1000)}; jQuery(window).blur(function(){ window.clearInterval(window.galleryObjects[listId]['interval']); }); jQuery(window).focus(function(){ window.clearInterval(window.galleryObjects[listId]['interval']); window.galleryObjects[listId] = {'interval' : window.setInterval(function(){jQuery('#pictureGallery_' + listId).data('intervalcount', jQuery('#pictureGallery_' + listId).data('intervalcount') + 1);if(jQuery('#pictureGallery_' + listId).data('intervalcount') >= 128){window.clearInterval(window.galleryObjects[listId]['interval'])};selectListEntryGallery(listId, "+")}, fadeTime * 1000)}; }); } if(animation == 'collage'){ jQuery('#listEntries_' + listId).data('numberChanged', 0); jQuery('#listEntries_' + listId + ' .listEntry').each(function(){ //jQuery(this).click(function(){eval('selectEntry_' + listId + '(' + jQuery('#listEntries_' + listId).data('numberChanged') + ')');}); if(jQuery('#listEntries_' + listId).data('numberChanged') != 0){ jQuery(this).css({'transform': 'rotate(' + parseInt(Math.random() * 30 - 15) + 'deg)'}); } jQuery(this).css({'z-index' : parseInt(1000 - jQuery('#listEntries_' + listId).data('numberChanged'))}); jQuery('#listEntries_' + listId).data('numberChanged', jQuery('#listEntries_' + listId).data('numberChanged') + 1); }); } } function selectListEntryGallery(listId, position){ //console.log(listId + ', ' + position); if(jQuery('#listEntries_' + listId).data('entryactive') == '1'){ return false; } var fadeTime = jQuery('#pictureGallery_' + listId).data('fadetime'); var animation = jQuery('#pictureGallery_' + listId).data('animation'); var animationDuration = jQuery('#pictureGallery_' + listId).data('animationduration'); var previewAnimation = jQuery('#pictureGallery_' + listId).data('previewanimation'); var numberEntries = jQuery('#pictureGallery_' + listId).data('numberentries'); var currentEntry = jQuery('#pictureGallery_' + listId).data('currententry'); if(position == '+'){ position = currentEntry < numberEntries ? parseInt(currentEntry) + 1 : 1; } else if(position == '-'){ position = currentEntry != 1 ? parseInt(currentEntry) - 1 : numberEntries; } else if(position == 'init'){ position = 1; } if(position == currentEntry){ return false; } jQuery('#listEntries_' + listId + ' .listEntry').removeClass('listEntrySelected'); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').addClass('listEntrySelected'); if(typeof(fadeTime) != 'undefined' && fadeTime != '' && fadeTime != 0){ window.clearInterval(window.galleryObjects[listId]['interval']); window.galleryObjects[listId] = {'interval' : window.setInterval(function(){jQuery('#pictureGallery_' + listId).data('intervalcount', jQuery('#pictureGallery_' + listId).data('intervalcount') + 1);if(jQuery('#pictureGallery_' + listId).data('intervalcount') >= 128){window.clearInterval(window.galleryObjects[listId]['interval'])};selectListEntryGallery(listId, "+")}, fadeTime * 1000)}; } jQuery('#pictureGallery_' + listId).data('currententry', position); jQuery('#listEntries_' + listId).data('entryactive', 1); if(animation == 'slideFromRight'){ var slideWidth = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').width(); var widthSlideCurrent = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').innerWidth() var positionBefore = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css('position'); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, left: String(slideWidth) + 'px'}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').css({width: String(widthSlideCurrent) + 'px', display: 'block'}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').animate({'marginLeft': '-=' + String(slideWidth)}, animationDuration, function(){ jQuery(this).css({marginLeft: 0, zIndex: 0}); }); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').animate({'left': '-=' + String(slideWidth)}, animationDuration, function(){ jQuery(this).css({display: 'block', position: positionBefore, marginLeft: 0, zIndex: 0}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').hide(); jQuery('#listEntries_' + listId).data('entryactive', ''); }); } else if(animation == 'overlapFromRight'){ var slideWidth = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').width(); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, left: String(slideWidth) + 'px', zIndex: 1}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').animate({'marginLeft': '-=' + String(slideWidth)}, animationDuration, function(){ jQuery(this).css({display: 'block', position: 'static', marginLeft: 0, zIndex: 0}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').css({position: 'static', display: 'none'}); jQuery('#listEntries_' + listId).data('entryactive', ''); }); } else if(animation == 'overlapFromTop'){ var slideHeight = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').height(); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: '-' + String(slideHeight) + 'px', left: 0, zIndex: 1}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').animate({'top': '+=' + String(slideHeight)}, animationDuration, function(){ jQuery(this).css({display: 'block', position: 'static', marginLeft: 0, zIndex: 0}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').css({position: 'static', display: 'none'}); jQuery('#listEntries_' + listId).data('entryactive', ''); }); } else if(animation == 'fadeIn'){ jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, opacity: 0}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').fadeTo(animationDuration, 1, function(){ jQuery(this).css({display: 'block', position: 'static'}); }); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').fadeTo(animationDuration, 0, function(){ jQuery(this).css({display: 'none', opacity: 1}); jQuery('#listEntries_' + listId).data('entryactive', ''); }); } else if(animation == 'moving'){ jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, opacity: 0}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').fadeTo(0, 1, function(){ jQuery(this).css({display: 'block', position: 'static'}); }); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').fadeTo(0, 0, function(){ jQuery(this).css({display: 'none', opacity: 1}); jQuery('#listEntries_' + listId).data('entryactive', ''); }); } else if(animation == 'collage'){ jQuery('#listEntries_' + listId).data('numberChanged', jQuery('#listEntries_' + listId).data('numberChanged') ? jQuery('#listEntries_' + listId).data('numberChanged') + 1 : 1); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({'transform': 'rotate(0deg)'}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').css({'z-index' : (1000 - jQuery('#listEntries_' + listId).data('numberChanged')), 'transform': 'rotate(' + parseInt(Math.random() * 30 - 15) + 'deg)'}); jQuery('#listEntries_' + listId).data('entryactive', ''); } else{ jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, opacity: 0}); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').fadeTo(0, 1, function(){ jQuery(this).css({display: 'block', position: 'static'}); }); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').fadeTo(0, 0, function(){ jQuery(this).css({display: 'none', opacity: 1}); jQuery('#listEntries_' + listId).data('entryactive', ''); }); } selectListEntryGalleryPreview(listId, position); onAfterSelectListEntryGallery(listId, position - 1); } function selectListEntryGalleryPreview(listId, position){ var fadeTime = jQuery('#pictureGallery_' + listId).data('fadetime'); var animation = jQuery('#pictureGallery_' + listId).data('previewanimation'); var animationDuration = jQuery('#pictureGallery_' + listId).data('animationduration'); var numberEntries = jQuery('#pictureGallery_' + listId).data('numberentries'); var currentEntry = jQuery('#pictureGallery_' + listId).data('currententry'); jQuery('#listEntriesPreview_' + listId + ' .listEntry').removeClass('listEntrySelected'); jQuery('#listEntriesPreview_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').addClass('listEntrySelected'); if(fadeTime != ''){ jQuery('#listEntriesPreview_' + listId + ' .listEntry').removeClass('listEntryProgress'); jQuery('#listEntriesPreview_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').addClass('listEntryProgress'); } if(animation == 'slidehorizontal'){ var widthContainerPreviewEntry = jQuery('#listEntriesPreview_' + listId).parent().width(); var widthOuterPreviewEntry = jQuery('#listEntriesPreview_' + listId + ' .listEntry').first().outerWidth() + parseInt(jQuery('#listEntriesPreview_' + listId + ' .listEntry').first().css('margin-right')); var numberEntriesVisible = parseInt(widthContainerPreviewEntry / widthOuterPreviewEntry); var marginLeft = (position - 1 - Math.round(numberEntriesVisible / 2)) * (widthOuterPreviewEntry); if(marginLeft < 0){ marginLeft = 0; } jQuery('#listEntriesPreview_' + listId).animate('listEntrySelected').animate({'marginLeft': '-' + String(marginLeft) + 'px'}, animationDuration); } else if(animation == 'slidevertical'){ var heightContainerPreviewEntry = jQuery('#listEntriesPreview_' + listId).parent().height(); var heightOuterPreviewEntry = jQuery('#listEntriesPreview_' + listId + ' .listEntry').first().outerHeight() + parseInt(jQuery('#listEntriesPreview_' + listId + ' .listEntry').first().css('margin-bottom')); var numberEntriesVisible = parseInt(heightContainerPreviewEntry / heightOuterPreviewEntry); var marginTop = (position - 1 - Math.round(numberEntriesVisible / 2)) * (heightOuterPreviewEntry); if(marginTop < 0){ marginTop = 0; } jQuery('#listEntriesPreview_' + listId).animate('listEntrySelected').animate({'marginTop': '-' + String(marginTop) + 'px'}, animationDuration); } } function onAfterSelectListEntryGallery(listId, currentEntry){ var fadeTime = jQuery('#pictureGallery_' + listId).data('fadetime'); var animation = jQuery('#pictureGallery_' + listId).data('animation'); var animationDuration = jQuery('#pictureGallery_' + listId).data('animationduration'); var previewAnimation = jQuery('#pictureGallery_' + listId).data('previewanimation'); var numberEntries = jQuery('#pictureGallery_' + listId).data('numberentries'); //console.log(currentEntry); jQuery('#pictureGallery_' + listId + ' .listEntryOfEntriesEntry').html(currentEntry + 1); if(animation == 'moving'){ jQuery.each(jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry) + ')'), function(){ var movingDuration = fadeTime * 1000; var movingWidth = jQuery(this).find('.listEntryImage').width() - jQuery(this).parent().width(); var movingHeight = jQuery(this).find('.listEntryImage').height() - jQuery(this).parent().height(); var directionHori = Math.random() > 0.5 ? 'right' : 'left'; var directionVert = Math.random() > 0.5 ? 'bottom' : 'top'; if(jQuery(this).parent().attr('data-movingDirectionHori')){ var directionToChange = Math.random() > 0.5 ? 'hori' : 'vert'; //console.log('directionToChange:' + directionToChange); if(directionToChange == 'hori'){ if(jQuery(this).parent().attr('data-movingDirectionHori') == 'right'){ directionHori = 'left'; } else{ directionHori = 'right'; } directionVerti = jQuery(this).parent().attr('data-movingDirectionVert'); } else{ if(jQuery(this).parent().attr('data-movingDirectionVert') == 'bottom'){ directionVert = 'top'; } else{ directionVert = 'bottom'; } directionHori = jQuery(this).parent().attr('data-movingDirectionHori'); } } //console.log(directionHori + ' / ' + directionVert); jQuery('#listEntries_' + listId).attr('data-movingDirectionHori', directionHori); jQuery('#listEntries_' + listId).attr('data-movingDirectionVert', directionVert); jQuery(this).find('.listEntryImage').css({'marginLeft' : 0, 'marginTop' : 0}); if(directionHori == 'right'){ jQuery(this).find('.listEntryImage').css({'marginLeft' : -movingWidth}); } if(directionVert == 'bottom'){ jQuery(this).find('.listEntryImage').css({'marginTop' : -movingHeight}); } //console.log(directionHori + '/' + directionVert); if(movingWidth > 0){ jQuery(this).find('.listEntryImage').animate({'marginLeft': (directionHori == 'right' ? '+=' : '-=') + movingWidth}, {duration: movingDuration, easing: "linear" , queue: false}); } if(movingHeight > 0){ jQuery(this).find('.listEntryImage').animate({'marginTop': (directionVert == 'bottom' ? '+=' : '-=') + movingHeight}, {duration: movingDuration, easing: "linear" , queue: false}); } }); } }