// source --> https://www.zumaround.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1 /*! jQuery Migrate v1.4.1 | (c) jQuery Foundation and other contributors | jquery.org/license */ "undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b,c){function d(c){var d=b.console;f[c]||(f[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function e(b,c,e,f){if(Object.defineProperty)try{return void Object.defineProperty(b,c,{configurable:!0,enumerable:!0,get:function(){return d(f),e},set:function(a){d(f),e=a}})}catch(g){}a._definePropertyBroken=!0,b[c]=e}a.migrateVersion="1.4.1";var f={};a.migrateWarnings=[],b.console&&b.console.log&&b.console.log("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion),a.migrateTrace===c&&(a.migrateTrace=!0),a.migrateReset=function(){f={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var g=a("",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') might use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.find,s=a.parseJSON,t=/^\s*)([^>]*)$/;a.fn.init=function(b,e,f){var g,h;return b&&"string"==typeof b&&!a.isPlainObject(e)&&(g=w.exec(a.trim(b)))&&g[0]&&(t.test(b)||d("$(html) HTML strings must start with '<' character"),g[3]&&d("$(html) HTML text after last tag is ignored"),"#"===g[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),e&&e.context&&e.context.nodeType&&(e=e.context),a.parseHTML)?q.call(this,a.parseHTML(g[2],e&&e.ownerDocument||e||document,!0),e,f):(h=q.apply(this,arguments),b&&b.selector!==c?(h.selector=b.selector,h.context=b.context):(h.selector="string"==typeof b?b:"",b&&(h.context=b.nodeType?b:e||document)),h)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&u.test(a))try{document.querySelector(a)}catch(c){a=a.replace(v,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),d("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){d("Attribute selector with '#' was not fixed: "+b[0])}}return r.apply(this,b)};var x;for(x in r)Object.prototype.hasOwnProperty.call(r,x)&&(a.find[x]=r[x]);a.parseJSON=function(a){return a?s.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.boxModel=a.support.boxModel="CSS1Compat"===document.compatMode,e(a,"boxModel",a.boxModel,"jQuery.boxModel is deprecated"),e(a.support,"boxModel",a.support.boxModel,"jQuery.support.boxModel is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){var f=a.fn.init.call(this,d,e,c);return f instanceof b?f:b(f)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.fn.size=function(){return d("jQuery.fn.size() is deprecated; use the .length property"),this.length};var y=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return y=!0,a=d.apply(this,arguments),y=!1,a})}),a.swap=function(a,b,c,e){var f,g,h={};y||d("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=c.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f},a.ajaxSetup({converters:{"text json":a.parseJSON}});var z=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?z.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var A=/\/(java|ecma)script/i;a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||A.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var B=a.event.add,C=a.event.remove,D=a.event.trigger,E=a.fn.toggle,F=a.fn.live,G=a.fn.die,H=a.fn.load,I="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",J=new RegExp("\\b(?:"+I+")\\b"),K=/(?:^|\s)hover(\.\S+|)\b/,L=function(b){return"string"!=typeof b||a.event.special.hover?b:(K.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(K,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&J.test(b)&&d("AJAX events should be attached to document: "+b),B.call(this,a,L(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){C.call(this,a,L(b)||"",c,d,e)},a.each(["load","unload","error"],function(b,c){a.fn[c]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===c&&"string"==typeof a[0]?H.apply(this,a):(d("jQuery.fn."+c+"() is deprecated"),a.splice(0,0,c),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return E.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;g //www.zumaround.com/wp-content/themes/Corsa/js/supersized.3.2.7.js?ver=4.5.20 /* Supersized - Fullscreen Slideshow jQuery Plugin Version : 3.2.7 Site : www.buildinternet.com/project/supersized Author : Sam Dunn Company : One Mighty Roar (www.onemightyroar.com) License : MIT License / GPL License */ (function($){ /* Place Supersized Elements ----------------------------*/ $(document).ready(function() { $('.us_supersized').append('
'); $('.us_supersized').closest('.l-subsection-h').css('height', '100%'); $('.us_supersized').closest('.l-subsection-hh').css('height', '100%'); }); $.supersized = function(options){ /* Variables ----------------------------*/ var el = '#supersized', base = this; // Access to jQuery and DOM versions of element base.$el = $(el); base.el = el; vars = $.supersized.vars; // Add a reverse reference to the DOM object base.$el.data("supersized", base); api = base.$el.data('supersized'); base.init = function(){ // Combine options and vars $.supersized.vars = $.extend($.supersized.vars, $.supersized.themeVars); $.supersized.vars.options = $.extend({},$.supersized.defaultOptions, $.supersized.themeOptions, options); base.options = $.supersized.vars.options; base._build(); }; /* Build Elements ----------------------------*/ base._build = function(){ // Add in slide markers var thisSlide = 0, slideSet = '', markers = '', markerContent, thumbMarkers = '', thumbImage; while(thisSlide <= base.options.slides.length-1){ //Determine slide link content switch(base.options.slide_links){ case 'num': markerContent = thisSlide; break; case 'name': markerContent = base.options.slides[thisSlide].title; break; case 'blank': markerContent = ''; break; } slideSet = slideSet+'
  • '; if(thisSlide == base.options.start_slide-1){ // Slide links if (base.options.slide_links)markers = markers+''; // Slide Thumbnail Links if (base.options.thumb_links){ base.options.slides[thisSlide].thumb ? thumbImage = base.options.slides[thisSlide].thumb : thumbImage = base.options.slides[thisSlide].image; thumbMarkers = thumbMarkers+'
  • '; }; }else{ // Slide links if (base.options.slide_links) markers = markers+''; // Slide Thumbnail Links if (base.options.thumb_links){ base.options.slides[thisSlide].thumb ? thumbImage = base.options.slides[thisSlide].thumb : thumbImage = base.options.slides[thisSlide].image; thumbMarkers = thumbMarkers+'
  • '; }; } thisSlide++; } if (base.options.slide_links) $(vars.slide_list).html(markers); if (base.options.thumb_links && vars.thumb_tray.length){ $(vars.thumb_tray).append(''); } $(base.el).append(slideSet); // Add in thumbnails if (base.options.thumbnail_navigation){ // Load previous thumbnail vars.current_slide - 1 < 0 ? prevThumb = base.options.slides.length - 1 : prevThumb = vars.current_slide - 1; $(vars.prev_thumb).show().html($("").attr("src", base.options.slides[prevThumb].image)); // Load next thumbnail vars.current_slide == base.options.slides.length - 1 ? nextThumb = 0 : nextThumb = vars.current_slide + 1; $(vars.next_thumb).show().html($("").attr("src", base.options.slides[nextThumb].image)); } base._start(); // Get things started }; /* Initialize ----------------------------*/ base._start = function(){ // Determine if starting slide random if (base.options.start_slide){ vars.current_slide = base.options.start_slide - 1; }else{ vars.current_slide = Math.floor(Math.random()*base.options.slides.length); // Generate random slide number } // If links should open in new window var linkTarget = base.options.new_window ? ' target="_blank"' : ''; // Set slideshow quality (Supported only in FF and IE, no Webkit) if (base.options.performance == 3){ base.$el.addClass('speed'); // Faster transitions } else if ((base.options.performance == 1) || (base.options.performance == 2)){ base.$el.addClass('quality'); // Higher image quality } // Shuffle slide order if needed if (base.options.random){ arr = base.options.slides; for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x); // Fisher-Yates shuffle algorithm (jsfromhell.com/array/shuffle) base.options.slides = arr; } /*-----Load initial set of images-----*/ if (base.options.slides.length > 1){ if(base.options.slides.length > 2){ // Set previous image vars.current_slide - 1 < 0 ? loadPrev = base.options.slides.length - 1 : loadPrev = vars.current_slide - 1; // If slide is 1, load last slide as previous var imageLink = (base.options.slides[loadPrev].url) ? "href='" + base.options.slides[loadPrev].url + "'" : ""; var imgPrev = $(''); var slidePrev = base.el+' li:eq('+loadPrev+')'; imgPrev.appendTo(slidePrev).wrap('').parent().parent().addClass('image-loading prevslide'); imgPrev.load(function(){ $(this).data('origWidth', $(this).width()).data('origHeight', $(this).height()); base.resizeNow(); // Resize background image }); // End Load } } else { // Slideshow turned off if there is only one slide base.options.slideshow = 0; } // Set current image imageLink = (api.getField('url')) ? "href='" + api.getField('url') + "'" : ""; var img = $(''); var slideCurrent= base.el+' li:eq('+vars.current_slide+')'; img.appendTo(slideCurrent).wrap('').parent().parent().addClass('image-loading activeslide'); img.load(function(){ base._origDim($(this)); base.resizeNow(); // Resize background image base.launch(); if( typeof theme != 'undefined' && typeof theme._init == "function" ) theme._init(); // Load Theme }); if (base.options.slides.length > 1){ // Set next image vars.current_slide == base.options.slides.length - 1 ? loadNext = 0 : loadNext = vars.current_slide + 1; // If slide is last, load first slide as next imageLink = (base.options.slides[loadNext].url) ? "href='" + base.options.slides[loadNext].url + "'" : ""; var imgNext = $(''); var slideNext = base.el+' li:eq('+loadNext+')'; imgNext.appendTo(slideNext).wrap('').parent().parent().addClass('image-loading'); imgNext.load(function(){ $(this).data('origWidth', $(this).width()).data('origHeight', $(this).height()); base.resizeNow(); // Resize background image }); // End Load } /*-----End load initial images-----*/ // Hide elements to be faded in base.$el.css('visibility','hidden'); $('.load-item').hide(); }; /* Launch Supersized ----------------------------*/ base.launch = function(){ base.$el.css('visibility','visible'); $('#supersized-loader').remove(); //Hide loading animation // Call theme function for before slide transition if( typeof theme != 'undefined' && typeof theme.beforeAnimation == "function" ) theme.beforeAnimation('next'); $('.load-item').show(); // Keyboard Navigation if (base.options.keyboard_nav){ $(document.documentElement).keyup(function (event) { if(vars.in_animation) return false; // Abort if currently animating if($(document.activeElement).is("input, textarea")) return false; // Abort if active element is an input or a textarea. // Left Arrow or Down Arrow if ((event.keyCode == 37) || (event.keyCode == 40)) { clearInterval(vars.slideshow_interval); // Stop slideshow, prevent buildup base.prevSlide(); // Right Arrow or Up Arrow } else if ((event.keyCode == 39) || (event.keyCode == 38)) { clearInterval(vars.slideshow_interval); // Stop slideshow, prevent buildup base.nextSlide(); // Spacebar } else if (event.keyCode == 32 && !vars.hover_pause) { clearInterval(vars.slideshow_interval); // Stop slideshow, prevent buildup base.playToggle(); } }); } // Pause when hover on image if (base.options.slideshow && base.options.pause_hover){ $(base.el).hover(function() { if(vars.in_animation) return false; // Abort if currently animating vars.hover_pause = true; // Mark slideshow paused from hover if(!vars.is_paused){ vars.hover_pause = 'resume'; // It needs to resume afterwards base.playToggle(); } }, function() { if(vars.hover_pause == 'resume'){ base.playToggle(); vars.hover_pause = false; } }); } if (base.options.slide_links){ // Slide marker clicked $(vars.slide_list+'> li').click(function(){ index = $(vars.slide_list+'> li').index(this); targetSlide = index + 1; base.goTo(targetSlide); return false; }); } // Thumb marker clicked if (base.options.thumb_links){ $(vars.thumb_list+'> li').click(function(){ index = $(vars.thumb_list+'> li').index(this); targetSlide = index + 1; api.goTo(targetSlide); return false; }); } // Start slideshow if enabled if (base.options.slideshow && base.options.slides.length > 1){ // Start slideshow if autoplay enabled if (base.options.autoplay && base.options.slides.length > 1){ vars.slideshow_interval = setInterval(base.nextSlide, base.options.slide_interval); // Initiate slide interval }else{ vars.is_paused = true; // Mark as paused } //Prevent navigation items from being dragged $('.load-item img').bind("contextmenu mousedown",function(){ return false; }); } var resizeTimerSupersized = false; // Adjust image when browser is resized $(window).resize(function(){ window.clearTimeout(resizeTimerSupersized); resizeTimerSupersized = window.setTimeout(function(){ base.resizeNow(); }, 100); }); }; /* Resize Images ----------------------------*/ base.resizeNow = function(){ return base.$el.each(function() { // Resize each image seperately $('img', base.el).each(function(){ thisSlide = $(this); var ratio = (thisSlide.data('origHeight')/thisSlide.data('origWidth')).toFixed(2); // Define image ratio // Gather browser size var browserwidth = base.$el.width(), browserheight = base.$el.height(), offset; /*-----Resize Image-----*/ if (base.options.fit_always){ // Fit always is enabled if ((browserheight/browserwidth) > ratio){ resizeWidth(); } else { resizeHeight(); } }else{ // Normal Resize if ((browserheight <= base.options.min_height) && (browserwidth <= base.options.min_width)){ // If window smaller than minimum width and height if ((browserheight/browserwidth) > ratio){ base.options.fit_landscape && ratio < 1 ? resizeWidth(true) : resizeHeight(true); // If landscapes are set to fit } else { base.options.fit_portrait && ratio >= 1 ? resizeHeight(true) : resizeWidth(true); // If portraits are set to fit } } else if (browserwidth <= base.options.min_width){ // If window only smaller than minimum width if ((browserheight/browserwidth) > ratio){ base.options.fit_landscape && ratio < 1 ? resizeWidth(true) : resizeHeight(); // If landscapes are set to fit } else { base.options.fit_portrait && ratio >= 1 ? resizeHeight() : resizeWidth(true); // If portraits are set to fit } } else if (browserheight <= base.options.min_height){ // If window only smaller than minimum height if ((browserheight/browserwidth) > ratio){ base.options.fit_landscape && ratio < 1 ? resizeWidth() : resizeHeight(true); // If landscapes are set to fit } else { base.options.fit_portrait && ratio >= 1 ? resizeHeight(true) : resizeWidth(); // If portraits are set to fit } } else { // If larger than minimums if ((browserheight/browserwidth) > ratio){ base.options.fit_landscape && ratio < 1 ? resizeWidth() : resizeHeight(); // If landscapes are set to fit } else { base.options.fit_portrait && ratio >= 1 ? resizeHeight() : resizeWidth(); // If portraits are set to fit } } } /*-----End Image Resize-----*/ /*-----Resize Functions-----*/ function resizeWidth(minimum){ if (minimum){ // If minimum height needs to be considered if(thisSlide.width() < browserwidth || thisSlide.width() < base.options.min_width ){ if (thisSlide.width() * ratio >= base.options.min_height){ thisSlide.width(base.options.min_width); thisSlide.height(thisSlide.width() * ratio); }else{ resizeHeight(); } } }else{ if (base.options.min_height >= browserheight && !base.options.fit_landscape){ // If minimum height needs to be considered if (browserwidth * ratio >= base.options.min_height || (browserwidth * ratio >= base.options.min_height && ratio <= 1)){ // If resizing would push below minimum height or image is a landscape thisSlide.width(browserwidth); thisSlide.height(browserwidth * ratio); } else if (ratio > 1){ // Else the image is portrait thisSlide.height(base.options.min_height); thisSlide.width(thisSlide.height() / ratio); } else if (thisSlide.width() < browserwidth) { thisSlide.width(browserwidth); thisSlide.height(thisSlide.width() * ratio); } }else{ // Otherwise, resize as normal thisSlide.width(browserwidth); thisSlide.height(browserwidth * ratio); } } }; function resizeHeight(minimum){ if (minimum){ // If minimum height needs to be considered if(thisSlide.height() < browserheight){ if (thisSlide.height() / ratio >= base.options.min_width){ thisSlide.height(base.options.min_height); thisSlide.width(thisSlide.height() / ratio); }else{ resizeWidth(true); } } }else{ // Otherwise, resized as normal if (base.options.min_width >= browserwidth){ // If minimum width needs to be considered if (browserheight / ratio >= base.options.min_width || ratio > 1){ // If resizing would push below minimum width or image is a portrait thisSlide.height(browserheight); thisSlide.width(browserheight / ratio); } else if (ratio <= 1){ // Else the image is landscape thisSlide.width(base.options.min_width); thisSlide.height(thisSlide.width() * ratio); } }else{ // Otherwise, resize as normal thisSlide.height(browserheight); thisSlide.width(browserheight / ratio); } } }; /*-----End Resize Functions-----*/ if (thisSlide.parents('li').hasClass('image-loading')){ $('.image-loading').removeClass('image-loading'); } // Horizontally Center if (base.options.horizontal_center){ $(this).css('left', (browserwidth - $(this).width())/2); } // Vertically Center if (base.options.vertical_center){ $(this).css('top', (browserheight - $(this).height())/2); } }); // Basic image drag and right click protection if (base.options.image_protect){ $('img', base.el).bind("contextmenu mousedown",function(){ return false; }); } return false; }); }; /* Next Slide ----------------------------*/ base.nextSlide = function(){ if(vars.in_animation || !api.options.slideshow) return false; // Abort if currently animating else vars.in_animation = true; // Otherwise set animation marker clearInterval(vars.slideshow_interval); // Stop slideshow var slides = base.options.slides, // Pull in slides array liveslide = base.$el.find('.activeslide'); // Find active slide $('.prevslide').removeClass('prevslide'); liveslide.removeClass('activeslide').addClass('prevslide'); // Remove active class & update previous slide // Get the slide number of new slide vars.current_slide + 1 == base.options.slides.length ? vars.current_slide = 0 : vars.current_slide++; var nextslide = $(base.el+' li:eq('+vars.current_slide+')'), prevslide = base.$el.find('.prevslide'); // If hybrid mode is on drop quality for transition if (base.options.performance == 1) base.$el.removeClass('quality').addClass('speed'); /*-----Load Image-----*/ loadSlide = false; vars.current_slide == base.options.slides.length - 1 ? loadSlide = 0 : loadSlide = vars.current_slide + 1; // Determine next slide var targetList = base.el+' li:eq('+loadSlide+')'; if (!$(targetList).html()){ // If links should open in new window var linkTarget = base.options.new_window ? ' target="_blank"' : ''; imageLink = (base.options.slides[loadSlide].url) ? "href='" + base.options.slides[loadSlide].url + "'" : ""; // If link exists, build it var img = $(''); img.appendTo(targetList).wrap('').parent().parent().addClass('image-loading').css('visibility','hidden'); img.load(function(){ base._origDim($(this)); base.resizeNow(); }); // End Load }; // Update thumbnails (if enabled) if (base.options.thumbnail_navigation == 1){ // Load previous thumbnail vars.current_slide - 1 < 0 ? prevThumb = base.options.slides.length - 1 : prevThumb = vars.current_slide - 1; $(vars.prev_thumb).html($("").attr("src", base.options.slides[prevThumb].image)); // Load next thumbnail nextThumb = loadSlide; $(vars.next_thumb).html($("").attr("src", base.options.slides[nextThumb].image)); } /*-----End Load Image-----*/ // Call theme function for before slide transition if( typeof theme != 'undefined' && typeof theme.beforeAnimation == "function" ) theme.beforeAnimation('next'); //Update slide markers if (base.options.slide_links){ $('.current-slide').removeClass('current-slide'); $(vars.slide_list +'> li' ).eq(vars.current_slide).addClass('current-slide'); } nextslide.css('visibility','hidden').addClass('activeslide'); // Update active slide switch(base.options.transition){ case 0: case 'none': // No transition nextslide.css('visibility','visible'); vars.in_animation = false; base.afterAnimation(); break; case 1: case 'fade': // Fade nextslide.css({opacity : 0, 'visibility': 'visible'}).animate({opacity : 1, avoidTransforms : false}, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 2: case 'slideTop': // Slide Top nextslide.css({top : -base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 3: case 'slideRight': // Slide Right nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 4: case 'slideBottom': // Slide Bottom nextslide.css({top : base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 5: case 'slideLeft': // Slide Left nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 6: case 'carouselRight': // Carousel Right nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); liveslide.animate({ left: -base.$el.width(), avoidTransforms : false }, base.options.transition_speed ); break; case 7: case 'carouselLeft': // Carousel Left nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); liveslide.animate({ left: base.$el.width(), avoidTransforms : false }, base.options.transition_speed ); break; } return false; }; /* Previous Slide ----------------------------*/ base.prevSlide = function(){ if(vars.in_animation || !api.options.slideshow) return false; // Abort if currently animating else vars.in_animation = true; // Otherwise set animation marker clearInterval(vars.slideshow_interval); // Stop slideshow var slides = base.options.slides, // Pull in slides array liveslide = base.$el.find('.activeslide'); // Find active slide $('.prevslide').removeClass('prevslide'); liveslide.removeClass('activeslide').addClass('prevslide'); // Remove active class & update previous slide // Get current slide number vars.current_slide == 0 ? vars.current_slide = base.options.slides.length - 1 : vars.current_slide-- ; var nextslide = $(base.el+' li:eq('+vars.current_slide+')'), prevslide = base.$el.find('.prevslide'); // If hybrid mode is on drop quality for transition if (base.options.performance == 1) base.$el.removeClass('quality').addClass('speed'); /*-----Load Image-----*/ loadSlide = vars.current_slide; var targetList = base.el+' li:eq('+loadSlide+')'; if (!$(targetList).html()){ // If links should open in new window var linkTarget = base.options.new_window ? ' target="_blank"' : ''; imageLink = (base.options.slides[loadSlide].url) ? "href='" + base.options.slides[loadSlide].url + "'" : ""; // If link exists, build it var img = $(''); img.appendTo(targetList).wrap('').parent().parent().addClass('image-loading').css('visibility','hidden'); img.load(function(){ base._origDim($(this)); base.resizeNow(); }); // End Load }; // Update thumbnails (if enabled) if (base.options.thumbnail_navigation == 1){ // Load previous thumbnail //prevThumb = loadSlide; loadSlide == 0 ? prevThumb = base.options.slides.length - 1 : prevThumb = loadSlide - 1; $(vars.prev_thumb).html($("").attr("src", base.options.slides[prevThumb].image)); // Load next thumbnail vars.current_slide == base.options.slides.length - 1 ? nextThumb = 0 : nextThumb = vars.current_slide + 1; $(vars.next_thumb).html($("").attr("src", base.options.slides[nextThumb].image)); } /*-----End Load Image-----*/ // Call theme function for before slide transition if( typeof theme != 'undefined' && typeof theme.beforeAnimation == "function" ) theme.beforeAnimation('prev'); //Update slide markers if (base.options.slide_links){ $('.current-slide').removeClass('current-slide'); $(vars.slide_list +'> li' ).eq(vars.current_slide).addClass('current-slide'); } nextslide.css('visibility','hidden').addClass('activeslide'); // Update active slide switch(base.options.transition){ case 0: case 'none': // No transition nextslide.css('visibility','visible'); vars.in_animation = false; base.afterAnimation(); break; case 1: case 'fade': // Fade nextslide.css({opacity : 0, 'visibility': 'visible'}).animate({opacity : 1, avoidTransforms : false}, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 2: case 'slideTop': // Slide Top (reverse) nextslide.css({top : base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 3: case 'slideRight': // Slide Right (reverse) nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 4: case 'slideBottom': // Slide Bottom (reverse) nextslide.css({top : -base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 5: case 'slideLeft': // Slide Left (reverse) nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); break; case 6: case 'carouselRight': // Carousel Right (reverse) nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); liveslide.css({left : 0}).animate({ left: base.$el.width(), avoidTransforms : false}, base.options.transition_speed ); break; case 7: case 'carouselLeft': // Carousel Left (reverse) nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, function(){ base.afterAnimation(); }); liveslide.css({left : 0}).animate({ left: -base.$el.width(), avoidTransforms : false }, base.options.transition_speed ); break; } return false; }; /* Play/Pause Toggle ----------------------------*/ base.playToggle = function(){ if (vars.in_animation || !api.options.slideshow) return false; // Abort if currently animating if (vars.is_paused){ vars.is_paused = false; // Call theme function for play if( typeof theme != 'undefined' && typeof theme.playToggle == "function" ) theme.playToggle('play'); // Resume slideshow vars.slideshow_interval = setInterval(base.nextSlide, base.options.slide_interval); }else{ vars.is_paused = true; // Call theme function for pause if( typeof theme != 'undefined' && typeof theme.playToggle == "function" ) theme.playToggle('pause'); // Stop slideshow clearInterval(vars.slideshow_interval); } return false; }; /* Go to specific slide ----------------------------*/ base.goTo = function(targetSlide){ if (vars.in_animation || !api.options.slideshow) return false; // Abort if currently animating var totalSlides = base.options.slides.length; // If target outside range if(targetSlide < 0){ targetSlide = totalSlides; }else if(targetSlide > totalSlides){ targetSlide = 1; } targetSlide = totalSlides - targetSlide + 1; clearInterval(vars.slideshow_interval); // Stop slideshow, prevent buildup // Call theme function for goTo trigger if (typeof theme != 'undefined' && typeof theme.goTo == "function" ) theme.goTo(); if (vars.current_slide == totalSlides - targetSlide){ if(!(vars.is_paused)){ vars.slideshow_interval = setInterval(base.nextSlide, base.options.slide_interval); } return false; } // If ahead of current position if(totalSlides - targetSlide > vars.current_slide ){ // Adjust for new next slide vars.current_slide = totalSlides-targetSlide-1; vars.update_images = 'next'; base._placeSlide(vars.update_images); //Otherwise it's before current position }else if(totalSlides - targetSlide < vars.current_slide){ // Adjust for new prev slide vars.current_slide = totalSlides-targetSlide+1; vars.update_images = 'prev'; base._placeSlide(vars.update_images); } // set active markers if (base.options.slide_links){ $(vars.slide_list +'> .current-slide').removeClass('current-slide'); $(vars.slide_list +'> li').eq((totalSlides-targetSlide)).addClass('current-slide'); } if (base.options.thumb_links){ $(vars.thumb_list +'> .current-thumb').removeClass('current-thumb'); $(vars.thumb_list +'> li').eq((totalSlides-targetSlide)).addClass('current-thumb'); } }; /* Place Slide ----------------------------*/ base._placeSlide = function(place){ // If links should open in new window var linkTarget = base.options.new_window ? ' target="_blank"' : ''; loadSlide = false; if (place == 'next'){ vars.current_slide == base.options.slides.length - 1 ? loadSlide = 0 : loadSlide = vars.current_slide + 1; // Determine next slide var targetList = base.el+' li:eq('+loadSlide+')'; if (!$(targetList).html()){ // If links should open in new window var linkTarget = base.options.new_window ? ' target="_blank"' : ''; imageLink = (base.options.slides[loadSlide].url) ? "href='" + base.options.slides[loadSlide].url + "'" : ""; // If link exists, build it var img = $(''); img.appendTo(targetList).wrap('').parent().parent().addClass('image-loading').css('visibility','hidden'); img.load(function(){ base._origDim($(this)); base.resizeNow(); }); // End Load }; base.nextSlide(); }else if (place == 'prev'){ vars.current_slide - 1 < 0 ? loadSlide = base.options.slides.length - 1 : loadSlide = vars.current_slide - 1; // Determine next slide var targetList = base.el+' li:eq('+loadSlide+')'; if (!$(targetList).html()){ // If links should open in new window var linkTarget = base.options.new_window ? ' target="_blank"' : ''; imageLink = (base.options.slides[loadSlide].url) ? "href='" + base.options.slides[loadSlide].url + "'" : ""; // If link exists, build it var img = $(''); img.appendTo(targetList).wrap('').parent().parent().addClass('image-loading').css('visibility','hidden'); img.load(function(){ base._origDim($(this)); base.resizeNow(); }); // End Load }; base.prevSlide(); } }; /* Get Original Dimensions ----------------------------*/ base._origDim = function(targetSlide){ targetSlide.data('origWidth', targetSlide.width()).data('origHeight', targetSlide.height()); }; /* After Slide Animation ----------------------------*/ base.afterAnimation = function(){ // If hybrid mode is on swap back to higher image quality if (base.options.performance == 1){ base.$el.removeClass('speed').addClass('quality'); } // Update previous slide if (vars.update_images){ vars.current_slide - 1 < 0 ? setPrev = base.options.slides.length - 1 : setPrev = vars.current_slide-1; vars.update_images = false; $('.prevslide').removeClass('prevslide'); $(base.el+' li:eq('+setPrev+')').addClass('prevslide'); } vars.in_animation = false; // Resume slideshow if (!vars.is_paused && base.options.slideshow){ vars.slideshow_interval = setInterval(base.nextSlide, base.options.slide_interval); if (base.options.stop_loop && vars.current_slide == base.options.slides.length - 1 ) base.playToggle(); } // Call theme function for after slide transition if (typeof theme != 'undefined' && typeof theme.afterAnimation == "function" ) theme.afterAnimation(); return false; }; base.getField = function(field){ return base.options.slides[vars.current_slide][field]; }; // Make it go! base.init(); }; /* Global Variables ----------------------------*/ $.supersized.vars = { // Elements thumb_tray : '#thumb-tray', // Thumbnail tray thumb_list : '#thumb-list', // Thumbnail list slide_list : '#slide-list', // Slide link list // Internal variables current_slide : 0, // Current slide number in_animation : false, // Prevents animations from stacking is_paused : false, // Tracks paused on/off hover_pause : false, // If slideshow is paused from hover slideshow_interval : false, // Stores slideshow timer update_images : false, // Trigger to update images after slide jump options : {} // Stores assembled options list }; /* Default Options ----------------------------*/ $.supersized.defaultOptions = { // Functionality slideshow : 1, // Slideshow on/off autoplay : 1, // Slideshow starts playing automatically start_slide : 1, // Start slide (0 is random) stop_loop : 0, // Stops slideshow on last slide random : 0, // Randomize slide order (Ignores start slide) slide_interval : 5000, // Length between transitions transition : 1, // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left transition_speed : 750, // Speed of transition new_window : 1, // Image links open in new window/tab pause_hover : 0, // Pause slideshow on hover keyboard_nav : 1, // Keyboard navigation on/off performance : 1, // 0-Normal, 1-Hybrid speed/quality, 2-Optimizes image quality, 3-Optimizes transition speed // (Only works for Firefox/IE, not Webkit) image_protect : 1, // Disables image dragging and right click with Javascript // Size & Position fit_always : 0, // Image will never exceed browser width or height (Ignores min. dimensions) fit_landscape : 0, // Landscape images will not exceed browser width fit_portrait : 1, // Portrait images will not exceed browser height min_width : 0, // Min width allowed (in pixels) min_height : 0, // Min height allowed (in pixels) horizontal_center : 1, // Horizontally center background vertical_center : 1, // Vertically center background // Components slide_links : 1, // Individual links for each slide (Options: false, 'num', 'name', 'blank') thumb_links : 1, // Individual thumb links for each slide thumbnail_navigation : 0 // Thumbnail navigation }; $.fn.supersized = function(options){ return this.each(function(){ (new $.supersized(options)); }); }; })(jQuery);