/**************************************************************************
* jQuery Fullscreen Image Gallery v2
* @info: http://www.codegrape.com/item/jquery-fullscreen-image-gallery-v2/1439
* @version: 1.0 (31.08.2012)
* @requires: jQuery v1.7 or later (tested on 1.10.1)
* @author: flashblue - http://www.codegrape.com/user/flashblue
**************************************************************************/
;(function($) {
$.fullscreenImageGalleryV2 = function(data) {
//Document
var doc = $(document);
if(doc.find("#fullscreen-image-gallery-v2").length === 0) return;
//Default values
var defaults = {
randomize:false,
autoPlay:true,
delay:8000,
disableRightClick:true,
//Category
categoryAlpha:0.6,
//Previous/Next arrows
showPreviousNextArrow:true,
arrowWidth:41,
showThumb:true,
thumbWidth:100,
thumbHeight:85,
thumbSliderSpeed:500,
//Play/Pause button
showPlayPauseButton:true,
//Fullscreen button
showFullscreenButton:true,
//Transition
transition: "slideLeft", //fade, slideLeft, slideRight, slideUp, slideDown
transitionSpeed:750,
easing:"easeInOutExpo",
//Text
textEasing:"easeOutQuint",
//Timer
showTimer:true,
timerType:"clock", //clock, line
timerArcSize:2, //Clock timer arc size
timerAlign:"top", //bottom, top
//Key down
keydown:true,
//Responsive
responsive:true,
startWidth:1280
};
//Options
var options = $.extend({}, defaults, data);
//Effect
var ei = 0;
var EFFECTS = {"fade":ei++, "slideLeft":ei++, "slideRight":ei++, "slideUp":ei++, "slideDown":ei++, "random":ei++};
//Variables
var win = $(window);
var list, cats = [], titles = [], titleText = [], ulist = [];
var container = $('#fullscreen-image-gallery-v2');
var imgHolder = $('
');
var buttons = $('');
var preloader = "";
if (options.showTimer) {
preloader = $('');
}
else {
preloader = $('');
}
var playBtn = $('\
\
\
');
var fullscreenBtn = $('\
\
\
');
var previousBtn = $('');
var nextBtn = $('');
var timerHolder = $('\
\
\
');
var clockTimerHolder = $('');
var clockTimer = $('');
var textBox = $('');
var fullscreenMode=false, isInFullScreen=false;
var timerPercent, clockContext;
var previousWrapper, nextWrapper, previousList, nextList, thumbList = "", previousSlider, nextSlider;
var arrCaption = new Array();
var bgOne = $("");
var bgTwo = $("");
var bgUL = container.find("ul");
var playOn, iLeg, leg;
var runTime, firstRun=true, firstTime=true, runOn=false, readyToFire=false, bgOn=0, isOn, timer, delay, easing;
var imgOne, imgTwo;
var imageW, imageH;
var winW, winH;
var stretched=false, centered=false;
var bw=1, bh=1;
var hash, images, bgImages, wasCat, catCount=0, catOn=0;
var isChrome = (navigator.userAgent.toLowerCase().indexOf("chrome") === -1) ? false : true;
var isLoading = false;
var running = false;
//Disable right click
if(options.disableRightClick) {
doc.bind("contextmenu", function(event) {event.preventDefault()});
}
(options.autoPlay) ? playOn = true : playOn = false;
//Change timer type if canvas not supported
var canvasSupport = document.createElement("canvas").getContext;
if (!canvasSupport) {
options.timerType = "line";
}
if (bgUL.length > 0) {
var cat, items, pusher, catalog = $("#categories"), st, str, centr, txt;
bgUL.each(function() {
items = [];
pusher = 0;
$(this).children("li").each(function() {
items[pusher] = $(this);
pusher++;
});
if($(this).attr("class")) {
st = $(this).attr("class");
if(st === "stretch") {
str = true;
centr = false;
} else if(st === "stretch-center") {
str = true;
centr = true;
} else {
str = false;
centr = false;
}
} else {
str = true;
centr = false;
}
txt = $(this).attr("title");
//$(this).removeAttr("title");
titleText[catCount] = txt.toLowerCase().split(" ").join("_");
cat = $("");
cat.html(txt).data({"id": catCount, "stretch": str, "center": centr});
catalog.append(cat);
ulist[catCount] = $(this);
titles[catCount] = cat;
cats[catCount] = items;
catCount++;
});
if(bgUL.length === 1) titles[0].css("visibility", "hidden");
items = null;
cat = null;
catalog = null;
pusher = null;
st = null;
str = null;
centr = null;
txt = null;
} else {
return;
}
data = null;
bgUL = null;
//Image holder
container.append(imgHolder);
//Button holder
container.append(buttons);
//Caption
container.append(textBox);
//Preloader
container.append(preloader);
//Create timer bar
createTimerBar();
//Play-pause button
createPlayBtn();
//Fullscreen button
createFullscreenBtn();
//Previous-next arrows
createPreviosNextArrow();
//Create BG holder
bgOne.css({position: "fixed", zIndex: -10000});
bgTwo.css({position: "fixed", zIndex: -10000});
//Window dimensions
winW = win.width();
winH = win.height();
//Preloader vertical positioning
preloader.css("top", Math.ceil(winH/2));
//Browser address handler
$.address.internalChange(insideChange);
$.address.externalChange(browserChange);
//Window resize handler
win.resize(resizeContent);
//Keydown handler
if (options.keydown) {
$(document).keydown(function(e) {keydownHandler(e)});
}
//Added for external class
$.fullscreenImageGalleryV2.getIsOn = function() {return isOn;};
$.fullscreenImageGalleryV2.getCatOn = function() {return catOn;};
$.fullscreenImageGalleryV2.getHash = function() {return hash;};
//Generate tooltip
generateTwipsy();
//Button position
buttonPos();
//Show container
container.css("display", "block");
//Get positive number
function getPosNumber(val, defaultVal) {
if (!isNaN(val) && val>0) {
return val;
}
return defaultVal;
}
//Twipsy
function generateTwipsy() {
try {
$('.twipsy-tooltip').twipsy();
} catch(err) {}
}
function hideTwipsy() {
try {
$('.twipsy-tooltip').twipsy("hide");
} catch(err) {}
}
/****************
- Timer -
****************/
//Create timer bar
function createTimerBar() {
container.append(timerHolder);
timerPercent = timerHolder.find(".percent").data("pct", 1);
if (options.showTimer) {
if (options.timerType=="line") {
timerHolder.css("visibility", "visible");
} else {
timerHolder.css({display:"none"});
clockTimerHolder.append(clockTimer);
buttons.append(clockTimerHolder);
clockContext = clockTimer[0].getContext("2d");
clockContext.lineWidth = options.timerArcSize;
clockContext.lineCap = "round";
clockTimerContext(0, 1, true);
}
} else {
timerHolder.hide();
}
}
//Clock timer context
function clockTimerContext(now, left, clear) {
var w = clockTimerHolder.width();
var x = y = w/2;
var r = x-w/10;
clockContext.clearRect(0, 0, 20, 20);
//Circle
clockContext.strokeStyle = "rgba(255, 255, 255, .4)";
clockContext.beginPath();
clockContext.arc(x, y, r, 0, Math.PI*2, true);
clockContext.stroke();
clockContext.closePath();
if (clear==null) {
//Percent
clockContext.strokeStyle = "rgba(255, 255, 255, .85)";
clockContext.beginPath();
clockContext.arc(x, y, r, (Math.PI*2*(now/left))-(Math.PI/2), -Math.PI/2, true);
clockContext.stroke();
clockContext.closePath();
}
}
//Start timer
function startTimer() {
if (options.autoPlay) {
var duration = Math.round(timerPercent.data("pct")*delay);
timer = setTimeout(changeBG, duration);
if (options.showTimer) {
if (options.timerType=="clock") {
var left = 780;
timerPercent.animate({"left":left+"px"}, {
easing: "linear",
duration: duration,
queue: false,
step: function (now, fx){
$(this).data("pct", 1-now/left);
clockTimerContext(now, left);
}
});
} else {
timerPercent.animate({width:"100%"}, duration, "linear");
}
}
}
}
//Reset timer
function resetTimer() {
if(timer) clearTimeout(timer);
if(runTime) clearTimeout(runTime);
timerPercent.stop(true).data("pct", 1);
if (options.showTimer) {
if (options.timerType=="clock") {
timerPercent.css("left", "0px");
clockTimerContext( 0, 1, true);
} else {
timerPercent.width(0);
}
}
}
//Pause timer
function pauseTimer() {
if(timer) clearTimeout(timer);
timerPercent.stop(true).data("pct", 1-(timerPercent.width()/(winW+1)));
}
/***************************
- Button hover CSS -
***************************/
function addHover() {
$(this).addClass("hover");
}
function removeHover() {
removeHoverFunc($(this));
}
function removeHoverFunc(e) {
e.removeClass("hover");
}
/***********************
- Play / Pause -
***********************/
//Create play-pause button
function createPlayBtn() {
if (options.showPlayPauseButton) {
buttons.append(playBtn);
playBtn.toggleClass("pause", options.autoPlay).bind("click", togglePlay);
playBtn.hover(addHover, removeHover);
changePlayBtnTitle("title");
}
}
//Toggle play-pause
function togglePlay(e) {
options.autoPlay = !options.autoPlay;
$(this).toggleClass("pause", options.autoPlay);
changePlayBtnTitle("data-original-title");
if (options.autoPlay) {
playOn = true;
startTimer();
} else {
playOn = false;
pauseTimer();
}
return false;
}
//Change play button title
function changePlayBtnTitle(attr) {
playBtn.attr(attr, (options.autoPlay ? "Pause" : "Play"));
}
/*********************
- Fullscreen -
*********************/
//Create fullscreen button
function createFullscreenBtn() {
if (options.showFullscreenButton) {
buttons.append(fullscreenBtn);
fullscreenBtn.toggleClass("fullscreen", fullscreenMode).bind("click", toggleFullscreen);
fullscreenBtn.hover(addHover, removeHover);
changeFullscreenBtnTitle("title");
}
}
//Toggle fullscreen
function toggleFullscreen(e) {
hideTwipsy();
removeHoverFunc(fullscreenBtn);
var elem = document.body;
isInFullScreen = (document.fullScreenElement && document.fullScreenElement !== null) || (document.mozFullScreen || document.webkitIsFullScreen);
if (isInFullScreen) {
fullscreenMode = false;
cancelFullScreen(document);
} else {
fullscreenMode = true;
requestFullScreen(elem);
}
fullscreenBtn.toggleClass("fullscreen", fullscreenMode);
changeFullscreenBtnTitle("data-original-title");
}
//Native fullscreen
function requestFullScreen(el) {
var requestMethod = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen;
if (requestMethod) {
requestMethod.call(el);
} else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
var wscript = new ActiveXObject("WScript.Shell");
if (wscript !== null) {
wscript.SendKeys("{F11}");
}
}
return false;
}
//Cancel fullscreen
function cancelFullScreen(el) {
var requestMethod = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullscreen;
if (requestMethod) {
requestMethod.call(el);
} else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
var wscript = new ActiveXObject("WScript.Shell");
if (wscript !== null) {
wscript.SendKeys("{F11}");
}
}
return false;
}
//Change fullscreen button title
function changeFullscreenBtnTitle(attr) {
fullscreenBtn.attr(attr, (fullscreenMode ? "Normal" : "Fullscreen"));
}
/*********************************
- Previous / Next arrows -
*********************************/
function createPreviosNextArrow() {
//Previous
container.append(previousBtn);
previousWrapper = previousBtn.find(".arrow-wrapper");
previousList = previousBtn.find(".thumb-list");
previousWrapper.css({width:(options.arrowWidth+options.thumbWidth), height:options.thumbHeight});
previousList.css({width:options.thumbWidth, height:options.thumbHeight});
//Next
container.append(nextBtn);
nextWrapper = nextBtn.find(".arrow-wrapper");
nextList = nextBtn.find(".thumb-list");
nextWrapper.css({width:(options.arrowWidth+options.thumbWidth), height:options.thumbHeight});
nextList.css({width:options.thumbWidth, height:options.thumbHeight});
if (options.showPreviousNextArrow) {
//Hover
var w = options.arrowWidth;
$(".arrow").css({width:w});
if (options.showThumb) {
$(".arrow").hover(
function() {
$(this).stop();
$(this).animate({width:(w+options.thumbWidth)}, 300, "easeOutCubic");
},
function() {
$(this).stop();
$(this).animate({width:w}, 200);
}
);
}
$(".arrow .arrow-wrapper .icon").css({width:options.arrowWidth, height:options.thumbHeight});
} else {
previousBtn.css("display", "none");
nextBtn.css("display", "none");
}
}
//Previous-next HTML
function previousNextHTML() {
if (options.showPreviousNextArrow) {
var ind = 0;
//Previous
ind = isOn;
(ind > 0) ? ind-- : ind = iLeg;
previousList.html(thumbList);
if (previousSlider) previousSlider.cycle("destroy");
previousSlider = previousList.cycle({
fx:"scrollHorz",
speed:options.thumbSliderSpeed,
timeout:0,
autostop:0,
prev:previousBtn,
next:nextBtn,
manualTrump:false,
startingSlide:ind
});
//Next
ind = isOn;
(ind < iLeg) ? ind++ : ind = 0;
nextList.html(thumbList);
if (nextSlider) nextSlider.cycle("destroy");
nextSlider = nextList.cycle({
fx:"scrollHorz",
speed:options.thumbSliderSpeed,
timeout:0,
autostop:0,
prev:previousBtn,
next:nextBtn,
manualTrump:false,
startingSlide:ind
});
}
}
/*****************
- Change -
*****************/
//External change handler
function browserChange(event) {
resetTimer();
if(isLoading) {
if(imgOne) imgOne.unbind("load", loaded);
if(imgTwo) imgTwo.unbind("load", loaded);
detatch();
isLoading = false;
}
getHash(event.value);
if(!firstTime) {
disableClicks();
runTime = setTimeout(changeHash, 750);
} else {
changeHash();
firstTime = false;
}
}
//Inside change
function insideChange(event) {
resetTimer();
disableClicks();
getHash(event.value);
changeHash();
}
//Get hash
function getHash(val) {
val = val.split("//").join("/");
if(val !== "/") {
var ars = val.split("/");
var lgs = ars.length;
if(ars.length === 3) {
isOn = parseInt(ars[2], 10) - 1;
hash = ars[1];
} else {
if(isNaN(ars[1])) {
isOn = 0;
hash = ars[1];
} else {
isOn = parseInt(ars[1], 10) - 1;
hash = "";
}
}
} else {
hash = "/";
isOn = 0;
}
}
//Change hash
function changeHash() {
//Change current category
var i;
catOn = 0;
if(hash !== "/") {
i = catCount;
while(i--) {
if(titleText[i] == hash) {
catOn = i;
break;
}
}
}
i = catCount;
while(i--) {
if(i !== catOn) {
ulist[i].css("display", "none");
titles[i].css({"cursor":"pointer"}).animate({"opacity":options.categoryAlpha}, 300);
} else {
titles[catOn].css({"cursor":"default"}).animate({"opacity":1}, 300);
if(!firstRun) {
ulist[catOn].fadeIn(500);
}
}
}
if(wasCat !== catOn) getList();
//Remove caption
removeCaption();
//Load image
if(!isChrome) {
loadBG(list[isOn]);
} else {
//Chrome has a cache bug which causes the image to not register a width and height when reloaded. This fixes the bug.
loadBG(list[isOn] + "?img=" + new Date().getTime().toString());
}
if (options.showPreviousNextArrow) {
var ind;
if (previousSlider) {
ind = isOn;
(ind > 0) ? ind-- : ind = iLeg;
previousSlider.cycle(ind);
}
if (nextSlider) {
ind = isOn;
(ind < iLeg) ? ind++ : ind = 0;
nextSlider.cycle(ind);
}
}
wasCat = catOn;
}
//Disable buttons
function disableClicks() {
runOn = true;
readyToFire = false;
var i = catCount;
while(i--) titles[i].unbind("click", categoryClick);
if(options.showPreviousNextArrow) {
previousBtn.unbind("click", previousClick);
nextBtn.unbind("click", nextClick);
}
}
//Enable buttons
function enableClicks() {
var i = catCount;
while(i--) {
if(i !== catOn) titles[i].click(categoryClick);
}
if(options.showPreviousNextArrow) {
previousBtn.click(previousClick);
nextBtn.click(nextClick);
}
}
//Get list
function getList() {
var url, effect, thumb;
images = cats[catOn];
leg = images.length;
iLeg = leg - 1;
list = [];
bgImages = [];
thumbList = "";
if(isOn > iLeg) isOn = 0;
for(var i=0; i';
}
}
previousNextHTML();
if(leg>1) {
ulist[catOn].css("display", "block");
if (options.showPlayPauseButton) {playBtn.css("display", "block");}
if(options.showPreviousNextArrow) {
previousBtn.css("display", "block");
nextBtn.css("display", "block");
}
} else {
ulist[catOn].css("display", "none");
if (options.showPlayPauseButton) {playBtn.css("display", "none");}
if(options.showPreviousNextArrow) {
previousBtn.css("display", "none");
nextBtn.css("display", "none");
}
}
if(options.randomize) {
var shuf = [], placer;
for(var i = 0; i < leg; i++) {
shuf[i] = bgImages[i];
}
while(shuf.length > 0) {
placer = Math.floor(Math.random() * shuf.length);
list[list.length] = shuf[placer];
shuf.splice(placer, 1);
}
} else {
list = bgImages;
}
stretched = titles[catOn].data("stretch");
centered = titles[catOn].data("center");
}
//Load BG
function loadBG(url) {
isLoading = true;
if(bgOn===0) {
imgHolder.append(bgOne);
bgOne.css("z-index", parseInt(bgTwo.css("z-index"), 10)+1);
imgOne = $("").css({display:"none", position:"fixed"}).one("load", loaded);
imgOne.appendTo(bgOne);
imgOne.attr("src", url);
} else {
imgHolder.append(bgTwo);
bgTwo.css("z-index", parseInt(bgOne.css("z-index"), 10)+1);
imgTwo = $("").css({display:"none", position:"fixed"}).one("load", loaded);
imgTwo.appendTo(bgTwo);
imgTwo.attr("src", url);
}
//Show preloader
preloader.fadeIn(300);
}
//Image loaded
function loaded() {
isLoading = false;
if(bgOn === 0) {
imageW = imgOne.width();
imageH = imgOne.height();
bgOn = 1;
} else {
imageW = imgTwo.width();
imageH = imgTwo.height();
bgOn = 0;
}
//Hide preloader
preloader.stop().fadeOut(300);
//Resize
resizeContent();
//Show image
showImage();
}
//Show image with effect
function showImage() {
//debugger;
running = true;
if (bgOn==1) {
oldItem = imgTwo;
currentItem = imgOne;
} else {
oldItem = imgOne;
currentItem = imgTwo;
}
var img = images[isOn];
effect = EFFECTS[img.data("effect")];
delay = img.data("delay");
easing = img.data("easing");
if (effect==EFFECTS["random"]) {
if (!firstRun) {
effect = Math.floor(Math.random()*(ei-1));
} else {
effect = EFFECTS["fade"];
firstRun = false;
}
}
switch(effect) {
case EFFECTS["fade"]:
classicFade();
break;
case EFFECTS["slideLeft"]:
slideLeft();
break;
case EFFECTS["slideRight"]:
slideRight();
break;
case EFFECTS["slideUp"]:
slideUp();
break;
case EFFECTS["slideDown"]:
slideDown();
break;
}
}
/**********************
- Transitions -
**********************/
//Fade
function classicFade() {
if(!stretched) detatch();
currentItem.fadeIn(options.transitionSpeed, easing, function() {if(stretched) detatch(); transitionComplete();});
}
//Slide left
function slideLeft() {
var xPos = 0;
if (oldItem) {
xPos = parseInt(oldItem.css("left"));
oldItem.animate({left:(xPos-winW)/2}, options.transitionSpeed, easing);
}
xPos = parseInt(currentItem.css("left"));
currentItem.css({display:"block", left:currentItem.width()}).animate({left:xPos}, options.transitionSpeed, easing, function() {detatch(); transitionComplete();});
}
//Slide right
function slideRight() {
var xPos = 0;
if (oldItem) {
xPos = parseInt(oldItem.css("left"));
oldItem.animate({left:(xPos+winW)/2}, options.transitionSpeed, easing);
}
xPos = parseInt(currentItem.css("left"));
currentItem.css({display:"block", left:-currentItem.width()}).animate({left:xPos}, options.transitionSpeed, easing, function() {detatch(); transitionComplete();});
}
//Slide up
function slideUp() {
var yPos = 0;
if (oldItem) {
yPos = parseInt(oldItem.css("top"));
oldItem.animate({top:(yPos-winH)}, options.transitionSpeed, easing);
}
yPos = parseInt(currentItem.css("top"));
currentItem.css({display:"block", top:currentItem.height()}).animate({top:yPos}, options.transitionSpeed, easing, function() {detatch(); transitionComplete();});
}
//Slide down
function slideDown() {
var yPos = 0;
if (oldItem) {
yPos = parseInt(oldItem.css("top"));
oldItem.animate({top:(yPos+winH)}, options.transitionSpeed, easing);
}
yPos = parseInt(currentItem.css("top"));
currentItem.css({display:"block", top:-currentItem.height()}).animate({top:yPos}, options.transitionSpeed, easing, function() {detatch(); transitionComplete();});
}
/****************
- Other -
****************/
//Transition complete
function transitionComplete() {
running = false;
enableClicks();
showCaption();
bgFired();
}
//Remove caption
function removeCaption() {
if (arrCaption.length) {
var i = 0, caption;
for (i=0; i0) {
var captions = item.find(".caption"), caption;
captions.each(function(i) {
caption = $(this).clone();
var xPos, yPos,
animation, animationDirection, animationOffset, animationTime, animationDelay;
//Data
animationDirection = caption.data("direction") ? caption.data("direction") : "";
animationOffset = caption.data("offset") ? parseInt(caption.data("offset"))*bw : 0;
animationTime = caption.data("time") ? parseInt(caption.data("time")) : 0;
animationDelay = caption.data("delay") ? parseInt(caption.data("delay")) : 0;
animationEasing = caption.data("easing") ? caption.data("easing") : options.textEasing;
animationAlpha = caption.data("alpha") ? Number(caption.data("alpha")) : 1;
//Alpha
animation = {"opacity":animationAlpha};
//Caption CSS
captionCSS(caption, $(this));
//Direction start position
switch(animationDirection) {
case "top":
if (!isNaN(parseInt(caption.css("top")))) {
yPos = parseInt(caption.css("top"));
caption.css({"top":(yPos-animationOffset)});
animation["top"] = yPos;
} else {
yPos = parseInt(caption.css("bottom"));
caption.css({"bottom":(yPos+animationOffset)});
animation["bottom"] = yPos;
}
break;
case "left":
if (!isNaN(parseInt(caption.css("left")))) {
xPos = parseInt(caption.css("left"));
caption.css({"left":(xPos-animationOffset)});
animation["left"] = xPos;
} else {
xPos = parseInt(caption.css("right"));
caption.css({"right":(xPos+animationOffset)});
animation["right"] = xPos;
}
break;
case "bottom":
if (!isNaN(parseInt(caption.css("top")))) {
yPos = parseInt(caption.css("top"));
caption.css({"top":(yPos+animationOffset)});
animation["top"] = yPos;
} else {
yPos = parseInt(caption.css("bottom"));
caption.css({"bottom":(yPos-animationOffset)});
animation["bottom"] = yPos;
}
break;
case "right":
if (!isNaN(parseInt(caption.css("left")))) {
xPos = parseInt(caption.css("left"));
caption.css({"left":(xPos+animationOffset)});
animation["left"] = xPos;
} else {
xPos = parseInt(caption.css("right"));
caption.css({"right":(xPos-animationOffset)});
animation["right"] = xPos;
}
break;
}
//Put to array
arrCaption[i] = caption;
textBox.append(caption);
caption.stop().delay(animationDelay).animate(animation, animationTime, animationEasing);
});
}
}
//Caption CSS
function captionCSS(caption, nc) {
var leftPos, rightPos, topPos, bottomPos,
fontSize, fontExt;
if (nc==null) nc = caption;
//Left
if (caption.data("left")) {
leftPos = caption.data("left").toString();
if (leftPos.indexOf("%")!=-1) {
leftPos = winW*parseInt(leftPos)/100;
}
leftPos = parseInt(leftPos)*bw;
caption.css({left:leftPos});
}
//Right
if (caption.data("right")) {
rightPos = caption.data("right").toString();
if (rightPos.indexOf("%")!=-1) {
rightPos = winW*parseInt(rightPos)/100;
}
rightPos = parseInt(rightPos)*bw;
caption.css({right:rightPos});
}
//Top
if (caption.data("top")) {
topPos = caption.data("top").toString();
if (topPos.indexOf("%")!=-1) {
topPos = winH*parseInt(topPos)/100;
}
topPos = parseInt(topPos)*bh;
caption.css({top:topPos});
}
//Bottom
if (caption.data("bottom")) {
bottomPos = caption.data("bottom").toString();
if (bottomPos.indexOf("%")!=-1) {
bottomPos = winH*parseInt(bottomPos)/100;
}
bottomPos = parseInt(bottomPos)*bh;
caption.css({bottom:bottomPos});
}
//CSS
if (caption.data('fsize') == undefined) caption.data('fsize',parseInt(nc.css('font-size'),0) || 0);
if (caption.data('pt') == undefined) caption.data('pt',parseInt(nc.css('paddingTop'),0) || 0);
if (caption.data('pb') == undefined) caption.data('pb',parseInt(nc.css('paddingBottom'),0) || 0);
if (caption.data('pl') == undefined) caption.data('pl',parseInt(nc.css('paddingLeft'),0) || 0);
if (caption.data('pr') == undefined) caption.data('pr',parseInt(nc.css('paddingRight'),0) || 0);
if (caption.data('mt') == undefined) caption.data('mt',parseInt(nc.css('marginTop'),0) || 0);
if (caption.data('mb') == undefined) caption.data('mb',parseInt(nc.css('marginBottom'),0) || 0);
if (caption.data('ml') == undefined) caption.data('ml',parseInt(nc.css('marginLeft'),0) || 0);
if (caption.data('mr') == undefined) caption.data('mr',parseInt(nc.css('marginRight'),0) || 0);
if (caption.data('bt') == undefined) caption.data('bt',parseInt(nc.css('borderTopWidth'),0) || 0);
if (caption.data('bb') == undefined) caption.data('bb',parseInt(nc.css('borderBottomWidth'),0) || 0);
if (caption.data('bl') == undefined) caption.data('bl',parseInt(nc.css('borderLeftWidth'),0) || 0);
if (caption.data('br') == undefined) caption.data('br',parseInt(nc.css('borderRightWidth'),0) || 0);
if (caption.data('lh') == undefined) caption.data('lh',parseInt(nc.css('lineHeight'),0) || 0);
caption.css({
'font-size':(caption.data('fsize')*bw)+"px",
'padding-top':(caption.data('pt')*bh)+"px",
'padding-bottom':(caption.data('pb')*bh)+"px",
'padding-left':(caption.data('pl')*bw)+"px",
'padding-right':(caption.data('pr')*bw)+"px",
'margin-top':(caption.data('mt')*bh)+"px",
'margin-bottom':(caption.data('mb')*bh)+"px",
'margin-left':(caption.data('ml')*bw)+"px",
'margin-right':(caption.data('mr')*bw)+"px",
'border-top-width':(caption.data('bt')*bh)+"px",
'border-bottom-width':(caption.data('bb')*bh)+"px",
'border-left-width':(caption.data('bl')*bw)+"px",
'border-right-width':(caption.data('br')*bw)+"px",
'line-height':(caption.data('lh')*bh)+"px",
'white-space':"nowrap"
});
//Image
if (nc.find('img').length>0) {
var im = nc.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*bw);
im.height(hh*bh);
}
}
//BG fired
function bgFired() {
pauseTimer();
if(leg>1) {
if(options.autoPlay) {
if(playOn) {
startTimer();
} else {
readyToFire = true;
}
} else {
readyToFire = true;
}
} else {
readyToFire = true;
}
runOn = false;
}
//Category click
function categoryClick() {
if(!runOn) {
$.address.value(titleText[$(this).data("id")]);
}
}
//Previous arrow click
function previousClick() {
if(timer) clearTimeout(timer);
disableClicks();
(isOn > 0) ? isOn-- : isOn = iLeg;
changeAddress();
}
//Next arrow click
function nextClick() {
if(timer) clearTimeout(timer);
disableClicks();
(isOn < iLeg) ? isOn++ : isOn = 0;
changeAddress();
}
//Window resize handler
function resizeContent(event) {
winW = win.width();
winH = win.height();
if(typeof imgOne === "undefined") return;
if(typeof event === "object" && running) {
running = false;
imgOne.stop(true, true);
if(imgTwo) imgTwo.stop(true, true);
}
var xScale = winW / imageW,
yScale = winH / imageH,
perc, w, h, x, y;
if(stretched) {
perc = (xScale > yScale) ? xScale : yScale;
w = Math.ceil(imageW * perc);
h = Math.ceil(imageH * perc);
if(centered) {
(w > winW) ? x = (w - winW) >> 1 : x = 0;
(h > winH) ? y = (h - winH) >> 1 : y = 0;
} else {
x = 0;
y = 0;
}
} else {
perc = (xScale > yScale) ? yScale : xScale;
w = Math.ceil(imageW * perc);
h = Math.ceil(imageH * perc);
(winW > w) ? x = -((winW - w) >> 1) : x = 0;
(winH > h) ? y = -((winH - h) >> 1) : y = 0;
}
if(bgOn === 1) {
if(imgOne) imgOne.width(w).height(h).css({top: -y, left: -x});
} else {
if(imgTwo) imgTwo.width(w).height(h).css({top: -y, left: -x});
}
buttonPos();
//Responsive
if (options.responsive) {
bw = winW/options.startWidth;
bh = bw;
if (bw>1) bw = 1;
if (bh>1) bh = 1;
//Captions
if (arrCaption.length) {
var i = 0, caption;
for (i=0; i0 || doc.find(".volume").length>0) ? doc.find(".audio-player").width()-5 : 0;
buttons.css({"visibility":"visible", "margin-right":r+"px"});
//Previous-next arrows
if (options.showPreviousNextArrow) {
y = Math.ceil((winH-options.thumbHeight)/2);
previousBtn.css("visibility", "visible");
previousBtn.css("top", y);
nextBtn.css("visibility", "visible");
nextBtn.css("top", y);
}
//Preloader
preloader.css("top", Math.ceil(winH/2));
//Timer
if (options.showTimer) {
y = options.timerAlign.toLowerCase()=="top" ? 0 : (winH-timerHolder.height());
timerHolder.css({"visibility":"visible", "top":y});
}
}
//Change BG image
function changeBG() {
disableClicks();
(isOn0) ? isOn-- : isOn = iLeg;
break;
case 39: //Next arrow
case 40: //Up arrow
(isOn=options.elements.length){log('invalid slide index: '+num);return false}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0}if(typeof arg2=='string')options.oneTimeFx=arg2;go(options.elements,options,1,num>=options.currSlide);return false}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data('cycle.opts');if(!options){log('options not found, can not resume');return false}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0}go(options.elements,options,1,!options.backwards)}}};function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute('filter')}catch(smother){}}};function destroy(opts){if(opts.next)$(opts.next).unbind(opts.prevNextEvent);if(opts.prev)$(opts.prev).unbind(opts.prevNextEvent);if(opts.pager||opts.pagerAnchorBuilder)$.each(opts.pagerAnchors||[],function(){this.unbind().remove()});opts.pagerAnchors=null;if(opts.destroy)opts.destroy(opts)};function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});var meta=$.isFunction($cont.data)?$cont.data(opts.metaAttr):null;if(meta)opts=$.extend(opts,meta);if(opts.autostop)opts.countdown=opts.autostopCount||els.length;var cont=$cont[0];$cont.data('cycle.opts',opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];if(!$.support.opacity&&opts.cleartype)opts.after.push(function(){removeFilter(this,opts)});if(opts.continuous)opts.after.push(function(){go(els,opts,0,!opts.backwards)});saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)clearTypeFix($slides);if($cont.css('position')=='static')$cont.css('position','relative');if(opts.width)$cont.width(opts.width);if(opts.height&&opts.height!='auto')$cont.height(opts.height);if(opts.startingSlide)opts.startingSlide=parseInt(opts.startingSlide,10);else if(opts.backwards)opts.startingSlide=els.length-1;if(opts.random){opts.randomMap=[];for(var i=0;i=els.length)opts.startingSlide=0;opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:'absolute',top:0,left:0}).hide().each(function(i){var z;if(opts.backwards)z=first?i<=first?els.length+(i-first):first-i:els.length-i;else z=first?i>=first?els.length-(i-first):first-i:els.length-i;$(this).css('z-index',z)});$(els[first]).css('opacity',1).show();removeFilter(els[first],opts);if(opts.fit){if(!opts.aspect){if(opts.width)$slides.width(opts.width);if(opts.height&&opts.height!='auto')$slides.height(opts.height)}else{$slides.each(function(){var $slide=$(this);var ratio=(opts.aspect===true)?$slide.width()/$slide.height():opts.aspect;if(opts.width&&$slide.width()!=opts.width){$slide.width(opts.width);$slide.height(opts.width/ratio)}if(opts.height&&$slide.height()maxw?w:maxw;maxh=h>maxh?h:maxh}if(maxw>0&&maxh>0)$cont.css({width:maxw+'px',height:maxh+'px'})}var pauseFlag=false;if(opts.pause)$cont.hover(function(){pauseFlag=true;this.cyclePause++;triggerPause(cont,true)},function(){pauseFlag&&this.cyclePause--;triggerPause(cont,true)});if(supportMultiTransitions(opts)===false)return false;var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr('height')||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr('width')||0);if($el.is('img')){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ',this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options)},opts.requeueTimeout);requeue=true;return false}else{log('could not determine size of image: '+this.src,this.cycleW,this.cycleH)}}}return true});if(requeue)return false;opts.cssBefore=opts.cssBefore||{};opts.cssAfter=opts.cssAfter||{};opts.cssFirst=opts.cssFirst||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(':eq('+first+')').css(opts.cssBefore);$($slides[first]).css(opts.cssFirst);if(opts.timeout){opts.timeout=parseInt(opts.timeout,10);if(opts.speed.constructor==String)opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed,10);if(!opts.sync)opts.speed=opts.speed/2;var buffer=opts.fx=='none'?0:opts.fx=='shuffle'?500:250;while((opts.timeout-opts.speed)=(els.length-1)?0:opts.startingSlide+1;if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init))init($cont,$slides,opts);else if(opts.fx!='custom'&&!opts.multiFx){log('unknown transition: '+opts.fx,'; slideshow terminating');return false}}var e0=$slides[first];if(!opts.skipInitializationCallbacks){if(opts.before.length)opts.before[0].apply(e0,[e0,e0,opts,true]);if(opts.after.length)opts.after[0].apply(e0,[e0,e0,opts,true])}if(opts.next)$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1)});if(opts.prev)$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0)});if(opts.pager||opts.pagerAnchorBuilder)buildPager(els,opts);exposeAddSlide(opts,els);return opts};function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this)});$.each(opts.after,function(){opts.original.after.push(this)})};function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(',')>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,'').split(',');for(i=0;i=opts.fxs.length))opts.lastFx=0;else if(!fwd&&(opts.lastFx==undefined||--opts.lastFx<0))opts.lastFx=opts.fxs.length-1;fx=opts.fxs[opts.lastFx]}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null}$.fn.cycle.resetState(opts,fx);if(opts.before.length)$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount)return;o.apply(next,[curr,next,opts,fwd])});var after=function(){opts.busy=0;$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount)return;o.apply(next,[curr,next,opts,fwd])})};debug('tx firing('+fx+'); currSlide: '+opts.currSlide+'; nextSlide: '+opts.nextSlide);opts.busy=1;if(opts.fxFn)opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);else if($.isFunction($.fn.cycle[opts.fx]))$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);else $.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent)}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length)opts.randomIndex=0;opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide)opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1}else if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1}}}if(changed&&opts.pager)opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);var ms=0;if(opts.timeout&&!opts.continuous)ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);else if(opts.continuous&&p.cyclePause)ms=10;if(ms>0)p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.backwards)},ms)};$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName)})};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while(opts.fx!='none'&&(t-opts.speed)<250)t+=opts.speed;debug('calculated timeout: '+t+'; speed: '+opts.speed);if(t!==false)return t}return opts.timeout};$.fn.cycle.next=function(opts){advance(opts,1)};$.fn.cycle.prev=function(opts){advance(opts,0)};function advance(opts,moveForward){var val=moveForward?1:-1;var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2)opts.randomIndex=els.length-2;else if(opts.randomIndex==-1)opts.randomIndex=els.length-1;opts.nextSlide=opts.randomMap[opts.randomIndex]}else if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex]}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap)return false;opts.nextSlide=els.length-1}else if(opts.nextSlide>=els.length){if(opts.nowrap)return false;opts.nextSlide=0}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb))cb(val>0,opts.nextSlide,els[opts.nextSlide]);go(els,opts,1,moveForward);return false};function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts)});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass)};$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug('pagerAnchorBuilder('+i+', el) returned: '+a)}else a=''+(i+1)+'';if(!a)return;var $a=$(a);if($a.parents('body').length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0])});$a=$(arr)}else{$a.appendTo($p)}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb))cb(opts.nextSlide,els[opts.nextSlide]);go(els,opts,1,opts.currSlidel?c-l:opts.slideCount-l;else hops=c=0){var rgb=v.match(/\d+/g);return'#'+hex(rgb[0])+hex(rgb[1])+hex(rgb[2])}if(v&&v!='transparent')return v}return'#ffffff'};$slides.each(function(){$(this).css('background-color',getBg(this))})};$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();if(typeof opts.cssBefore.opacity=='undefined')opts.cssBefore.opacity=1;opts.cssBefore.display='block';if(opts.slideResize&&w!==false&&next.cycleW>0)opts.cssBefore.width=next.cycleW;if(opts.slideResize&&h!==false&&next.cycleH>0)opts.cssBefore.height=next.cycleH;opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display='none';$(curr).css('zIndex',opts.slideCount+(rev===true?1:0));$(next).css('zIndex',opts.slideCount+(rev===true?0:1))};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=='number')speedIn=speedOut=speedOverride;else speedIn=speedOut=1;easeIn=easeOut=null}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,function(){cb()})};$l.animate(opts.animOut,speedOut,easeOut,function(){$l.css(opts.cssAfter);if(!opts.sync)fn()});if(opts.sync)fn()};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(':eq('+opts.currSlide+')').css('opacity',0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0}}};$.fn.cycle.ver=function(){return ver};$.fn.cycle.defaults={activePagerClass:'activeSlide',after:null,allowPagerClickBubble:false,animIn:null,animOut:null,aspect:false,autostop:0,autostopCount:0,backwards:false,before:null,center:null,cleartype:!$.support.opacity,cleartypeNoBg:false,containerResize:1,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:'fade',fxFn:null,height:'auto',manualTrump:true,metaAttr:'cycle',next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:'click.cycle',pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:'click.cycle',random:0,randomizeEffects:1,requeueOnImageNotLoaded:true,requeueTimeout:250,rev:0,shuffle:null,skipInitializationCallbacks:false,slideExpr:null,slideResize:1,speed:1000,speedIn:null,speedOut:null,startingSlide:0,sync:1,timeout:4000,timeoutFn:null,updateActivePagerLink:null,width:null}})(jQuery);(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after()}};$.fn.cycle.transitions.fadeout=function($cont,$slides,opts){$slides.not(':eq('+opts.currSlide+')').css({display:'block','opacity':1});opts.before.push(function(curr,next,opts,w,h,rev){$(curr).css('zIndex',opts.slideCount+(!rev===true?1:0));$(next).css('zIndex',opts.slideCount+(!rev===true?0:1))});opts.animIn.opacity=1;opts.animOut.opacity=0;opts.cssBefore.opacity=1;opts.cssBefore.display='block';opts.cssAfter.zIndex=0};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css('overflow','hidden');opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore.top=h;opts.cssBefore.left=0;opts.cssFirst.top=0;opts.animIn.top=0;opts.animOut.top=-h};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css('overflow','hidden');opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst.top=0;opts.cssBefore.top=-h;opts.cssBefore.left=0;opts.animIn.top=0;opts.animOut.top=h};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css('overflow','hidden');opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst.left=0;opts.cssBefore.left=w;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.left=0-w};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css('overflow','hidden');opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst.left=0;opts.cssBefore.left=-w;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.left=w};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css('overflow','hidden').width();opts.before.push(function(curr,next,opts,fwd){if(opts.rev)fwd=!fwd;$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW});opts.cssFirst.left=0;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.top=0};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css('overflow','hidden');opts.before.push(function(curr,next,opts,fwd){if(opts.rev)fwd=!fwd;$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH});opts.cssFirst.top=0;opts.cssBefore.left=0;opts.animIn.top=0;opts.animOut.left=0};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW});opts.cssBefore.left=0;opts.cssBefore.top=0;opts.cssBefore.width=0;opts.animIn.width='show';opts.animOut.width=0};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH});opts.cssBefore.left=0;opts.cssBefore.top=0;opts.cssBefore.height=0;opts.animIn.height='show';opts.animOut.height=0};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css('overflow','visible').width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true)});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++)opts.els.push($slides[i]);for(i=0;i