Added: ofbiz/branches/ofbiz-new-website/js-plugin/camera/camera.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/ofbiz-new-website/js-plugin/camera/camera.js?rev=1787742&view=auto ============================================================================== --- ofbiz/branches/ofbiz-new-website/js-plugin/camera/camera.js (added) +++ ofbiz/branches/ofbiz-new-website/js-plugin/camera/camera.js Mon Mar 20 12:28:40 2017 @@ -0,0 +1,2549 @@ +// Camera slideshow v1.3.3 - 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-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-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-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-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 [... 478 lines stripped ...] |
Free forum by Nabble | Edit this page |