if(typeof(window.bannerSliderObjects) == 'undefined'){ window.bannerSliderObjects = {}; } function initBannerSlider(listId){ window.bannerSliderObjects[listId] = {}; var fadeTime = jQuery('#bannerSlider_' + listId).data('fadetime'); var animation = jQuery('#bannerSlider_' + listId).data('animation'); var animationDuration = jQuery('#bannerSlider_' + listId).data('animationduration'); var numberEntries = jQuery('#bannerSlider_' + listId).data('numberentries'); var currentEntry = jQuery('#bannerSlider_' + listId).data('currententry'); onAfterSelectListEntryBannerSlider(listId, 0, true); if(typeof(fadeTime) != 'undefined' && fadeTime != '' && fadeTime != 0){ jQuery('#bannerSlider_' + listId).data('intervalcount', 1); window.bannerSliderObjects[listId] = {'interval' : window.setInterval(function(){jQuery('#bannerSlider_' + listId).data('intervalcount', jQuery('#bannerSlider_' + listId).data('intervalcount') + 1);if(jQuery('#bannerSlider_' + listId).data('intervalcount') >= 128){window.clearInterval(window.bannerSliderObjects[listId]['interval'])};selectListEntryBannerSlider(listId, "+")}, fadeTime * 1000)}; jQuery(window).blur(function(){ window.clearInterval(window.bannerSliderObjects[listId]['interval']); }); jQuery(window).focus(function(){ window.clearInterval(window.bannerSliderObjects[listId]['interval']); window.bannerSliderObjects[listId] = {'interval' : window.setInterval(function(){jQuery('#bannerSlider_' + listId).data('intervalcount', jQuery('#bannerSlider_' + listId).data('intervalcount') + 1);if(jQuery('#bannerSlider_' + listId).data('intervalcount') >= 128){window.clearInterval(window.bannerSliderObjects[listId]['interval'])};selectListEntryBannerSlider(listId, "+")}, fadeTime * 1000)}; }); } if(typeof document.body.ontouchstart != 'undefined'){ jQuery('body').bind("touchstart", function(event){ if(jQuery(event.target).closest('#bannerSlider_' + listId).length != 0){ event.preventDefault(); window.bannerSliderObjects[listId]['mouseStartX'] = event.originalEvent.touches[0].pageX; } }); jQuery('body').bind("touchmove", function(event){ if(window.bannerSliderObjects[listId] && window.bannerSliderObjects[listId]['mouseStartX']){ window.bannerSliderObjects[listId]['mouseX'] = event.originalEvent.touches[0].pageX; window.bannerSliderObjects[listId]['divX'] = window.bannerSliderObjects[listId]['mouseX'] - window.bannerSliderObjects[listId]['mouseStartX']; listEntryBannerSliderMove(listId); } }); jQuery('body').bind("touchend", function(event){ if(jQuery(event.target).closest('#bannerSlider_' + listId).length != 0){ event.preventDefault(); if(window.bannerSliderObjects[listId] && window.bannerSliderObjects[listId]['mouseStartX']){ bannerSliderMoveEnd(listId); } } }); } jQuery('#bannerSlider_' + listId).mousedown(function(event){ window.clearInterval(window.bannerSliderObjects[listId]['interval']); event.preventDefault ? event.preventDefault() : event.returnValue = false; event.stopPropagation ? event.stopPropagation() : event.cancelBubble = true; window.bannerSliderObjects[listId]['mouseStartX'] = event.pageX; }); jQuery(document).mousemove(function(event){ if(window.bannerSliderObjects[listId] && window.bannerSliderObjects[listId]['mouseStartX']){ window.bannerSliderObjects[listId]['mouseX'] = event.pageX; window.bannerSliderObjects[listId]['divX'] = window.bannerSliderObjects[listId]['mouseX'] - window.bannerSliderObjects[listId]['mouseStartX']; listEntryBannerSliderMove(listId); } }); jQuery(document).mouseup(function(e){ if(window.bannerSliderObjects[listId] && window.bannerSliderObjects[listId]['mouseStartX']){ bannerSliderMoveEnd(listId); } }); } function listEntryBannerSliderMove(listId){ var currentEntry = jQuery('#bannerSlider_' + listId).data('currententry'); var animation = jQuery('#bannerSlider_' + listId).data('animation'); var position = currentEntry + 1; var slideWidth = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').width(); var widthSlideCurrent = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').innerWidth() if(typeof jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').data('position') == 'undefined'){ jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').data('position', jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css('position')); } if(animation == 'slideFromRight'){ if(window.bannerSliderObjects[listId]['divX'] < 0){ jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, left: String(slideWidth + window.bannerSliderObjects[listId]['divX']) + 'px'});; jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').css({width: String(widthSlideCurrent) + 'px', display: 'block', 'margin-left' : window.bannerSliderObjects[listId]['divX']}); } } } function bannerSliderMoveEnd(listId){ var currentEntry = jQuery('#bannerSlider_' + listId).data('currententry'); var numberEntries = jQuery('#bannerSlider_' + listId).data('numberentries'); var animation = jQuery('#bannerSlider_' + listId).data('animation'); var position = currentEntry + 1; if(position > numberEntries){ position = 1; } window.bannerSliderObjects[listId]['mouseStartX'] = null; window.bannerSliderObjects[listId]['mouseX'] = null; window.clearInterval(window.bannerSliderObjects[listId]['interval']); if(animation == 'slideFromRight'){ if(window.bannerSliderObjects[listId]['divX'] < 0){ var slideWidth = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').width(); var percentageSlide = Math.sqrt(Math.pow(parseInt(window.bannerSliderObjects[listId]['divX'] / slideWidth * 100), 2), 2); selectListEntryBannerSlider(listId, position); } } } function selectListEntryBannerSlider(listId, position){ //console.log(listId + ', ' + position); if(jQuery('#listEntries_' + listId).data('entryactive') == '1'){ return false; } var fadeTime = jQuery('#bannerSlider_' + listId).data('fadetime'); var animation = jQuery('#bannerSlider_' + listId).data('animation'); var animationDuration = jQuery('#bannerSlider_' + listId).data('animationduration'); var previewAnimation = jQuery('#bannerSlider_' + listId).data('previewanimation'); var numberEntries = jQuery('#bannerSlider_' + listId).data('numberentries'); var currentEntry = jQuery('#bannerSlider_' + 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; } if(typeof(fadeTime) != 'undefined' && fadeTime != '' && fadeTime != 0){ window.clearInterval(window.bannerSliderObjects[listId]['interval']); window.bannerSliderObjects[listId] = {'interval' : window.setInterval(function(){jQuery('#bannerSlider_' + listId).data('intervalcount', jQuery('#bannerSlider_' + listId).data('intervalcount') + 1);if(jQuery('#bannerSlider_' + listId).data('intervalcount') >= 128){window.clearInterval(window.bannerSliderObjects[listId]['interval'])};selectListEntryBannerSlider(listId, "+")}, fadeTime * 1000)}; } jQuery('#bannerSlider_' + 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 marginLeftSlideCurrent = jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').css('marginLeft'); if(typeof jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').data('position') == 'undefined'){ jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').data('position', jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css('position')); } //console.log(marginLeftSlideCurrent); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').css({position: 'absolute', display: 'block', width: '100%', top: 0, left: String(slideWidth + parseInt(marginLeftSlideCurrent)) + '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 + parseInt(marginLeftSlideCurrent))}, animationDuration, function(){ jQuery(this).css({marginLeft: 0, zIndex: 0}); }); jQuery('#listEntries_' + listId + ' .listEntry:eq(' + String(position - 1) + ')').animate({'left': '-=' + String(slideWidth + parseInt(marginLeftSlideCurrent))}, animationDuration, function(){ //console.log(jQuery(this).data('position')); jQuery(this).css({display: 'block', position: jQuery(this).data('position'), 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{ 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', ''); }); } selectListEntryBannerSliderPreview(listId, position); onAfterSelectListEntryBannerSlider(listId, position - 1); } function selectListEntryBannerSliderPreview(listId, position){ var fadeTime = jQuery('#bannerSlider_' + listId).data('fadetime'); var animation = jQuery('#bannerSlider_' + listId).data('previewanimation'); var animationDuration = jQuery('#bannerSlider_' + listId).data('animationduration'); var numberEntries = jQuery('#bannerSlider_' + listId).data('numberentries'); var currentEntry = jQuery('#bannerSlider_' + 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 onAfterSelectListEntryBannerSlider(listId, currentEntry, init){ var fadeTime = jQuery('#bannerSlider_' + listId).data('fadetime'); var animation = jQuery('#bannerSlider_' + listId).data('animation'); var animationDuration = jQuery('#bannerSlider_' + listId).data('animationduration'); var numberEntries = jQuery('#bannerSlider_' + listId).data('numberentries'); var currentEntry = jQuery('#bannerSlider_' + listId).data('currententry'); var backgroundTarget = jQuery('#bannerSlider_' + listId).data('background-target'); var backgroundImgSrc = jQuery('#listEntriesPreview_' + listId + ' .listEntry:eq(' + String(currentEntry - 1) + ')').data('src-detail'); if(typeof backgroundTarget != 'undefined'){ if(jQuery('#backgroundImageSliderTmp').length == 0){ jQuery(backgroundTarget).prepend('
'); if(backgroundTarget != 'body'){ jQuery('#backgroundImageSliderTmp').get(0).zIndex = '0'; } var backgroundRepeatSet = jQuery(backgroundTarget).css('background-repeat'); if(backgroundRepeatSet == 'repeat-x'){backgroundRepeatSet = 'repeat no-repeat';} else if(backgroundRepeatSet == 'repeat-y'){backgroundRepeatSet = 'no-repeat repeat';} else if(backgroundRepeatSet == 'repeat'){backgroundRepeatSet = 'repeat';} jQuery('#backgroundImageSliderTmp').get(0).style.backgroundRepeat = backgroundRepeatSet; jQuery('#backgroundImageSliderTmp').get(0).style.backgroundAttachment = jQuery(backgroundTarget).css('background-attachment') jQuery('#backgroundImageSliderTmp').get(0).style.backgroundSize = jQuery(backgroundTarget).css('background-size'); } jQuery('#backgroundImageSliderTmp').css({'display': 'none', 'background-image': 'url(' + backgroundImgSrc + ')', 'height': jQuery(backgroundTarget == 'body' ? 'html' : backgroundTarget).height()}); if(init){ jQuery(backgroundTarget).css({'background-image': 'url(' + backgroundImgSrc + ')'}); } else{ jQuery('#backgroundImageSliderTmp').fadeIn(animationDuration, function(){jQuery(this).hide();jQuery(backgroundTarget).css({'background-image': 'url(' + backgroundImgSrc + ')'})}); } } }