/*
* nicoNoSlider.js v2.7.6
* http://www.niconoclaste.jp/codes/nicoNoSlider/
*
* Licensed under the MIT license.
* http://opensource.org/licenses/MIT
*
* Copyright 2014~, Nicolas BERNARD (NicoNoClaste)
* http://www.niconoclaste.jp
*/
(function($){
$.fn.nicoNoSlider = function(op, callback){
var target = $(this);
var target_id = target.attr('id');
var slides_id = target_id;
if(!target_id || target_id == ''){
var randomId = 'slideId'+Math.floor((Math.random() * 100000000) + 1);
target.attr('id',randomId);
target_id = '#'+randomId;
slides_id = randomId;
}else{
target_id = '#'+target_id;
}
var slidesId = slides_id+'_';
// ----- Default options values ----- //
op = $.extend({
speed:500, // Slide transition speed (milliseconds)
auto:false, // Auto slide : false or speed (milliseconds)
autoDirection:'next', // Direction of the auto slide : 'next' or 'prev'
minSlides:0, // Clone slides to go to reach the minimum slides number
adaptSize:false, // Adapt height and width of slider container within current slide's height and width
infinite:true, // Infinite loop or no
transition:'slide', // Type of transition : 'slide', 'fade'
hoverStop:true, // Stop Auto slide on mouseenter
overflow:false, // Let elements overflow outside Slider container :
// true => first slide is displayed between previous and next slide
// 'straight' => first slide is displayed first
decal:0, // Decal elements on the left (dont center slides)
mouseDrag:false,
controls:{ // Prev / Next buttons : false or array()
prevInner:'', // Prev button inside html
nextInner:'', // Next button inside html
out:false, // Put Prev / Next buttons outside slider container
setHeight:'' // Set height or top value of prev / next buttons within slider's element image size :
// 'top' => set controls css top = half of image height
// 'height' => set controls css height = image height
},
pagination:{ // Slider pagination : false or array()
pagInner:'', // pagination inner html :
// 'number' => number of the slides
// 'zero-number' => number of the slides with a 0 before
// 'image' => copy slide image inside pagination
// 'imageBg' => copy slide image inside pagination's elements as css 'background-image' + copy slide image
// 'html' => free html
pagInnerImg:'', // set same image for all pagination elements
external:false, // Use a custom pagination outside the slider : ID
generate:true,
},
callback:function(){} // Callback function to launch after slider is ready
}, op);
var Width = target.children().outerWidth();
var Height = target.children().outerHeight();
var Speed = op.speed;
var ClickDelay = Speed+50;
var Auto = op.auto;
var AutoDir = op.autoDirection;
var Inf = op.infinite;
var Trans = op.transition;
var Overflow = op.overflow;
var MinSlides = op.minSlides;
if(Trans === 'fade'){
Overflow = false;
MinSlides = 0;
}
var Hover = op.hoverStop;
var AdaptSize = op.adaptSize;
var Decal = op.decal;
var MouseDrag = op.mouseDrag;
var Contr = op.controls;
if(Contr){Contr = true;}
var Prev = 'prev';
var PrevIn = '';
if(op.controls.prevInner){
PrevIn = op.controls.prevInner;
}
var Next = 'next';
var NextIn = '';
if(op.controls.nextInner){
NextIn = op.controls.nextInner;
}
var ContrOut = op.controls.out;
var ContrSetHeight = op.controls.setHeight;
var Pag = op.pagination;
if(Pag){Pag = true;}
var PagName = 'pagination';
var Pagination = target_id+' .'+PagName;
var ExternalPag = false;
var GeneratePag = true;
if(op.pagination.external){
Pagination = op.pagination.external;
ExternalPag = true;
if(op.pagination.generate){
GeneratePag = op.pagination.generate;
}
}
var PagInner = op.pagination.pagInner;
if(PagInner == 'loader'){
var loaderAuto = Speed;
if(Auto){
loaderAuto = Auto;
}
}
var PagInnerImg = op.pagination.pagInnerImg;
var slidesNb = target.children().length;
var totalWidth = Width*slidesNb;
if(slidesNb == 1){
Pag = false;
Contr = false;
Auto = false;
Decal = 0;
}
var widthDecal = Width;
if(Decal > 0){
widthDecal = Width-Decal;
}
var i;
// Check if device is mobile
var isMobile = function(){return /(iphone|ipod|ipad|android|blackberry|windows ce|palm|symbian)/i.test(navigator.userAgent);};
var containerWidth;
var containerDoubleWidth;
var _init = function(){
// Create the structure of the slider
if(Overflow){
if(MinSlides > 0){
var startContents = target.html();
slidesNb = target.children().length;
while(target.children().length < MinSlides){
slidesNb = target.children().length;
target.prepend(startContents);
}
}
slidesNb = target.children().length;
totalWidth = Width*slidesNb;
widthDecal = Width;
if(Decal > 0){
widthDecal = Width-Decal;
}
}
var firstChild = target.children().eq(0);
firstChild = firstChild[0]['outerHTML'];
target.children().each(function(e){
$(this).css({opacity:0}); // Hide elements until they are ready
if(Overflow){
if(Overflow === 'straight'){
if(e+1 == 1){
$(this).wrap('
');
}else{
$(this).wrap('');
}
}else{
if(slidesNb > 3){
if(e+1 == 1){
$(this).wrap('');
}
else if(e+1 == slidesNb){
$(this).wrap('');
}else if(e+1 == slidesNb - 1){
$(this).wrap('');
}
else{
$(this).wrap('');
}
}else{
if(e+1 == 1){
$(this).wrap('');
}else if(e+1 == slidesNb){
$(this).wrap('');
}else{
$(this).wrap('');
}
}
}
}else{
if(AdaptSize === false){
if(e+1 == 1){
$(this).wrap('');
}else{
$(this).wrap('');
}
}else{
if($(this).width() < $(this).height()){
$(this).addClass('tate');
}else{
$(this).addClass('yoko');
}
$(this).attr('id', slidesId+(e+1)).addClass('sliderElement');
if(e+1 == 1){
$(this).addClass('currentSlide').css({opacity:1});
}
}
}
});
if(Trans == 'fade'){ // Reverse order of elements if transition is 'fade'
var reverse = target.children();
target.append(reverse.get().reverse());
}
var contents = target.html();
if(Overflow){
target.html('').prepend('');
}else{
if(AdaptSize == true){
target.html('').prepend(''+contents+'
');
}else{
target.html('').prepend('');
}
}
// Basic styling of the slider
if(Trans == 'fade'){
if(AdaptSize == true){
target.find('.sliderInner').width('100%').height('100%').css({'overflow':'hidden','position':'relative'}).find('.sliderElement').css({'position':'absolute','left':0,'top':0});
startWidth = target.find('.currentSlide').width();
startHeight = target.find('.currentSlide').height();
target.width(startWidth).height(startHeight);
}else{
target.find('.sliderElement').width('100%').height('100%').css({'position':'absolute','left':0,'top':0});
target.append(''+firstChild+'
');
}
}else{
if(Overflow){
if(Overflow === 'straight'){
var parentWidth = target.parent().width();
var sliderWidth = target.width();
var showed = parseInt(100 / ((sliderWidth / parentWidth) * 100));
target.attr('showed', showed);
var slideWidth = ((100 / slidesNb) / showed) +'%';
var containerWidth = 100 * slidesNb +'%';
var positionnerWidth = 100 * showed +'%';
target.find('.sliderPositionner').width(positionnerWidth).find('.sliderContainer').width(containerWidth).css({'overflow':'hidden'}).find('.sliderElement').width(slideWidth).css({'float':'left'});
}else{
var overflow_totalWidth = Width*(slidesNb + 1);
target.width(Width).find('.sliderInner').width(Width).height('auto').css({'position':'relative'}).find('.sliderContainer').width(overflow_totalWidth).height('100%').css({'overflow':'hidden'}).find('.sliderElement').width(Width).height('auto').css({'float':'left'});
}
var movedSlides = target.find('.last').length;
target.find('.sliderContainer').prepend(target.find('.last'));
target.find('.sliderPositionner').css({'margin-left':'-'+(Width*movedSlides)+'px'});
}else{
var slideWidth = 100 / slidesNb +'%';
var containerWidth = 100 * slidesNb +'%';
if(Decal > 0){
target.width('100%').find('.sliderInner').width('100%').height('auto').css({'overflow':'hidden','position':'relative'}).find('.sliderContainer').width(containerWidth).height('auto').find('.sliderElement').width(slideWidth).height('auto').css({'float':'left'});
}else{
if(Inf){
target.width('100%').find('.sliderInner').width('100%').height('auto').css({'overflow':'hidden','position':'relative'}).find('.sliderContainer').width(containerWidth).height('auto').find('.sliderElement').width(slideWidth).height('auto').css({'float':'left'});
}else{
target.width('100%').css({'overflow':'hidden','position':'relative'}).find('.sliderInner').width(containerWidth).height('auto').css({'overflow':'hidden','position':'relative'}).find('.sliderContainer').width('100%').height('auto').find('.sliderElement').width(slideWidth).height('auto').css({'float':'left'});
}
}
}
}
target.find('.sliderElement').children().css({opacity:''}); // Remove opacity
// Add controls
if(Contr){
var prevNextHeight = '';
if(ContrSetHeight === 'height'){
prevNextHeight = 'height:'+target.find('.sliderElement').find('img').height()+'px';
}else if(ContrSetHeight === 'top'){
prevNextHeight = 'top:'+(target.find('.sliderElement').find('img').height() / 2)+'px';
}
if(ContrOut){
target.append('');
if(!Inf){
target.find($('.'+Prev)).hide();
}
}else{
target.find('.sliderInner').append('');
if(!Inf){
target.find($('.'+Prev)).hide();
}
}
}
// Add pagination
if(ExternalPag === false){
target.append('');
for(i=1; i <= slidesNb; i++){
if(PagInner == 'number'){
if(i == 1){
target.find('.'+PagName).append(''+i+'');
}else{
target.find('.'+PagName).append(''+i+'');
}
}else if(PagInner == 'zero-number'){
var number = i;
if(number < 10){
number = '0'+number;
}
if(i == 1){
target.find('.'+PagName).append(''+number+'');
}else{
target.find('.'+PagName).append(''+number+'');
}
}else if(PagInner == 'image'){
if(AdaptSize == false){
var imgScr = $('#'+slidesId+i+' img').attr('src');
}else{
var imgScr = $('#'+slidesId+i).attr('src');
}
if(i == 1){
target.find('.'+PagName).append('');
}else{
target.find('.'+PagName).append('');
}
}else if(PagInner == 'imageBg'){
if(AdaptSize == false){
var imgScr = $('#'+slidesId+i+' img').attr('src');
}else{
var imgScr = $('#'+slidesId+i).attr('src');
}
if(i == 1){
target.find('.'+PagName).append('');
}else{
target.find('.'+PagName).append('');
}
}else if(PagInner == 'loader'){
if(i == 1){
target.find('.'+PagName).append('');
}else{
target.find('.'+PagName).append('');
}
}else{
if(i == 1){
target.find('.'+PagName).append(''+PagInner+'');
}else{
target.find('.'+PagName).append(''+PagInner+'');
}
}
}
}else{
if(GeneratePag === true){
$(Pagination).append('');
for(i=1; i <= slidesNb; i++){
if(PagInner == 'number'){
if(i == 1){
$(Pagination+' .'+PagName).append(''+i+'');
}else{
$(Pagination+' .'+PagName).append(''+i+'');
}
}else if(PagInner == 'zero-number'){
var number = i;
if(number < 10){
number = '0'+number;
}
if(i == 1){
$(Pagination+' .'+PagName).append(''+number+'');
}else{
$(Pagination+' .'+PagName).append(''+number+'');
}
}else if(PagInner == 'image'){
if(AdaptSize == false){
var imgScr = $('#'+slidesId+i+' img').attr('src');
}else{
var imgScr = $('#'+slidesId+i).attr('src');
}
if(i == 1){
$(Pagination+' .'+PagName).append('');
}else{
$(Pagination+' .'+PagName).append('');
}
}else if(PagInner == 'imageBg'){
if(AdaptSize == false){
var imgScr = $('#'+slidesId+i+' img').attr('src');
var imgHeight = $('#'+slidesId+i+' img').height();
var imgWidth = $('#'+slidesId+i+' img').width();
}else{
var imgScr = $('#'+slidesId+i).attr('src');
var imgHeight = $('#'+slidesId+i).height();
var imgWidth = $('#'+slidesId+i).width();
}
var imgInsideSrc = imgScr;
if(PagInnerImg != ''){
imgInsideSrc = PagInnerImg;
}
var orientation = 'yoko';
if(imgWidth < imgHeight){
orientation = 'tate';
}
if(i == 1){
$(Pagination+' .'+PagName).append('');
}else{
$(Pagination+' .'+PagName).append('');
}
}else{
if(i == 1){
$(Pagination+' .'+PagName).append(''+PagInner+'');
}else{
$(Pagination+' .'+PagName).append(''+PagInner+'');
}
}
}
}
}
if(!Pag){
target.find('.'+PagName).hide();
}
// Callback function launch
//op.callback.call(this);
if(PagInner == 'loader'){
setTimeout(function(){
target.find('.'+PagName+' li a .loader').stop().css('width','0');
target.find('.'+PagName+' li.current a .loader').animate({'width':'100%'},Auto + 10);
},Speed - 10);
}
};
_init();
var click = true;
var slidesIdLength = slidesId.length+1;
var firstChild = 0;
var firstChild2 = firstChild+1;
var lastChild = slidesNb-1;
var lastChild2 = slidesNb-2;
// Next button function
var nextSlide = function(noSpeed){
if(click){
if(AdaptSize == false){
/*target.stop().css({width:'100%',height:'auto'});*/
var Width = target.outerWidth();
var widthDecal = Width;
if(Decal > 0){
widthDecal = Width-Decal;
}
var nextSlideMoove = function(){
if(target.find('.mouseenter').length){
Speed = op.speed/2;
ClickDelay = (op.speed/2)+50;
}else{
Speed = op.speed;
ClickDelay = op.speed+50;
}
click = false;
if(Trans == 'fade'){
target.find('.sliderContainer .sliderElement').eq(lastChild2).addClass('zoom');
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer .sliderElement').eq(lastChild).animate({opacity:0}, Speed, function(){
$(this).prependTo(target.find('.sliderContainer')).css({opacity:''});
target.find('.sliderContainer .sliderElement.zoom').removeClass('zoom');
target.find('.sliderElement').eq(lastChild).addClass('currentSlide').addClass('zoom');
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
if(PagInner == 'loader'){
target.find('.'+PagName+' li a .loader').stop().css('width','0');
target.find('.'+PagName+' li.current a .loader').animate({'width':'100%'},loaderAuto - 10);
}
});
}else{
if(Overflow){
if(!Inf){
var currentSlide = target.find('.sliderContainer .currentSlide').index()+1;
var currMargLeft = parseInt(target.find('.sliderContainer').css('margin-left'));
widthDecal = widthDecal - currMargLeft;
target.find('.sliderContainer').stop().animate({'margin-left':'-'+widthDecal+'px'}, Speed, function(){
var currentSlide = target.find('.sliderContainer .currentSlide').index()+1;
var slideWidthDecal = (100 / slidesNb) * currentSlide +'%';
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer .sliderElement').eq(currentSlide).addClass('currentSlide');
target.find('.sliderContainer').stop().css({'margin-left':'-'+widthDecal});
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
target.find('.'+PagName+' li').removeClass('current');
target.find('.'+PagName+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}else{
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer .sliderElement').eq(firstChild).clone().addClass('cloned').appendTo(target.find('.sliderContainer'));
target.find('.sliderContainer').stop().animate({'margin-left':'-'+widthDecal+'px'}, Speed, function(){
target.find('.sliderContainer .sliderElement').eq(firstChild).appendTo(target.find('.sliderContainer'));
target.find('.sliderContainer .cloned').remove();
target.find('.sliderContainer').css({'margin-left':0});
target.find('.sliderContainer').stop().css({'margin-left':0});
if(Overflow == 'straight'){
target.find('.sliderElement').eq(firstChild).addClass('currentSlide');
}else{
if(slidesNb > 3){
target.find('.sliderElement').eq(firstChild).next().next().addClass('currentSlide');
}else{
target.find('.sliderElement').eq(firstChild).next().addClass('currentSlide');
}
}
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}
}else{
if(Inf){
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer').stop().animate({'margin-left':'-'+widthDecal+'px'}, Speed, function(){
target.find('.sliderContainer .sliderElement').eq(firstChild).appendTo(target.find('.sliderContainer'));
target.find('.sliderContainer').css({'margin-left':0});
target.find('.sliderContainer').stop().css({'margin-left':0});
target.find('.sliderElement').eq(firstChild).addClass('currentSlide');
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}else{
var currentSlide = target.find('.sliderContainer .currentSlide').index()+1;
var currMargLeft = parseInt(target.find('.sliderContainer').css('margin-left'));
widthDecal = widthDecal - currMargLeft;
target.find('.sliderContainer').stop().animate({'margin-left':'-'+widthDecal+'px'}, Speed, function(){
var currentSlide = target.find('.sliderContainer .currentSlide').index()+1;
var slideWidthDecal = (100 / slidesNb) * currentSlide +'%';
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer .sliderElement').eq(currentSlide).addClass('currentSlide');
target.find('.sliderContainer').stop().css({'margin-left':'-'+slideWidthDecal});
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
target.find('.'+PagName+' li').removeClass('current');
target.find('.'+PagName+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}
}
}
setTimeout(function(){click = true;},ClickDelay);
};
if(!Inf){
target.find('.'+Prev).delay(Speed).show();
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
var beforeLast = slidesNb-1;
if(currentSlide == slidesId+beforeLast){
nextSlideMoove();
if(Decal > 0){
if(slidesNb>2){
target.find('.sliderElement').eq(firstChild2+1).css({opacity:0});
}
}
setTimeout(function(){
if(Decal > 0){
if(slidesNb<=2){
target.find('.sliderElement').eq(firstChild).css({opacity:0});
}
}
target.find('.'+Next).hide();
},Speed);
}else if(currentSlide != slidesId+slidesNb){
nextSlideMoove();
if(Decal > 0){
target.find('.sliderElement').css({opacity:''});
}
}
}else if(Inf){
nextSlideMoove();
}
}else{
target.animate({opacity:0},op.speed, function(){
var currentSlide = '#'+target.find('.currentSlide').attr('id');
var theNextSlide = target.find(currentSlide).index()-1;
if(theNextSlide > slidesNb){
theNextSlide = 0;
}
var newCurrentSlide = '#'+target.find('.sliderElement').eq(theNextSlide).attr('id');
target.find(currentSlide).css({opacity:0});
target.find(newCurrentSlide).css({opacity:1});
target.width('100%').height('100%');
target.find(currentSlide).removeClass('currentSlide');
target.find(newCurrentSlide).addClass('currentSlide');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="'+currentSlide+'"]').parent().addClass('current');
setTimeout(function(){
var newWidth = $(document).find(newCurrentSlide).width();
var newHeight = target.find(newCurrentSlide).height();
target.width(newWidth).height(newHeight);
target.animate({opacity:1},op.speed);
},10);
});
}
}
};
var From;
var to;
var moove;
var moovement;
// Prev button function
var prevSlide = function(noSpeed){
if(click){
if(AdaptSize == false){
/*target.stop().css({width:'100%',height:'auto'});*/
var Width = target.outerWidth();
var widthDecal = Width;
if(Decal > 0){
widthDecal = Width-Decal;
}
var prevSlideMoove = function(){
if(target.find('.mouseenter').length){
Speed = op.speed/2;
ClickDelay = (op.speed/2)+50;
}else{
Speed = op.speed;
ClickDelay = op.speed+50;
}
click = false;
if(Trans == 'fade'){
target.find('.sliderElement').removeClass('currentSlide');
From = parseInt($(Pagination+' li.current a').attr('href').slice(slidesIdLength));
to = From-1;
target.find('.sliderContainer .sliderElement').eq(firstChild).insertBefore(target.find('.sliderContainer .sliderElement').eq(lastChild));
target.find('.sliderContainer .sliderElement').eq(lastChild).animate({opacity:0}, Speed, function(){
$(this).insertBefore(target.find('.sliderElement').eq(lastChild2)).css({opacity:''});
target.find('.sliderContainer .sliderElement.zoom').removeClass('zoom');
target.find('.sliderElement').eq(lastChild).addClass('currentSlide').addClass('zoom');
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
if(PagInner == 'loader'){
target.find('.'+PagName+' li a .loader').stop().css('width','0');
target.find('.'+PagName+' li.current a .loader').animate({'width':'100%'},loaderAuto -10);
}
});
}else if(Trans != 'fade'){
if(Overflow){
if(Inf){
target.find('.sliderElement').removeClass('currentSlide');
From = parseInt($(Pagination+' li.current a').attr('href').slice(slidesIdLength));
to = From-1;
target.find('.sliderContainer .sliderElement').eq(lastChild).addClass('cloned').clone().removeClass('cloned').prependTo(target.find('.sliderContainer'));
target.find('.sliderContainer').css({'margin-left':'-'+widthDecal+'px'}).animate({'margin-left':0}, Speed, function(){
if(Overflow == 'straight'){
target.find('.sliderElement').eq(firstChild).addClass('currentSlide');
}else{
if(slidesNb > 3){
target.find('.sliderElement').eq(firstChild).next().next().addClass('currentSlide');
}else{
target.find('.sliderElement').eq(firstChild).next().addClass('currentSlide');
}
}
target.find('.sliderContainer .cloned').remove();
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}else{
From = parseInt(target.find('.'+PagName+' li.current a').attr('href').slice(slidesIdLength));
to = From-1;
var currMargLeft = parseInt(target.find('.sliderContainer').css('margin-left'));
widthDecal = widthDecal + currMargLeft;
if(widthDecal > 0){
widthDecal = '-'+widthDecal;
}
target.find('.sliderContainer').stop().animate({'margin-left':widthDecal+'px'}, Speed, function(){
var currentSlide = target.find('.sliderContainer .currentSlide').index()-1;
console.log(currentSlide);
var slideWidthDecal = (100 / slidesNb) * currentSlide +'%';
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer .sliderElement').eq(currentSlide).addClass('currentSlide');
target.find('.sliderContainer').stop().css({'margin-left':'-'+widthDecal});
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
target.find('.'+PagName+' li').removeClass('current');
target.find('.'+PagName+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}
}else{
if(Inf){
target.find('.sliderElement').removeClass('currentSlide');
From = parseInt($(Pagination+' li.current a').attr('href').slice(slidesIdLength));
to = From-1;
target.find('.sliderContainer .sliderElement').eq(lastChild).prependTo(target.find('.sliderContainer'));
target.find('.sliderContainer').css({'margin-left':'-'+widthDecal+'px'}).animate({'margin-left':0}, Speed, function(){
target.find('.sliderElement').eq(firstChild).addClass('currentSlide');
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}else{
From = parseInt(target.find('.'+PagName+' li.current a').attr('href').slice(slidesIdLength));
to = From-1;
var currMargLeft = parseInt(target.find('.sliderContainer').css('margin-left'));
widthDecal = widthDecal + currMargLeft;
if(widthDecal > 0){
widthDecal = '-'+widthDecal;
}
target.find('.sliderContainer').stop().animate({'margin-left':widthDecal+'px'}, Speed, function(){
var currentSlide = target.find('.sliderContainer .currentSlide').index()-1;
console.log(currentSlide);
var slideWidthDecal = (100 / slidesNb) * currentSlide +'%';
target.find('.sliderElement').removeClass('currentSlide');
target.find('.sliderContainer .sliderElement').eq(currentSlide).addClass('currentSlide');
target.find('.sliderContainer').stop().css({'margin-left':'-'+slideWidthDecal});
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
target.find('.'+PagName+' li').removeClass('current');
target.find('.'+PagName+' li a[href="#'+currentSlide+'"]').parent().addClass('current');
});
}
}
}
setTimeout(function(){click = true;},ClickDelay);
};
if(!Inf){
target.find('.'+Next).delay(Speed).show();
if(Decal > 0){
if(slidesNb<=2){
target.find('.sliderElement').css({opacity:''});
}else{
setTimeout(function(){
target.find('.sliderElement').css({opacity:''});
},Speed);
}
}
var currentSlide = target.find('.sliderElement.currentSlide').attr('id');
if(currentSlide == slidesId+'2'){
prevSlideMoove();
setTimeout(function(){
target.find('.'+Prev).hide();
},Speed);
}else if(currentSlide != slidesId+'1'){
prevSlideMoove();
}
}else if(Inf){
prevSlideMoove();
}
}else{
target.animate({opacity:0},op.speed, function(){
var currentSlide = '#'+target.find('.currentSlide').attr('id');
var theNextSlide = target.find(currentSlide).index()+1;
if(theNextSlide > slidesNb-1){
theNextSlide = 0;
}
var newCurrentSlide = '#'+target.find('.sliderElement').eq(theNextSlide).attr('id');
target.find(currentSlide).css({opacity:0});
target.find(newCurrentSlide).css({opacity:1});
target.width('100%').height('100%');
target.find(currentSlide).removeClass('currentSlide');
target.find(newCurrentSlide).addClass('currentSlide');
$(Pagination+' li').removeClass('current');
$(Pagination+' li a[href="'+currentSlide+'"]').parent().addClass('current');
setTimeout(function(){
var newWidth = $(document).find(newCurrentSlide).width();
var newHeight = target.find(newCurrentSlide).height();
target.width(newWidth).height(newHeight);
target.animate({opacity:1},op.speed);
},10);
});
}
}
};
var click = true;
// Pagination links function
var pagClick = function(e){
if(click){
if(AdaptSize == false){
//target.stop().css({width:'100%',height:'auto'});
var Width = target.outerWidth();
var widthDecal = Width;
if(Decal > 0){
widthDecal = Width-Decal;
}
var From = parseInt($(Pagination+' li.current a').attr('href').slice(slidesIdLength));
var to = parseInt($(e.currentTarget).attr('href').slice(slidesIdLength));
var currTarget = $(e.currentTarget);
if(From != to){
if(PagInner == 'loader'){
target.find('.'+PagName+' li a .loader').stop().css('width','0');
}
if(From < to){ // Multiple Next
if(to-From > 1){
if(slidesNb>2){
click = false;
target.find('.sliderElement').removeClass('currentSlide');
if(Trans == 'fade'){
var moovement = to-From-1;
target.find('.sliderContainer .sliderElement').eq(lastChild).clone().prependTo(target.find('.sliderContainer'));
for(i=0; ito){ // Multiple Prev
if(From - to > 1){
if(slidesNb>2){
click = false;
if(Trans == 'fade'){
target.find('.sliderElement').removeClass('currentSlide');
moovement = (From-to)+1;
target.find('.sliderContainer .sliderElement').eq(lastChild).clone().prependTo(target.find('.sliderContainer'));
for(i=0; i 0){
widthDecal = Width-Decal;
}
target.width(Width).find('.sliderInner').width(Width).height('auto').css({'position':'relative'}).find('.sliderContainer').width(totalWidth).height(Height).css({'overflow':'hidden'}).find('.sliderElement').width(Width).height(Height).css({'float':'left'});
if(Inf){
var movedSlides = target.find('.last').length;
target.find('.sliderPositionner').css({'margin-left':'-'+(Width*movedSlides)+'px'});
}else{
var checkWidth = target.width();
var currSlide = target.find('.sliderElement.currentSlide').index();
var margDecal = checkWidth * currSlide;
target.find('.sliderContainer').css({'margin-left':'-'+(margDecal)+'px'});
}
}
var prevNextHeight = target.find('.sliderElement').find('img').height();
if(ContrSetHeight === 'height'){
target.find('.'+Prev).height(prevNextHeight);
target.find('.'+Next).height(prevNextHeight);
}else if(ContrSetHeight === 'top'){
prevNextHeight = prevNextHeight / 2;
target.find('.'+Prev).css('top',prevNextHeight+'px');
target.find('.'+Next).css('top',prevNextHeight+'px');
}
};
if(Overflow){
$(window).on('resize', function(){
responsiveAdjust();
});
$(window).on('load', function(){
responsiveAdjust();
});
if(navigator.userAgent.indexOf('MSIE 8.') == -1){
var previousOrientation = window.orientation;
var checkOrientation = function(){
if(window.orientation !== previousOrientation){
previousOrientation = window.orientation;
responsiveAdjust();
}
};
window.addEventListener("resize", checkOrientation, false);
window.addEventListener("orientationchange", checkOrientation, false);
}
}
// Mouse grab and moove right or left event
if(MouseDrag === true){
if(slidesNb > 1){
if(!isMobile()){
if(navigator.userAgent.indexOf('MSIE 8.') == -1){
downX = '';
moveAmount = 60;
moveOk = false;
$(document).on('mouseenter', target_id+' .sliderContainer', function(e){
target.find('.sliderContainer').addClass('mouseenter');
downX = '';
});
$(document).find(target).on('mousedown', '.mouseenter', function(e){
if(e.which != 3){
target.find('.sliderContainer').addClass('mousedown');
downX = e.pageX;
moveOk = true;
e.preventDefault();
return false;
}
});
$(document).find(target).on('mousemove', '.mousedown', function(evnt){
if(moveOk === true){
target.find('.sliderContainer').addClass('mousemove');
if(evnt.pageX != downX){
if(downX != ''){
if(evnt.pageX < downX - moveAmount){
moveOk = false;
downX = '';
nextSlide(false);
}else if(evnt.pageX > downX + moveAmount){
moveOk = false;
downX = '';
prevSlide(false);
}
}
}
}
evnt.preventDefault();
});
$(document).on('mouseup', target_id+' .sliderContainer', function(e){
downX = '';
if($(document).find('.mousemove').length){
setTimeout(function(){
target.find('.sliderContainer').removeClass('mousedown').removeClass('mousemove');
},50);
e.preventDefault();
return false;
}
});
$(document).find(target_id+' .sliderContainer').on('click', function(e){
if($(document).find('.mousemove').length){
e.preventDefault();
return false;
}
});
$(document).on('mouseleave', target_id+' .sliderContainer', function(e){
target.find('.sliderContainer').removeClass('mouseenter').removeClass('mousemove').removeClass('mousedown');
});
}
}
}
}
// Stop auto slide on mouseenter and relaunch it on mouseleave
if(!isMobile()){
if(Hover && Auto){
target.on('mouseenter', function(){
clearInterval(autoInterval);
}).on('mouseleave', function(){
autoInterval = setInterval(function(){
if(AutoDir == 'next'){
nextSlide(false);
}else{
prevSlide(false)
}
},Auto);
});
if(ExternalPag === true){
$(Pagination).on('mouseenter', function(){
clearInterval(autoInterval);
}).on('mouseleave', function(){
autoInterval = setInterval(function(){
if(AutoDir == 'next'){
nextSlide(false);
}else{
prevSlide(false)
}
},Auto);
});
}
}
}
/*
* Smartphones swipe events trigger by Sam Vloeberghs
* http://www.samvloeberghs.be/
*/
if(slidesNb > 1){
if(navigator.userAgent.indexOf('MSIE 8.') == -1){
var xDown = null;
var yDown = null;
var handleTouchStart = function(evt){
xDown = evt.touches[0].clientX;
yDown = evt.touches[0].clientY;
};
var handleTouchMove = function(evt){
if(!xDown || !yDown){return;}
var xUp = evt.touches[0].clientX;
var yUp = evt.touches[0].clientY;
var xDiff = xDown - xUp;
var yDiff = yDown - yUp;
if(Math.abs(xDiff) > Math.abs(yDiff)){
evt.preventDefault();
if(xDiff > 0){
nextSlide(false);
if(Hover && Auto){
clearInterval(autoInterval);
autoInterval = setInterval(function(){
if(AutoDir == 'next'){
nextSlide(false);
}else{
prevSlide(false)
}
},Auto);
}
}else{
prevSlide();
if(Hover && Auto){
clearInterval(autoInterval);
autoInterval = setInterval(function(){
if(AutoDir == 'next'){
nextSlide(false);
}else{
prevSlide(false)
}
},Auto);
}
}
}
// reset values
xDown = null;
yDown = null;
};
var targetElementId = target.attr('id');
var targetElement = document.getElementById(targetElementId);
targetElement.addEventListener('touchstart', handleTouchStart, false);
targetElement.addEventListener('touchmove', handleTouchMove, false);
}
}
setTimeout(function(){
op.callback.call(this);
},200);
};
})(jQuery);