Sindbad~EG File Manager
/*
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() {
if($('body').find(".homeSlider").length > 0){
$('.homeSlider').append('<div id="supersized-loader"></div><ul id="supersized"></ul>');
supersizedOnBody = false;
}else{
$('body').append('<div id="supersized-loader"></div><ul id="supersized"></ul>');
supersizedOnBody = true;
}
$('#supersized-loader').css({"visibility":"hidden"});
});
$.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.firstLoad = false
$.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+'<li class="slide-'+thisSlide+'"></li>';
if(thisSlide == base.options.start_slide-1){
// Slide links
if (base.options.slide_links)markers = markers+'<li class="slide-link-'+thisSlide+' current-slide"><a>'+markerContent+'</a></li>';
// 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+'<li class="thumb'+thisSlide+' current-thumb"><img src="'+thumbImage+'"/></li>';
};
}else{
// Slide links
if (base.options.slide_links) markers = markers+'<li class="slide-link-'+thisSlide+'" ><a>'+markerContent+'</a></li>';
// 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+'<li class="thumb'+thisSlide+'"><img src="'+thumbImage+'"/></li>';
};
}
thisSlide++;
}
if (base.options.slide_links) $(vars.slide_list).html(markers);
if (base.options.thumb_links && vars.thumb_tray.length){
$(vars.thumb_tray).append('<ul id="'+vars.thumb_list.replace('#','')+'">'+thumbMarkers+'</ul>');
}
$(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($("<img/>").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($("<img/>").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 = !isMobile ?
base.options.slides[loadPrev].image != undefined ? $('<img src="'+base.options.slides[loadPrev].image+'"/>') : $("<div></div>")
: base.options.slides[loadPrev].image_small != undefined ? $('<img src="'+base.options.slides[loadPrev].image_small+'"/>') : $("<div></div>");
var slidePrev = base.el+' li:eq('+loadPrev+')';
if(imgPrev.prop("tagName") != "DIV"){
imgPrev.appendTo(slidePrev).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('image-loading prevslide');
imgPrev.load(function(){
$(this).css({"width":"auto", "height":"auto"});
$(this).data('origWidth', $(this).width()).data('origHeight', $(this).height());
base.resizeNow(); // Resize background image
}); // End Load
}else{
imgPrev.appendTo(slidePrev).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('prevslide');
imgPrev.css({"width":"auto", "height":"auto"});
imgPrev.data('origWidth', imgPrev.width()).data('origHeight', imgPrev.height());
base.resizeNow(); // Resize background image
}
}
} 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 = !isMobile ?
api.getField('image') != undefined ? $('<img src="'+api.getField('image')+'"/>') : $("<div></div>")
: api.getField('image_small') != undefined ? $('<img src="'+api.getField('image_small')+'"/>') : $("<div></div>");
var slideCurrent= base.el+' li:eq('+vars.current_slide+')';
if(img.prop("tagName") != "DIV"){
img.appendTo(slideCurrent).wrap('<a ' + imageLink + linkTarget + '></a>').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
});
}else{
img.appendTo(slideCurrent).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('activeslide');
base._origDim($(img));
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 = !isMobile ?
base.options.slides[loadNext].image != undefined ? $('<img src="'+base.options.slides[loadNext].image+'"/>') : $("<div></div>")
: base.options.slides[loadNext].image_small != undefined ? $('<img src="'+base.options.slides[loadNext].image_small+'"/>') : $("<div></div>");
var slideNext = base.el+' li:eq('+loadNext+')';
if(imgNext.prop("tagName") != "DIV"){
imgNext.appendTo(slideNext).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('image-loading');
imgNext.load(function(){
$(this).css({"width":"auto", "height":"auto"});
$(this).data('origWidth', $(this).width()).data('origHeight', $(this).height());
base.resizeNow(); // Resize background image
}); // End Load
}else{
imgNext.appendTo(slideNext).wrap('<a ' + imageLink + linkTarget + '></a>');
imgNext.css({"width":"auto", "height":"auto"});
imgNext.data('origWidth', imgNext.width()).data('origHeight', imgNext.height());
base.resizeNow(); // Resize background image
}
}
/*-----End load initial images-----*/
// Hide elements to be faded in
base.$el.css('visibility','hidden');
if(img.prop("tagName") != "DIV"){
$('.load-item').hide();
}
$("#supersized").prepend('<div class="sup_border"></div>');
};
/* 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
// 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){
var setIntr = base.options.slides[vars.current_slide].slide_interval != undefined ?
base.options.slides[vars.current_slide].slide_interval : base.options.slide_interval;
vars.slideshow_interval = setInterval(base.nextSlide, setIntr);
}else{
vars.is_paused = true; // Mark as paused
}
//Prevent navigation items from being dragged
$('.load-item img').bind("contextmenu mousedown",function(){
return false;
});
}
// Adjust image when browser is resized
var self = this;
clearInterval(self.intr);
$(window).resize(function() {
clearInterval(self.intr);
self.intr = setInterval(function(){clearInterval(self.intr);
base.resizeNow();
},200);
});
};
/* 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 = !isMobile ?
base.options.slides[loadSlide].image != undefined ? $('<img src="'+base.options.slides[loadSlide].image+'"/>') : $("<div></div>")
: base.options.slides[loadSlide].image_small != undefined ? $('<img src="'+base.options.slides[loadSlide].image_small+'"/>') : $("<div></div>");
if(img.prop("tagName") != "DIV"){
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('image-loading').css('visibility','hidden');
img.load(function(){
base._origDim($(this));
base.resizeNow();
}); // End Load
}else{
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>');
base._origDim(img);
base.resizeNow();
}
};
// 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($("<img/>").attr("src", base.options.slides[prevThumb].image));
// Load next thumbnail
nextThumb = loadSlide;
$(vars.next_thumb).html($("<img/>").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
var transType = nextslide.find("img").length > 0 || liveslide.find("img").length > 0 ? base.options.transition : "none";
switch(transType){
case 0: case 'none': // No transition
nextslide.css('visibility','visible'); vars.in_animation = false; base.afterAnimation();
break;
case 1: case 'fade': // Fade
if(cssAnimate){
nextslide.css({opacity : 0, 'visibility': 'visible'})[animateSyntax]({opacity : 1}, 1000, function(){ base.afterAnimation(); });
}else{
nextslide.css({opacity : 0, 'visibility': 'visible'}).animate({opacity : 1, avoidTransforms : false}, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 2: case 'slideTop': // Slide Top
if(cssAnimate){
nextslide.css({y : -base.$el.height(), 'visibility': 'visible'})[animateSyntax]({ y:0 }, function(){ base.afterAnimation(); });
}else{
nextslide.css({top : -base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 3: case 'slideRight': // Slide Right
if(cssAnimate){
nextslide.css({x : base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0 }, function(){ base.afterAnimation(); });
}else{
nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 4: case 'slideBottom': // Slide Bottom
if(cssAnimate){
nextslide.css({y : base.$el.height(), 'visibility': 'visible'})[animateSyntax]({ y:0}, function(){ base.afterAnimation(); });
}else{
nextslide.css({top : base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 5: case 'slideLeft': // Slide Left
if(cssAnimate){
nextslide.css({x : -base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0 }, function(){ base.afterAnimation(); });
}else{
nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 6: case 'carouselRight': // Carousel Right
if(cssAnimate){
nextslide.css({x : base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0 }, 1000 , "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide[animateSyntax]({ x: -base.$el.width() }, 1000 , "easeInOutQuart" );
}else{
nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.animate({ left: -base.$el.width(), avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart" );
}
break;
case 7: case 'carouselLeft': // Carousel Left
if(cssAnimate){
nextslide.css({x : -base.$el.width(), 'visibility': 'visible'}).animate({ x:0 }, 1000 , "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide[animateSyntax]({ x: base.$el.width() }, 1000 , "easeInOutQuart" );
}else{
nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.animate({ left: base.$el.width(), avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart" );
}
break;
case 8: case 'slideTopBottom': // Slide Top
if(cssAnimate){
nextslide.css({y : base.$el.height(), 'visibility': 'visible'})[animateSyntax]({ y:0}, 1000 , "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide[animateSyntax]({ y: -base.$el.height()}, 1000 , "easeInOutQuart");
}else{
nextslide.css({top : base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.animate({ top: -base.$el.height(), avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart" );
}
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 = !isMobile ?
base.options.slides[loadSlide].image != undefined ? $('<img src="'+base.options.slides[loadSlide].image+'"/>') : $("<div></div>")
: base.options.slides[loadSlide].image_small != undefined ? $('<img src="'+base.options.slides[loadSlide].image_small+'"/>') : $("<div></div>");
if(img.prop("tagName") != "DIV"){
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('image-loading').css('visibility','hidden');
img.load(function(){
base._origDim($(this));
base.resizeNow();
}); // End Load
}else{
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>');
base._origDim(img);
base.resizeNow();
}
};
// 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($("<img/>").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($("<img/>").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
var transType2 = nextslide.find("img").length > 0 || liveslide.find("img").length > 0 ? base.options.transition : "none";
switch(transType2){
case 0: case 'none': // No transition
nextslide.css('visibility','visible'); vars.in_animation = false; base.afterAnimation();
break;
case 1: case 'fade': // Fade
if(cssAnimate){
nextslide.css({opacity : 0, 'visibility': 'visible'})[animateSyntax]({opacity : 1}, 1000, function(){ base.afterAnimation(); });
}else{
nextslide.css({opacity : 0, 'visibility': 'visible'}).animate({opacity : 1, avoidTransforms : false}, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 2: case 'slideTop': // Slide Top (reverse)
if(cssAnimate){
nextslide.css({y : base.$el.height(), 'visibility': 'visible'})[animateSyntax]({ y:0}, function(){ base.afterAnimation(); });
}else{
nextslide.css({top : base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 3: case 'slideRight': // Slide Right (reverse)
if(cssAnimate){
nextslide.css({x : -base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0 }, function(){ base.afterAnimation(); });
}else{
nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 4: case 'slideBottom': // Slide Bottom (reverse)
if(cssAnimate){
nextslide.css({y : -base.$el.height(), 'visibility': 'visible'})[animateSyntax]({ y:0}, function(){ base.afterAnimation(); });
}else{
nextslide.css({top : -base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 5: case 'slideLeft': // Slide Left (reverse)
if(cssAnimate){
nextslide.css({x : base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0 }, function(){ base.afterAnimation(); });
}else{
nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
}
break;
case 6: case 'carouselRight': // Carousel Right (reverse)
if(cssAnimate){
nextslide.css({x : -base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0 }, 1000 , "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.css({x : 0})[animateSyntax]({ x: base.$el.width()}, 1000 , "easeInOutQuart" );
}else{
nextslide.css({left : -base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.css({left : 0}).animate({ left: base.$el.width(), avoidTransforms : false}, base.options.transition_speed, "easeInOutQuart" );
}
break;
case 7: case 'carouselLeft': // Carousel Left (reverse)
if(cssAnimate){
nextslide.css({x : base.$el.width(), 'visibility': 'visible'})[animateSyntax]({ x:0}, 1000 , "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.css({x : 0}).animate({ left: -base.$el.width()}, 1000 , "easeInOutQuart" );
}else{
nextslide.css({left : base.$el.width(), 'visibility': 'visible'}).animate({ left:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.css({left : 0}).animate({ left: -base.$el.width(), avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart" );
}
break;
case 8: case 'slideTopBottom': // Slide Bottom (reverse)
if(cssAnimate){
nextslide.css({y : -base.$el.height(), 'visibility': 'visible'})[animateSyntax]({ y:0}, 1000 , "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.css({y : 0})[animateSyntax]({ y: base.$el.height()}, 1000 , "easeInOutQuart");
}else{
nextslide.css({top : -base.$el.height(), 'visibility': 'visible'}).animate({ top:0, avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart", function(){ base.afterAnimation(); });
liveslide.css({top : 0}).animate({ top: base.$el.height(), avoidTransforms : false }, base.options.transition_speed, "easeInOutQuart" );
}
break;
}
return false;
};
base.sliderAnimateEngine = function(){
if(!$("body").hasClass("not_onepage_ver")){
theme.sliderAnimateEngine(false, false, false, true);
}
};
/* 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
var setIntr = base.options.slides[vars.current_slide].slide_interval != undefined ?
base.options.slides[vars.current_slide].slide_interval : base.options.slide_interval;
if(!$.supersized.vars.firstLoad){
$.supersized.vars.firstLoad = true;
vars.slideshow_interval = setInterval(base.nextSlide, base.options.slides[vars.current_slide].slide_interval);
}else{
vars.slideshow_interval = setInterval(base.nextSlide, 100);
}
}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;
};
base.min_thumb = function(){
if(base.options.slides.length > 1){
var controlNavScaffold = $('<ul class="supersized-nav"></ul>');
var j = 1;
for (var i = 0; i < base.options.slides.length; i++) {
var n = j < 10 ? "0"+j : j;
controlNavScaffold.append('<li><a ></a></li>');
j++;
}
$(".homeSlider").append(controlNavScaffold);
$(".supersized-nav").find("li").each(function(){
$(this).removeClass("active")
});
$(".supersized-nav li").eq(vars.current_slide).find("a").addClass("active");
$(".supersized-nav li a").click(function(){
base.goTo($(this).parent().index()+1);
});
}
if(base.options.slides.length > 1){
if($(".supersized-thumbnails").length > 0){
$(".supersized-thumbnails").find("li").each(function(){
$(this).removeClass("active");
});
$(".supersized-thumbnails li").eq(vars.current_slide).addClass("active");
$(".supersized-thumbnails li a").click(function(){
base.goTo($(this).parent().index()+1);
});
}
}
};
/* 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)){
var setIntr = base.options.slides[vars.current_slide].slide_interval != undefined ?
base.options.slides[vars.current_slide].slide_interval : base.options.slide_interval;
vars.slideshow_interval = setInterval(base.nextSlide, setIntr);
}
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 = !isMobile ?
base.options.slides[loadSlide].image != undefined ? $('<img src="'+base.options.slides[loadSlide].image+'"/>') : $("<div></div>")
: base.options.slides[loadSlide].image_small != undefined ? $('<img src="'+base.options.slides[loadSlide].image_small+'"/>') : $("<div></div>");
if(img.prop("tagName") != "DIV"){
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('image-loading').css('visibility','hidden');
img.load(function(){
base._origDim($(this));
base.resizeNow();
}); // End Load
}else{
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>');
base._origDim(img);
base.resizeNow();
}
};
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 = !isMobile ?
base.options.slides[loadSlide].image != undefined ? $('<img src="'+base.options.slides[loadSlide].image+'"/>') : $("<div></div>")
: base.options.slides[loadSlide].image_small != undefined ? $('<img src="'+base.options.slides[loadSlide].image_small+'"/>') : $("<div></div>");
if(img.prop("tagName") != "DIV"){
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>').parent().parent().addClass('image-loading').css('visibility','hidden');
img.load(function(){
base._origDim($(this));
base.resizeNow();
}); // End Load
}else{
img.appendTo(targetList).wrap('<a ' + imageLink + linkTarget + '></a>');
base._origDim(img);
base.resizeNow();
}
};
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){
var setIntr = base.options.slides[vars.current_slide].slide_interval != undefined ?
base.options.slides[vars.current_slide].slide_interval : base.options.slide_interval;
vars.slideshow_interval = setInterval(base.nextSlide, setIntr);
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
kenburn : false, // Enable/Disable kenburn effect
kenburnZoomValue : 1.3 // Kernburn zoom in value
};
$.fn.supersized = function(options){
return this.each(function(){
(new $.supersized(options));
});
};
})(jQuery);
/*
Supersized - Fullscreen Slideshow jQuery Plugin
Version : 3.2.7
Theme : Shutter 1.1
Site : www.buildinternet.com/project/supersized
Author : Sam Dunn
Company : One Mighty Roar (www.onemightyroar.com)
License : MIT License / GPL License
*/
(function($){
theme = {
/* Initial Placement
----------------------------*/
_init : function(){
// Center Slide Links
if (api.options.slide_links) $(vars.slide_list).css('margin-left', -$(vars.slide_list).width()/2);
// Start progressbar if autoplay enabled
if (api.options.autoplay){
if (api.options.progress_bar) theme.progressBar();
}else{
var iimg = !retinaDevice ? "play.png" : "play@2x.png";
if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + iimg); // If pause play button is image, swap src
if (api.options.progress_bar) $(vars.progress_bar).stop().css({left : -$(window).width()}); // Place progress bar
}
/* Thumbnail Tray
----------------------------*/
// Hide tray off screen
$(vars.thumb_tray).css({bottom : -$(vars.thumb_tray).height()});
// Thumbnail Tray Toggle
$(vars.tray_button).toggle(function(){
$(vars.thumb_tray).stop()[animateSyntax]({bottom : 0, avoidTransforms : true}, 300 );
if ($(vars.tray_arrow).attr('src')) $(vars.tray_arrow).attr("src", vars.image_path + "button-tray-down.png");
return false;
}, function() {
$(vars.thumb_tray).stop()[animateSyntax]({bottom : -$(vars.thumb_tray).height(), avoidTransforms : true}, 300 );
if ($(vars.tray_arrow).attr('src')) $(vars.tray_arrow).attr("src", vars.image_path + "button-tray-up.png");
return false;
});
// Make thumb tray proper size
$(vars.thumb_list).width($('> li', vars.thumb_list).length * $('> li', vars.thumb_list).outerWidth(true)); //Adjust to true width of thumb markers
// Display total slides
if ($(vars.slide_total).length){
$(vars.slide_total).html(api.options.slides.length);
}
/* Thumbnail Tray Navigation
----------------------------*/
if (api.options.thumb_links){
//Hide thumb arrows if not needed
if ($(vars.thumb_list).width() <= $(vars.thumb_tray).width()){
$(vars.thumb_back +','+vars.thumb_forward).fadeOut(0);
}
// Thumb Intervals
vars.thumb_interval = Math.floor($(vars.thumb_tray).width() / $('> li', vars.thumb_list).outerWidth(true)) * $('> li', vars.thumb_list).outerWidth(true);
vars.thumb_page = 0;
// Cycle thumbs forward
$(vars.thumb_forward).click(function(){
if (vars.thumb_page - vars.thumb_interval <= -$(vars.thumb_list).width()){
vars.thumb_page = 0;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
}else{
vars.thumb_page = vars.thumb_page - vars.thumb_interval;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
}
});
// Cycle thumbs backwards
$(vars.thumb_back).click(function(){
if (vars.thumb_page + vars.thumb_interval > 0){
vars.thumb_page = Math.floor($(vars.thumb_list).width() / vars.thumb_interval) * -vars.thumb_interval;
if ($(vars.thumb_list).width() <= -vars.thumb_page) vars.thumb_page = vars.thumb_page + vars.thumb_interval;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
}else{
vars.thumb_page = vars.thumb_page + vars.thumb_interval;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
}
});
}
if(isTouch || !isMouseDrag){
if($('body').find(".homeSlider #supersized").length > 0){
try{
$(function() {
$('.homeSlider').swipe( {
//Generic swipe handler for all directions
swipe:function(event, direction, distance, duration, fingerCount) {
if(direction === "left"){
api.nextSlide();
}
if(direction === "right"){
api.prevSlide();
}
},
allowPageScroll : "vertical",
//Default is 75px, set to 0 for demo so any distance triggers swipe
threshold: swipeThreshold
});
});
}catch(e){}
}
}
/* Navigation Items
----------------------------*/
$(vars.next_slide).click(function() {
api.nextSlide();
});
$(vars.prev_slide).click(function() {
api.prevSlide();
});
// Full Opacity on Hover
if(jQuery.support.opacity){
$(vars.prev_slide +','+vars.next_slide).mouseover(function() {
$(this).stop()[animateSyntax]({opacity:1},100);
}).mouseout(function(){
$(this).stop()[animateSyntax]({opacity:0.6},100);
});
}
if (api.options.thumbnail_navigation){
// Next thumbnail clicked
$(vars.next_thumb).click(function() {
api.nextSlide();
});
// Previous thumbnail clicked
$(vars.prev_thumb).click(function() {
api.prevSlide();
});
}
$(vars.play_button).click(function() {
api.playToggle();
});
/* Thumbnail Mouse Scrub
----------------------------*/
if (api.options.mouse_scrub){
$(vars.thumb_tray).mousemove(function(e) {
var containerWidth = $(vars.thumb_tray).width(),
listWidth = $(vars.thumb_list).width();
if (listWidth > containerWidth){
var mousePos = 1,
diff = e.pageX - mousePos;
if (diff > 10 || diff < -10) {
mousePos = e.pageX;
newX = (containerWidth - listWidth) * (e.pageX/containerWidth);
diff = parseInt(Math.abs(parseInt($(vars.thumb_list).css('left'))-newX )).toFixed(0);
$(vars.thumb_list).stop()[animateSyntax]({'left':newX}, {duration:diff*3, easing:'easeOutExpo'});
}
}
});
}
/* Window Resize
----------------------------*/
$(window).resize(function(){
// Delay progress bar on resize
if (api.options.progress_bar && !vars.in_animation){
if (vars.slideshow_interval) clearInterval(vars.slideshow_interval);
if (api.options.slides.length - 1 > 0) clearInterval(vars.slideshow_interval);
$(vars.progress_bar).stop().css({left : -$(window).width()});
if (!vars.progressDelay && api.options.slideshow){
// Delay slideshow from resuming so Chrome can refocus images
vars.progressDelay = setTimeout(function() {
if (!vars.is_paused){
theme.progressBar();
vars.slideshow_interval = setInterval(api.nextSlide, api.options.slide_interval);
}
vars.progressDelay = false;
}, 1000);
}
}
$("#play-button").css({"margin-right": - (($(".supersized-nav li:first-child").width() * api.options.slides.length )+40) });
// Thumb Links
if (api.options.thumb_links && vars.thumb_tray.length){
// Update Thumb Interval & Page
vars.thumb_page = 0;
vars.thumb_interval = Math.floor($(vars.thumb_tray).width() / $('> li', vars.thumb_list).outerWidth(true)) * $('> li', vars.thumb_list).outerWidth(true);
// Adjust thumbnail markers
if ($(vars.thumb_list).width() > $(vars.thumb_tray).width()){
$(vars.thumb_back +','+vars.thumb_forward).fadeIn('fast');
$(vars.thumb_list).stop()[animateSyntax]({'left':0}, 200);
}else{
$(vars.thumb_back +','+vars.thumb_forward).fadeOut('fast');
}
}
});
},
/* Go To Slide
----------------------------*/
goTo : function(){
if (api.options.progress_bar && !vars.is_paused){
$(vars.progress_bar).stop().css({left : -$(window).width()});
theme.progressBar();
}
},
/* Play & Pause Toggle
----------------------------*/
playToggle : function(state){
var iimg = !retinaDevice ? "play.png" : "play@2x.png";
var iimg2 = !retinaDevice ? "pause.png" : "pause@2x.png";
if (state =='play'){
// If image, swap to pause
if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + iimg2);
if (api.options.progress_bar && !vars.is_paused) theme.progressBar();
}else if (state == 'pause'){
// If image, swap to play
if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + iimg);
if (api.options.progress_bar && vars.is_paused)$(vars.progress_bar).stop().css({left : -$(window).width()});
}
},
sliderAnimateEngine : function(anim, _obj, _sca, _reset){
var self = this;
if(!api.options.kenburn){ return; }
if(_obj){ _obj.parent().data("cMc", _obj); }
if(!cssAnimate || lowResDesktop || isTouch){ return; }
if(!_reset){
var _sp_s = _obj.data("v_sca") ? _obj.data("v_sca") : 1;
var incre_s = $.browser.mozilla ? ((_sca >= 1.01) ? .0025 : -.0025) : ((_sca >= 1.01) ? .0005 : -.0005);
clearInterval(self.scaDrg);
if(anim){
self.scaDrg = setInterval( function(){
_sp_s += incre_s;
try { _sp_s = Number(_sp_s.toFixed(4)); }catch(e){}
if(_sca > _sp_s-.001 && _sca < _sp_s+.001){
_sp_s = _sca;
clearInterval(self.scaDrg);
}
_obj.css({ '-webkit-transform' : 'scale('+_sp_s+')',
'-moz-transform' : 'scale('+_sp_s+')',
'-ms-transform' : 'scale('+_sp_s+')',
'-o-transform' : 'scale('+_sp_s+')',
'transform' : 'scale('+_sp_s+')'
});
_obj.data("v_sca", _sp_s);
}, 10);
}else{
_obj.css({ '-webkit-transform' : 'scale('+_sca+')',
'-moz-transform' : 'scale('+_sca+')',
'-ms-transform' : 'scale('+_sca+')',
'-o-transform' : 'scale('+_sca+')',
'transform' : 'scale('+_sca+')'
});
_obj.data("v_sca", _sca);
clearInterval(self.scaDrg);
}
}else{
_sp_s = 1;
if($("#supersized").data("cMc") !== undefined){
$("#supersized").data("cMc").css({ '-webkit-transform' : 'scale('+_sp_s+')',
'-moz-transform' : 'scale('+_sp_s+')',
'-ms-transform' : 'scale('+_sp_s+')',
'-o-transform' : 'scale('+_sp_s+')',
'transform' : 'scale('+_sp_s+')'
});
$("#supersized").data("cMc").data("v_sca", _sca);
}
clearInterval(self.scaDrg);
}
},
/* Before Slide Transition
----------------------------*/
beforeAnimation : function(direction){
// $("#supersized li.prevslide").css({"visibility":"visible", "display":"block"});
// $("#supersized li.activeslide").css({"visibility":"visible", "display":"block"});
if (api.options.progress_bar && !vars.is_paused) $(vars.progress_bar).stop().css({left : -$(window).width()});
/* Update Fields
----------------------------*/
// Update slide caption
if ($(vars.slide_caption).length){
(api.getField('title')) ? $(vars.slide_caption).html(api.getField('title')) : $(vars.slide_caption).html('');
}
// Update slide number
if (vars.slide_current.length){
$(vars.slide_current).html(vars.current_slide + 1);
}
// Highlight current thumbnail and adjust row position
if (api.options.thumb_links){
$('.current-thumb').removeClass('current-thumb');
$('li', vars.thumb_list).eq(vars.current_slide).addClass('current-thumb');
// If thumb out of view
if ($(vars.thumb_list).width() > $(vars.thumb_tray).width()){
// If next slide direction
if (direction == 'next'){
if (vars.current_slide == 0){
vars.thumb_page = 0;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
} else if ($('.current-thumb').offset().left - $(vars.thumb_tray).offset().left >= vars.thumb_interval){
vars.thumb_page = vars.thumb_page - vars.thumb_interval;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
}
// If previous slide direction
}else if(direction == 'prev'){
if (vars.current_slide == api.options.slides.length - 1){
vars.thumb_page = Math.floor($(vars.thumb_list).width() / vars.thumb_interval) * -vars.thumb_interval;
if ($(vars.thumb_list).width() <= -vars.thumb_page) vars.thumb_page = vars.thumb_page + vars.thumb_interval;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
} else if ($('.current-thumb').offset().left - $(vars.thumb_tray).offset().left < 0){
if (vars.thumb_page + vars.thumb_interval > 0) return false;
vars.thumb_page = vars.thumb_page + vars.thumb_interval;
$(vars.thumb_list).stop()[animateSyntax]({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
}
}
}
}
//$.supersized.vars.slide_list
for(var kk=0; kk< api.options.slides.length; kk++){
if(cssAnimate){
$(api.options.slides[kk].main_title).removeClass("show_title").addClass("hide_title");
}else{
$(api.options.slides[kk].main_title).fadeOut();
}
}
if(api.options.kenburn){
for(var kk3=0; kk3< api.options.slides.length; kk3++){
if( api.options.slides[kk3].zoomIn !== "" && kk3 === vars.current_slide ){
var zoomInVal = api.options.slides[kk3].zoomIn === "no" ? api.options.kenburnZoomValue : 1;
theme.sliderAnimateEngine(false, $("#supersized li").eq(kk3), zoomInVal, false);
}
}
}
if(!superSliderLoad){
for(var kk2=0; kk2< api.options.slides.length; kk2++){
if(!cssAnimate){
$(api.options.slides[kk2].main_title).removeClass("hide_title").hide();
}
}
if(cssAnimate){
$(api.options.slides[vars.current_slide].main_title).removeClass("hide_title").addClass("show_title");
}else{
$(api.options.slides[vars.current_slide].main_title).fadeIn();
}
if(api.options.kenburn){
if( api.options.slides[vars.current_slide].zoomIn !== ""){
var zoomOutVal = api.options.slides[vars.current_slide].zoomIn === "no" ? 1 : api.options.kenburnZoomValue;
theme.sliderAnimateEngine(true, $("#supersized li").eq(vars.current_slide), zoomOutVal, false );
}
}
$("#play-button").css({"margin-right": - (($(".supersized-nav li:first-child").width() * api.options.slides.length )+40) });
}
superSliderLoad = true;
$(".supersized-nav li").find("a").removeClass("active");
$(".supersized-nav li").eq(vars.current_slide).find("a").addClass("active");
$(".supersized-thumbnails li").removeClass("active");
$(".supersized-thumbnails li").eq(vars.current_slide).addClass("active");
},
/* After Slide Transition
----------------------------*/
afterAnimation : function(){
self = $(this);
clearInterval(self.posDrg);
if(cssAnimate){
$(api.options.slides[vars.current_slide].main_title).removeClass("hide_title").addClass("show_title");
}else{
$(api.options.slides[vars.current_slide].main_title).fadeIn();
}
if (api.options.progress_bar && !vars.is_paused) theme.progressBar(); // Start progress bar
// $("#supersized li").css({"visibility":"hidden", "display":"none"});
// $("#supersized li").css({"visibility":"hidden", "display":"none"});
// $("#supersized li.activeslide").css({"visibility":"visible", "display":"block"});
if(api.options.kenburn){
for(var kk2=0; kk2< api.options.slides.length; kk2++){
if( api.options.slides[kk2].zoomIn !== "none" && kk2 !== vars.current_slide){
theme.sliderAnimateEngine(false, $("#supersized li").eq(kk2), 1, false );
}
}
if( api.options.slides[vars.current_slide].zoomIn !== ""){
var zoomOutVal = api.options.slides[vars.current_slide].zoomIn === "no" ? 1 : api.options.kenburnZoomValue;
theme.sliderAnimateEngine(true, $("#supersized li").eq(vars.current_slide), zoomOutVal, false );
}
}
},
/* Progress Bar
----------------------------*/
progressBar : function(){
$(vars.progress_bar).stop().css({left : -$(window).width()})[animateSyntax]({ left:0 }, api.options.slide_interval);
},
/* Progress Bar
----------------------------*/
min_thumb : function(){
}
};
/* Theme Specific Variables
----------------------------*/
$.supersized.themeVars = {
// Internal Variables
progress_delay : false, // Delay after resize before resuming slideshow
thumb_page : false, // Thumbnail page
thumb_interval : false, // Thumbnail interval
image_path : 'images/supersized/', // Default image path
// General Elements
play_button : '#pauseplay', // Play/Pause button
next_slide : '#nextslide', // Next slide button
prev_slide : '#prevslide', // Prev slide button
next_thumb : '#nextthumb', // Next slide thumb button
prev_thumb : '#prevthumb', // Prev slide thumb button
slide_caption : '#slidecaption', // Slide caption
slide_current : '.slidenumber', // Current slide number
slide_total : '.totalslides', // Total Slides
slide_list : '#slide-list', // Slide jump list
thumb_tray : '#thumb-tray', // Thumbnail tray
thumb_list : '#thumb-list', // Thumbnail list
thumb_forward : '#thumb-forward', // Cycles forward through thumbnail list
thumb_back : '#thumb-back', // Cycles backwards through thumbnail list
tray_arrow : '#tray-arrow', // Thumbnail tray button arrow
tray_button : '#tray-button', // Thumbnail tray button
progress_bar : '#progress-bar' // Progress bar
};
/* Theme Specific Options
----------------------------*/
$.supersized.themeOptions = {
progress_bar : 1, // Timer for each slide
mouse_scrub : 0 // Thumbnails move with mouse
};
})(jQuery);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists