/**
* jQuery bxSlider v3.0 http://bxslider.com
* 
* Copyright 2010, Steven Wanderski http://stevenwanderski.com
* 
* Free to use and abuse under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 
*/
(function($) {
$.fn.bxSlider = function(options) {
var defaults = {
mode : 'horizontal',
infiniteLoop : true,
hideControlOnEnd : false,
controls : true,
speed : 500,
easing : 'swing',
pager : false,
pagerSelector : null,
pagerType : 'full',
pagerLocation : 'bottom',
pagerShortSeparator : '/',
pagerActiveClass : 'pager-active',
nextText : 'next',
nextImage : '',
nextSelector : null,
prevText : 'prev',
prevImage : '',
prevSelector : null,
captions : false,
captionsSelector : null,
auto : false,
autoDirection : 'next',
autoControls : false,
autoControlsSelector : null,
autoStart : true,
autoHover : false,
autoDelay : 0,
pause : 3000,
startText : 'start',
startImage : '',
stopText : 'stop',
stopImage : '',
ticker : false,
tickerSpeed : 5000,
tickerDirection : 'next',
tickerHover : false,
wrapperClass : 'bx-wrapper',
startingSlide : 0,
displaySlideQty : 1,
moveSlideQty : 1,
randomStart : true,
onBeforeSlide : function() {
},
onAfterSlide : function() {
},
onLastSlide : function() {
},
onFirstSlide : function() {
},
onNextSlide : function() {
},
onPrevSlide : function() {
},
buildPager : null
}
var options = $.extend(defaults, options);
var base = this;
var $parent = '';
var $origElement = '';
var $children = '';
var $outerWrapper = '';
var $firstChild = '';
var childrenWidth = '';
var childrenOuterWidth = '';
var wrapperWidth = '';
var wrapperHeight = '';
var $pager = '';
var interval = '';
var $autoControls = '';
var $stopHtml = '';
var $startContent = '';
var $stopContent = '';
var autoPlaying = true;
var loaded = false;
var childrenMaxWidth = 0;
var childrenMaxHeight = 0;
var currentSlide = 0;
var origLeft = 0;
var origTop = 0;
var origShowWidth = 0;
var origShowHeight = 0;
var tickerLeft = 0;
var tickerTop = 0;
var isWorking = false;
var firstSlide = 0;
var lastSlide = $children.length - 1;
this.goToSlide = function(number, stopAuto) {
if (!isWorking) {
isWorking = true;
currentSlide = number;
options.onBeforeSlide(currentSlide, $children.length, $children
.eq(currentSlide));
if (typeof (stopAuto) == 'undefined') {
var stopAuto = true;
}
if (stopAuto) {
if (options.auto) {
base.stopShow(true);
}
}
slide = number;
if (slide == firstSlide) {
options.onFirstSlide(currentSlide, $children.length,
$children.eq(currentSlide));
}
if (slide == lastSlide) {
options.onLastSlide(currentSlide, $children.length,
$children.eq(currentSlide));
}
if (options.mode == 'horizontal') {
$parent.animate({
'left' : '-' + getSlidePosition(slide, 'left') + 'px'
}, options.speed, options.easing, function() {
isWorking = false;
options.onAfterSlide(currentSlide, $children.length,
$children.eq(currentSlide));
});
} else if (options.mode == 'vertical') {
$parent.animate({
'top' : '-' + getSlidePosition(slide, 'top') + 'px'
}, options.speed, options.easing, function() {
isWorking = false;
options.onAfterSlide(currentSlide, $children.length,
$children.eq(currentSlide));
});
} else if (options.mode == 'fade') {
setChildrenFade();
}
checkEndControls();
if (options.moveSlideQty > 1) {
number = Math.floor(number / options.moveSlideQty);
}
makeSlideActive(number);
showCaptions();
}
}
this.goToNextSlide = function(stopAuto) {
if (typeof (stopAuto) == 'undefined') {
var stopAuto = true;
}
if (stopAuto) {
if (options.auto) {
base.stopShow(true);
}
}
if (!options.infiniteLoop) {
if (!isWorking) {
var slideLoop = false;
currentSlide = (currentSlide + (options.moveSlideQty));
if (currentSlide <= lastSlide) {
checkEndControls();
options.onNextSlide(currentSlide, $children.length,
$children.eq(currentSlide));
base.goToSlide(currentSlide);
} else {
currentSlide -= options.moveSlideQty;
}
}
} else {
if (!isWorking) {
isWorking = true;
var slideLoop = false;
currentSlide = (currentSlide + options.moveSlideQty);
if (currentSlide > lastSlide) {
currentSlide = currentSlide % $children.length;
slideLoop = true;
}
options.onNextSlide(currentSlide, $children.length,
$children.eq(currentSlide));
options.onBeforeSlide(currentSlide, $children.length,
$children.eq(currentSlide));
if (options.mode == 'horizontal') {
var parentLeft = (options.moveSlideQty * childrenOuterWidth);
$parent.animate({
'left' : '-=' + parentLeft + 'px'
}, options.speed, options.easing, function() {
isWorking = false;
if (slideLoop) {
$parent.css('left',
'-'
+ getSlidePosition(
currentSlide, 'left')
+ 'px');
}
options.onAfterSlide(currentSlide,
$children.length, $children
.eq(currentSlide));
});
} else if (options.mode == 'vertical') {
var parentTop = (options.moveSlideQty * childrenMaxHeight);
$parent.animate({
'top' : '-=' + parentTop + 'px'
}, options.speed, options.easing, function() {
isWorking = false;
if (slideLoop) {
$parent.css('top', '-'
+ getSlidePosition(currentSlide, 'top')
+ 'px');
}
options.onAfterSlide(currentSlide,
$children.length, $children
.eq(currentSlide));
});
} else if (options.mode == 'fade') {
setChildrenFade();
}
if (options.moveSlideQty > 1) {
makeSlideActive(Math.ceil(currentSlide
/ options.moveSlideQty));
} else {
makeSlideActive(currentSlide);
}
showCaptions();
}
}
}
this.goToPreviousSlide = function(stopAuto) {
if (typeof (stopAuto) == 'undefined') {
var stopAuto = true;
}
if (stopAuto) {
if (options.auto) {
base.stopShow(true);
}
}
if (!options.infiniteLoop) {
if (!isWorking) {
var slideLoop = false;
currentSlide = currentSlide - options.moveSlideQty;
if (currentSlide < 0) {
currentSlide = 0;
if (options.hideControlOnEnd) {
$('.bx-prev', $outerWrapper).hide();
}
}
checkEndControls();
options.onPrevSlide(currentSlide, $children.length,
$children.eq(currentSlide));
base.goToSlide(currentSlide);
}
} else {
if (!isWorking) {
isWorking = true;
var slideLoop = false;
currentSlide = (currentSlide - (options.moveSlideQty));
if (currentSlide < 0) {
negativeOffset = (currentSlide % $children.length);
if (negativeOffset == 0) {
currentSlide = 0;
} else {
currentSlide = ($children.length) + negativeOffset;
}
slideLoop = true;
}
options.onPrevSlide(currentSlide, $children.length,
$children.eq(currentSlide));
options.onBeforeSlide(currentSlide, $children.length,
$children.eq(currentSlide));
if (options.mode == 'horizontal') {
var parentLeft = (options.moveSlideQty * childrenOuterWidth);
$parent.animate({
'left' : '+=' + parentLeft + 'px'
}, options.speed, options.easing, function() {
isWorking = false;
if (slideLoop) {
$parent.css('left',
'-'
+ getSlidePosition(
currentSlide, 'left')
+ 'px');
}
options.onAfterSlide(currentSlide,
$children.length, $children
.eq(currentSlide));
});
} else if (options.mode == 'vertical') {
var parentTop = (options.moveSlideQty * childrenMaxHeight);
$parent.animate({
'top' : '+=' + parentTop + 'px'
}, options.speed, options.easing, function() {
isWorking = false;
if (slideLoop) {
$parent.css('top', '-'
+ getSlidePosition(currentSlide, 'top')
+ 'px');
}
options.onAfterSlide(currentSlide,
$children.length, $children
.eq(currentSlide));
});
} else if (options.mode == 'fade') {
setChildrenFade();
}
if (options.moveSlideQty > 1) {
makeSlideActive(Math.ceil(currentSlide
/ options.moveSlideQty));
} else {
makeSlideActive(currentSlide);
}
showCaptions();
}
}
}
this.goToFirstSlide = function(stopAuto) {
if (typeof (stopAuto) == 'undefined') {
var stopAuto = true;
}
base.goToSlide(firstSlide, stopAuto);
}
this.goToLastSlide = function() {
if (typeof (stopAuto) == 'undefined') {
var stopAuto = true;
}
base.goToSlide(lastSlide, stopAuto);
}
this.getCurrentSlide = function() {
return currentSlide;
}
this.getSlideCount = function() {
return $children.length;
}
this.stopShow = function(changeText) {
clearInterval(interval);
if (typeof (changeText) == 'undefined') {
var changeText = true;
}
if (changeText && options.autoControls) {
$autoControls.html($startContent).removeClass('stop').addClass(
'start');
autoPlaying = false;
}
}
this.startShow = function(changeText) {
if (typeof (changeText) == 'undefined') {
var changeText = true;
}
setAutoInterval();
if (changeText && options.autoControls) {
$autoControls.html($stopContent).removeClass('start').addClass(
'stop');
autoPlaying = true;
}
}
this.stopTicker = function(changeText) {
$parent.stop();
if (typeof (changeText) == 'undefined') {
var changeText = true;
}
if (changeText && options.ticker) {
$autoControls.html($startContent).removeClass('stop').addClass(
'start');
autoPlaying = false;
}
}
this.startTicker = function(changeText) {
if (options.mode == 'horizontal') {
if (options.tickerDirection == 'next') {
var stoppedLeft = parseInt($parent.css('left'));
var remainingDistance = (origShowWidth + stoppedLeft)
+ $children.eq(0).width();
} else if (options.tickerDirection == 'prev') {
var stoppedLeft = -parseInt($parent.css('left'));
var remainingDistance = (stoppedLeft)
- $children.eq(0).width();
}
var finishingSpeed = (remainingDistance * options.tickerSpeed)
/ origShowWidth;
moveTheShow(tickerLeft, remainingDistance, finishingSpeed);
} else if (options.mode == 'vertical') {
if (options.tickerDirection == 'next') {
var stoppedTop = parseInt($parent.css('top'));
var remainingDistance = (origShowHeight + stoppedTop)
+ $children.eq(0).height();
} else if (options.tickerDirection == 'prev') {
var stoppedTop = -parseInt($parent.css('top'));
var remainingDistance = (stoppedTop)
- $children.eq(0).height();
}
var finishingSpeed = (remainingDistance * options.tickerSpeed)
/ origShowHeight;
moveTheShow(tickerTop, remainingDistance, finishingSpeed);
if (typeof (changeText) == 'undefined') {
var changeText = true;
}
if (changeText && options.ticker) {
$autoControls.html($stopContent).removeClass('start')
.addClass('stop');
autoPlaying = true;
}
}
}
this.initShow = function() {
$parent = $(this);
$origElement = $parent.clone();
$children = $parent.children();
$outerWrapper = '';
$firstChild = $parent.children(':first');
childrenWidth = $firstChild.width();
childrenMaxWidth = 0;
childrenOuterWidth = $firstChild.outerWidth();
childrenMaxHeight = 0;
wrapperWidth = getWrapperWidth();
wrapperHeight = getWrapperHeight();
isWorking = false;
$pager = '';
currentSlide = 0;
origLeft = 0;
origTop = 0;
interval = '';
$autoControls = '';
$stopHtml = '';
$startContent = '';
$stopContent = '';
autoPlaying = true;
loaded = false;
origShowWidth = 0;
origShowHeight = 0;
tickerLeft = 0;
tickerTop = 0;
firstSlide = 0;
lastSlide = $children.length - 1;
$children.each(function(index) {
if ($(this).outerHeight() > childrenMaxHeight) {
childrenMaxHeight = $(this).outerHeight();
}
if ($(this).outerWidth() > childrenMaxWidth) {
childrenMaxWidth = $(this).outerWidth();
}
});
if (options.randomStart) {
var randomNumber = Math.floor(Math.random() * $children.length);
currentSlide = randomNumber;
origLeft = childrenOuterWidth
* (options.moveSlideQty + randomNumber);
origTop = childrenMaxHeight
* (options.moveSlideQty + randomNumber);
} else {
currentSlide = options.startingSlide;
origLeft = childrenOuterWidth
* (options.moveSlideQty + options.startingSlide);
origTop = childrenMaxHeight
* (options.moveSlideQty + options.startingSlide);
}
initCss();
if (options.pager && !options.ticker) {
if (options.pagerType == 'full') {
showPager('full');
} else if (options.pagerType == 'short') {
showPager('short');
}
}
if (options.controls && !options.ticker) {
setControlsVars();
}
if (options.auto || options.ticker) {
if (options.autoControls) {
setAutoControlsVars();
}
if (options.autoStart) {
setTimeout(function() {
base.startShow(true);
}, options.autoDelay);
} else {
base.stopShow(true);
}
if (options.autoHover && !options.ticker) {
setAutoHover();
}
}
if (options.moveSlideQty > 1) {
makeSlideActive(Math.ceil(currentSlide / options.moveSlideQty));
} else {
makeSlideActive(currentSlide);
}
checkEndControls();
if (options.captions) {
showCaptions();
}
options.onAfterSlide(currentSlide, $children.length, $children
.eq(currentSlide));
}
this.destroyShow = function() {
clearInterval(interval);
//$('.bx-next, .bx-prev').remove();
if (options.prevSelector){
$(options.prevSelector).html("");
}
if (options.nextSelector) {
$(options.nextSelector).html("");
}
if (options.pagerSelector) {
$(options.pagerSelector).html("");
}
//$('.bx-next, .bx-prev, .bx-pager, .bx-auto', $outerWrapper).remove();
$('.bx-auto', $outerWrapper).remove();
$parent.unwrap().unwrap().removeAttr('style');
$parent.children().removeAttr('style').not('.pager').remove();
$children.removeClass('pager');
}
this.reloadShow = function() {
base.destroyShow();
base.initShow();
}
function initCss() {
setChildrenLayout(options.startingSlide);
if (options.mode == 'horizontal') {
$parent.wrap(
'<div class="' + options.wrapperClass
+ '" style="width:' + wrapperWidth
+ 'px; position:relative;"></div>').wrap(
'<div class="bx-window" style="position:relative; overflow:hidden; width:'
+ wrapperWidth + 'px;"></div>').css({
width : '999999px',
position : 'relative',
left : '-' + (origLeft) + 'px'
});
$parent.children().css({
width : childrenWidth,
'float' : 'left',
listStyle : 'none'
});
$outerWrapper = $parent.parent().parent();
$children.addClass('pager');
} else if (options.mode == 'vertical') {
$parent
.wrap(
'<div class="' + options.wrapperClass
+ '" style="width:' + childrenMaxWidth
+ 'px; position:relative;"></div>')
.wrap(
'<div class="bx-window" style="width:'
+ childrenMaxWidth
+ 'px; height:'
+ wrapperHeight
+ 'px; position:relative; overflow:hidden;"></div>')
.css({
height : '999999px',
position : 'relative',
top : '-' + (origTop) + 'px'
});
$parent.children().css({
listStyle : 'none',
height : childrenMaxHeight
});
$outerWrapper = $parent.parent().parent();
$children.addClass('pager');
} else if (options.mode == 'fade') {
$parent
.wrap(
'<div class="' + options.wrapperClass
+ '" style="width:' + childrenMaxWidth
+ 'px; position:relative;"></div>')
.wrap(
'<div class="bx-window" style="height:'
+ childrenMaxHeight
+ 'px; width:'
+ childrenMaxWidth
+ 'px; position:relative; overflow:hidden;"></div>');
$parent.children().css({
listStyle : 'none',
position : 'absolute',
top : 0,
left : 0,
zIndex : 98
});
$outerWrapper = $parent.parent().parent();
$children.not(':eq(' + currentSlide + ')').fadeTo(0, 0);
$children.eq(currentSlide).css('zIndex', 99);
}
if (options.captions && options.captionsSelector == null) {
$outerWrapper.append('<div class="bx-captions"></div>');
}
}
function setChildrenLayout() {
if (options.mode == 'horizontal' || options.mode == 'vertical') {
var $prependedChildren = getArraySample($children, 0,
options.moveSlideQty, 'backward');
$.each($prependedChildren, function(index) {
$parent.prepend($(this));
});
var totalNumberAfterWindow = ($children.length + options.moveSlideQty) - 1;
var pagerExcess = $children.length - options.displaySlideQty;
var numberToAppend = totalNumberAfterWindow - pagerExcess;
var $appendedChildren = getArraySample($children, 0,
numberToAppend, 'forward');
if (options.infiniteLoop) {
$.each($appendedChildren, function(index) {
$parent.append($(this));
});
}
}
}
function setControlsVars() {
if (options.nextImage != '') {
nextContent = options.nextImage;
nextType = 'image';
} else {
nextContent = options.nextText;
nextType = 'text';
}
if (options.prevImage != '') {
prevContent = options.prevImage;
prevType = 'image';
} else {
prevContent = options.prevText;
prevType = 'text';
}
showControls(nextType, nextContent, prevType, prevContent);
}
function setAutoInterval() {
if (options.auto) {
if (!options.infiniteLoop) {
if (options.autoDirection == 'next') {
interval = setInterval(function() {
currentSlide += options.moveSlideQty;
if (currentSlide > lastSlide) {
currentSlide = currentSlide % $children.length;
}
base.goToSlide(currentSlide, false);
}, options.pause);
} else if (options.autoDirection == 'prev') {
interval = setInterval(
function() {
currentSlide -= options.moveSlideQty;
if (currentSlide < 0) {
negativeOffset = (currentSlide % $children.length);
if (negativeOffset == 0) {
currentSlide = 0;
} else {
currentSlide = ($children.length)
+ negativeOffset;
}
}
base.goToSlide(currentSlide, false);
}, options.pause);
}
} else {
if (options.autoDirection == 'next') {
interval = setInterval(function() {
base.goToNextSlide(false);
}, options.pause);
} else if (options.autoDirection == 'prev') {
interval = setInterval(function() {
base.goToPreviousSlide(false);
}, options.pause);
}
}
} else if (options.ticker) {
options.tickerSpeed *= 10;
$('.pager', $outerWrapper).each(function(index) {
origShowWidth += $(this).width();
origShowHeight += $(this).height();
});
if (options.tickerDirection == 'prev'
&& options.mode == 'horizontal') {
$parent
.css('left', '-' + (origShowWidth + origLeft)
+ 'px');
} else if (options.tickerDirection == 'prev'
&& options.mode == 'vertical') {
$parent.css('top', '-' + (origShowHeight + origTop) + 'px');
}
if (options.mode == 'horizontal') {
tickerLeft = parseInt($parent.css('left'));
moveTheShow(tickerLeft, origShowWidth, options.tickerSpeed);
} else if (options.mode == 'vertical') {
tickerTop = parseInt($parent.css('top'));
moveTheShow(tickerTop, origShowHeight, options.tickerSpeed);
}
if (options.tickerHover) {
setTickerHover();
}
}
}
function moveTheShow(leftCss, distance, speed) {
if (options.mode == 'horizontal') {
if (options.tickerDirection == 'next') {
$parent.animate({
'left' : '-=' + distance + 'px'
}, speed, 'linear',
function() {
$parent.css('left', leftCss);
moveTheShow(leftCss, origShowWidth,
options.tickerSpeed);
});
} else if (options.tickerDirection == 'prev') {
$parent.animate({
'left' : '+=' + distance + 'px'
}, speed, 'linear',
function() {
$parent.css('left', leftCss);
moveTheShow(leftCss, origShowWidth,
options.tickerSpeed);
});
}
} else if (options.mode == 'vertical') {
if (options.tickerDirection == 'next') {
$parent.animate({
'top' : '-=' + distance + 'px'
}, speed, 'linear', function() {
$parent.css('top', leftCss);
moveTheShow(leftCss, origShowHeight,
options.tickerSpeed);
});
} else if (options.tickerDirection == 'prev') {
$parent.animate({
'top' : '+=' + distance + 'px'
}, speed, 'linear', function() {
$parent.css('top', leftCss);
moveTheShow(leftCss, origShowHeight,
options.tickerSpeed);
});
}
}
}
function setAutoControlsVars() {
if (options.startImage != '') {
startContent = options.startImage;
startType = 'image';
} else {
startContent = options.startText;
startType = 'text';
}
if (options.stopImage != '') {
stopContent = options.stopImage;
stopType = 'image';
} else {
stopContent = options.stopText;
stopType = 'text';
}
showAutoControls(startType, startContent, stopType, stopContent);
}
function setAutoHover() {
$outerWrapper.find('.bx-window').hover(function() {
if (autoPlaying) {
base.stopShow(false);
}
}, function() {
if (autoPlaying) {
base.startShow(false);
}
});
}
function setTickerHover() {
$parent.hover(function() {
if (autoPlaying) {
base.stopTicker(false);
}
}, function() {
if (autoPlaying) {
base.startTicker(false);
}
});
}
function setChildrenFade() {
$children.not(':eq(' + currentSlide + ')').fadeTo(options.speed, 0)
.css('zIndex', 98);
$children.eq(currentSlide).css('zIndex', 99).fadeTo(
options.speed,
1,
function() {
isWorking = false;
if (jQuery.browser.msie) {
$children.eq(currentSlide).get(0).style
.removeAttribute('filter');
}
options.onAfterSlide(currentSlide, $children.length,
$children.eq(currentSlide));
});
}
;
function makeSlideActive(number) {
if (options.pagerType == 'full' && options.pager) {
$('a', $pager).removeClass(options.pagerActiveClass);
$('a', $pager).eq(number).addClass(options.pagerActiveClass);
} else if (options.pagerType == 'short' && options.pager) {
$('.bx-pager-current', $pager).html(currentSlide + 1);
}
}
function showControls(nextType, nextContent, prevType, prevContent) {
var $nextHtml = $('<a href="" class="bx-next"></a>');
var $prevHtml = $('<a href="" class="bx-prev"></a>');
if (nextType == 'text') {
$nextHtml.html(nextContent);
} else {
$nextHtml.html('<img src="' + nextContent + '" />');
}
if (prevType == 'text') {
$prevHtml.html(prevContent);
} else {
$prevHtml.html('<img src="' + prevContent + '" />');
}
if (options.prevSelector) {
$(options.prevSelector).append($prevHtml);
} else {
$outerWrapper.append($prevHtml);
}
if (options.nextSelector) {
$(options.nextSelector).append($nextHtml);
} else {
$outerWrapper.append($nextHtml);
}
$nextHtml.click(function() {
base.goToNextSlide();
return false;
});
$prevHtml.click(function() {
base.goToPreviousSlide();
return false;
});
}
function showPager(type) {
var pagerQty = $children.length;
if (options.moveSlideQty > 1) {
if ($children.length % options.moveSlideQty != 0) {
pagerQty = Math.ceil($children.length
/ options.moveSlideQty);
} else {
pagerQty = $children.length / options.moveSlideQty;
}
}
var pagerString = '';
if (options.buildPager) {
for ( var i = 0; i < pagerQty; i++) {
pagerString += options.buildPager(i, $children.eq(i
* options.moveSlideQty));
}
} else if (type == 'full') {
for ( var i = 1; i <= pagerQty; i++) {
pagerString += '<a href="" class="pager-link pager-' + i
+ '">' + i + '</a>';
}
} else if (type == 'short') {
pagerString = '<span class="bx-pager-current">'
+ (options.startingSlide + 1) + '</span> '
+ options.pagerShortSeparator
+ ' <span class="bx-pager-total">' + $children.length
+ '<span>';
}
if (options.pagerSelector) {
$(options.pagerSelector).append(pagerString);
$pager = $(options.pagerSelector);
} else {
var $pagerContainer = $('<div class="bx-pager"></div>');
$pagerContainer.append(pagerString);
if (options.pagerLocation == 'top') {
$outerWrapper.prepend($pagerContainer);
} else if (options.pagerLocation == 'bottom') {
$outerWrapper.append($pagerContainer);
}
$pager = $('.bx-pager', $outerWrapper);
}
$pager.children().click(function() {
if (options.pagerType == 'full') {
var slideIndex = $pager.children().index(this);
if (options.moveSlideQty > 1) {
slideIndex *= options.moveSlideQty;
}
base.goToSlide(slideIndex);
}
return false;
});
}
function showCaptions() {
var caption = $('img', $children.eq(currentSlide)).attr('title');
if (caption != '') {
if (options.captionsSelector) {
$(options.captionsSelector).html(caption);
} else {
$('.bx-captions', $outerWrapper).html(caption);
}
} else {
if (options.captionsSelector) {
$(options.captionsSelector).html(' ');
} else {
$('.bx-captions', $outerWrapper).html(' ');
}
}
}
function showAutoControls(startType, startContent, stopType,
stopContent) {
$autoControls = $('<a href="" class="bx-start"></a>');
if (startType == 'text') {
$startContent = startContent;
} else {
$startContent = '<img src="' + startContent + '" />';
}
if (stopType == 'text') {
$stopContent = stopContent;
} else {
$stopContent = '<img src="' + stopContent + '" />';
}
if (options.autoControlsSelector) {
$(options.autoControlsSelector).append($autoControls);
} else {
$outerWrapper.append('<div class="bx-auto"></div>');
$('.bx-auto', $outerWrapper).html($autoControls);
}
$autoControls.click(function() {
if (options.ticker) {
if ($(this).hasClass('stop')) {
base.stopTicker();
} else if ($(this).hasClass('start')) {
base.startTicker();
}
} else {
if ($(this).hasClass('stop')) {
base.stopShow(true);
} else if ($(this).hasClass('start')) {
base.startShow(true);
}
}
return false;
});
}
function checkEndControls() {
if (!options.infiniteLoop && options.hideControlOnEnd) {
if (currentSlide == firstSlide) {
$('.bx-prev', $outerWrapper).hide();
} else {
$('.bx-prev', $outerWrapper).show();
}
if (currentSlide == lastSlide) {
$('.bx-next', $outerWrapper).hide();
} else {
$('.bx-next', $outerWrapper).show();
}
}
}
function getSlidePosition(number, side) {
if (side == 'left') {
var position = $('.pager', $outerWrapper).eq(number).position().left;
} else if (side == 'top') {
var position = $('.pager', $outerWrapper).eq(number).position().top;
}
return position;
}
function getWrapperWidth() {
var wrapperWidth = $firstChild.outerWidth()
* options.displaySlideQty;
return wrapperWidth;
}
function getWrapperHeight() {
var wrapperHeight = $firstChild.outerHeight()
* options.displaySlideQty;
return wrapperHeight;
}
function getArraySample(array, start, length, direction) {
var sample = [];
var loopLength = length;
var startPopulatingArray = false;
if (direction == 'backward') {
array = $.makeArray(array);
array.reverse();
}
while (loopLength > 0) {
$.each(array, function(index, val) {
if (loopLength > 0) {
if (!startPopulatingArray) {
if (index == start) {
startPopulatingArray = true;
sample.push($(this).clone());
loopLength--;
}
} else {
sample.push($(this).clone());
loopLength--;
}
} else {
return false;
}
});
}
return sample;
}
this.each(function() {
base.initShow();
});
return this;
}
jQuery.fx.prototype.cur = function() {
if (this.elem[this.prop] != null
&& (!this.elem.style || this.elem.style[this.prop] == null)) {
return this.elem[this.prop];
}
var r = parseFloat(jQuery.css(this.elem, this.prop));
return r;
}
})(jQuery);
