/**************************************************************************
* jquery.themepunch.revolution.js - jQuery Plugin for kenburn Slider
* @version: 2.0 (20.06.2012)
* @requires jQuery v1.2.2 or later
* @author Krisztian Horvath
**************************************************************************/
(function ($, undefined) {
////////////////////////////
// THE PLUGIN STARTS HERE //
////////////////////////////
$.fn.extend({
// OUR PLUGIN HERE :)
revolution: function (options) {
////////////////////////////////
// SET DEFAULT VALUES OF ITEM //
////////////////////////////////
var defaults = {
delay: 9000,
startheight: 490,
startwidth: 890,
hideThumbs: 200,
thumbWidth: 100, // Thumb With and Height and Amount (only if navigation Tyope set to thumb !)
thumbHeight: 50,
thumbAmount: 5,
navigationType: "both", //bullet, thumb, none, both (No Thumbs In FullWidth Version !)
navigationArrows: "nexttobullets", //nexttobullets, verticalcentered, none
navigationStyle: "square", //round,square,navbar
touchenabled: "on", // Enable Swipe Function : on/off
onHoverStop: "on", // Stop Banner Timet at Hover on Slide on/off
navOffsetHorizontal: 0,
navOffsetVertical: 20,
shadow: 1
};
options = $.extend({}, $.fn.revolution.defaults, options);
return this.each(function () {
var opt = options;
// CREATE SOME DEFAULT OPTIONS FOR LATER
opt.slots = 4;
opt.act = -1;
opt.next = 0;
opt.origcd = opt.delay;
// CHECK IF FIREFOX 13 IS ON WAY.. IT HAS A STRANGE BUG, CSS ANIMATE SHOULD NOT BE USED
opt.firefox13 = ($.browser.mozilla && parseInt($.browser.version, 0) == 13);
// BASIC OFFSET POSITIONS OF THE BULLETS
if (opt.navOffsetHorizontal == undefined) opt.navOffsetHorizontal = 0;
if (opt.navOffsetVertical == undefined) opt.navOffsetVertical = 0;
// SHORTWAY USAGE OF OFFSETS
opt.navOH = opt.navOffsetHorizontal;
opt.navOV = opt.navOffsetVertical;
// CATCH THE CONTAINER
var container = $(this);
container.append('
');
// RESET THE TIMER
var bt = container.find('.tp-bannertimer');
if (bt.length > 0) {
bt.css({ 'width': '0%' });
};
// WE NEED TO ADD A BASIC CLASS FOR SETTINGS.CSS
container.addClass("tp-simpleresponsive");
opt.container = container;
// AMOUNT OF THE SLIDES
opt.slideamount = container.find('ul:first li').length;
// A BASIC GRID MUST BE DEFINED. IF NO DEFAULT GRID EXIST THAN WE NEED A DEFAULT VALUE, ACTUAL SIZE OF CONAINER
if (opt.startwidth == undefined || opt.startwidth == 0) opt.startwidth = container.width();
if (opt.startheight == undefined || opt.startheight == 0) opt.startheight = container.height();
// OPT WIDTH && HEIGHT SHOULD BE SET
opt.width = container.width();
opt.height = container.height();
// DEFAULT DEPENDECIES
opt.bw = opt.startwidth / container.width();
opt.bh = opt.startheight / container.height();
// IF THE ITEM ALREADY IN A RESIZED FORM
if (opt.width != opt.startwidth) {
opt.height = Math.round(opt.startheight * (opt.width / opt.startwidth));
container.height(opt.height);
}
// LETS SEE IF THERE IS ANY SHADOW
if (opt.shadow != 0) {
container.parent().append('');
container.parent().find('.tp-bannershadow').css({ 'width': opt.width });
}
// IF IMAGES HAS BEEN LOADED
container.waitForImages(function () {
// PREPARE THE SLIDES
prepareSlides(container, opt);
// CREATE BULLETS
createBullets(container, opt);
createThumbs(container, opt);
createArrows(container, opt);
swipeAction(container, opt);
if (opt.hideThumbs > 0) hideThumbs(container, opt);
container.waitForImages(function () {
// START THE FIRST SLIDE
container.find('.tp-loader').fadeOut(400);
setTimeout(function () {
swapSlide(container, opt);
// START COUNTDOWN
countDown(container, opt);
}, 1000);
});
});
// IF RESIZED, NEED TO STOP ACTUAL TRANSITION AND RESIZE ACTUAL IMAGES
$(window).resize(function () {
if (container.outerWidth(true) != opt.width) {
containerResized(container, opt);
}
});
})
}
})
//////////////////////////
// CONTAINER RESIZED //
/////////////////////////
function containerResized(container, opt) {
container.find('.defaultimg').each(function (i) {
setSize($(this), opt);
opt.height = Math.round(opt.startheight * (opt.width / opt.startwidth));
container.height(opt.height);
setSize($(this), opt);
try {
container.parent().find('.tp-bannershadow').css({ 'width': opt.width });
} catch (e) { }
var actsh = container.find('li:eq(' + opt.act + ') .slotholder');
var nextsh = container.find('li:eq(' + opt.next + ') .slotholder');
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 0 });
actsh.find('.defaultimg').css({ 'opacity': 1 });
setCaptionPositions(container, opt);
var nextli = container.find('li:eq(' + opt.next + ')');
container.find('.caption').each(function () { $(this).stop(true, true); });
animateTheCaptions(nextli, opt);
restartBannerTimer(opt, container);
});
}
////////////////////////////////
// RESTART THE BANNER TIMER //
//////////////////////////////
function restartBannerTimer(opt, container) {
opt.cd = 0;
var bt = container.find('.tp-bannertimer');
if (bt.length > 0) {
bt.stop();
bt.css({ 'width': '0%' });
bt.animate({ 'width': "100%" }, { duration: (opt.delay - 100), queue: false, easing: "linear" });
}
clearTimeout(opt.thumbtimer);
opt.thumbtimer = setTimeout(function () {
moveSelectedThumb(container);
setBulPos(container, opt);
}, 200);
}
function callingNewSlide(opt, container) {
opt.cd = 0;
swapSlide(container, opt);
// STOP TIMER AND RESCALE IT
var bt = container.find('.tp-bannertimer');
if (bt.length > 0) {
bt.stop();
bt.css({ 'width': '0%' });
bt.animate({ 'width': "100%" }, { duration: (opt.delay - 100), queue: false, easing: "linear" });
}
}
////////////////////////////////
// - CREATE THE BULLETS - //
////////////////////////////////
function createThumbs(container, opt) {
var cap = container.parent();
if (opt.navigationType == "thumb" || opt.navsecond == "both") {
cap.append('');
}
var bullets = cap.find('.tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer');
var bup = bullets.parent();
bup.width(opt.thumbWidth * opt.thumbAmount);
bup.height(opt.thumbHeight);
bup.parent().width(opt.thumbWidth * opt.thumbAmount);
bup.parent().height(opt.thumbHeight);
container.find('ul:first li').each(function (i) {
var li = container.find("ul:first li:eq(" + i + ")");
if (li.data('thumb') != undefined)
var src = li.data('thumb')
else
var src = li.find("img:first").attr('src');
bullets.append('
');
var bullet = bullets.find('.bullet:first');
});
bullets.append('');
var minwidth = 1000;
// ADD THE BULLET CLICK FUNCTION HERE
bullets.find('.bullet').each(function (i) {
var bul = $(this);
if (i == opt.slideamount - 1) bul.addClass('last');
if (i == 0) bul.addClass('first');
bul.width(opt.thumbWidth);
bul.height(opt.thumbHeight);
if (minwidth > bul.outerWidth(true)) minwidth = bul.outerWidth(true);
bul.click(function () {
if (opt.transition == 0 && bul.index() != opt.act) {
opt.next = bul.index();
callingNewSlide(opt, container);
}
});
});
var max = minwidth * container.find('ul:first li').length;
var thumbconwidth = bullets.parent().width();
opt.thumbWidth = minwidth;
////////////////////////
// SLIDE TO POSITION //
////////////////////////
if (thumbconwidth < max) {
$(document).mousemove(function (e) {
$('body').data('mousex', e.pageX);
});
// ON MOUSE MOVE ON THE THUMBNAILS EVERYTHING SHOULD MOVE :)
bullets.parent().mouseenter(function () {
var $this = $(this);
$this.addClass("over");
var offset = $this.offset();
var x = $('body').data('mousex') - offset.left;
var thumbconwidth = $this.width();
var minwidth = $this.find('.bullet:first').outerWidth(true);
var max = minwidth * container.find('ul:first li').length;
var diff = (max - thumbconwidth) + 15;
var steps = diff / thumbconwidth;
x = x - 30;
//if (x<30) x=0;
//if (x>thumbconwidth-30) x=thumbconwidth;
//ANIMATE TO POSITION
var pos = (0 - ((x) * steps));
if (pos > 0) pos = 0;
if (pos < 0 - max + thumbconwidth) pos = 0 - max + thumbconwidth;
moveThumbSliderToPosition($this, pos, 200);
});
bullets.parent().mousemove(function () {
var $this = $(this);
//if (!$this.hasClass("over")) {
var offset = $this.offset();
var x = $('body').data('mousex') - offset.left;
var thumbconwidth = $this.width();
var minwidth = $this.find('.bullet:first').outerWidth(true);
var max = minwidth * container.find('ul:first li').length;
var diff = (max - thumbconwidth) + 15;
var steps = diff / thumbconwidth;
x = x - 30;
//if (x<30) x=0;
//if (x>thumbconwidth-30) x=thumbconwidth;
//ANIMATE TO POSITION
var pos = (0 - ((x) * steps));
if (pos > 0) pos = 0;
if (pos < 0 - max + thumbconwidth) pos = 0 - max + thumbconwidth;
moveThumbSliderToPosition($this, pos, 0);
//} else {
//$this.removeClass("over");
//}
});
bullets.parent().mouseleave(function () {
var $this = $(this);
$this.removeClass("over");
moveSelectedThumb(container);
});
}
}
///////////////////////////////
// SelectedThumbInPosition //
//////////////////////////////
function moveSelectedThumb(container) {
var bullets = container.parent().find('.tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer');
var $this = bullets.parent();
var offset = $this.offset();
var minwidth = $this.find('.bullet:first').outerWidth(true);
var x = $this.find('.bullet.selected').index() * minwidth;
var thumbconwidth = $this.width();
var minwidth = $this.find('.bullet:first').outerWidth(true);
var max = minwidth * container.find('ul:first li').length;
var diff = (max - thumbconwidth);
var steps = diff / thumbconwidth;
//ANIMATE TO POSITION
var pos = 0 - x;
if (pos > 0) pos = 0;
if (pos < 0 - max + thumbconwidth) pos = 0 - max + thumbconwidth;
if (!$this.hasClass("over")) {
moveThumbSliderToPosition($this, pos, 200);
}
}
////////////////////////////////////
// MOVE THUMB SLIDER TO POSITION //
///////////////////////////////////
function moveThumbSliderToPosition($this, pos, speed) {
$this.stop();
$this.find('.tp-thumbcontainer').animate({ 'left': pos + 'px' }, { duration: speed, queue: false });
}
////////////////////////////////
// - CREATE THE BULLETS - //
////////////////////////////////
function createBullets(container, opt) {
if (opt.navigationType == "bullet" || opt.navigationType == "both") {
container.parent().append('');
}
var bullets = container.parent().find('.tp-bullets');
container.find('ul:first li').each(function (i) {
var src = container.find("ul:first li:eq(" + i + ") img:first").attr('src');
bullets.append('');
var bullet = bullets.find('.bullet:first');
});
// ADD THE BULLET CLICK FUNCTION HERE
bullets.find('.bullet').each(function (i) {
var bul = $(this);
if (i == opt.slideamount - 1) bul.addClass('last');
if (i == 0) bul.addClass('first');
bul.click(function () {
if (opt.transition == 0 && bul.index() != opt.act) {
opt.next = bul.index();
callingNewSlide(opt, container);
}
});
});
bullets.append('');
setBulPos(container, opt);
$('#unvisible_button').click(function () {
opt.navigationArrows = $('.select_navarrows .selected').data('value');
opt.navigationType = $('.select_navigationtype .selected').data('value');
opt.hideThumbs = $('.select_navshow .selected').data('value');
container.data('hidethumbs', opt.hideThumbs);
var bhd = $('.select_bhposition .dragger');
opt.navOffsetHorizontal = Math.round(((bhd.data('max') - bhd.data('min')) * (bhd.position().left / 410)) + bhd.data('min'));
var bvd = $('.select_bvposition .dragger');
opt.navOffsetVertical = Math.round(((bvd.data('max') - bvd.data('min')) * (bvd.position().left / 410)) + bvd.data('min'));
var btr = $('.select_slidetime .dragger');
opt.delay2 = Math.round((((btr.data('max') - btr.data('min')) * (btr.position().left / 410)) + btr.data('min')) * 1000);
if (opt.delay2 != opt.delay) {
opt.delay = opt.delay2;
opt.origcd = opt.delay;
opt.cd = 0;
var bt = container.find('.tp-bannertimer');
if (bt.length > 0) {
bt.stop();
bt.css({ 'width': '0%' });
bt.animate({ 'width': "100%" }, { duration: (opt.delay - 100), queue: false, easing: "linear" });
}
}
opt.onHoverStop = $('.select_hovers .selected').data('value');
setBulPos(container, opt);
setTimeout(function () {
setBulPos(container, opt);
}, 100);
});
}
//////////////////////
// CREATE ARROWS //
/////////////////////
function createArrows(container, opt) {
var bullets = container.find('.tp-bullets');
if (opt.navigationArrow != "none") container.parent().append('');
if (opt.navigationArrow != "none") container.parent().append('');
// THE LEFT / RIGHT BUTTON CLICK ! //
container.parent().find('.tp-rightarrow').click(function () {
if (opt.transition == 0) {
opt.next = opt.next + 1;
if (opt.next == opt.slideamount) opt.next = 0;
callingNewSlide(opt, container);
}
});
container.parent().find('.tp-leftarrow').click(function () {
if (opt.transition == 0) {
opt.next = opt.next - 1;
if (opt.next < 0) opt.next = opt.slideamount - 1;
callingNewSlide(opt, container);
}
});
setBulPos(container, opt);
}
////////////////////////////
// SET THE SWIPE FUNCTION //
////////////////////////////
function swipeAction(container, opt) {
// TOUCH ENABLED SCROLL
if (opt.touchenabled == "on")
container.swipe({ data: container,
swipeRight: function () {
if (opt.transition == 0) {
opt.next = opt.next - 1;
if (opt.next < 0) opt.next = opt.slideamount - 1;
callingNewSlide(opt, container);
}
},
swipeLeft: function () {
if (opt.transition == 0) {
opt.next = opt.next + 1;
if (opt.next == opt.slideamount) opt.next = 0;
callingNewSlide(opt, container);
}
},
allowPageScroll: "auto"
});
}
////////////////////////////////////////////////////////////////
// SHOW AND HIDE THE THUMBS IF MOUE GOES OUT OF THE BANNER ///
//////////////////////////////////////////////////////////////
function hideThumbs(container, opt) {
var bullets = container.parent().find('.tp-bullets');
var ca = container.parent().find('.tparrows');
if (bullets == null) {
container.append('');
var bullets = container.parent().find('.tp-bullets');
}
if (ca == null) {
container.append('');
var ca = container.parent().find('.tparrows');
}
//var bp = (thumbs.parent().outerHeight(true) - opt.height)/2;
// ADD THUMBNAIL IMAGES FOR THE BULLETS //
container.data('hidethumbs', opt.hideThumbs);
try { bullets.css({ 'opacity': 0 }); } catch (e) { }
try { ca.css({ 'opacity': 0 }); } catch (e) { }
bullets.hover(function () {
bullets.addClass("hovered");
clearTimeout(container.data('hidethumbs'));
bullets.cssAnimate({ 'opacity': 1 }, { duration: 200, queue: false });
ca.animate({ 'opacity': 1 }, { duration: 200, queue: false });
},
function () {
bullets.removeClass("hovered");
if (!container.hasClass("hovered") && !bullets.hasClass("hovered"))
container.data('hidethumbs', setTimeout(function () {
bullets.cssAnimate({ 'opacity': 0 }, { duration: 200, queue: false });
ca.animate({ 'opacity': 0 }, { duration: 200, queue: false });
}, opt.hideThumbs));
});
ca.hover(function () {
bullets.addClass("hovered");
clearTimeout(container.data('hidethumbs'));
bullets.cssAnimate({ 'opacity': 1 }, { duration: 200, queue: false });
ca.animate({ 'opacity': 1 }, { duration: 200, queue: false });
},
function () {
bullets.removeClass("hovered");
if (!container.hasClass("hovered") && !bullets.hasClass("hovered"))
container.data('hidethumbs', setTimeout(function () {
bullets.cssAnimate({ 'opacity': 0 }, { duration: 200, queue: false });
ca.animate({ 'opacity': 0 }, { duration: 200, queue: false });
}, opt.hideThumbs));
});
container.live('mouseenter', function () {
container.addClass("hovered");
clearTimeout(container.data('hidethumbs'));
bullets.cssAnimate({ 'opacity': 1 }, { duration: 200, queue: false });
ca.animate({ 'opacity': 1 }, { duration: 200, queue: false });
});
container.live('mouseleave', function () {
container.removeClass("hovered");
if (!container.hasClass("hovered") && !bullets.hasClass("hovered"))
container.data('hidethumbs', setTimeout(function () {
bullets.cssAnimate({ 'opacity': 0 }, { duration: 200, queue: false });
ca.animate({ 'opacity': 0 }, { duration: 200, queue: false });
}, opt.hideThumbs));
});
}
//////////////////////////////
// SET POSITION OF BULLETS //
//////////////////////////////
function setBulPos(container, opt) {
/* FOR THE PREVIEW WE NEED TO HANDLE IF BOTH NAVIGATION IS LOADED */
if (opt.navigationType == "both") {
opt.navigationType = "bullet";
opt.navsecond = "both";
}
if (opt.navigationType == "none" && opt.navigationArrows != "none") opt.navigationArrows = "verticalcentered";
opt.navOH = opt.navOffsetHorizontal * opt.bw;
opt.navOV = opt.navOffsetVertical * opt.bh;
if (opt.bw != 1) opt.navOH = 0;
// SOME HELP
var cap = container.parent();
var la = cap.find('.tp-leftarrow');
var ra = cap.find('.tp-rightarrow');
//////////////////////////////////////
// THE BULLET NAVIGATION POSITIONS //
/////////////////////////////////////
if (opt.navigationType == "bullet") {
var bullets = cap.find('.tp-bullets.simplebullets');
bullets.css({ 'visibility': 'visible' });
try { cap.find('.tp-thumbs').css({ 'visibility': 'hidden' }); } catch (e) { }
var fulllong = bullets.width();
if (!bullets.hasClass("tp-thumbs")) {
fulllong = 0;
bullets.find('.bullet').each(function () { fulllong = fulllong + $(this).outerWidth(true); });
bullets.css({ 'width': (fulllong) + "px" });
}
var ldiff = cap.outerWidth() - opt.width;
bullets.css({ 'left': (opt.navOH) + (ldiff / 2) + (opt.width / 2 - fulllong / 2) + "px", 'bottom': opt.navOV + "px" });
if (opt.navigationArrows == "nexttobullets") {
la.removeClass("large");
ra.removeClass("large");
la.removeClass("thumbswitharrow");
ra.removeClass("thumbswitharrow");
la.css({ 'visibility': 'visible' });
ra.css({ 'visibility': 'visible' });
var diff = 0;
la.css({ 'position': 'absolute', 'left': (bullets.position().left - la.outerWidth(true)) + "px",
'top': bullets.position().top + "px"
});
ra.css({ 'position': 'absolute', 'left': (bullets.outerWidth(true) + bullets.position().left) + "px",
'top': bullets.position().top + "px"
});
} else {
if (opt.navigationArrows == "verticalcentered") {
la.addClass("large");
ra.addClass("large");
la.css({ 'visibility': 'visible' });
ra.css({ 'visibility': 'visible' });
var decorh = cap.outerHeight();
la.css({ 'position': 'absolute', 'left': (ldiff / 2) + "px", 'top': (decorh / 2) + "px" });
ra.css({ 'position': 'absolute', 'left': (opt.width - ra.outerWidth() + ldiff / 2) + "px", 'top': (decorh / 2) + "px" });
} else {
la.css({ 'visibility': 'hidden' });
ra.css({ 'visibility': 'hidden' });
}
}
} else {
//////////////////////////////////////
// THE THUMBS NAVIGATION POSITIONS //
/////////////////////////////////////
if (opt.navigationType == "thumb") {
var thumbs = cap.find('.tp-thumbs');
try { cap.find('.tp-bullets').css({ 'visibility': 'hidden' }); } catch (e) { }
thumbs.css({ 'visibility': 'visible' });
var decorh = thumbs.parent().outerHeight();
var ldiff = cap.outerWidth() - opt.width;
thumbs.css({ 'left': (opt.navOH) + (opt.width / 2 - thumbs.width() / 2) + "px" });
thumbs.css({ 'bottom': (0 - thumbs.outerHeight(true) + (opt.navOV)) + "px" });
if (opt.navigationArrows == "verticalcentered") {
la.css({ 'visibility': 'visible' });
ra.css({ 'visibility': 'visible' });
la.addClass("large");
ra.addClass("large");
la.css({ 'position': 'absolute', 'left': (ldiff / 2) + "px", 'top': (cap.outerHeight() / 2) + "px" });
ra.css({ 'position': 'absolute', 'left': (opt.width - ra.outerWidth() + ldiff / 2) + "px", 'top': (cap.outerHeight() / 2) + "px" });
} else {
la.css({ 'visibility': 'hidden' });
ra.css({ 'visibility': 'hidden' });
}
} else {
if (opt.navigationType == "none") {
try { cap.find('.tp-bullets').css({ 'visibility': 'hidden' }); } catch (e) { }
try { cap.find('.tp-thumbs').css({ 'visibility': 'hidden' }); } catch (e) { }
if (opt.navigationArrows != "none") {
var ldiff = cap.outerWidth() - opt.width;
la.css({ 'visibility': 'visible' });
ra.css({ 'visibility': 'visible' });
la.addClass("large");
ra.addClass("large");
la.css({ 'position': 'absolute', 'left': (ldiff / 2) + "px", 'top': (cap.outerHeight() / 2) + "px" });
ra.css({ 'position': 'absolute', 'left': (opt.width - ra.outerWidth() + ldiff / 2) + "px", 'top': (cap.outerHeight() / 2) + "px" });
} else {
la.css({ 'visibility': 'hidden' });
ra.css({ 'visibility': 'hidden' });
}
}
}
}
}
//////////////////////////////////////////////////////////
// - SET THE IMAGE SIZE TO FIT INTO THE CONTIANER - //
////////////////////////////////////////////////////////
function setSize(img, opt) {
opt.width = parseInt(opt.container.width(), 0);
opt.height = parseInt(opt.container.height(), 0);
opt.bw = opt.width / opt.startwidth;
opt.bh = opt.height / opt.startheight;
if (opt.bh > 1) {
opt.bw = 1;
opt.bh = 1;
}
// IF IMG IS ALREADY PREPARED, WE RESET THE SIZE FIRST HERE
if (img.data('orgw') != undefined) {
img.width(img.data('orgw'));
img.height(img.data('orgh'));
}
var fw = opt.width / img.width();
var fh = opt.height / img.height();
opt.fw = fw;
opt.fh = fh;
if (img.data('orgw') == undefined) {
img.data('orgw', img.width());
img.data('orgh', img.height());
}
if (opt.fullWidth == "on") {
var cow = opt.container.parent().width();
var coh = opt.container.parent().height();
var ffh = coh / img.data('orgh');
var ffw = cow / img.data('orgw');
img.width(img.width() * ffh);
img.height(coh);
if (img.width() < cow) {
img.width(cow + 50);
var ffw = img.width() / img.data('orgw');
img.height(img.data('orgh') * ffw);
}
if (img.width() > cow) {
img.data("fxof", (cow / 2 - img.width() / 2));
img.css({ 'position': 'absolute', 'left': img.data('fxof') + "px" });
}
} else {
img.width(opt.width);
img.height(img.height() * fw);
if (img.height() < opt.height && img.height() != 0 && img.height() != null) {
img.height(opt.height);
img.width(img.data('orgw') * fh);
}
}
img.data('neww', img.width());
img.data('newh', img.height());
if (opt.fullWidth == "on") {
opt.slotw = Math.ceil(img.width() / opt.slots);
} else {
opt.slotw = Math.ceil(opt.width / opt.slots);
}
opt.sloth = Math.ceil(opt.height / opt.slots);
}
/////////////////////////////////////////
// - PREPARE THE SLIDES / SLOTS - //
///////////////////////////////////////
function prepareSlides(container, opt) {
container.find('.caption').each(function () { $(this).addClass($(this).data('transition')); $(this).addClass('start') });
container.find('ul:first >li').each(function (j) {
var li = $(this);
if (li.data('link') != undefined) {
var link = li.data('link');
li.append('');
}
});
container.find('ul:first li >img').each(function (j) {
var img = $(this);
img.addClass('defaultimg');
setSize(img, opt);
img.wrap('');
img.css({ 'opacity': 0 });
img.data('li-id', j);
});
}
///////////////////////
// PREPARE THE SLIDE //
//////////////////////
function prepareOneSlide(slotholder, opt, visible) {
var sh = slotholder;
var img = sh.find('img')
setSize(img, opt)
var src = img.attr('src');
var w = img.data('neww');
var h = img.data('newh');
var fulloff = img.data("fxof");
if (fulloff == undefined) fulloff = 0;
var off = 0;
if (!visible)
var off = 0 - opt.slotw;
for (var i = 0; i < opt.slots; i++)
sh.append('');
if ($('.cover-sld').length > 0) {
$('.cover-sld').css(
'width', opt.slotw + 'px'
);
$('.cover-sld').css(
'height', h + 'px'
);
}
}
///////////////////////
// PREPARE THE SLIDE //
//////////////////////
function prepareOneSlideV(slotholder, opt, visible) {
var sh = slotholder;
var img = sh.find('img')
setSize(img, opt)
var src = img.attr('src');
var w = img.data('neww');
var h = img.data('newh');
var fulloff = img.data("fxof");
if (fulloff == undefined) fulloff = 0;
var off = 0;
if (!visible)
var off = 0 - opt.sloth;
for (var i = 0; i < opt.slots; i++)
sh.append('');
}
///////////////////////
// PREPARE THE SLIDE //
//////////////////////
function prepareOneSlideBox(slotholder, opt, visible) {
var sh = slotholder;
var img = sh.find('img')
setSize(img, opt)
var src = img.attr('src');
var w = img.data('neww');
var h = img.data('newh');
var fulloff = img.data("fxof");
if (fulloff == undefined) fulloff = 0;
var off = 0;
// SET THE MINIMAL SIZE OF A BOX
var basicsize = 0;
if (opt.sloth > opt.slotw)
basicsize = opt.sloth
else
basicsize = opt.slotw;
if (!visible) {
var off = 0 - basicsize;
}
opt.slotw = basicsize;
opt.sloth = basicsize;
var x = 0;
var y = 0;
for (var j = 0; j < opt.slots; j++) {
y = 0;
for (var i = 0; i < opt.slots; i++) {
sh.append('' +
'
' +
'
![]()
');
y = y + basicsize;
}
x = x + basicsize;
}
}
///////////////////////
// REMOVE SLOTS //
/////////////////////
function removeSlots(container) {
container.find('.slotholder .slot').each(function () {
clearTimeout($(this).data('tout'));
$(this).remove();
});
}
////////////////////////
// CAPTION POSITION //
///////////////////////
function setCaptionPositions(container, opt) {
// FIND THE RIGHT CAPTIONS
var actli = container.find('li:eq(' + opt.act + ')');
var nextli = container.find('li:eq(' + opt.next + ')');
// SET THE NEXT CAPTION AND REMOVE THE LAST CAPTION
var nextcaption = nextli.find('.caption');
if (nextcaption.find('iframe') == 0) {
// MOVE THE CAPTIONS TO THE RIGHT POSITION
if (nextcaption.hasClass('hcenter'))
nextcaption.css({ 'height': opt.height + "px", 'top': '0px', 'left': (opt.width / 2 - nextcaption.outerWidth() / 2) + 'px' });
else
if (nextcaption.hasClass('vcenter'))
nextcaption.css({ 'width': opt.width + "px", 'left': '0px', 'top': (opt.height / 2 - nextcaption.outerHeight() / 2) + 'px' });
}
}
//////////////////////////////
// //
// - SWAP THE SLIDES - //
// //
////////////////////////////
function swapSlide(container, opt) {
opt.transition = 1;
var actli = container.find('li:eq(' + opt.act + ')');
var nextli = container.find('li:eq(' + opt.next + ')');
var actsh = actli.find('.slotholder');
var nextsh = nextli.find('.slotholder');
actli.css({ 'visibility': 'visible' });
nextli.css({ 'visibility': 'visible' });
if ($.browser.msie && $.browser.version < 9) {
if (nextli.data('transition') == "boxfade") nextli.data('transition', "boxslide");
if (nextli.data('transition') == "slotfade-vertical") nextli.data('transition', "slotzoom-vertical");
if (nextli.data('transition') == "slotfade-horizontal") nextli.data('transition', "slotzoom-horizontal");
}
// IF DELAY HAS BEEN SET VIA THE SLIDE, WE TAKE THE NEW VALUE, OTHER WAY THE OLD ONE...
if (nextli.data('delay') != undefined) {
opt.cd = 0;
opt.delay = nextli.data('delay');
} else {
opt.delay = opt.origcd;
}
// RESET POSITION AND FADES OF LI'S
actli.css({ 'left': '0px', 'top': '0px' });
nextli.css({ 'left': '0px', 'top': '0px' });
/////////////////////////////////////////////
// SET THE BULLETS SELECTED OR UNSELECTED //
/////////////////////////////////////////////
container.parent().find(".bullet").each(function () {
var bul = $(this);
bul.removeClass("selected");
if (bul.index() == opt.next) bul.addClass('selected');
});
//////////////////////////////////////////////////////////////////
// SET THE NEXT CAPTION AND REMOVE THE LAST CAPTION //
//////////////////////////////////////////////////////////////////
container.find('li').each(function () {
var li = $(this);
if (li.index != opt.act && li.index != opt.next) li.css({ 'z-index': 16 });
});
actli.css({ 'z-index': 18 });
nextli.css({ 'z-index': 20 });
nextli.css({ 'opacity': 0 });
///////////////////////////
// ANIMATE THE CAPTIONS //
///////////////////////////
removeTheCaptions(actli, opt);
animateTheCaptions(nextli, opt);
/////////////////////////////////////////////
// SET THE ACTUAL AMOUNT OF SLIDES !! //
// SET A RANDOM AMOUNT OF SLOTS //
///////////////////////////////////////////
if (nextli.data('slotamount') == undefined || nextli.data('slotamount') < 1) {
opt.slots = Math.round(Math.random() * 12 + 4);
if (nextli.data('transition') == "boxslide")
opt.slots = Math.round(Math.random() * 6 + 3);
} else {
opt.slots = nextli.data('slotamount');
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "boxslide") {
if (opt.slots > 15) opt.slots = 15;
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlideBox(actsh, opt, true);
prepareOneSlideBox(nextsh, opt, false);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
//actsh.find('.defaultimg').css({'opacity':0});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (j) {
var ss = $(this);
ss.css({ 'top': (0 - opt.sloth) + "px", 'left': (0 - opt.slotw) + "px" });
setTimeout(function () {
if (opt.firefox13)
ss.animate({ 'top': "0px", 'left': '0px' }, { duration: (400), queue: false, complete: function () {
if (j == (opt.slots * opt.slots) - 1) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
else
ss.cssAnimate({ 'top': "0px", 'left': '0px' }, { duration: (400), queue: false, complete: function () {
if (j == (opt.slots * opt.slots) - 1) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
}, j * 15);
});
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "boxfade") {
if (opt.slots > 15) opt.slots = 15;
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
//prepareOneSlideBox(actsh,opt,true);
prepareOneSlideBox(nextsh, opt, false);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
//actsh.find('.defaultimg').css({'opacity':0});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (j) {
var ss = $(this);
ss.css({ 'opacity': 0 });
ss.find('img').css({ 'opacity': 0 });
ss.find('img').css({ 'top': (Math.random() * opt.slotw - opt.slotw) + "px", 'left': (Math.random() * opt.slotw - opt.slotw) + "px" });
var rand = Math.random() * 1000 + 500;
if (j == (opt.slots * opt.slots) - 1) rand = 1500;
if (opt.firefox13) {
ss.find('img').animate({ 'opacity': 1, 'top': (0 - ss.data('y')) + "px", 'left': (0 - ss.data('x')) + 'px' }, { duration: rand, queue: false });
ss.animate({ 'opacity': 1 }, { duration: rand, queue: false, complete: function () {
if (j == (opt.slots * opt.slots) - 1) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
} else {
ss.find('img').cssAnimate({ 'opacity': 1, 'top': (0 - ss.data('y')) + "px", 'left': (0 - ss.data('x')) + 'px' }, { duration: rand, queue: false });
ss.cssAnimate({ 'opacity': 1 }, { duration: rand, queue: false, complete: function () {
if (j == (opt.slots * opt.slots) - 1) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
}
});
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "slotslide-horizontal") {
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlide(actsh, opt, true);
prepareOneSlide(nextsh, opt, false);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
//actsh.find('.defaultimg').css({'opacity':0});
// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
actsh.find('.slotslide').each(function () {
var ss = $(this);
if (opt.firefox13) {
ss.animate({ 'left': opt.slotw + 'px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
} else {
ss.cssAnimate({ 'left': opt.slotw + 'px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
}
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function () {
var ss = $(this);
ss.css({ 'left': (0 - opt.slotw) + "px" });
if (opt.firefox13) {
ss.animate({ 'left': '0px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
} else {
ss.cssAnimate({ 'left': '0px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
}
});
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "slotslide-vertical") {
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlideV(actsh, opt, true);
prepareOneSlideV(nextsh, opt, false);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
//actsh.find('.defaultimg').css({'opacity':0});
// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
actsh.find('.slotslide').each(function () {
var ss = $(this);
if (opt.firefox13) {
ss.animate({ 'top': opt.sloth + 'px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
} else {
ss.cssAnimate({ 'top': opt.sloth + 'px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
}
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function () {
var ss = $(this);
ss.css({ 'top': (0 - opt.sloth) + "px" });
if (opt.firefox13) {
ss.animate({ 'top': '0px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
} else {
ss.cssAnimate({ 'top': '0px' }, { duration: 500, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
});
}
});
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "curtain-1") {
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlide(actsh, opt, true);
prepareOneSlide(nextsh, opt, true);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
actsh.find('.slotslide').each(function (i) {
var ss = $(this);
ss.cssAnimate({ 'top': (0 + (opt.height)) + "px", 'opacity': 1 }, { duration: 300 + (i * (70 - opt.slots)), queue: false, complete: function () {
}
});
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (i) {
var ss = $(this);
ss.css({ 'top': (0 - (opt.height)) + "px", 'opacity': 0 });
if (opt.firefox13) {
ss.animate({ 'top': '0px', 'opacity': 1 }, { duration: 300 + (i * (70 - opt.slots)), queue: false, complete: function () {
if (i == opt.slots - 1) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
} else {
ss.cssAnimate({ 'top': '0px', 'opacity': 1 }, { duration: 300 + (i * (70 - opt.slots)), queue: false, complete: function () {
if (i == opt.slots - 1) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
}
});
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "curtain-2") {
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlide(actsh, opt, true);
prepareOneSlide(nextsh, opt, true);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
actsh.find('.slotslide').each(function (i) {
var ss = $(this);
if (opt.firefox13) {
ss.animate({ 'top': (0 + (opt.height)) + "px", 'opacity': 1 }, { duration: 300 + ((opt.slots - i) * (70 - opt.slots)), queue: false, complete: function () {
}
});
} else {
ss.cssAnimate({ 'top': (0 + (opt.height)) + "px", 'opacity': 1 }, { duration: 300 + ((opt.slots - i) * (70 - opt.slots)), queue: false, complete: function () {
}
});
}
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (i) {
var ss = $(this);
ss.css({ 'top': (0 - (opt.height)) + "px", 'opacity': 0 });
if (opt.firefox13) {
ss.animate({ 'top': '0px', 'opacity': 1 }, { duration: 300 + ((opt.slots - i) * (70 - opt.slots)), queue: false, complete: function () {
if (i == 0) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
} else {
ss.cssAnimate({ 'top': '0px', 'opacity': 1 }, { duration: 300 + ((opt.slots - i) * (70 - opt.slots)), queue: false, complete: function () {
if (i == 0) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
}
});
}
/////////////////////////////////////
// THE SLOTSLIDE - TRANSITION I. //
////////////////////////////////////
if (nextli.data('transition') == "curtain-3") {
nextli.css({ 'opacity': 1 });
if (opt.slots < 2) opt.slots = 2;
// PREPARE THE SLOTS HERE
prepareOneSlide(actsh, opt, true);
prepareOneSlide(nextsh, opt, true);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
actsh.find('.slotslide').each(function (i) {
var ss = $(this);
if (i < opt.slots / 2)
var tempo = (i + 2) * 60;
else
var tempo = (2 + opt.slots - i) * 60;
if (opt.firefox13) {
ss.animate({ 'top': (0 + (opt.height)) + "px", 'opacity': 1 }, { duration: 300 + tempo, queue: false, complete: function () { } });
} else {
ss.cssAnimate({ 'top': (0 + (opt.height)) + "px", 'opacity': 1 }, { duration: 300 + tempo, queue: false, complete: function () { } });
}
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (i) {
var ss = $(this);
ss.css({ 'top': (0 - (opt.height)) + "px", 'opacity': 0 });
if (i < opt.slots / 2)
var tempo = (i + 2) * 60;
else
var tempo = (2 + opt.slots - i) * 60;
if (opt.firefox13) {
ss.animate({ 'top': '0px', 'opacity': 1 }, { duration: 300 + tempo, queue: false, complete: function () {
if (i == Math.round(opt.slots / 2)) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
} else {
ss.cssAnimate({ 'top': '0px', 'opacity': 1 }, { duration: 300 + tempo, queue: false, complete: function () {
if (i == Math.round(opt.slots / 2)) {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.act = opt.next;
opt.transition = 0;
moveSelectedThumb(container);
}
}
});
}
});
}
////////////////////////////////////
// THE SLOTSZOOM - TRANSITION II. //
////////////////////////////////////
if (nextli.data('transition') == "slotzoom-horizontal") {
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlide(actsh, opt, true);
prepareOneSlide(nextsh, opt, true);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
//actsh.find('.defaultimg').css({'opacity':0});
// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
actsh.find('.slotslide').each(function () {
var ss = $(this).find('img');
if (opt.firefox13) {
ss.animate({ 'left': (0 - opt.slotw / 2) + 'px',
'top': (0 - opt.height / 2) + 'px',
'width': (opt.slotw * 2) + "px",
'height': (opt.height * 2) + "px",
opacity: 0
}, { duration: 1000, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}
});
} else {
ss.cssAnimate({ 'left': (0 - opt.slotw / 2) + 'px',
'top': (0 - opt.height / 2) + 'px',
'width': (opt.slotw * 2) + "px",
'height': (opt.height * 2) + "px",
opacity: 0
}, { duration: 1000, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}
});
}
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT //
///////////////////////////////////////////////////////////////
nextsh.find('.slotslide').each(function (i) {
var ss = $(this).find('img');
ss.css({ 'left': (0) + 'px',
'top': (0) + 'px',
//'width':(opt.width*2)+"px",
//'height':(opt.height*2)+"px",
opacity: 0
});
if (opt.firefox13) {
ss.animate({ 'left': (0 - i * opt.slotw) + 'px',
'top': (0) + 'px',
'width': (nextsh.find('.defaultimg').data('neww')) + "px",
'height': (nextsh.find('.defaultimg').data('newh')) + "px",
opacity: 1
}, { duration: 1000, queue: false });
} else {
ss.cssAnimate({ 'left': (0 - i * opt.slotw) + 'px',
'top': (0) + 'px',
'width': (nextsh.find('.defaultimg').data('neww')) + "px",
'height': (nextsh.find('.defaultimg').data('newh')) + "px",
opacity: 1
}, { duration: 1000, queue: false });
}
});
}
////////////////////////////////////
// THE SLOTSZOOM - TRANSITION II. //
////////////////////////////////////
if (nextli.data('transition') == "slotzoom-vertical") {
nextli.css({ 'opacity': 1 });
// PREPARE THE SLOTS HERE
prepareOneSlideV(actsh, opt, true);
prepareOneSlideV(nextsh, opt, true);
//SET DEFAULT IMG UNVISIBLE
nextsh.find('.defaultimg').css({ 'opacity': 0 });
//actsh.find('.defaultimg').css({'opacity':0});
// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
actsh.find('.slotslide').each(function () {
var ss = $(this).find('img');
if (opt.firefox13) {
ss.animate({ 'left': (0 - opt.width / 2) + 'px',
'top': (0 - opt.sloth / 2) + 'px',
'width': (opt.width * 2) + "px",
'height': (opt.sloth * 2) + "px",
opacity: 0
}, { duration: 1000, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}
});
} else {
ss.cssAnimate({ 'left': (0 - opt.width / 2) + 'px',
'top': (0 - opt.sloth / 2) + 'px',
'width': (opt.width * 2) + "px",
'height': (opt.sloth * 2) + "px",
opacity: 0
}, { duration: 1000, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}
});
}
});
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT //
///////////////////////////////////////////////////////////////
nextsh.find('.slotslide').each(function (i) {
var ss = $(this).find('img');
ss.css({ 'left': (0) + 'px',
'top': (0) + 'px',
//'width':(opt.width*2)+"px",
//'height':(opt.height*2)+"px",
opacity: 0
});
if (opt.firefox13) {
ss.animate({ 'left': (0) + 'px',
'top': (0 - i * opt.sloth) + 'px',
'width': (nextsh.find('.defaultimg').data('neww')) + "px",
'height': (nextsh.find('.defaultimg').data('newh')) + "px",
opacity: 1
}, { duration: 1000, queue: false });
} else {
ss.cssAnimate({ 'left': (0) + 'px',
'top': (0 - i * opt.sloth) + 'px',
'width': (nextsh.find('.defaultimg').data('neww')) + "px",
'height': (nextsh.find('.defaultimg').data('newh')) + "px",
opacity: 1
}, { duration: 1000, queue: false });
}
});
}
////////////////////////////////////////
// THE SLOTSFADE - TRANSITION III. //
//////////////////////////////////////
if (nextli.data('transition') == "slotfade-horizontal") {
nextli.css({ 'opacity': 1 });
opt.slots = opt.width / 20;
prepareOneSlide(nextsh, opt, true);
//actsh.find('.defaultimg').css({'opacity':0});
nextsh.find('.defaultimg').css({ 'opacity': 0 });
var ssamount = 0;
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (i) {
var ss = $(this);
ssamount++;
ss.css({ 'opacity': 0 });
ss.data('tout', setTimeout(function () {
ss.animate({ 'opacity': 1 }, { duration: 300, queue: false });
}, i * 4)
);
});
setTimeout(function () {
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}, (300 + (ssamount * 4)));
}
////////////////////////////////////////
// THE SLOTSFADE - TRANSITION III. //
//////////////////////////////////////
if (nextli.data('transition') == "slotfade-vertical") {
nextli.css({ 'opacity': 1 });
opt.slots = opt.height / 20;
prepareOneSlideV(nextsh, opt, true);
//actsh.find('.defaultimg').css({'opacity':0});
nextsh.find('.defaultimg').css({ 'opacity': 0 });
var ssamount = 0;
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (i) {
var ss = $(this);
ssamount++;
ss.css({ 'opacity': 0 });
ss.data('tout', setTimeout(function () {
ss.animate({ 'opacity': 1 }, { duration: 300, queue: false });
}, i * 4)
);
});
setTimeout(function () {
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}, (300 + (ssamount * 4)));
}
///////////////////////////
// SIMPLE FADE ANIMATION //
///////////////////////////
if (nextli.data('transition') == "fade") {
nextli.css({ 'opacity': 1 });
opt.slots = 1;
prepareOneSlide(nextsh, opt, true);
//actsh.find('.defaultimg').css({'opacity':0});
nextsh.find('.defaultimg').css({ 'opacity': 0 });
var ssamount = 0;
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
nextsh.find('.slotslide').each(function (i) {
var ss = $(this);
ssamount++;
ss.css({ 'opacity': 0 });
ss.animate({ 'opacity': 1 }, { duration: 300, queue: false });
});
setTimeout(function () {
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}, 300);
}
if (nextli.data('transition') == "slideleft" || nextli.data('transition') == "slideup" || nextli.data('transition') == "slidedown" || nextli.data('transition') == "slideright") {
nextli.css({ 'opacity': 1 });
opt.slots = 1;
prepareOneSlide(nextsh, opt, true);
prepareOneSlide(actsh, opt, true);
actsh.find('.defaultimg').css({ 'opacity': 0 });
nextsh.find('.defaultimg').css({ 'opacity': 0 });
var oow = opt.width;
var ooh = opt.height;
if (opt.fullWidth == "on") {
oow = opt.container.parent().width();
ooh = opt.container.parent().height();
}
// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
var ssn = nextsh.find('.slotslide')
if (nextli.data('transition') == "slideleft")
ssn.css({ 'left': oow + "px" });
else
if (nextli.data('transition') == "slideright")
ssn.css({ 'left': (0 - opt.width) + "px" });
else
if (nextli.data('transition') == "slideup")
ssn.css({ 'top': (ooh) + "px" });
else
if (nextli.data('transition') == "slidedown")
ssn.css({ 'top': (0 - opt.height) + "px" });
if (opt.firefox13) {
ssn.animate({ 'left': '0px', 'top': '0px', opacity: 1 }, { duration: 1000, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}
});
} else {
ssn.cssAnimate({ 'left': '0px', 'top': '0px', opacity: 1 }, { duration: 1000, queue: false, complete: function () {
removeSlots(container);
nextsh.find('.defaultimg').css({ 'opacity': 1 });
actsh.find('.defaultimg').css({ 'opacity': 0 });
if ($.browser.msie && $.browser.version < 9) actsh.find('.defaultimg').css({ 'opacity': 1 });
opt.transition = 0;
opt.act = opt.next;
moveSelectedThumb(container);
}
});
}
var ssa = actsh.find('.slotslide');
if (opt.firefox13) {
if (nextli.data('transition') == "slideleft")
ssa.animate({ 'left': (0 - oow) + 'px', opacity: 1 }, { duration: 1000, queue: false });
else
if (nextli.data('transition') == "slideright")
ssa.animate({ 'left': (oow) + 'px', opacity: 1 }, { duration: 1000, queue: false });
else
if (nextli.data('transition') == "slideup")
ssa.animate({ 'top': (0 - ooh) + 'px', opacity: 1 }, { duration: 1000, queue: false });
else
if (nextli.data('transition') == "slidedown")
ssa.animate({ 'top': (ooh) + 'px', opacity: 1 }, { duration: 1000, queue: false });
} else {
if (nextli.data('transition') == "slideleft")
ssa.cssAnimate({ 'left': (0 - oow) + 'px', opacity: 1 }, { duration: 1000, queue: false });
else
if (nextli.data('transition') == "slideright")
ssa.cssAnimate({ 'left': (oow) + 'px', opacity: 1 }, { duration: 1000, queue: false });
else
if (nextli.data('transition') == "slideup")
ssa.cssAnimate({ 'top': (0 - ooh) + 'px', opacity: 1 }, { duration: 1000, queue: false });
else
if (nextli.data('transition') == "slidedown")
ssa.cssAnimate({ 'top': (ooh) + 'px', opacity: 1 }, { duration: 1000, queue: false });
}
}
}
//////////////////////////
// REMOVE THE CAPTIONS //
/////////////////////////
function removeTheCaptions(actli, opt) {
actli.find('.caption').each(function (i) {
var nextcaption = actli.find('.caption:eq(' + i + ')');
nextcaption.stop(true, true);
clearTimeout(nextcaption.data('timer'));
var easetype = nextcaption.data('easing');
easetype = "easeInOutSine";
var ll = nextcaption.data('repx');
var tt = nextcaption.data('repy');
var oo = nextcaption.data('repo');
if (nextcaption.find('iframe').length > 0) {
var par = nextcaption.find('iframe').parent();
var iframe = par.html();
setTimeout(function () {
nextcaption.find('iframe').remove();
par.append(iframe);
}, nextcaption.data('speed'));
}
try { nextcaption.animate({ 'opacity': oo, 'left': ll + 'px', 'top': tt + "px" }, { duration: nextcaption.data('speed'), easing: easetype }); } catch (e) { }
});
}
////////////////////////
// SHOW THE CAPTION //
///////////////////////
function animateTheCaptions(nextli, opt) {
nextli.find('.caption').each(function (i) {
offsetx = opt.width / 2 - opt.startwidth / 2;
if (opt.bh > 1) {
opt.bw = 1;
opt.bh = 1;
}
var xbw = opt.bw;
var nextcaption = nextli.find('.caption:eq(' + i + ')');
nextcaption.stop(true, true);
if (nextcaption.hasClass("coloredbg")) offsetx = 0;
if (offsetx < 0) offsetx = 0;
clearTimeout(nextcaption.data('timer'));
var imw = 0;
var imh = 0;
if (nextcaption.find('img').length > 0) {
var im = nextcaption.find('img');
if (im.data('ww') == undefined) im.data('ww', im.width());
if (im.data('hh') == undefined) im.data('hh', im.height());
var ww = im.data('ww');
var hh = im.data('hh');
im.width(ww * opt.bw);
im.height(hh * opt.bh);
imw = im.width();
imh = im.height();
} else {
if (nextcaption.find('iframe').length > 0) {
var im = nextcaption.find('iframe');
if (nextcaption.data('ww') == undefined) {
nextcaption.data('ww', im.width());
}
if (nextcaption.data('hh') == undefined) nextcaption.data('hh', im.height());
var ww = nextcaption.data('ww');
var hh = nextcaption.data('hh');
var nc = nextcaption;
if (nc.data('fsize') == undefined) nc.data('fsize', parseInt(nc.css('font-size'), 0) || 0);
if (nc.data('pt') == undefined) nc.data('pt', parseInt(nc.css('paddingTop'), 0) || 0);
if (nc.data('pb') == undefined) nc.data('pb', parseInt(nc.css('paddingBottom'), 0) || 0);
if (nc.data('pl') == undefined) nc.data('pl', parseInt(nc.css('paddingLeft'), 0) || 0);
if (nc.data('pr') == undefined) nc.data('pr', parseInt(nc.css('paddingRight'), 0) || 0);
if (nc.data('mt') == undefined) nc.data('mt', parseInt(nc.css('marginTop'), 0) || 0);
if (nc.data('mb') == undefined) nc.data('mb', parseInt(nc.css('marginBottom'), 0) || 0);
if (nc.data('ml') == undefined) nc.data('ml', parseInt(nc.css('marginLeft'), 0) || 0);
if (nc.data('mr') == undefined) nc.data('mr', parseInt(nc.css('marginRight'), 0) || 0);
if (nc.data('bt') == undefined) nc.data('bt', parseInt(nc.css('borderTop'), 0) || 0);
if (nc.data('bb') == undefined) nc.data('bb', parseInt(nc.css('borderBottom'), 0) || 0);
if (nc.data('bl') == undefined) nc.data('bl', parseInt(nc.css('borderLeft'), 0) || 0);
if (nc.data('br') == undefined) nc.data('br', parseInt(nc.css('borderRight'), 0) || 0);
if (nc.data('lh') == undefined) nc.data('lh', parseInt(nc.css('lineHeight'), 0) || 0);
nextcaption.css({
'font-size': (nc.data('fsize') * opt.bw) + "px",
'padding-top': (nc.data('pt') * opt.bh) + "px",
'padding-bottom': (nc.data('pb') * opt.bh) + "px",
'padding-left': (nc.data('pl') * opt.bw) + "px",
'padding-right': (nc.data('pr') * opt.bw) + "px",
'margin-top': (nc.data('mt') * opt.bh) + "px",
'margin-bottom': (nc.data('mb') * opt.bh) + "px",
'margin-left': (nc.data('ml') * opt.bw) + "px",
'margin-right': (nc.data('mr') * opt.bw) + "px",
'border-top': (nc.data('bt') * opt.bh) + "px",
'border-bottom': (nc.data('bb') * opt.bh) + "px",
'border-left': (nc.data('bl') * opt.bw) + "px",
'border-right': (nc.data('br') * opt.bw) + "px",
'line-height': (nc.data('lh') * opt.bh) + "px",
'height': (hh * opt.bh) + 'px',
'white-space': "nowrap"
});
im.width(ww * opt.bw);
im.height(hh * opt.bh);
imw = im.width();
imh = im.height();
} else {
var nc = nextcaption;
if (nc.data('fsize') == undefined) nc.data('fsize', parseInt(nc.css('font-size'), 0) || 0);
if (nc.data('pt') == undefined) nc.data('pt', parseInt(nc.css('paddingTop'), 0) || 0);
if (nc.data('pb') == undefined) nc.data('pb', parseInt(nc.css('paddingBottom'), 0) || 0);
if (nc.data('pl') == undefined) nc.data('pl', parseInt(nc.css('paddingLeft'), 0) || 0);
if (nc.data('pr') == undefined) nc.data('pr', parseInt(nc.css('paddingRight'), 0) || 0);
if (nc.data('mt') == undefined) nc.data('mt', parseInt(nc.css('marginTop'), 0) || 0);
if (nc.data('mb') == undefined) nc.data('mb', parseInt(nc.css('marginBottom'), 0) || 0);
if (nc.data('ml') == undefined) nc.data('ml', parseInt(nc.css('marginLeft'), 0) || 0);
if (nc.data('mr') == undefined) nc.data('mr', parseInt(nc.css('marginRight'), 0) || 0);
if (nc.data('bt') == undefined) nc.data('bt', parseInt(nc.css('borderTop'), 0) || 0);
if (nc.data('bb') == undefined) nc.data('bb', parseInt(nc.css('borderBottom'), 0) || 0);
if (nc.data('bl') == undefined) nc.data('bl', parseInt(nc.css('borderLeft'), 0) || 0);
if (nc.data('br') == undefined) nc.data('br', parseInt(nc.css('borderRight'), 0) || 0);
if (nc.data('lh') == undefined) nc.data('lh', parseInt(nc.css('lineHeight'), 0) || 0);
nextcaption.css({
'font-size': (nc.data('fsize') * opt.bw) + "px",
'padding-top': (nc.data('pt') * opt.bh) + "px",
'padding-bottom': (nc.data('pb') * opt.bh) + "px",
'padding-left': (nc.data('pl') * opt.bw) + "px",
'padding-right': (nc.data('pr') * opt.bw) + "px",
'margin-top': (nc.data('mt') * opt.bh) + "px",
'margin-bottom': (nc.data('mb') * opt.bh) + "px",
'margin-left': (nc.data('ml') * opt.bw) + "px",
'margin-right': (nc.data('mr') * opt.bw) + "px",
'border-top': (nc.data('bt') * opt.bh) + "px",
'border-bottom': (nc.data('bb') * opt.bh) + "px",
'border-left': (nc.data('bl') * opt.bw) + "px",
'border-right': (nc.data('br') * opt.bw) + "px",
'line-height': (nc.data('lh') * opt.bh) + "px",
'white-space': "nowrap"
});
imh = nextcaption.outerHeight(true);
imw = nextcaption.outerWidth(true);
}
}
if (nextcaption.hasClass('fade')) {
nextcaption.css({ 'opacity': 0, 'left': (xbw * nextcaption.data('x') + offsetx) + 'px', 'top': (opt.bh * nextcaption.data('y')) + "px" });
}
if (nextcaption.hasClass('lfr')) {
nextcaption.css({ 'opacity': 1, 'left': (5 + opt.width) + 'px', 'top': (opt.bh * nextcaption.data('y')) + "px" });
}
if (nextcaption.hasClass('lfl')) {
nextcaption.css({ 'opacity': 1, 'left': (-5 - imw) + 'px', 'top': (opt.bh * nextcaption.data('y')) + "px" });
}
if (nextcaption.hasClass('sfl')) {
nextcaption.css({ 'opacity': 0, 'left': ((xbw * nextcaption.data('x')) - 50 + offsetx) + 'px', 'top': (opt.bh * nextcaption.data('y')) + "px" });
}
if (nextcaption.hasClass('sfr')) {
nextcaption.css({ 'opacity': 0, 'left': ((xbw * nextcaption.data('x')) + 50 + offsetx) + 'px', 'top': (opt.bh * nextcaption.data('y')) + "px" });
}
if (nextcaption.hasClass('lft')) {
nextcaption.css({ 'opacity': 1, 'left': (xbw * nextcaption.data('x') + offsetx) + 'px', 'top': (-5 - imh) + "px" });
}
if (nextcaption.hasClass('lfb')) {
nextcaption.css({ 'opacity': 1, 'left': (xbw * nextcaption.data('x') + offsetx) + 'px', 'top': (5 + opt.height) + "px" });
}
if (nextcaption.hasClass('sft')) {
nextcaption.css({ 'opacity': 0, 'left': (xbw * nextcaption.data('x') + offsetx) + 'px', 'top': ((opt.bh * nextcaption.data('y')) - 50) + "px" });
}
if (nextcaption.hasClass('sfb')) {
nextcaption.css({ 'opacity': 0, 'left': (xbw * nextcaption.data('x') + offsetx) + 'px', 'top': ((opt.bh * nextcaption.data('y')) + 50) + "px" });
}
nextcaption.data('timer', setTimeout(function () {
if (nextcaption.hasClass('fade')) {
nextcaption.animate({ 'opacity': 1 });
}
if (nextcaption.hasClass('lfr') ||
nextcaption.hasClass('lfl') ||
nextcaption.hasClass('sfr') ||
nextcaption.hasClass('sfl') ||
nextcaption.hasClass('lft') ||
nextcaption.hasClass('lfb') ||
nextcaption.hasClass('sft') ||
nextcaption.hasClass('sfb')
) {
var easetype = nextcaption.data('easing');
if (easetype == undefined) easetype = "linear";
nextcaption.data('repx', nextcaption.position().left);
nextcaption.data('repy', nextcaption.position().top);
nextcaption.data('repo', nextcaption.css('opacity'));
nextcaption.animate({ 'opacity': 1, 'left': (xbw * nextcaption.data('x') + offsetx) + 'px', 'top': opt.bh * (nextcaption.data('y')) + "px" }, { duration: nextcaption.data('speed'), easing: easetype });
}
}, nextcaption.data('start')));
})
}
///////////////////////////
// - COUNTDOWN - //
/////////////////////////
function countDown(container, opt) {
opt.cd = 0;
var bt = container.find('.tp-bannertimer');
if (bt.length > 0) {
bt.css({ 'width': '0%' });
bt.animate({ 'width': "100%" }, { duration: (opt.delay - 100), queue: false, easing: "linear" });
}
opt.cdint = setInterval(function () {
if (opt.conthover != 1) opt.cd = opt.cd + 100;
if (opt.cd >= opt.delay) {
opt.cd = 0;
// SWAP TO NEXT BANNER
opt.act = opt.next;
opt.next = opt.next + 1;
if (opt.next > container.find('>ul >li').length - 1) opt.next = 0;
// SWAP THE SLIDES
swapSlide(container, opt);
// Clear the Timer
if (bt.length > 0) {
bt.css({ 'width': '0%' });
bt.animate({ 'width': "100%" }, { duration: (opt.delay - 100), queue: false, easing: "linear" });
}
}
}, 100);
container.hover(
function () {
if (opt.onHoverStop == "on") {
opt.conthover = 1;
bt.stop();
}
},
function () {
if (opt.onHoverStop == "on") {
opt.conthover = 0;
bt.animate({ 'width': "100%" }, { duration: ((opt.delay - opt.cd) - 100), queue: false, easing: "linear" });
}
});
}
})(jQuery);