forked from Codeinwp/Nivo-Slider-jQuery
-
Notifications
You must be signed in to change notification settings - Fork 1
/
jquery.nivoslider.min.js.map
1 lines (1 loc) · 47.2 KB
/
jquery.nivoslider.min.js.map
1
{"version":3,"sources":["jquery.nivo.slider.js"],"sourcesContent":["/*\r\n * jQuery Nivo Slider v3.3.2\r\n * https://github.com/thecarnie/Nivo-Slider-Jquery\r\n *\r\n * Copyright 2012, Dev7studios\r\n * Free to use and abuse under the MIT license.\r\n * http://www.opensource.org/licenses/mit-license.php\r\n */\r\n\r\n/* \r\n * Now maintained at Github.com:\r\n * https://github.com/thecarnie/Nivo-Slider-jQuery\r\n *\r\n * see changelog for update accredidations\r\n */\r\n\r\n\r\n\r\n(function($) {\r\n var NivoSlider = function(element, options){\r\n // Defaults are below\r\n var settings = $.extend({}, $.fn.nivoSlider.defaults, options);\r\n\r\n // Useful variables. Play carefully.\r\n var vars = {\r\n currentSlide: 0,\r\n currentImage: '',\r\n totalSlides: 0,\r\n running: false,\r\n paused: false,\r\n stop: false,\r\n controlNavEl: false\r\n };\r\n\r\n // Get this slider\r\n var slider = $(element);\r\n slider.data('nivo:vars', vars).addClass('nivoSlider');\r\n \r\n // Add listeners\r\n \r\n slider.on('slideto.nivoslider', function(e, index) {\r\n if(vars.running) return false;\r\n if($(this).hasClass('active')) return false;\r\n clearInterval(timer);\r\n timer = '';\r\n sliderImg.attr('src', vars.currentImage.attr('src'));\r\n vars.currentSlide = index - 1;\r\n nivoRun(slider, kids, settings, 'control');\r\n });\r\n \r\n slider.on('slideprev.nivoslider', function(e) {\r\n if(vars.running) { return false; }\r\n clearInterval(timer);\r\n timer = '';\r\n vars.currentSlide -= 2;\r\n // fire new callback for previous navigation\r\n settings.onPrevSlide.call(this, vars.currentSlide, vars, options);\r\n \r\n nivoRun(slider, kids, settings, 'prev');\r\n });\r\n \r\n slider.on('slidenext.nivoslider', function(e) {\r\n if(vars.running) { return false; }\r\n clearInterval(timer);\r\n timer = '';\r\n // fire new callback for next navigation\r\n settings.onNextSlide.call(this, vars.currentSlide, vars, options);\r\n \r\n nivoRun(slider, kids, settings, 'next');\r\n });\r\n \r\n // Find our slider children\r\n var kids = slider.children();\r\n kids.each(function() {\r\n var child = $(this);\r\n var link = '';\r\n if(!child.is('img')){\r\n if(child.is('a')){\r\n child.addClass('nivo-imageLink');\r\n link = child;\r\n }\r\n child = child.find('img:first');\r\n }\r\n // Get img width & height\r\n var childWidth = (childWidth === 0) ? child.attr('width') : child.width(),\r\n childHeight = (childHeight === 0) ? child.attr('height') : child.height();\r\n\r\n if(link !== ''){\r\n link.css('display','none');\r\n }\r\n child.css('display','none');\r\n vars.totalSlides++;\r\n });\r\n \r\n // If randomStart\r\n if(settings.randomStart){\r\n settings.startSlide = Math.floor(Math.random() * vars.totalSlides);\r\n }\r\n \r\n // Set startSlide\r\n if(settings.startSlide > 0){\r\n if(settings.startSlide >= vars.totalSlides) { settings.startSlide = vars.totalSlides - 1; }\r\n vars.currentSlide = settings.startSlide;\r\n }\r\n \r\n // Get initial image\r\n if($(kids[vars.currentSlide]).is('img')){\r\n vars.currentImage = $(kids[vars.currentSlide]);\r\n } else {\r\n vars.currentImage = $(kids[vars.currentSlide]).find('img:first');\r\n }\r\n \r\n // Show initial link\r\n if($(kids[vars.currentSlide]).is('a')){\r\n $(kids[vars.currentSlide]).css('display','block');\r\n }\r\n \r\n // Set first background\r\n var sliderImg = $('<img/>').addClass('nivo-main-image');\r\n sliderImg.attr({\r\n src: vars.currentImage.attr('src'),\r\n alt: vars.currentImage.attr('alt')\r\n }).show();\r\n slider.append(sliderImg);\r\n\r\n\r\n // Detect Window Resize\r\n $(window).resize(function() {\r\n slider.children('img').width(slider.width());\r\n sliderImg.attr({\r\n src: vars.currentImage.attr('src'),\r\n alt: vars.currentImage.attr('alt')\r\n });\r\n sliderImg.stop().height('auto');\r\n $('.nivo-slice').remove();\r\n $('.nivo-box').remove();\r\n });\r\n\r\n //Create caption\r\n slider.append($('<div class=\"nivo-caption\"></div>'));\r\n \r\n // Process caption function\r\n var processCaption = function(settings){\r\n var nivoCaption = $('.nivo-caption', slider);\r\n if(vars.currentImage.attr('title') != '' && vars.currentImage.attr('title') != undefined){\r\n var title = vars.currentImage.attr('title');\r\n if(title.substr(0,1) == '#') title = $(title).html(); \r\n\r\n if(nivoCaption.css('display') == 'block'){\r\n setTimeout(function(){\r\n nivoCaption.html(title);\r\n }, settings.animSpeed);\r\n } else {\r\n nivoCaption.html(title);\r\n nivoCaption.stop().fadeIn(settings.animSpeed);\r\n }\r\n } else {\r\n nivoCaption.stop().fadeOut(settings.animSpeed);\r\n }\r\n };\r\n \r\n //Process initial caption\r\n processCaption(settings);\r\n \r\n //Process afterInit Callback (passes currentSlide Index just before slideshow autoplay starts)\r\n settings.afterInit.call(this, vars.currentSlide, vars, options);\r\n\r\n // In the words of Super Mario \"let's a go!\"\r\n var timer = 0;\r\n if(!settings.manualAdvance && kids.length > 1){\r\n timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);\r\n }\r\n\r\n \r\n // Add Direction nav\r\n if(settings.directionNav){\r\n slider.append('<div class=\"nivo-directionNav\"><a class=\"nivo-prevNav\">'+ settings.prevText +'</a><a class=\"nivo-nextNav\">'+ settings.nextText +'</a></div>');\r\n \r\n $(slider).on('click', 'a.nivo-prevNav', function(){\r\n slider.trigger('slideprev.nivoslider');\r\n });\r\n \r\n $(slider).on('click', 'a.nivo-nextNav', function(){\r\n slider.trigger('slidenext.nivoslider');\r\n });\r\n }\r\n \r\n // Add Control nav\r\n if(settings.controlNav){\r\n vars.controlNavEl = $('<div class=\"nivo-controlNav\"></div>');\r\n slider.after(vars.controlNavEl);\r\n for(var i = 0; i < kids.length; i++){\r\n if(settings.controlNavThumbs){\r\n vars.controlNavEl.addClass('nivo-thumbs-enabled');\r\n var child = kids.eq(i);\r\n if(!child.is('img')){\r\n child = child.find('img:first');\r\n }\r\n if(child.attr('data-thumb')) vars.controlNavEl.append('<a class=\"nivo-control\" rel=\"'+ i +'\"><img src=\"'+ child.attr('data-thumb') +'\" alt=\"\" /></a>');\r\n } else {\r\n vars.controlNavEl.append('<a class=\"nivo-control\" rel=\"'+ i +'\">'+ (i + 1) +'</a>');\r\n }\r\n }\r\n\r\n //Set initial active link\r\n $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');\r\n \r\n $('a', vars.controlNavEl).bind('click', function(){\r\n slider.trigger('slideto.nivoslider', [ $(this).attr('rel') ]);\r\n });\r\n }\r\n \r\n //For pauseOnHover setting\r\n if(settings.pauseOnHover){\r\n slider.hover(function(){\r\n vars.paused = true;\r\n clearInterval(timer);\r\n timer = '';\r\n }, function(){\r\n vars.paused = false;\r\n // Restart the timer\r\n if(timer === '' && !settings.manualAdvance){\r\n timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);\r\n }\r\n });\r\n }\r\n \r\n // Event when Animation finishes\r\n slider.bind('nivo:animFinished', function(){\r\n sliderImg.attr({\r\n src: vars.currentImage.attr('src'),\r\n alt: vars.currentImage.attr('alt')\r\n });\r\n vars.running = false; \r\n // Hide child links\r\n $(kids).each(function(){\r\n if($(this).is('a')){\r\n $(this).css('display','none');\r\n }\r\n });\r\n // Show current link\r\n if($(kids[vars.currentSlide]).is('a')){\r\n $(kids[vars.currentSlide]).css('display','block');\r\n }\r\n // Restart the timer\r\n if(timer === '' && !vars.paused && !settings.manualAdvance){\r\n timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);\r\n }\r\n // Trigger the afterChange callback\r\n settings.afterChange.call(this, vars.currentSlide, vars, options);\r\n\r\n }); \r\n \r\n // Add slices for slice animations\r\n var createSlices = function(slider, settings, vars) {\r\n if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');\r\n $('img[src=\"'+ vars.currentImage.attr('src') +'\"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();\r\n var sliceHeight = ($('img[src=\"'+ vars.currentImage.attr('src') +'\"]', slider).not('.nivo-main-image,.nivo-control img').parent().is('a')) ? $('img[src=\"'+ vars.currentImage.attr('src') +'\"]', slider).not('.nivo-main-image,.nivo-control img').parent().height() : $('img[src=\"'+ vars.currentImage.attr('src') +'\"]', slider).not('.nivo-main-image,.nivo-control img').height();\r\n\r\n for(var i = 0; i < settings.slices; i++){\r\n var sliceWidth = Math.round(slider.width()/settings.slices);\r\n \r\n if(i === settings.slices-1){\r\n slider.append(\r\n $('<div class=\"nivo-slice\" name=\"'+i+'\"><img src=\"'+ vars.currentImage.attr('src') +'\" style=\"position:absolute; width:'+ slider.width() +'px; height:auto; display:block !important; top:0; left:-'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px;\" /></div>').css({ \r\n left:(sliceWidth*i)+'px', \r\n width:(slider.width()-(sliceWidth*i))+'px',\r\n height:sliceHeight+'px', \r\n opacity:'0',\r\n overflow:'hidden'\r\n })\r\n );\r\n } else {\r\n slider.append(\r\n $('<div class=\"nivo-slice\" name=\"'+i+'\"><img src=\"'+ vars.currentImage.attr('src') +'\" style=\"position:absolute; width:'+ slider.width() +'px; height:auto; display:block !important; top:0; left:-'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px;\" /></div>').css({ \r\n left:(sliceWidth*i)+'px', \r\n width:sliceWidth+'px',\r\n height:sliceHeight+'px',\r\n opacity:'0',\r\n overflow:'hidden'\r\n })\r\n );\r\n }\r\n }\r\n \r\n $('.nivo-slice', slider).height(sliceHeight);\r\n sliderImg.stop().animate({ height: $(vars.currentImage).height() }, settings.animSpeed);\r\n };\r\n \r\n // Add boxes for box animations\r\n var createBoxes = function(slider, settings, vars){\r\n if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');\r\n $('img[src=\"'+ vars.currentImage.attr('src') +'\"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();\r\n var boxWidth = Math.round(slider.width()/settings.boxCols),\r\n boxHeight = Math.round($('img[src=\"'+ vars.currentImage.attr('src') +'\"]', slider).not('.nivo-main-image,.nivo-control img').height() / settings.boxRows);\r\n \r\n \r\n for(var rows = 0; rows < settings.boxRows; rows++){\r\n for(var cols = 0; cols < settings.boxCols; cols++){\r\n if(cols === settings.boxCols-1){\r\n slider.append(\r\n $('<div class=\"nivo-box\" name=\"'+ cols +'\" rel=\"'+ rows +'\"><img src=\"'+ vars.currentImage.attr('src') +'\" style=\"position:absolute; width:'+ slider.width() +'px; height:auto; display:block; top:-'+ (boxHeight*rows) +'px; left:-'+ (boxWidth*cols) +'px;\" /></div>').css({ \r\n opacity:0,\r\n left:(boxWidth*cols)+'px', \r\n top:(boxHeight*rows)+'px',\r\n width:(slider.width()-(boxWidth*cols))+'px'\r\n \r\n })\r\n );\r\n $('.nivo-box[name=\"'+ cols +'\"]', slider).height($('.nivo-box[name=\"'+ cols +'\"] img', slider).height()+'px');\r\n } else {\r\n slider.append(\r\n $('<div class=\"nivo-box\" name=\"'+ cols +'\" rel=\"'+ rows +'\"><img src=\"'+ vars.currentImage.attr('src') +'\" style=\"position:absolute; width:'+ slider.width() +'px; height:auto; display:block; top:-'+ (boxHeight*rows) +'px; left:-'+ (boxWidth*cols) +'px;\" /></div>').css({ \r\n opacity:0,\r\n left:(boxWidth*cols)+'px', \r\n top:(boxHeight*rows)+'px',\r\n width:boxWidth+'px'\r\n })\r\n );\r\n $('.nivo-box[name=\"'+ cols +'\"]', slider).height($('.nivo-box[name=\"'+ cols +'\"] img', slider).height()+'px');\r\n }\r\n }\r\n }\r\n \r\n sliderImg.stop().animate({ height: $(vars.currentImage).height() }, settings.animSpeed);\r\n };\r\n\r\n // Private run method\r\n var nivoRun = function(slider, kids, settings, nudge){ \r\n // Get our vars\r\n var vars = slider.data('nivo:vars');\r\n \r\n // Trigger the lastSlide callback \r\n if(vars && (vars.currentSlide == vars.totalSlides - 1 && !vars.stop)){ \r\n settings.lastSlide.call(this, vars.currentSlide, vars, options);\r\n }\r\n\r\n // Stop\r\n if((!vars || vars.stop) && !nudge) { return false; }\r\n \r\n // Trigger the beforeChange callback\r\n settings.beforeChange.call(this, vars.currentSlide, vars, options);\r\n\r\n // Set current background before change\r\n if(!nudge){\r\n settings.onNextSlide.call(this);\r\n sliderImg.attr({\r\n src: vars.currentImage.attr('src'),\r\n alt: vars.currentImage.attr('alt')\r\n });\r\n } else {\r\n if(nudge === 'prev'){\r\n sliderImg.attr({\r\n src: vars.currentImage.attr('src'),\r\n alt: vars.currentImage.attr('alt')\r\n });\r\n }\r\n if(nudge === 'next'){\r\n sliderImg.attr({\r\n src: vars.currentImage.attr('src'),\r\n alt: vars.currentImage.attr('alt')\r\n });\r\n }\r\n }\r\n \r\n vars.currentSlide++;\r\n // Trigger the slideshowEnd callback\r\n if(vars.currentSlide === vars.totalSlides){ \r\n vars.currentSlide = 0;\r\n settings.slideshowEnd.call(this, vars.currentSlide, vars, options);\r\n\r\n }\r\n if(vars.currentSlide < 0) { vars.currentSlide = (vars.totalSlides - 1); }\r\n // Set vars.currentImage\r\n if($(kids[vars.currentSlide]).is('img')){\r\n vars.currentImage = $(kids[vars.currentSlide]);\r\n } else {\r\n vars.currentImage = $(kids[vars.currentSlide]).find('img:first');\r\n }\r\n \r\n // Set active links\r\n if(settings.controlNav){\r\n $('a', vars.controlNavEl).removeClass('active');\r\n $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');\r\n }\r\n \r\n // Process caption\r\n processCaption(settings); \r\n \r\n // Remove any slices from last transition\r\n $('.nivo-slice', slider).remove();\r\n \r\n // Remove any boxes from last transition\r\n $('.nivo-box', slider).remove();\r\n \r\n var currentEffect = settings.effect,\r\n anims = '';\r\n \r\n // Generate random effect\r\n if(settings.effect === 'random'){\r\n anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade',\r\n 'boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse');\r\n currentEffect = anims[Math.floor(Math.random()*(anims.length + 1))];\r\n if(currentEffect === undefined) { currentEffect = 'fade'; }\r\n }\r\n \r\n // Run random effect from specified set (eg: effect:'fold,fade')\r\n if(settings.effect.indexOf(',') !== -1){\r\n anims = settings.effect.split(',');\r\n currentEffect = anims[Math.floor(Math.random()*(anims.length))];\r\n if(currentEffect === undefined) { currentEffect = 'fade'; }\r\n }\r\n \r\n // Custom transition as defined by \"data-transition\" attribute\r\n if(vars.currentImage.attr('data-transition')){\r\n currentEffect = vars.currentImage.attr('data-transition');\r\n }\r\n \r\n // Run effects\r\n vars.running = true;\r\n var timeBuff = 0,\r\n i = 0,\r\n slices = '',\r\n firstSlice = '',\r\n totalBoxes = '',\r\n boxes = '';\r\n \r\n if(currentEffect === 'sliceDown' || currentEffect === 'sliceDownRight' || currentEffect === 'sliceDownLeft'){\r\n createSlices(slider, settings, vars);\r\n timeBuff = 0;\r\n i = 0;\r\n slices = $('.nivo-slice', slider);\r\n if(currentEffect === 'sliceDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }\r\n \r\n slices.each(function(){\r\n var slice = $(this);\r\n slice.css({ 'top': '0px' });\r\n if(i === settings.slices-1){\r\n setTimeout(function(){\r\n slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });\r\n }, (100 + timeBuff));\r\n } else {\r\n setTimeout(function(){\r\n slice.animate({opacity:'1.0' }, settings.animSpeed);\r\n }, (100 + timeBuff));\r\n }\r\n timeBuff += 50;\r\n i++;\r\n });\r\n } else if(currentEffect === 'sliceUp' || currentEffect === 'sliceUpRight' || currentEffect === 'sliceUpLeft'){\r\n createSlices(slider, settings, vars);\r\n timeBuff = 0;\r\n i = 0;\r\n slices = $('.nivo-slice', slider);\r\n if(currentEffect === 'sliceUpLeft') { slices = $('.nivo-slice', slider)._reverse(); }\r\n \r\n slices.each(function(){\r\n var slice = $(this);\r\n slice.css({ 'bottom': '0px' });\r\n if(i === settings.slices-1){\r\n setTimeout(function(){\r\n slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });\r\n }, (100 + timeBuff));\r\n } else {\r\n setTimeout(function(){\r\n slice.animate({opacity:'1.0' }, settings.animSpeed);\r\n }, (100 + timeBuff));\r\n }\r\n timeBuff += 50;\r\n i++;\r\n });\r\n } else if(currentEffect === 'sliceUpDown' || currentEffect === 'sliceUpDownRight' || currentEffect === 'sliceUpDownLeft'){\r\n createSlices(slider, settings, vars);\r\n timeBuff = 0;\r\n i = 0;\r\n var v = 0;\r\n slices = $('.nivo-slice', slider);\r\n if(currentEffect === 'sliceUpDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }\r\n \r\n slices.each(function(){\r\n var slice = $(this);\r\n if(i === 0){\r\n slice.css('top','0px');\r\n i++;\r\n } else {\r\n slice.css('bottom','0px');\r\n i = 0;\r\n }\r\n \r\n if(v === settings.slices-1){\r\n setTimeout(function(){\r\n slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });\r\n }, (100 + timeBuff));\r\n } else {\r\n setTimeout(function(){\r\n slice.animate({opacity:'1.0' }, settings.animSpeed);\r\n }, (100 + timeBuff));\r\n }\r\n timeBuff += 50;\r\n v++;\r\n });\r\n } else if(currentEffect === 'fold'){\r\n createSlices(slider, settings, vars);\r\n timeBuff = 0;\r\n i = 0;\r\n \r\n $('.nivo-slice', slider).each(function(){\r\n var slice = $(this);\r\n var origWidth = slice.width();\r\n slice.css({ top:'0px', width:'0px' });\r\n if(i === settings.slices-1){\r\n setTimeout(function(){\r\n slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });\r\n }, (100 + timeBuff));\r\n } else {\r\n setTimeout(function(){\r\n slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed);\r\n }, (100 + timeBuff));\r\n }\r\n timeBuff += 50;\r\n i++;\r\n });\r\n } else if(currentEffect === 'fade'){\r\n createSlices(slider, settings, vars);\r\n \r\n firstSlice = $('.nivo-slice:first', slider);\r\n firstSlice.css({\r\n 'width': slider.width() + 'px'\r\n });\r\n \r\n firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });\r\n } else if(currentEffect === 'slideInRight'){\r\n createSlices(slider, settings, vars);\r\n \r\n firstSlice = $('.nivo-slice:first', slider);\r\n firstSlice.css({\r\n 'width': '0px',\r\n 'opacity': '1'\r\n });\r\n\r\n firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });\r\n } else if(currentEffect === 'slideInLeft'){\r\n createSlices(slider, settings, vars);\r\n \r\n firstSlice = $('.nivo-slice:first', slider);\r\n firstSlice.css({\r\n 'width': '0px',\r\n 'opacity': '1',\r\n 'left': '',\r\n 'right': '0px'\r\n });\r\n\r\n firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ \r\n // Reset positioning\r\n firstSlice.css({\r\n 'left': '0px',\r\n 'right': ''\r\n });\r\n slider.trigger('nivo:animFinished'); \r\n });\r\n } else if(currentEffect === 'boxRandom'){\r\n createBoxes(slider, settings, vars);\r\n \r\n totalBoxes = settings.boxCols * settings.boxRows;\r\n i = 0;\r\n timeBuff = 0;\r\n\r\n boxes = shuffle($('.nivo-box', slider));\r\n boxes.each(function(){\r\n var box = $(this);\r\n if(i === totalBoxes-1){\r\n setTimeout(function(){\r\n box.animate({ opacity:'1' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });\r\n }, (100 + timeBuff));\r\n } else {\r\n setTimeout(function(){\r\n box.animate({ opacity:'1' }, settings.animSpeed);\r\n }, (100 + timeBuff));\r\n }\r\n timeBuff += 20;\r\n i++;\r\n });\r\n } else if(currentEffect === 'boxRain' || currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){\r\n createBoxes(slider, settings, vars);\r\n \r\n totalBoxes = settings.boxCols * settings.boxRows;\r\n i = 0;\r\n timeBuff = 0;\r\n \r\n // Split boxes into 2D array\r\n var rowIndex = 0;\r\n var colIndex = 0;\r\n var box2Darr = [];\r\n box2Darr[rowIndex] = [];\r\n boxes = $('.nivo-box', slider);\r\n if(currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrowReverse'){\r\n boxes = $('.nivo-box', slider)._reverse();\r\n }\r\n boxes.each(function(){\r\n box2Darr[rowIndex][colIndex] = $(this);\r\n colIndex++;\r\n if(colIndex === settings.boxCols){\r\n rowIndex++;\r\n colIndex = 0;\r\n box2Darr[rowIndex] = [];\r\n }\r\n });\r\n \r\n // Run animation\r\n for(var cols = 0; cols < (settings.boxCols * 2); cols++){\r\n var prevCol = cols;\r\n for(var rows = 0; rows < settings.boxRows; rows++){\r\n if(prevCol >= 0 && prevCol < settings.boxCols){\r\n /* Due to some weird JS bug with loop vars \r\n being used in setTimeout, this is wrapped\r\n with an anonymous function call */\r\n (function(row, col, time, i, totalBoxes) {\r\n var box = $(box2Darr[row][col]);\r\n var w = box.width();\r\n var h = box.height();\r\n if(currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){\r\n box.width(0).height(0);\r\n }\r\n if(i === totalBoxes-1){\r\n setTimeout(function(){\r\n box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3, '', function(){ slider.trigger('nivo:animFinished'); });\r\n }, (100 + time));\r\n } else {\r\n setTimeout(function(){\r\n box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3);\r\n }, (100 + time));\r\n }\r\n })(rows, prevCol, timeBuff, i, totalBoxes);\r\n i++;\r\n }\r\n prevCol--;\r\n }\r\n timeBuff += 100;\r\n }\r\n } \r\n };\r\n \r\n // Shuffle an array\r\n var shuffle = function(arr){\r\n for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i, 10), x = arr[--i], arr[i] = arr[j], arr[j] = x);\r\n return arr;\r\n };\r\n \r\n // For debugging\r\n var trace = function(msg){\r\n if(this.console && typeof console.log !== 'undefined') { console.log(msg); }\r\n };\r\n \r\n // Start / Stop\r\n this.stop = function(){\r\n if(!$(element).data('nivo:vars').stop){\r\n $(element).data('nivo:vars').stop = true;\r\n trace('Stop Slider');\r\n }\r\n };\r\n \r\n this.start = function(){\r\n if($(element).data('nivo:vars').stop){\r\n $(element).data('nivo:vars').stop = false;\r\n trace('Start Slider');\r\n }\r\n };\r\n \r\n this.slideTo = function(index){\r\n $(element).trigger('slideto.nivoslider', [ index ]);\r\n };\r\n \r\n this.slidePrev = function() {\r\n $(element).trigger('slideprev.nivoslider');\r\n };\r\n \r\n this.slideNext = function() {\r\n $(element).trigger('slidenext.nivoslider');\r\n };\r\n \r\n // Trigger the afterLoad callback\r\n settings.afterLoad.call(this, vars, options);\r\n \r\n return this;\r\n };\r\n \r\n $.fn.nivoSlider = function(options) {\r\n return this.each(function(key, value){\r\n var element = $(this);\r\n // Return early if this element already has a plugin instance\r\n if (element.data('nivoslider')) { return element.data('nivoslider'); }\r\n // Pass options to plugin constructor\r\n var nivoslider = new NivoSlider(this, options);\r\n // Store plugin object in this element's data\r\n element.data('nivoslider', nivoslider);\r\n });\r\n };\r\n \r\n //Default settings\r\n $.fn.nivoSlider.defaults = {\r\n effect: 'random',\r\n slices: 15,\r\n boxCols: 8,\r\n boxRows: 4,\r\n animSpeed: 500,\r\n pauseTime: 3000,\r\n startSlide: 0,\r\n directionNav: true,\r\n controlNav: true,\r\n controlNavThumbs: false,\r\n pauseOnHover: true,\r\n manualAdvance: false,\r\n prevText: 'Prev',\r\n nextText: 'Next',\r\n randomStart: false,\r\n beforeChange: function(){}, // function(slideIndex, runtimeVars, options)\r\n afterChange: function(){}, // function(slideIndex, runtimeVars, options)\r\n slideshowEnd: function(){}, // function(slideIndex, runtimeVars, options)\r\n lastSlide: function(){}, // function(slideIndex, runtimeVars, options)\r\n afterInit: function(){}, // function(slideIndex, runtimeVars, options)\r\n afterLoad: function(){}, // function(runtimeVars, options)\r\n onPrevSlide: function(){}, // function(slideIndex, runtimeVars, options)\r\n onNextSlide: function(){} // function(slideIndex, runtimeVars, options)\r\n\r\n };\r\n\r\n $.fn._reverse = [].reverse;\r\n \r\n})(jQuery);"],"names":["$","NivoSlider","element","options","settings","extend","fn","nivoSlider","defaults","vars","currentSlide","currentImage","totalSlides","running","paused","stop","controlNavEl","slider","data","addClass","on","e","index","this","hasClass","clearInterval","timer","sliderImg","attr","nivoRun","kids","onPrevSlide","call","onNextSlide","children","each","child","link","is","find","width","height","css","randomStart","startSlide","Math","floor","random","processCaption","title","nivoCaption","undefined","substr","html","setTimeout","animSpeed","fadeIn","fadeOut","src","alt","show","append","window","resize","remove","afterInit","manualAdvance","length","setInterval","pauseTime","directionNav","prevText","nextText","trigger","controlNav","after","i","controlNavThumbs","eq","bind","createSlices","parent","not","sliceHeight","slices","sliceWidth","round","left","opacity","overflow","animate","createBoxes","boxWidth","boxCols","boxHeight","boxRows","rows","cols","top","trace","msg","console","log","pauseOnHover","hover","afterChange","nudge","lastSlide","beforeChange","slideshowEnd","removeClass","currentEffect","effect","anims","Array","indexOf","split","timeBuff","firstSlice","totalBoxes","boxes","_reverse","slice","bottom","v","origWidth","right","shuffle","box","rowIndex","colIndex","box2Darr","prevCol","time","w","h","arr","j","x","parseInt","start","slideTo","slidePrev","slideNext","afterLoad","key","value","nivoslider","reverse","jQuery"],"mappings":"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"}