Created
April 2, 2016 12:21
-
-
Save JuraganIndonesia/9047d24daabbf992dc0463598f7e281c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Camera slideshow v1.3.4 - a jQuery slideshow with many effects, transitions, easy to customize, using canvas and mobile ready, based on jQuery 1.4+ | |
| // Copyright (c) 2012 by Manuel Masia - www.pixedelic.com | |
| // Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php | |
| ;(function($){$.fn.camera = function(opts, callback) { | |
| var defaults = { | |
| alignment : 'center', //topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight | |
| autoAdvance : true, //true, false | |
| mobileAutoAdvance : true, //true, false. Auto-advancing for mobile devices | |
| barDirection : 'leftToRight', //'leftToRight', 'rightToLeft', 'topToBottom', 'bottomToTop' | |
| barPosition : 'bottom', //'bottom', 'left', 'top', 'right' | |
| cols : 6, | |
| easing : 'easeInOutExpo', //for the complete list http://jqueryui.com/demos/effect/easing.html | |
| mobileEasing : '', //leave empty if you want to display the same easing on mobile devices and on desktop etc. | |
| fx : 'random', //'random','simpleFade', 'curtainTopLeft', 'curtainTopRight', 'curtainBottomLeft', 'curtainBottomRight', 'curtainSliceLeft', 'curtainSliceRight', 'blindCurtainTopLeft', 'blindCurtainTopRight', 'blindCurtainBottomLeft', 'blindCurtainBottomRight', 'blindCurtainSliceBottom', 'blindCurtainSliceTop', 'stampede', 'mosaic', 'mosaicReverse', 'mosaicRandom', 'mosaicSpiral', 'mosaicSpiralReverse', 'topLeftBottomRight', 'bottomRightTopLeft', 'bottomLeftTopRight', 'bottomLeftTopRight' | |
| //you can also use more than one effect, just separate them with commas: 'simpleFade, scrollRight, scrollBottom' | |
| mobileFx : '', //leave empty if you want to display the same effect on mobile devices and on desktop etc. | |
| gridDifference : 250, //to make the grid blocks slower than the slices, this value must be smaller than transPeriod | |
| height : '50%', //here you can type pixels (for instance '300px'), a percentage (relative to the width of the slideshow, for instance '50%') or 'auto' | |
| imagePath : 'images/', //he path to the image folder (it serves for the blank.gif, when you want to display videos) | |
| hover : true, //true, false. Puase on state hover. Not available for mobile devices | |
| loader : 'pie', //pie, bar, none (even if you choose "pie", old browsers like IE8- can't display it... they will display always a loading bar) | |
| loaderColor : '#eeeeee', | |
| loaderBgColor : '#222222', | |
| loaderOpacity : .8, //0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1 | |
| loaderPadding : 2, //how many empty pixels you want to display between the loader and its background | |
| loaderStroke : 7, //the thickness both of the pie loader and of the bar loader. Remember: for the pie, the loader thickness must be less than a half of the pie diameter | |
| minHeight : '200px', //you can also leave it blank | |
| navigation : true, //true or false, to display or not the navigation buttons | |
| navigationHover : true, //if true the navigation button (prev, next and play/stop buttons) will be visible on hover state only, if false they will be visible always | |
| mobileNavHover : true, //same as above, but only for mobile devices | |
| opacityOnGrid : false, //true, false. Decide to apply a fade effect to blocks and slices: if your slideshow is fullscreen or simply big, I recommend to set it false to have a smoother effect | |
| overlayer : true, //a layer on the images to prevent the users grab them simply by clicking the right button of their mouse (.camera_overlayer) | |
| pagination : true, | |
| playPause : true, //true or false, to display or not the play/pause buttons | |
| pauseOnClick : true, //true, false. It stops the slideshow when you click the sliders. | |
| pieDiameter : 38, | |
| piePosition : 'rightTop', //'rightTop', 'leftTop', 'leftBottom', 'rightBottom' | |
| portrait : false, //true, false. Select true if you don't want that your images are cropped | |
| rows : 4, | |
| slicedCols : 12, //if 0 the same value of cols | |
| slicedRows : 8, //if 0 the same value of rows | |
| slideOn : 'random', //next, prev, random: decide if the transition effect will be applied to the current (prev) or the next slide | |
| thumbnails : false, | |
| time : 7000, //milliseconds between the end of the sliding effect and the start of the nex one | |
| transPeriod : 1500, //lenght of the sliding effect in milliseconds | |
| ////////callbacks | |
| onEndTransition : function() { }, //this callback is invoked when the transition effect ends | |
| onLoaded : function() { }, //this callback is invoked when the image on a slide has completely loaded | |
| onStartLoading : function() { }, //this callback is invoked when the image on a slide start loading | |
| onStartTransition : function() { } //this callback is invoked when the transition effect starts | |
| }; | |
| function isMobile() { | |
| if( navigator.userAgent.match(/Android/i) || | |
| navigator.userAgent.match(/webOS/i) || | |
| navigator.userAgent.match(/iPad/i) || | |
| navigator.userAgent.match(/iPhone/i) || | |
| navigator.userAgent.match(/iPod/i) | |
| ){ | |
| return true; | |
| } | |
| } | |
| var opts = $.extend({}, defaults, opts); | |
| var wrap = $(this).addClass('camera_wrap'); | |
| wrap.wrapInner( | |
| '<div class="camera_src" />' | |
| ).wrapInner( | |
| '<div class="camera_fakehover" />' | |
| ); | |
| var fakeHover = $('.camera_fakehover',wrap); | |
| fakeHover.append( | |
| '<div class="camera_target"></div>' | |
| ); | |
| if(opts.overlayer == true){ | |
| fakeHover.append( | |
| '<div class="camera_overlayer"></div>' | |
| ) | |
| } | |
| fakeHover.append( | |
| '<div class="camera_target_content"></div>' | |
| ); | |
| var loader; | |
| if(opts.loader=='pie' && $.browser.msie && $.browser.version < 9){ | |
| loader = 'bar'; | |
| } else { | |
| loader = opts.loader; | |
| } | |
| if(loader == 'pie'){ | |
| fakeHover.append( | |
| '<div class="camera_pie"></div>' | |
| ) | |
| } else if (loader == 'bar') { | |
| fakeHover.append( | |
| '<div class="camera_bar"></div>' | |
| ) | |
| } else { | |
| fakeHover.append( | |
| '<div class="camera_bar" style="display:none"></div>' | |
| ) | |
| } | |
| if(opts.playPause==true){ | |
| fakeHover.append( | |
| '<div class="camera_commands"></div>' | |
| ) | |
| } | |
| if(opts.navigation==true){ | |
| fakeHover.append( | |
| '<div class="camera_prev"><span></span></div>' | |
| ).append( | |
| '<div class="camera_next"><span></span></div>' | |
| ); | |
| } | |
| if(opts.thumbnails==true){ | |
| wrap.append( | |
| '<div class="camera_thumbs_cont" />' | |
| ); | |
| } | |
| if(opts.thumbnails==true && opts.pagination!=true){ | |
| $('.camera_thumbs_cont',wrap).wrap( | |
| '<div />' | |
| ).wrap( | |
| '<div class="camera_thumbs" />' | |
| ).wrap( | |
| '<div />' | |
| ).wrap( | |
| '<div class="camera_command_wrap" />' | |
| ); | |
| } | |
| if(opts.pagination==true){ | |
| wrap.append( | |
| '<div class="camera_pag"></div>' | |
| ); | |
| } | |
| wrap.append( | |
| '<div class="camera_loader"></div>' | |
| ); | |
| $('.camera_caption',wrap).each(function(){ | |
| $(this).wrapInner('<div />'); | |
| }); | |
| var pieID = 'pie_'+wrap.index(), | |
| elem = $('.camera_src',wrap), | |
| target = $('.camera_target',wrap), | |
| content = $('.camera_target_content',wrap), | |
| pieContainer = $('.camera_pie',wrap), | |
| barContainer = $('.camera_bar',wrap), | |
| prevNav = $('.camera_prev',wrap), | |
| nextNav = $('.camera_next',wrap), | |
| commands = $('.camera_commands',wrap), | |
| pagination = $('.camera_pag',wrap), | |
| thumbs = $('.camera_thumbs_cont',wrap); | |
| var w, | |
| h; | |
| var allImg = new Array(); | |
| $('> div', elem).each( function() { | |
| allImg.push($(this).attr('data-src')); | |
| }); | |
| var allLinks = new Array(); | |
| $('> div', elem).each( function() { | |
| if($(this).attr('data-link')){ | |
| allLinks.push($(this).attr('data-link')); | |
| } else { | |
| allLinks.push(''); | |
| } | |
| }); | |
| var allTargets = new Array(); | |
| $('> div', elem).each( function() { | |
| if($(this).attr('data-target')){ | |
| allTargets.push($(this).attr('data-target')); | |
| } else { | |
| allTargets.push(''); | |
| } | |
| }); | |
| var allPor = new Array(); | |
| $('> div', elem).each( function() { | |
| if($(this).attr('data-portrait')){ | |
| allPor.push($(this).attr('data-portrait')); | |
| } else { | |
| allPor.push(''); | |
| } | |
| }); | |
| var allAlign= new Array(); | |
| $('> div', elem).each( function() { | |
| if($(this).attr('data-alignment')){ | |
| allAlign.push($(this).attr('data-alignment')); | |
| } else { | |
| allAlign.push(''); | |
| } | |
| }); | |
| var allThumbs = new Array(); | |
| $('> div', elem).each( function() { | |
| if($(this).attr('data-thumb')){ | |
| allThumbs.push($(this).attr('data-thumb')); | |
| } else { | |
| allThumbs.push(''); | |
| } | |
| }); | |
| var amountSlide = allImg.length; | |
| $(content).append('<div class="cameraContents" />'); | |
| var loopMove; | |
| for (loopMove=0;loopMove<amountSlide;loopMove++) | |
| { | |
| $('.cameraContents',content).append('<div class="cameraContent" />'); | |
| if(allLinks[loopMove]!=''){ | |
| //only for Wordpress plugin | |
| var dataBox = $('> div ',elem).eq(loopMove).attr('data-box'); | |
| if(typeof dataBox !== 'undefined' && dataBox !== false && dataBox != '') { | |
| dataBox = 'data-box="'+$('> div ',elem).eq(loopMove).attr('data-box')+'"'; | |
| } else { | |
| dataBox = ''; | |
| } | |
| // | |
| $('.camera_target_content .cameraContent:eq('+loopMove+')',wrap).append('<a class="camera_link" href="'+allLinks[loopMove]+'" '+dataBox+' target="'+allTargets[loopMove]+'"></a>'); | |
| } | |
| } | |
| $('.camera_caption',wrap).each(function(){ | |
| var ind = $(this).parent().index(), | |
| cont = wrap.find('.cameraContent').eq(ind); | |
| $(this).appendTo(cont); | |
| }); | |
| target.append('<div class="cameraCont" />'); | |
| var cameraCont = $('.cameraCont',wrap); | |
| var loop; | |
| for (loop=0;loop<amountSlide;loop++) | |
| { | |
| cameraCont.append('<div class="cameraSlide cameraSlide_'+loop+'" />'); | |
| var div = $('> div:eq('+loop+')',elem); | |
| target.find('.cameraSlide_'+loop).clone(div); | |
| } | |
| function thumbnailVisible() { | |
| var wTh = $(thumbs).width(); | |
| $('li', thumbs).removeClass('camera_visThumb'); | |
| $('li', thumbs).each(function(){ | |
| var pos = $(this).position(), | |
| ulW = $('ul', thumbs).outerWidth(), | |
| offUl = $('ul', thumbs).offset().left, | |
| offDiv = $('> div',thumbs).offset().left, | |
| ulLeft = offDiv-offUl; | |
| if(ulLeft>0){ | |
| $('.camera_prevThumbs',camera_thumbs_wrap).removeClass('hideNav'); | |
| } else { | |
| $('.camera_prevThumbs',camera_thumbs_wrap).addClass('hideNav'); | |
| } | |
| if((ulW-ulLeft)>wTh){ | |
| $('.camera_nextThumbs',camera_thumbs_wrap).removeClass('hideNav'); | |
| } else { | |
| $('.camera_nextThumbs',camera_thumbs_wrap).addClass('hideNav'); | |
| } | |
| var left = pos.left, | |
| right = pos.left+($(this).width()); | |
| if(right-ulLeft<=wTh && left-ulLeft>=0){ | |
| $(this).addClass('camera_visThumb'); | |
| } | |
| }); | |
| } | |
| $(window).bind('load resize pageshow',function(){ | |
| thumbnailPos(); | |
| thumbnailVisible(); | |
| }); | |
| cameraCont.append('<div class="cameraSlide cameraSlide_'+loop+'" />'); | |
| var started; | |
| wrap.show(); | |
| var w = target.width(); | |
| var h = target.height(); | |
| var setPause; | |
| $(window).bind('resize pageshow',function(){ | |
| if(started == true) { | |
| resizeImage(); | |
| } | |
| $('ul', thumbs).animate({'margin-top':0},0,thumbnailPos); | |
| if(!elem.hasClass('paused')){ | |
| elem.addClass('paused'); | |
| if($('.camera_stop',camera_thumbs_wrap).length){ | |
| $('.camera_stop',camera_thumbs_wrap).hide() | |
| $('.camera_play',camera_thumbs_wrap).show(); | |
| if(loader!='none'){ | |
| $('#'+pieID).hide(); | |
| } | |
| } else { | |
| if(loader!='none'){ | |
| $('#'+pieID).hide(); | |
| } | |
| } | |
| clearTimeout(setPause); | |
| setPause = setTimeout(function(){ | |
| elem.removeClass('paused'); | |
| if($('.camera_play',camera_thumbs_wrap).length){ | |
| $('.camera_play',camera_thumbs_wrap).hide(); | |
| $('.camera_stop',camera_thumbs_wrap).show(); | |
| if(loader!='none'){ | |
| $('#'+pieID).fadeIn(); | |
| } | |
| } else { | |
| if(loader!='none'){ | |
| $('#'+pieID).fadeIn(); | |
| } | |
| } | |
| },1500); | |
| } | |
| }); | |
| function resizeImage(){ | |
| var res; | |
| function resizeImageWork(){ | |
| w = wrap.width(); | |
| if(opts.height.indexOf('%')!=-1) { | |
| var startH = Math.round(w / (100/parseFloat(opts.height))); | |
| if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ | |
| h = parseFloat(opts.minHeight); | |
| } else { | |
| h = startH; | |
| } | |
| wrap.css({height:h}); | |
| } else if (opts.height=='auto') { | |
| h = wrap.height(); | |
| } else { | |
| h = parseFloat(opts.height); | |
| wrap.css({height:h}); | |
| } | |
| $('.camerarelative',target).css({'width':w,'height':h}); | |
| $('.imgLoaded',target).each(function(){ | |
| var t = $(this), | |
| wT = t.attr('width'), | |
| hT = t.attr('height'), | |
| imgLoadIn = t.index(), | |
| mTop, | |
| mLeft, | |
| alignment = t.attr('data-alignment'), | |
| portrait = t.attr('data-portrait'); | |
| if(typeof alignment === 'undefined' || alignment === false || alignment === ''){ | |
| alignment = opts.alignment; | |
| } | |
| if(typeof portrait === 'undefined' || portrait === false || portrait === ''){ | |
| portrait = opts.portrait; | |
| } | |
| if(portrait==false||portrait=='false'){ | |
| if((wT/hT)<(w/h)) { | |
| var r = w / wT; | |
| var d = (Math.abs(h - (hT*r)))*0.5; | |
| switch(alignment){ | |
| case 'topLeft': | |
| mTop = 0; | |
| break; | |
| case 'topCenter': | |
| mTop = 0; | |
| break; | |
| case 'topRight': | |
| mTop = 0; | |
| break; | |
| case 'centerLeft': | |
| mTop = '-'+d+'px'; | |
| break; | |
| case 'center': | |
| mTop = '-'+d+'px'; | |
| break; | |
| case 'centerRight': | |
| mTop = '-'+d+'px'; | |
| break; | |
| case 'bottomLeft': | |
| mTop = '-'+d*2+'px'; | |
| break; | |
| case 'bottomCenter': | |
| mTop = '-'+d*2+'px'; | |
| break; | |
| case 'bottomRight': | |
| mTop = '-'+d*2+'px'; | |
| break; | |
| } | |
| t.css({ | |
| 'height' : hT*r, | |
| 'margin-left' : 0, | |
| 'margin-right' : 0, | |
| 'margin-top' : mTop, | |
| 'position' : 'absolute', | |
| 'visibility' : 'visible', | |
| 'width' : w | |
| }); | |
| } | |
| else { | |
| var r = h / hT; | |
| var d = (Math.abs(w - (wT*r)))*0.5; | |
| switch(alignment){ | |
| case 'topLeft': | |
| mLeft = 0; | |
| break; | |
| case 'topCenter': | |
| mLeft = '-'+d+'px'; | |
| break; | |
| case 'topRight': | |
| mLeft = '-'+d*2+'px'; | |
| break; | |
| case 'centerLeft': | |
| mLeft = 0; | |
| break; | |
| case 'center': | |
| mLeft = '-'+d+'px'; | |
| break; | |
| case 'centerRight': | |
| mLeft = '-'+d*2+'px'; | |
| break; | |
| case 'bottomLeft': | |
| mLeft = 0; | |
| break; | |
| case 'bottomCenter': | |
| mLeft = '-'+d+'px'; | |
| break; | |
| case 'bottomRight': | |
| mLeft = '-'+d*2+'px'; | |
| break; | |
| } | |
| t.css({ | |
| 'height' : h, | |
| 'margin-left' : mLeft, | |
| 'margin-right' : mLeft, | |
| 'margin-top' : 0, | |
| 'position' : 'absolute', | |
| 'visibility' : 'visible', | |
| 'width' : wT*r | |
| }); | |
| } | |
| } else { | |
| if((wT/hT)<(w/h)) { | |
| var r = h / hT; | |
| var d = (Math.abs(w - (wT*r)))*0.5; | |
| switch(alignment){ | |
| case 'topLeft': | |
| mLeft = 0; | |
| break; | |
| case 'topCenter': | |
| mLeft = d+'px'; | |
| break; | |
| case 'topRight': | |
| mLeft = d*2+'px'; | |
| break; | |
| case 'centerLeft': | |
| mLeft = 0; | |
| break; | |
| case 'center': | |
| mLeft = d+'px'; | |
| break; | |
| case 'centerRight': | |
| mLeft = d*2+'px'; | |
| break; | |
| case 'bottomLeft': | |
| mLeft = 0; | |
| break; | |
| case 'bottomCenter': | |
| mLeft = d+'px'; | |
| break; | |
| case 'bottomRight': | |
| mLeft = d*2+'px'; | |
| break; | |
| } | |
| t.css({ | |
| 'height' : h, | |
| 'margin-left' : mLeft, | |
| 'margin-right' : mLeft, | |
| 'margin-top' : 0, | |
| 'position' : 'absolute', | |
| 'visibility' : 'visible', | |
| 'width' : wT*r | |
| }); | |
| } | |
| else { | |
| var r = w / wT; | |
| var d = (Math.abs(h - (hT*r)))*0.5; | |
| switch(alignment){ | |
| case 'topLeft': | |
| mTop = 0; | |
| break; | |
| case 'topCenter': | |
| mTop = 0; | |
| break; | |
| case 'topRight': | |
| mTop = 0; | |
| break; | |
| case 'centerLeft': | |
| mTop = d+'px'; | |
| break; | |
| case 'center': | |
| mTop = d+'px'; | |
| break; | |
| case 'centerRight': | |
| mTop = d+'px'; | |
| break; | |
| case 'bottomLeft': | |
| mTop = d*2+'px'; | |
| break; | |
| case 'bottomCenter': | |
| mTop = d*2+'px'; | |
| break; | |
| case 'bottomRight': | |
| mTop = d*2+'px'; | |
| break; | |
| } | |
| t.css({ | |
| 'height' : hT*r, | |
| 'margin-left' : 0, | |
| 'margin-right' : 0, | |
| 'margin-top' : mTop, | |
| 'position' : 'absolute', | |
| 'visibility' : 'visible', | |
| 'width' : w | |
| }); | |
| } | |
| } | |
| }); | |
| } | |
| if (started == true) { | |
| clearTimeout(res); | |
| res = setTimeout(resizeImageWork,200); | |
| } else { | |
| resizeImageWork(); | |
| } | |
| started = true; | |
| } | |
| var u, | |
| setT; | |
| var clickEv, | |
| autoAdv, | |
| navHover, | |
| commands, | |
| pagination; | |
| var videoHover, | |
| videoPresent; | |
| if(isMobile() && opts.mobileAutoAdvance!=''){ | |
| autoAdv = opts.mobileAutoAdvance; | |
| } else { | |
| autoAdv = opts.autoAdvance; | |
| } | |
| if(autoAdv==false){ | |
| elem.addClass('paused'); | |
| } | |
| if(isMobile() && opts.mobileNavHover!=''){ | |
| navHover = opts.mobileNavHover; | |
| } else { | |
| navHover = opts.navigationHover; | |
| } | |
| if(elem.length!=0){ | |
| var selector = $('.cameraSlide',target); | |
| selector.wrapInner('<div class="camerarelative" />'); | |
| var navSlide; | |
| var barDirection = opts.barDirection; | |
| var camera_thumbs_wrap = wrap; | |
| $('iframe',fakeHover).each(function(){ | |
| var t = $(this); | |
| var src = t.attr('src'); | |
| t.attr('data-src',src); | |
| var divInd = t.parent().index('.camera_src > div'); | |
| $('.camera_target_content .cameraContent:eq('+divInd+')',wrap).append(t); | |
| }); | |
| function imgFake() { | |
| $('iframe',fakeHover).each(function(){ | |
| $('.camera_caption',fakeHover).show(); | |
| var t = $(this); | |
| var cloneSrc = t.attr('data-src'); | |
| t.attr('src',cloneSrc); | |
| var imgFakeUrl = opts.imagePath+'blank.gif'; | |
| var imgFake = new Image(); | |
| imgFake.src = imgFakeUrl; | |
| if(opts.height.indexOf('%')!=-1) { | |
| var startH = Math.round(w / (100/parseFloat(opts.height))); | |
| if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ | |
| h = parseFloat(opts.minHeight); | |
| } else { | |
| h = startH; | |
| } | |
| } else if (opts.height=='auto') { | |
| h = wrap.height(); | |
| } else { | |
| h = parseFloat(opts.height); | |
| } | |
| t.after($(imgFake).attr({'class':'imgFake','width':w,'height':h})); | |
| var clone = t.clone(); | |
| t.remove(); | |
| $(imgFake).bind('click',function(){ | |
| if($(this).css('position')=='absolute') { | |
| $(this).remove(); | |
| if(cloneSrc.indexOf('vimeo') != -1 || cloneSrc.indexOf('youtube') != -1) { | |
| if(cloneSrc.indexOf('?') != -1){ | |
| autoplay = '&autoplay=1'; | |
| } else { | |
| autoplay = '?autoplay=1'; | |
| } | |
| } else if(cloneSrc.indexOf('dailymotion') != -1) { | |
| if(cloneSrc.indexOf('?') != -1){ | |
| autoplay = '&autoPlay=1'; | |
| } else { | |
| autoplay = '?autoPlay=1'; | |
| } | |
| } | |
| clone.attr('src',cloneSrc+autoplay); | |
| videoPresent = true; | |
| } else { | |
| $(this).css({position:'absolute',top:0,left:0,zIndex:10}).after(clone); | |
| clone.css({position:'absolute',top:0,left:0,zIndex:9}); | |
| } | |
| }); | |
| }); | |
| } | |
| imgFake(); | |
| if(opts.hover==true){ | |
| if(!isMobile()){ | |
| fakeHover.hover(function(){ | |
| elem.addClass('hovered'); | |
| },function(){ | |
| elem.removeClass('hovered'); | |
| }); | |
| } | |
| } | |
| if(navHover==true){ | |
| $(prevNav,wrap).animate({opacity:0},0); | |
| $(nextNav,wrap).animate({opacity:0},0); | |
| $(commands,wrap).animate({opacity:0},0); | |
| if(isMobile()){ | |
| fakeHover.live('vmouseover',function(){ | |
| $(prevNav,wrap).animate({opacity:1},200); | |
| $(nextNav,wrap).animate({opacity:1},200); | |
| $(commands,wrap).animate({opacity:1},200); | |
| }); | |
| fakeHover.live('vmouseout',function(){ | |
| $(prevNav,wrap).delay(500).animate({opacity:0},200); | |
| $(nextNav,wrap).delay(500).animate({opacity:0},200); | |
| $(commands,wrap).delay(500).animate({opacity:0},200); | |
| }); | |
| } else { | |
| fakeHover.hover(function(){ | |
| $(prevNav,wrap).animate({opacity:1},200); | |
| $(nextNav,wrap).animate({opacity:1},200); | |
| $(commands,wrap).animate({opacity:1},200); | |
| },function(){ | |
| $(prevNav,wrap).animate({opacity:0},200); | |
| $(nextNav,wrap).animate({opacity:0},200); | |
| $(commands,wrap).animate({opacity:0},200); | |
| }); | |
| } | |
| } | |
| $('.camera_stop',camera_thumbs_wrap).live('click',function(){ | |
| autoAdv = false; | |
| elem.addClass('paused'); | |
| if($('.camera_stop',camera_thumbs_wrap).length){ | |
| $('.camera_stop',camera_thumbs_wrap).hide() | |
| $('.camera_play',camera_thumbs_wrap).show(); | |
| if(loader!='none'){ | |
| $('#'+pieID).hide(); | |
| } | |
| } else { | |
| if(loader!='none'){ | |
| $('#'+pieID).hide(); | |
| } | |
| } | |
| }); | |
| $('.camera_play',camera_thumbs_wrap).live('click',function(){ | |
| autoAdv = true; | |
| elem.removeClass('paused'); | |
| if($('.camera_play',camera_thumbs_wrap).length){ | |
| $('.camera_play',camera_thumbs_wrap).hide(); | |
| $('.camera_stop',camera_thumbs_wrap).show(); | |
| if(loader!='none'){ | |
| $('#'+pieID).show(); | |
| } | |
| } else { | |
| if(loader!='none'){ | |
| $('#'+pieID).show(); | |
| } | |
| } | |
| }); | |
| if(opts.pauseOnClick==true){ | |
| $('.camera_target_content',fakeHover).mouseup(function(){ | |
| autoAdv = false; | |
| elem.addClass('paused'); | |
| $('.camera_stop',camera_thumbs_wrap).hide() | |
| $('.camera_play',camera_thumbs_wrap).show(); | |
| $('#'+pieID).hide(); | |
| }); | |
| } | |
| $('.cameraContent, .imgFake',fakeHover).hover(function(){ | |
| videoHover = true; | |
| },function(){ | |
| videoHover = false; | |
| }); | |
| $('.cameraContent, .imgFake',fakeHover).bind('click',function(){ | |
| if(videoPresent == true && videoHover == true) { | |
| autoAdv = false; | |
| $('.camera_caption',fakeHover).hide(); | |
| elem.addClass('paused'); | |
| $('.camera_stop',camera_thumbs_wrap).hide() | |
| $('.camera_play',camera_thumbs_wrap).show(); | |
| $('#'+pieID).hide(); | |
| } | |
| }); | |
| } | |
| function shuffle(arr) { | |
| for( | |
| var j, x, i = arr.length; i; | |
| j = parseInt(Math.random() * i), | |
| x = arr[--i], arr[i] = arr[j], arr[j] = x | |
| ); | |
| return arr; | |
| } | |
| function isInteger(s) { | |
| return Math.ceil(s) == Math.floor(s); | |
| } | |
| if (loader != 'pie') { | |
| barContainer.append('<span class="camera_bar_cont" />'); | |
| $('.camera_bar_cont',barContainer) | |
| .animate({opacity:opts.loaderOpacity},0) | |
| .css({'position':'absolute', 'left':0, 'right':0, 'top':0, 'bottom':0, 'background-color':opts.loaderBgColor}) | |
| .append('<span id="'+pieID+'" />'); | |
| $('#'+pieID).animate({opacity:0},0); | |
| var canvas = $('#'+pieID); | |
| canvas.css({'position':'absolute', 'background-color':opts.loaderColor}); | |
| switch(opts.barPosition){ | |
| case 'left': | |
| barContainer.css({right:'auto',width:opts.loaderStroke}); | |
| break; | |
| case 'right': | |
| barContainer.css({left:'auto',width:opts.loaderStroke}); | |
| break; | |
| case 'top': | |
| barContainer.css({bottom:'auto',height:opts.loaderStroke}); | |
| break; | |
| case 'bottom': | |
| barContainer.css({top:'auto',height:opts.loaderStroke}); | |
| break; | |
| } | |
| switch(barDirection){ | |
| case 'leftToRight': | |
| canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); | |
| break; | |
| case 'rightToLeft': | |
| canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); | |
| break; | |
| case 'topToBottom': | |
| canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); | |
| break; | |
| case 'bottomToTop': | |
| canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); | |
| break; | |
| } | |
| } else { | |
| pieContainer.append('<canvas id="'+pieID+'"></canvas>'); | |
| var G_vmlCanvasManager; | |
| var canvas = document.getElementById(pieID); | |
| canvas.setAttribute("width", opts.pieDiameter); | |
| canvas.setAttribute("height", opts.pieDiameter); | |
| var piePosition; | |
| switch(opts.piePosition){ | |
| case 'leftTop' : | |
| piePosition = 'left:0; top:0;'; | |
| break; | |
| case 'rightTop' : | |
| piePosition = 'right:0; top:0;'; | |
| break; | |
| case 'leftBottom' : | |
| piePosition = 'left:0; bottom:0;'; | |
| break; | |
| case 'rightBottom' : | |
| piePosition = 'right:0; bottom:0;'; | |
| break; | |
| } | |
| canvas.setAttribute("style", "position:absolute; z-index:1002; "+piePosition); | |
| var rad; | |
| var radNew; | |
| if (canvas && canvas.getContext) { | |
| var ctx = canvas.getContext("2d"); | |
| ctx.rotate(Math.PI*(3/2)); | |
| ctx.translate(-opts.pieDiameter,0); | |
| } | |
| } | |
| if(loader=='none' || autoAdv==false) { | |
| $('#'+pieID).hide(); | |
| $('.camera_canvas_wrap',camera_thumbs_wrap).hide(); | |
| } | |
| if($(pagination).length) { | |
| $(pagination).append('<ul class="camera_pag_ul" />'); | |
| var li; | |
| for (li = 0; li < amountSlide; li++){ | |
| $('.camera_pag_ul',wrap).append('<li class="pag_nav_'+li+'" style="position:relative; z-index:1002"><span><span>'+li+'</span></span></li>'); | |
| } | |
| $('.camera_pag_ul li',wrap).hover(function(){ | |
| $(this).addClass('camera_hover'); | |
| if($('.camera_thumb',this).length){ | |
| var wTh = $('.camera_thumb',this).outerWidth(), | |
| hTh = $('.camera_thumb',this).outerHeight(), | |
| wTt = $(this).outerWidth(); | |
| $('.camera_thumb',this).show().css({'top':'-'+hTh+'px','left':'-'+(wTh-wTt)/2+'px'}).animate({'opacity':1,'margin-top':'-3px'},200); | |
| $('.thumb_arrow',this).show().animate({'opacity':1,'margin-top':'-3px'},200); | |
| } | |
| },function(){ | |
| $(this).removeClass('camera_hover'); | |
| $('.camera_thumb',this).animate({'margin-top':'-20px','opacity':0},200,function(){ | |
| $(this).css({marginTop:'5px'}).hide(); | |
| }); | |
| $('.thumb_arrow',this).animate({'margin-top':'-20px','opacity':0},200,function(){ | |
| $(this).css({marginTop:'5px'}).hide(); | |
| }); | |
| }); | |
| } | |
| if($(thumbs).length) { | |
| var thumbUrl; | |
| if(!$(pagination).length) { | |
| $(thumbs).append('<div />'); | |
| $(thumbs).before('<div class="camera_prevThumbs hideNav"><div></div></div>').before('<div class="camera_nextThumbs hideNav"><div></div></div>'); | |
| $('> div',thumbs).append('<ul />'); | |
| $.each(allThumbs, function(i, val) { | |
| if($('> div', elem).eq(i).attr('data-thumb')!='') { | |
| var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), | |
| newImg = new Image(); | |
| newImg.src = thumbUrl; | |
| $('ul',thumbs).append('<li class="pix_thumb pix_thumb_'+i+'" />'); | |
| $('li.pix_thumb_'+i,thumbs).append($(newImg).attr('class','camera_thumb')); | |
| } | |
| }); | |
| } else { | |
| $.each(allThumbs, function(i, val) { | |
| if($('> div', elem).eq(i).attr('data-thumb')!='') { | |
| var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), | |
| newImg = new Image(); | |
| newImg.src = thumbUrl; | |
| $('li.pag_nav_'+i,pagination).append($(newImg).attr('class','camera_thumb').css({'position':'absolute'}).animate({opacity:0},0)); | |
| $('li.pag_nav_'+i+' > img',pagination).after('<div class="thumb_arrow" />'); | |
| $('li.pag_nav_'+i+' > .thumb_arrow',pagination).animate({opacity:0},0); | |
| } | |
| }); | |
| wrap.css({marginBottom:$(pagination).outerHeight()}); | |
| } | |
| } else if(!$(thumbs).length && $(pagination).length) { | |
| wrap.css({marginBottom:$(pagination).outerHeight()}); | |
| } | |
| var firstPos = true; | |
| function thumbnailPos() { | |
| if($(thumbs).length && !$(pagination).length) { | |
| var wTh = $(thumbs).outerWidth(), | |
| owTh = $('ul > li',thumbs).outerWidth(), | |
| pos = $('li.cameracurrent', thumbs).length ? $('li.cameracurrent', thumbs).position() : '', | |
| ulW = ($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()), | |
| offUl = $('ul', thumbs).offset().left, | |
| offDiv = $('> div', thumbs).offset().left, | |
| ulLeft; | |
| if(offUl<0){ | |
| ulLeft = '-'+ (offDiv-offUl); | |
| } else { | |
| ulLeft = offDiv-offUl; | |
| } | |
| if(firstPos == true) { | |
| $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); | |
| if($(thumbs).length && !$(pagination).lenght) { | |
| wrap.css({marginBottom:$(thumbs).outerHeight()}); | |
| } | |
| thumbnailVisible(); | |
| /*I repeat this two lines because of a problem with iPhones*/ | |
| $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); | |
| if($(thumbs).length && !$(pagination).lenght) { | |
| wrap.css({marginBottom:$(thumbs).outerHeight()}); | |
| } | |
| /*...*/ | |
| } | |
| firstPos = false; | |
| var left = $('li.cameracurrent', thumbs).length ? pos.left : '', | |
| right = $('li.cameracurrent', thumbs).length ? pos.left+($('li.cameracurrent', thumbs).outerWidth()) : ''; | |
| if(left<$('li.cameracurrent', thumbs).outerWidth()) { | |
| left = 0; | |
| } | |
| if(right-ulLeft>wTh){ | |
| if((left+wTh)<ulW){ | |
| $('ul', thumbs).animate({'margin-left':'-'+(left)+'px'},500,thumbnailVisible); | |
| } else { | |
| $('ul', thumbs).animate({'margin-left':'-'+($('ul', thumbs).outerWidth()-wTh)+'px'},500,thumbnailVisible); | |
| } | |
| } else if(left-ulLeft<0) { | |
| $('ul', thumbs).animate({'margin-left':'-'+(left)+'px'},500,thumbnailVisible); | |
| } else { | |
| $('ul', thumbs).css({'margin-left':'auto', 'margin-right':'auto'}); | |
| setTimeout(thumbnailVisible,100); | |
| } | |
| } | |
| } | |
| if($(commands).length) { | |
| $(commands).append('<div class="camera_play"></div>').append('<div class="camera_stop"></div>'); | |
| if(autoAdv==true){ | |
| $('.camera_play',camera_thumbs_wrap).hide(); | |
| $('.camera_stop',camera_thumbs_wrap).show(); | |
| } else { | |
| $('.camera_stop',camera_thumbs_wrap).hide(); | |
| $('.camera_play',camera_thumbs_wrap).show(); | |
| } | |
| } | |
| function canvasLoader() { | |
| rad = 0; | |
| var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), | |
| barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(); | |
| if (loader != 'pie') { | |
| switch(barDirection){ | |
| case 'leftToRight': | |
| $('#'+pieID).css({'right':barWidth}); | |
| break; | |
| case 'rightToLeft': | |
| $('#'+pieID).css({'left':barWidth}); | |
| break; | |
| case 'topToBottom': | |
| $('#'+pieID).css({'bottom':barHeight}); | |
| break; | |
| case 'bottomToTop': | |
| $('#'+pieID).css({'top':barHeight}); | |
| break; | |
| } | |
| } else { | |
| ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); | |
| } | |
| } | |
| canvasLoader(); | |
| $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ | |
| $(this).css('visibility','hidden'); | |
| }); | |
| opts.onStartLoading.call(this); | |
| nextSlide(); | |
| /*************************** FUNCTION nextSlide() ***************************/ | |
| function nextSlide(navSlide){ | |
| elem.addClass('camerasliding'); | |
| videoPresent = false; | |
| var vis = parseFloat($('div.cameraSlide.cameracurrent',target).index()); | |
| if(navSlide>0){ | |
| var slideI = navSlide-1; | |
| } else if (vis == amountSlide-1) { | |
| var slideI = 0; | |
| } else { | |
| var slideI = vis+1; | |
| } | |
| var slide = $('.cameraSlide:eq('+slideI+')',target); | |
| var slideNext = $('.cameraSlide:eq('+(slideI+1)+')',target).addClass('cameranext'); | |
| if( vis != slideI+1 ) { | |
| slideNext.hide(); | |
| } | |
| $('.cameraContent',fakeHover).fadeOut(600); | |
| $('.camera_caption',fakeHover).show(); | |
| $('.camerarelative',slide).append($('> div ',elem).eq(slideI).find('> div.camera_effected')); | |
| $('.camera_target_content .cameraContent:eq('+slideI+')',wrap).append($('> div ',elem).eq(slideI).find('> div')); | |
| if(!$('.imgLoaded',slide).length){ | |
| var imgUrl = allImg[slideI]; | |
| var imgLoaded = new Image(); | |
| imgLoaded.src = imgUrl +"?"+ new Date().getTime(); | |
| slide.css('visibility','hidden'); | |
| slide.prepend($(imgLoaded).attr('class','imgLoaded').css('visibility','hidden')); | |
| var wT, hT; | |
| if (!$(imgLoaded).get(0).complete || wT == '0' || hT == '0' || typeof wT === 'undefined' || wT === false || typeof hT === 'undefined' || hT === false) { | |
| $('.camera_loader',wrap).delay(500).fadeIn(400); | |
| imgLoaded.onload = function() { | |
| wT = imgLoaded.naturalWidth; | |
| hT = imgLoaded.naturalHeight; | |
| $(imgLoaded).attr('data-alignment',allAlign[slideI]).attr('data-portrait',allPor[slideI]); | |
| $(imgLoaded).attr('width',wT); | |
| $(imgLoaded).attr('height',hT); | |
| target.find('.cameraSlide_'+slideI).hide().css('visibility','visible'); | |
| resizeImage(); | |
| nextSlide(slideI+1); | |
| }; | |
| } | |
| } else { | |
| if( allImg.length > (slideI+1) && !$('.imgLoaded',slideNext).length ){ | |
| var imgUrl2 = allImg[(slideI+1)]; | |
| var imgLoaded2 = new Image(); | |
| imgLoaded2.src = imgUrl2 +"?"+ new Date().getTime(); | |
| slideNext.prepend($(imgLoaded2).attr('class','imgLoaded').css('visibility','hidden')); | |
| imgLoaded2.onload = function() { | |
| wT = imgLoaded2.naturalWidth; | |
| hT = imgLoaded2.naturalHeight; | |
| $(imgLoaded2).attr('data-alignment',allAlign[slideI+1]).attr('data-portrait',allPor[slideI+1]); | |
| $(imgLoaded2).attr('width',wT); | |
| $(imgLoaded2).attr('height',hT); | |
| resizeImage(); | |
| }; | |
| } | |
| opts.onLoaded.call(this); | |
| if($('.camera_loader',wrap).is(':visible')){ | |
| $('.camera_loader',wrap).fadeOut(400); | |
| } else { | |
| $('.camera_loader',wrap).css({'visibility':'hidden'}); | |
| $('.camera_loader',wrap).fadeOut(400,function(){ | |
| $('.camera_loader',wrap).css({'visibility':'visible'}); | |
| }); | |
| } | |
| var rows = opts.rows, | |
| cols = opts.cols, | |
| couples = 1, | |
| difference = 0, | |
| dataSlideOn, | |
| time, | |
| transPeriod, | |
| fx, | |
| easing, | |
| randomFx = new Array('simpleFade','curtainTopLeft','curtainTopRight','curtainBottomLeft','curtainBottomRight','curtainSliceLeft','curtainSliceRight','blindCurtainTopLeft','blindCurtainTopRight','blindCurtainBottomLeft','blindCurtainBottomRight','blindCurtainSliceBottom','blindCurtainSliceTop','stampede','mosaic','mosaicReverse','mosaicRandom','mosaicSpiral','mosaicSpiralReverse','topLeftBottomRight','bottomRightTopLeft','bottomLeftTopRight','topRightBottomLeft','scrollLeft','scrollRight','scrollTop','scrollBottom','scrollHorz'); | |
| marginLeft = 0, | |
| marginTop = 0, | |
| opacityOnGrid = 0; | |
| if(opts.opacityOnGrid==true){ | |
| opacityOnGrid = 0; | |
| } else { | |
| opacityOnGrid = 1; | |
| } | |
| var dataFx = $(' > div',elem).eq(slideI).attr('data-fx'); | |
| if(isMobile()&&opts.mobileFx!=''&&opts.mobileFx!='default'){ | |
| fx = opts.mobileFx; | |
| } else { | |
| if(typeof dataFx !== 'undefined' && dataFx!== false && dataFx!== 'default'){ | |
| fx = dataFx; | |
| } else { | |
| fx = opts.fx; | |
| } | |
| } | |
| if(fx=='random') { | |
| fx = shuffle(randomFx); | |
| fx = fx[0]; | |
| } else { | |
| fx = fx; | |
| if(fx.indexOf(',')>0){ | |
| fx = fx.replace(/ /g,''); | |
| fx = fx.split(','); | |
| fx = shuffle(fx); | |
| fx = fx[0]; | |
| } | |
| } | |
| dataEasing = $(' > div',elem).eq(slideI).attr('data-easing'); | |
| mobileEasing = $(' > div',elem).eq(slideI).attr('data-mobileEasing'); | |
| if(isMobile()&&opts.mobileEasing!=''&&opts.mobileEasing!='default'){ | |
| if(typeof mobileEasing !== 'undefined' && mobileEasing!== false && mobileEasing!== 'default') { | |
| easing = mobileEasing; | |
| } else { | |
| easing = opts.mobileEasing; | |
| } | |
| } else { | |
| if(typeof dataEasing !== 'undefined' && dataEasing!== false && dataEasing!== 'default') { | |
| easing = dataEasing; | |
| } else { | |
| easing = opts.easing; | |
| } | |
| } | |
| dataSlideOn = $(' > div',elem).eq(slideI).attr('data-slideOn'); | |
| if(typeof dataSlideOn !== 'undefined' && dataSlideOn!== false){ | |
| slideOn = dataSlideOn; | |
| } else { | |
| if(opts.slideOn=='random'){ | |
| var slideOn = new Array('next','prev'); | |
| slideOn = shuffle(slideOn); | |
| slideOn = slideOn[0]; | |
| } else { | |
| slideOn = opts.slideOn; | |
| } | |
| } | |
| var dataTime = $(' > div',elem).eq(slideI).attr('data-time'); | |
| if(typeof dataTime !== 'undefined' && dataTime!== false && dataTime!== ''){ | |
| time = parseFloat(dataTime); | |
| } else { | |
| time = opts.time; | |
| } | |
| var dataTransPeriod = $(' > div',elem).eq(slideI).attr('data-transPeriod'); | |
| if(typeof dataTransPeriod !== 'undefined' && dataTransPeriod!== false && dataTransPeriod!== ''){ | |
| transPeriod = parseFloat(dataTransPeriod); | |
| } else { | |
| transPeriod = opts.transPeriod; | |
| } | |
| if(!$(elem).hasClass('camerastarted')){ | |
| fx = 'simpleFade'; | |
| slideOn = 'next'; | |
| easing = ''; | |
| transPeriod = 400; | |
| $(elem).addClass('camerastarted') | |
| } | |
| switch(fx){ | |
| case 'simpleFade': | |
| cols = 1; | |
| rows = 1; | |
| break; | |
| case 'curtainTopLeft': | |
| if(opts.slicedCols == 0) { | |
| cols = opts.cols; | |
| } else { | |
| cols = opts.slicedCols; | |
| } | |
| rows = 1; | |
| break; | |
| case 'curtainTopRight': | |
| if(opts.slicedCols == 0) { | |
| cols = opts.cols; | |
| } else { | |
| cols = opts.slicedCols; | |
| } | |
| rows = 1; | |
| break; | |
| case 'curtainBottomLeft': | |
| if(opts.slicedCols == 0) { | |
| cols = opts.cols; | |
| } else { | |
| cols = opts.slicedCols; | |
| } | |
| rows = 1; | |
| break; | |
| case 'curtainBottomRight': | |
| if(opts.slicedCols == 0) { | |
| cols = opts.cols; | |
| } else { | |
| cols = opts.slicedCols; | |
| } | |
| rows = 1; | |
| break; | |
| case 'curtainSliceLeft': | |
| if(opts.slicedCols == 0) { | |
| cols = opts.cols; | |
| } else { | |
| cols = opts.slicedCols; | |
| } | |
| rows = 1; | |
| break; | |
| case 'curtainSliceRight': | |
| if(opts.slicedCols == 0) { | |
| cols = opts.cols; | |
| } else { | |
| cols = opts.slicedCols; | |
| } | |
| rows = 1; | |
| break; | |
| case 'blindCurtainTopLeft': | |
| if(opts.slicedRows == 0) { | |
| rows = opts.rows; | |
| } else { | |
| rows = opts.slicedRows; | |
| } | |
| cols = 1; | |
| break; | |
| case 'blindCurtainTopRight': | |
| if(opts.slicedRows == 0) { | |
| rows = opts.rows; | |
| } else { | |
| rows = opts.slicedRows; | |
| } | |
| cols = 1; | |
| break; | |
| case 'blindCurtainBottomLeft': | |
| if(opts.slicedRows == 0) { | |
| rows = opts.rows; | |
| } else { | |
| rows = opts.slicedRows; | |
| } | |
| cols = 1; | |
| break; | |
| case 'blindCurtainBottomRight': | |
| if(opts.slicedRows == 0) { | |
| rows = opts.rows; | |
| } else { | |
| rows = opts.slicedRows; | |
| } | |
| cols = 1; | |
| break; | |
| case 'blindCurtainSliceTop': | |
| if(opts.slicedRows == 0) { | |
| rows = opts.rows; | |
| } else { | |
| rows = opts.slicedRows; | |
| } | |
| cols = 1; | |
| break; | |
| case 'blindCurtainSliceBottom': | |
| if(opts.slicedRows == 0) { | |
| rows = opts.rows; | |
| } else { | |
| rows = opts.slicedRows; | |
| } | |
| cols = 1; | |
| break; | |
| case 'stampede': | |
| difference = '-'+transPeriod; | |
| break; | |
| case 'mosaic': | |
| difference = opts.gridDifference; | |
| break; | |
| case 'mosaicReverse': | |
| difference = opts.gridDifference; | |
| break; | |
| case 'mosaicRandom': | |
| break; | |
| case 'mosaicSpiral': | |
| difference = opts.gridDifference; | |
| couples = 1.7; | |
| break; | |
| case 'mosaicSpiralReverse': | |
| difference = opts.gridDifference; | |
| couples = 1.7; | |
| break; | |
| case 'topLeftBottomRight': | |
| difference = opts.gridDifference; | |
| couples = 6; | |
| break; | |
| case 'bottomRightTopLeft': | |
| difference = opts.gridDifference; | |
| couples = 6; | |
| break; | |
| case 'bottomLeftTopRight': | |
| difference = opts.gridDifference; | |
| couples = 6; | |
| break; | |
| case 'topRightBottomLeft': | |
| difference = opts.gridDifference; | |
| couples = 6; | |
| break; | |
| case 'scrollLeft': | |
| cols = 1; | |
| rows = 1; | |
| break; | |
| case 'scrollRight': | |
| cols = 1; | |
| rows = 1; | |
| break; | |
| case 'scrollTop': | |
| cols = 1; | |
| rows = 1; | |
| break; | |
| case 'scrollBottom': | |
| cols = 1; | |
| rows = 1; | |
| break; | |
| case 'scrollHorz': | |
| cols = 1; | |
| rows = 1; | |
| break; | |
| } | |
| var cycle = 0; | |
| var blocks = rows*cols; | |
| var leftScrap = w-(Math.floor(w/cols)*cols); | |
| var topScrap = h-(Math.floor(h/rows)*rows); | |
| var addLeft; | |
| var addTop; | |
| var tAppW = 0; | |
| var tAppH = 0; | |
| var arr = new Array(); | |
| var delay = new Array(); | |
| var order = new Array(); | |
| while(cycle < blocks){ | |
| arr.push(cycle); | |
| delay.push(cycle); | |
| cameraCont.append('<div class="cameraappended" style="display:none; overflow:hidden; position:absolute; z-index:1000" />'); | |
| var tApp = $('.cameraappended:eq('+cycle+')',target); | |
| if(fx=='scrollLeft' || fx=='scrollRight' || fx=='scrollTop' || fx=='scrollBottom' || fx=='scrollHorz'){ | |
| selector.eq(slideI).clone().show().appendTo(tApp); | |
| } else { | |
| if(slideOn=='next'){ | |
| selector.eq(slideI).clone().show().appendTo(tApp); | |
| } else { | |
| selector.eq(vis).clone().show().appendTo(tApp); | |
| } | |
| } | |
| if(cycle%cols<leftScrap){ | |
| addLeft = 1; | |
| } else { | |
| addLeft = 0; | |
| } | |
| if(cycle%cols==0){ | |
| tAppW = 0; | |
| } | |
| if(Math.floor(cycle/cols)<topScrap){ | |
| addTop = 1; | |
| } else { | |
| addTop = 0; | |
| } | |
| tApp.css({ | |
| 'height': Math.floor((h/rows)+addTop+1), | |
| 'left': tAppW, | |
| 'top': tAppH, | |
| 'width': Math.floor((w/cols)+addLeft+1) | |
| }); | |
| $('> .cameraSlide', tApp).css({ | |
| 'height': h, | |
| 'margin-left': '-'+tAppW+'px', | |
| 'margin-top': '-'+tAppH+'px', | |
| 'width': w | |
| }); | |
| tAppW = tAppW+tApp.width()-1; | |
| if(cycle%cols==cols-1){ | |
| tAppH = tAppH + tApp.height() - 1; | |
| } | |
| cycle++; | |
| } | |
| switch(fx){ | |
| case 'curtainTopLeft': | |
| break; | |
| case 'curtainBottomLeft': | |
| break; | |
| case 'curtainSliceLeft': | |
| break; | |
| case 'curtainTopRight': | |
| arr = arr.reverse(); | |
| break; | |
| case 'curtainBottomRight': | |
| arr = arr.reverse(); | |
| break; | |
| case 'curtainSliceRight': | |
| arr = arr.reverse(); | |
| break; | |
| case 'blindCurtainTopLeft': | |
| break; | |
| case 'blindCurtainBottomLeft': | |
| arr = arr.reverse(); | |
| break; | |
| case 'blindCurtainSliceTop': | |
| break; | |
| case 'blindCurtainTopRight': | |
| break; | |
| case 'blindCurtainBottomRight': | |
| arr = arr.reverse(); | |
| break; | |
| case 'blindCurtainSliceBottom': | |
| arr = arr.reverse(); | |
| break; | |
| case 'stampede': | |
| arr = shuffle(arr); | |
| break; | |
| case 'mosaic': | |
| break; | |
| case 'mosaicReverse': | |
| arr = arr.reverse(); | |
| break; | |
| case 'mosaicRandom': | |
| arr = shuffle(arr); | |
| break; | |
| case 'mosaicSpiral': | |
| var rows2 = rows/2, x, y, z, n=0; | |
| for (z = 0; z < rows2; z++){ | |
| y = z; | |
| for (x = z; x < cols - z - 1; x++) { | |
| order[n++] = y * cols + x; | |
| } | |
| x = cols - z - 1; | |
| for (y = z; y < rows - z - 1; y++) { | |
| order[n++] = y * cols + x; | |
| } | |
| y = rows - z - 1; | |
| for (x = cols - z - 1; x > z; x--) { | |
| order[n++] = y * cols + x; | |
| } | |
| x = z; | |
| for (y = rows - z - 1; y > z; y--) { | |
| order[n++] = y * cols + x; | |
| } | |
| } | |
| arr = order; | |
| break; | |
| case 'mosaicSpiralReverse': | |
| var rows2 = rows/2, x, y, z, n=blocks-1; | |
| for (z = 0; z < rows2; z++){ | |
| y = z; | |
| for (x = z; x < cols - z - 1; x++) { | |
| order[n--] = y * cols + x; | |
| } | |
| x = cols - z - 1; | |
| for (y = z; y < rows - z - 1; y++) { | |
| order[n--] = y * cols + x; | |
| } | |
| y = rows - z - 1; | |
| for (x = cols - z - 1; x > z; x--) { | |
| order[n--] = y * cols + x; | |
| } | |
| x = z; | |
| for (y = rows - z - 1; y > z; y--) { | |
| order[n--] = y * cols + x; | |
| } | |
| } | |
| arr = order; | |
| break; | |
| case 'topLeftBottomRight': | |
| for (var y = 0; y < rows; y++) | |
| for (var x = 0; x < cols; x++) { | |
| order.push(x + y); | |
| } | |
| delay = order; | |
| break; | |
| case 'bottomRightTopLeft': | |
| for (var y = 0; y < rows; y++) | |
| for (var x = 0; x < cols; x++) { | |
| order.push(x + y); | |
| } | |
| delay = order.reverse(); | |
| break; | |
| case 'bottomLeftTopRight': | |
| for (var y = rows; y > 0; y--) | |
| for (var x = 0; x < cols; x++) { | |
| order.push(x + y); | |
| } | |
| delay = order; | |
| break; | |
| case 'topRightBottomLeft': | |
| for (var y = 0; y < rows; y++) | |
| for (var x = cols; x > 0; x--) { | |
| order.push(x + y); | |
| } | |
| delay = order; | |
| break; | |
| } | |
| $.each(arr, function(index, value) { | |
| if(value%cols<leftScrap){ | |
| addLeft = 1; | |
| } else { | |
| addLeft = 0; | |
| } | |
| if(value%cols==0){ | |
| tAppW = 0; | |
| } | |
| if(Math.floor(value/cols)<topScrap){ | |
| addTop = 1; | |
| } else { | |
| addTop = 0; | |
| } | |
| switch(fx){ | |
| case 'simpleFade': | |
| height = h; | |
| width = w; | |
| opacityOnGrid = 0; | |
| break; | |
| case 'curtainTopLeft': | |
| height = 0, | |
| width = Math.floor((w/cols)+addLeft+1), | |
| marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'curtainTopRight': | |
| height = 0, | |
| width = Math.floor((w/cols)+addLeft+1), | |
| marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'curtainBottomLeft': | |
| height = 0, | |
| width = Math.floor((w/cols)+addLeft+1), | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'curtainBottomRight': | |
| height = 0, | |
| width = Math.floor((w/cols)+addLeft+1), | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'curtainSliceLeft': | |
| height = 0, | |
| width = Math.floor((w/cols)+addLeft+1); | |
| if(value%2==0){ | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| } else { | |
| marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; | |
| } | |
| break; | |
| case 'curtainSliceRight': | |
| height = 0, | |
| width = Math.floor((w/cols)+addLeft+1); | |
| if(value%2==0){ | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| } else { | |
| marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; | |
| } | |
| break; | |
| case 'blindCurtainTopLeft': | |
| height = Math.floor((h/rows)+addTop+1), | |
| width = 0, | |
| marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; | |
| break; | |
| case 'blindCurtainTopRight': | |
| height = Math.floor((h/rows)+addTop+1), | |
| width = 0, | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| break; | |
| case 'blindCurtainBottomLeft': | |
| height = Math.floor((h/rows)+addTop+1), | |
| width = 0, | |
| marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; | |
| break; | |
| case 'blindCurtainBottomRight': | |
| height = Math.floor((h/rows)+addTop+1), | |
| width = 0, | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| break; | |
| case 'blindCurtainSliceBottom': | |
| height = Math.floor((h/rows)+addTop+1), | |
| width = 0; | |
| if(value%2==0){ | |
| marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; | |
| } else { | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| } | |
| break; | |
| case 'blindCurtainSliceTop': | |
| height = Math.floor((h/rows)+addTop+1), | |
| width = 0; | |
| if(value%2==0){ | |
| marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; | |
| } else { | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| } | |
| break; | |
| case 'stampede': | |
| height = 0; | |
| width = 0; | |
| marginLeft = (w*0.2)*(((index)%cols)-(cols-(Math.floor(cols/2))))+'px'; | |
| marginTop = (h*0.2)*((Math.floor(index/cols)+1)-(rows-(Math.floor(rows/2))))+'px'; | |
| break; | |
| case 'mosaic': | |
| height = 0; | |
| width = 0; | |
| break; | |
| case 'mosaicReverse': | |
| height = 0; | |
| width = 0; | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'mosaicRandom': | |
| height = 0; | |
| width = 0; | |
| marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px'; | |
| marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px'; | |
| break; | |
| case 'mosaicSpiral': | |
| height = 0; | |
| width = 0; | |
| marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px'; | |
| marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px'; | |
| break; | |
| case 'mosaicSpiralReverse': | |
| height = 0; | |
| width = 0; | |
| marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px'; | |
| marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px'; | |
| break; | |
| case 'topLeftBottomRight': | |
| height = 0; | |
| width = 0; | |
| break; | |
| case 'bottomRightTopLeft': | |
| height = 0; | |
| width = 0; | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'bottomLeftTopRight': | |
| height = 0; | |
| width = 0; | |
| marginLeft = 0; | |
| marginTop = Math.floor((h/rows)+addTop+1)+'px'; | |
| break; | |
| case 'topRightBottomLeft': | |
| height = 0; | |
| width = 0; | |
| marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; | |
| marginTop = 0; | |
| break; | |
| case 'scrollRight': | |
| height = h; | |
| width = w; | |
| marginLeft = -w; | |
| break; | |
| case 'scrollLeft': | |
| height = h; | |
| width = w; | |
| marginLeft = w; | |
| break; | |
| case 'scrollTop': | |
| height = h; | |
| width = w; | |
| marginTop = h; | |
| break; | |
| case 'scrollBottom': | |
| height = h; | |
| width = w; | |
| marginTop = -h; | |
| break; | |
| case 'scrollHorz': | |
| height = h; | |
| width = w; | |
| if(vis==0 && slideI==amountSlide-1) { | |
| marginLeft = -w; | |
| } else if(vis<slideI || (vis==amountSlide-1 && slideI==0)) { | |
| marginLeft = w; | |
| } else { | |
| marginLeft = -w; | |
| } | |
| break; | |
| } | |
| var tApp = $('.cameraappended:eq('+value+')',target); | |
| if(typeof u !== 'undefined'){ | |
| clearInterval(u); | |
| clearTimeout(setT); | |
| setT = setTimeout(canvasLoader,transPeriod+difference); | |
| } | |
| if($(pagination).length){ | |
| $('.camera_pag li',wrap).removeClass('cameracurrent'); | |
| $('.camera_pag li',wrap).eq(slideI).addClass('cameracurrent'); | |
| } | |
| if($(thumbs).length){ | |
| $('li', thumbs).removeClass('cameracurrent'); | |
| $('li', thumbs).eq(slideI).addClass('cameracurrent'); | |
| $('li', thumbs).not('.cameracurrent').find('img').animate({opacity:.5},0); | |
| $('li.cameracurrent img', thumbs).animate({opacity:1},0); | |
| $('li', thumbs).hover(function(){ | |
| $('img',this).stop(true,false).animate({opacity:1},150); | |
| },function(){ | |
| if(!$(this).hasClass('cameracurrent')){ | |
| $('img',this).stop(true,false).animate({opacity:.5},150); | |
| } | |
| }); | |
| } | |
| var easedTime = parseFloat(transPeriod)+parseFloat(difference); | |
| function cameraeased() { | |
| $(this).addClass('cameraeased'); | |
| if($('.cameraeased',target).length>=0){ | |
| $(thumbs).css({visibility:'visible'}); | |
| } | |
| if($('.cameraeased',target).length==blocks){ | |
| thumbnailPos(); | |
| $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ | |
| $(this).css('visibility','hidden'); | |
| }); | |
| selector.eq(slideI).show().css('z-index','999').removeClass('cameranext').addClass('cameracurrent'); | |
| selector.eq(vis).css('z-index','1').removeClass('cameracurrent'); | |
| $('.cameraContent',fakeHover).eq(slideI).addClass('cameracurrent'); | |
| if (vis >= 0) { | |
| $('.cameraContent',fakeHover).eq(vis).removeClass('cameracurrent'); | |
| } | |
| opts.onEndTransition.call(this); | |
| if($('> div', elem).eq(slideI).attr('data-video')!='hide' && $('.cameraContent.cameracurrent .imgFake',fakeHover).length ){ | |
| $('.cameraContent.cameracurrent .imgFake',fakeHover).click(); | |
| } | |
| var lMoveIn = selector.eq(slideI).find('.fadeIn').length; | |
| var lMoveInContent = $('.cameraContent',fakeHover).eq(slideI).find('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom').length; | |
| if (lMoveIn!=0){ | |
| $('.cameraSlide.cameracurrent .fadeIn',fakeHover).each(function(){ | |
| if($(this).attr('data-easing')!=''){ | |
| var easeMove = $(this).attr('data-easing'); | |
| } else { | |
| var easeMove = easing; | |
| } | |
| var t = $(this); | |
| if(typeof t.attr('data-outerWidth') === 'undefined' || t.attr('data-outerWidth') === false || t.attr('data-outerWidth') === '') { | |
| var wMoveIn = t.outerWidth(); | |
| t.attr('data-outerWidth',wMoveIn); | |
| } else { | |
| var wMoveIn = t.attr('data-outerWidth'); | |
| } | |
| if(typeof t.attr('data-outerHeight') === 'undefined' || t.attr('data-outerHeight') === false || t.attr('data-outerHeight') === '') { | |
| var hMoveIn = t.outerHeight(); | |
| t.attr('data-outerHeight',hMoveIn); | |
| } else { | |
| var hMoveIn = t.attr('data-outerHeight'); | |
| } | |
| //t.css('width',wMoveIn); | |
| var pos = t.position(); | |
| var left = pos.left; | |
| var top = pos.top; | |
| var tClass = t.attr('class'); | |
| var ind = t.index(); | |
| var hRel = t.parents('.camerarelative').outerHeight(); | |
| var wRel = t.parents('.camerarelative').outerWidth(); | |
| if(tClass.indexOf("fadeIn") != -1) { | |
| t.animate({opacity:0},0).css('visibility','visible').delay((time/lMoveIn)*(0.1*(ind-1))).animate({opacity:1},(time/lMoveIn)*0.15,easeMove); | |
| } else { | |
| t.css('visibility','visible'); | |
| } | |
| }); | |
| } | |
| $('.cameraContent.cameracurrent',fakeHover).show(); | |
| if (lMoveInContent!=0){ | |
| $('.cameraContent.cameracurrent .moveFromLeft, .cameraContent.cameracurrent .moveFromRight, .cameraContent.cameracurrent .moveFromTop, .cameraContent.cameracurrent .moveFromBottom, .cameraContent.cameracurrent .fadeIn, .cameraContent.cameracurrent .fadeFromLeft, .cameraContent.cameracurrent .fadeFromRight, .cameraContent.cameracurrent .fadeFromTop, .cameraContent.cameracurrent .fadeFromBottom',fakeHover).each(function(){ | |
| if($(this).attr('data-easing')!=''){ | |
| var easeMove = $(this).attr('data-easing'); | |
| } else { | |
| var easeMove = easing; | |
| } | |
| var t = $(this); | |
| var pos = t.position(); | |
| var left = pos.left; | |
| var top = pos.top; | |
| var tClass = t.attr('class'); | |
| var ind = t.index(); | |
| var thisH = t.outerHeight(); | |
| if(tClass.indexOf("moveFromLeft") != -1) { | |
| t.css({'left':'-'+(w)+'px','right':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left},(time/lMoveInContent)*0.15,easeMove); | |
| } else if(tClass.indexOf("moveFromRight") != -1) { | |
| t.css({'left':w+'px','right':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left},(time/lMoveInContent)*0.15,easeMove); | |
| } else if(tClass.indexOf("moveFromTop") != -1) { | |
| t.css({'top':'-'+h+'px','bottom':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top},(time/lMoveInContent)*0.15,easeMove,function(){ | |
| t.css({top:'auto',bottom:0}); | |
| }); | |
| } else if(tClass.indexOf("moveFromBottom") != -1) { | |
| t.css({'top':h+'px','bottom':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top},(time/lMoveInContent)*0.15,easeMove); | |
| } else if(tClass.indexOf("fadeFromLeft") != -1) { | |
| t.animate({opacity:0},0).css({'left':'-'+(w)+'px','right':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left,opacity:1},(time/lMoveInContent)*0.15,easeMove); | |
| } else if(tClass.indexOf("fadeFromRight") != -1) { | |
| t.animate({opacity:0},0).css({'left':(w)+'px','right':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left,opacity:1},(time/lMoveInContent)*0.15,easeMove); | |
| } else if(tClass.indexOf("fadeFromTop") != -1) { | |
| t.animate({opacity:0},0).css({'top':'-'+(h)+'px','bottom':'auto'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top,opacity:1},(time/lMoveInContent)*0.15,easeMove,function(){ | |
| t.css({top:'auto',bottom:0}); | |
| }); | |
| } else if(tClass.indexOf("fadeFromBottom") != -1) { | |
| t.animate({opacity:0},0).css({'bottom':'-'+thisH+'px'}); | |
| t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'bottom':'0',opacity:1},(time/lMoveInContent)*0.15,easeMove); | |
| } else if(tClass.indexOf("fadeIn") != -1) { | |
| t.animate({opacity:0},0).css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({opacity:1},(time/lMoveInContent)*0.15,easeMove); | |
| } else { | |
| t.css('visibility','visible'); | |
| } | |
| }); | |
| } | |
| $('.cameraappended',target).remove(); | |
| elem.removeClass('camerasliding'); | |
| selector.eq(vis).hide(); | |
| var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), | |
| barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(), | |
| radSum; | |
| if (loader != 'pie') { | |
| radSum = 0.05; | |
| } else { | |
| radSum = 0.005; | |
| } | |
| $('#'+pieID).animate({opacity:opts.loaderOpacity},200); | |
| u = setInterval( | |
| function(){ | |
| if(elem.hasClass('stopped')){ | |
| clearInterval(u); | |
| } | |
| if (loader != 'pie') { | |
| if(rad<=1.002 && !elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')){ | |
| rad = (rad+radSum); | |
| } else if (rad<=1 && (elem.hasClass('stopped') || elem.hasClass('paused') || elem.hasClass('stopped') || elem.hasClass('hovered'))){ | |
| rad = rad; | |
| } else { | |
| if(!elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')) { | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID).animate({opacity:0},200,function(){ | |
| clearTimeout(setT); | |
| setT = setTimeout(canvasLoader,easedTime); | |
| nextSlide(); | |
| opts.onStartLoading.call(this); | |
| }); | |
| } | |
| } | |
| switch(barDirection){ | |
| case 'leftToRight': | |
| $('#'+pieID).animate({'right':barWidth-(barWidth*rad)},(time*radSum),'linear'); | |
| break; | |
| case 'rightToLeft': | |
| $('#'+pieID).animate({'left':barWidth-(barWidth*rad)},(time*radSum),'linear'); | |
| break; | |
| case 'topToBottom': | |
| $('#'+pieID).animate({'bottom':barHeight-(barHeight*rad)},(time*radSum),'linear'); | |
| break; | |
| case 'bottomToTop': | |
| $('#'+pieID).animate({'bottom':barHeight-(barHeight*rad)},(time*radSum),'linear'); | |
| break; | |
| } | |
| } else { | |
| radNew = rad; | |
| ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); | |
| ctx.globalCompositeOperation = 'destination-over'; | |
| ctx.beginPath(); | |
| ctx.arc((opts.pieDiameter)/2, (opts.pieDiameter)/2, (opts.pieDiameter)/2-opts.loaderStroke,0,Math.PI*2,false); | |
| ctx.lineWidth = opts.loaderStroke; | |
| ctx.strokeStyle = opts.loaderBgColor; | |
| ctx.stroke(); | |
| ctx.closePath(); | |
| ctx.globalCompositeOperation = 'source-over'; | |
| ctx.beginPath(); | |
| ctx.arc((opts.pieDiameter)/2, (opts.pieDiameter)/2, (opts.pieDiameter)/2-opts.loaderStroke,0,Math.PI*2*radNew,false); | |
| ctx.lineWidth = opts.loaderStroke-(opts.loaderPadding*2); | |
| ctx.strokeStyle = opts.loaderColor; | |
| ctx.stroke(); | |
| ctx.closePath(); | |
| if(rad<=1.002 && !elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')){ | |
| rad = (rad+radSum); | |
| } else if (rad<=1 && (elem.hasClass('stopped') || elem.hasClass('paused') || elem.hasClass('hovered'))){ | |
| rad = rad; | |
| } else { | |
| if(!elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')) { | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},200,function(){ | |
| clearTimeout(setT); | |
| setT = setTimeout(canvasLoader,easedTime); | |
| nextSlide(); | |
| opts.onStartLoading.call(this); | |
| }); | |
| } | |
| } | |
| } | |
| },time*radSum | |
| ); | |
| } | |
| } | |
| if(fx=='scrollLeft' || fx=='scrollRight' || fx=='scrollTop' || fx=='scrollBottom' || fx=='scrollHorz'){ | |
| opts.onStartTransition.call(this); | |
| easedTime = 0; | |
| tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ | |
| 'display' : 'block', | |
| 'height': height, | |
| 'margin-left': marginLeft, | |
| 'margin-top': marginTop, | |
| 'width': width | |
| }).animate({ | |
| 'height': Math.floor((h/rows)+addTop+1), | |
| 'margin-top' : 0, | |
| 'margin-left' : 0, | |
| 'width' : Math.floor((w/cols)+addLeft+1) | |
| },(transPeriod-difference),easing,cameraeased); | |
| selector.eq(vis).delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).animate({ | |
| 'margin-left': marginLeft*(-1), | |
| 'margin-top': marginTop*(-1) | |
| },(transPeriod-difference),easing,function(){ | |
| $(this).css({'margin-top' : 0,'margin-left' : 0}); | |
| }); | |
| } else { | |
| opts.onStartTransition.call(this); | |
| easedTime = parseFloat(transPeriod)+parseFloat(difference); | |
| if(slideOn=='next'){ | |
| tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ | |
| 'display' : 'block', | |
| 'height': height, | |
| 'margin-left': marginLeft, | |
| 'margin-top': marginTop, | |
| 'width': width, | |
| 'opacity' : opacityOnGrid | |
| }).animate({ | |
| 'height': Math.floor((h/rows)+addTop+1), | |
| 'margin-top' : 0, | |
| 'margin-left' : 0, | |
| 'opacity' : 1, | |
| 'width' : Math.floor((w/cols)+addLeft+1) | |
| },(transPeriod-difference),easing,cameraeased); | |
| } else { | |
| selector.eq(slideI).show().css('z-index','999').addClass('cameracurrent'); | |
| selector.eq(vis).css('z-index','1').removeClass('cameracurrent'); | |
| $('.cameraContent',fakeHover).eq(slideI).addClass('cameracurrent'); | |
| $('.cameraContent',fakeHover).eq(vis).removeClass('cameracurrent'); | |
| tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ | |
| 'display' : 'block', | |
| 'height': Math.floor((h/rows)+addTop+1), | |
| 'margin-top' : 0, | |
| 'margin-left' : 0, | |
| 'opacity' : 1, | |
| 'width' : Math.floor((w/cols)+addLeft+1) | |
| }).animate({ | |
| 'height': height, | |
| 'margin-left': marginLeft, | |
| 'margin-top': marginTop, | |
| 'width': width, | |
| 'opacity' : opacityOnGrid | |
| },(transPeriod-difference),easing,cameraeased); | |
| } | |
| } | |
| }); | |
| } | |
| } | |
| if($(prevNav).length){ | |
| $(prevNav).click(function(){ | |
| if(!elem.hasClass('camerasliding')){ | |
| var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',wrap).animate({opacity:0},0); | |
| canvasLoader(); | |
| if(idNum!=0){ | |
| nextSlide(idNum); | |
| } else { | |
| nextSlide(amountSlide); | |
| } | |
| opts.onStartLoading.call(this); | |
| } | |
| }); | |
| } | |
| if($(nextNav).length){ | |
| $(nextNav).click(function(){ | |
| if(!elem.hasClass('camerasliding')){ | |
| var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); | |
| canvasLoader(); | |
| if(idNum==amountSlide-1){ | |
| nextSlide(1); | |
| } else { | |
| nextSlide(idNum+2); | |
| } | |
| opts.onStartLoading.call(this); | |
| } | |
| }); | |
| } | |
| if(isMobile()){ | |
| fakeHover.bind('swipeleft',function(event){ | |
| if(!elem.hasClass('camerasliding')){ | |
| var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); | |
| canvasLoader(); | |
| if(idNum==amountSlide-1){ | |
| nextSlide(1); | |
| } else { | |
| nextSlide(idNum+2); | |
| } | |
| opts.onStartLoading.call(this); | |
| } | |
| }); | |
| fakeHover.bind('swiperight',function(event){ | |
| if(!elem.hasClass('camerasliding')){ | |
| var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); | |
| canvasLoader(); | |
| if(idNum!=0){ | |
| nextSlide(idNum); | |
| } else { | |
| nextSlide(amountSlide); | |
| } | |
| opts.onStartLoading.call(this); | |
| } | |
| }); | |
| } | |
| if($(pagination).length){ | |
| $('.camera_pag li',wrap).click(function(){ | |
| if(!elem.hasClass('camerasliding')){ | |
| var idNum = parseFloat($(this).index()); | |
| var curNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); | |
| if(idNum!=curNum) { | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); | |
| canvasLoader(); | |
| nextSlide(idNum+1); | |
| opts.onStartLoading.call(this); | |
| } | |
| } | |
| }); | |
| } | |
| if($(thumbs).length) { | |
| $('.pix_thumb img',thumbs).click(function(){ | |
| if(!elem.hasClass('camerasliding')){ | |
| var idNum = parseFloat($(this).parents('li').index()); | |
| var curNum = parseFloat($('.cameracurrent',target).index()); | |
| if(idNum!=curNum) { | |
| clearInterval(u); | |
| imgFake(); | |
| $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); | |
| $('.pix_thumb',thumbs).removeClass('cameracurrent'); | |
| $(this).parents('li').addClass('cameracurrent'); | |
| canvasLoader(); | |
| nextSlide(idNum+1); | |
| thumbnailPos(); | |
| opts.onStartLoading.call(this); | |
| } | |
| } | |
| }); | |
| $('.camera_thumbs_cont .camera_prevThumbs',camera_thumbs_wrap).hover(function(){ | |
| $(this).stop(true,false).animate({opacity:1},250); | |
| },function(){ | |
| $(this).stop(true,false).animate({opacity:.7},250); | |
| }); | |
| $('.camera_prevThumbs',camera_thumbs_wrap).click(function(){ | |
| var sum = 0, | |
| wTh = $(thumbs).outerWidth(), | |
| offUl = $('ul', thumbs).offset().left, | |
| offDiv = $('> div', thumbs).offset().left, | |
| ulLeft = offDiv-offUl; | |
| $('.camera_visThumb',thumbs).each(function(){ | |
| var tW = $(this).outerWidth(); | |
| sum = sum+tW; | |
| }); | |
| if(ulLeft-sum>0){ | |
| $('ul', thumbs).animate({'margin-left':'-'+(ulLeft-sum)+'px'},500,thumbnailVisible); | |
| } else { | |
| $('ul', thumbs).animate({'margin-left':0},500,thumbnailVisible); | |
| } | |
| }); | |
| $('.camera_thumbs_cont .camera_nextThumbs',camera_thumbs_wrap).hover(function(){ | |
| $(this).stop(true,false).animate({opacity:1},250); | |
| },function(){ | |
| $(this).stop(true,false).animate({opacity:.7},250); | |
| }); | |
| $('.camera_nextThumbs',camera_thumbs_wrap).click(function(){ | |
| var sum = 0, | |
| wTh = $(thumbs).outerWidth(), | |
| ulW = $('ul', thumbs).outerWidth(), | |
| offUl = $('ul', thumbs).offset().left, | |
| offDiv = $('> div', thumbs).offset().left, | |
| ulLeft = offDiv-offUl; | |
| $('.camera_visThumb',thumbs).each(function(){ | |
| var tW = $(this).outerWidth(); | |
| sum = sum+tW; | |
| }); | |
| if(ulLeft+sum+sum<ulW){ | |
| $('ul', thumbs).animate({'margin-left':'-'+(ulLeft+sum)+'px'},500,thumbnailVisible); | |
| } else { | |
| $('ul', thumbs).animate({'margin-left':'-'+(ulW-wTh)+'px'},500,thumbnailVisible); | |
| } | |
| }); | |
| } | |
| } | |
| })(jQuery); | |
| ;(function($){$.fn.cameraStop = function() { | |
| var wrap = $(this), | |
| elem = $('.camera_src',wrap), | |
| pieID = 'pie_'+wrap.index(); | |
| elem.addClass('stopped'); | |
| if($('.camera_showcommands').length) { | |
| var camera_thumbs_wrap = $('.camera_thumbs_wrap',wrap); | |
| } else { | |
| var camera_thumbs_wrap = wrap; | |
| } | |
| } | |
| })(jQuery); | |
| ;(function($){$.fn.cameraPause = function() { | |
| var wrap = $(this); | |
| var elem = $('.camera_src',wrap); | |
| elem.addClass('paused'); | |
| } | |
| })(jQuery); | |
| ;(function($){$.fn.cameraResume = function() { | |
| var wrap = $(this); | |
| var elem = $('.camera_src',wrap); | |
| if(typeof autoAdv === 'undefined' || autoAdv!==true){ | |
| elem.removeClass('paused'); | |
| } | |
| } | |
| })(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment