(function($){
"use strict";
jQuery.prototype.fiveCarousel=function(config){
var self=this;
this.options=$.extend({
slider: "slider",
arrows: true,
prev: "prev-js",
next: "next-js",
slideAlign: false,
autoHeight: false,
overflow: true,
orientation: "horizontal",
number: 1,
period: 1,
margin:5,
index: 1,
start: 0,
slideHeight:"auto",
slideWidth:"auto",
animateTime: 1000,
showNumberSlide:false,
numberSlideSeparate: " / ",
bgImage:false,
easing: "linear",
sizeImage: "cover",
image:false,
preloader:true,
preloaderImage:"Loading...",
preloadClass: "jspreload",
bullets: true,
bulletsClass: "bullets",
bulletsPos: "bottom",
carousel: true,
fade: false,
fadeShift: 0,
mouse: false,
auto: false,
autoTimer: 7000,
autoDirection: "right",
mouseOver:false,
hand: false,
handOffset: 10,
beforeLoad:function(){return true;},
afterResize:function(){return},
afterLoad:function(){return true;},
beforeScroll:function(){return true;},
afterScroll:function(){return true;},
afterClick:function(){return true;},
sliderClick:function(){return true;},
}, config);
this.setHeightSlide=function(){
var maxHeight=0;
$(self.slider+" > li").each(function(){
var thisH=$(this).height() + _pdng * 2;
if(thisH > maxHeight){ maxHeight=thisH; }});
return maxHeight;
}
this.setWidthSlide=function(){
return (($(self).width()) / self.options.number  - _mrgn / 2 - self.borderWidth - _pdng * 2);
}
this.setSliderClass=function(){
var classes="." + $(this).find(" ." + self.options.slider).attr("class").split(" ");
try {
return classes.join(".");
} catch {
return classes;
}}
this.slider=self.setSliderClass();
this.borderWidth=parseInt($(self.slider+" > li").css("border-width")) * 2;
this.prevBtn="." + self.options.prev;
this.nextBtn="." + self.options.next;
var _countSlides=$(self.slider+" > li").length;
var _mrgn=(self.options.number==1 ? 0:self.options.margin);
var _pdng=parseInt($(self).find("li").css("padding-left"));
var _slideH=(self.options.slideHeight=="auto") ? self.setHeightSlide():self.options.slideHeight;
var _slideW=(self.options.slideWidth=="auto") ? self.setWidthSlide():self.options.slideWidth / self.options.number;
var _count=self.options.index;
var _c=0;
var _checkScrool=true;
var _arrFadeIndex=new Array();
var _autosrollStop;
var _beforeSlideNumber=0;
var _preloadClass="."+self.options.preloadClass;
var _img=new image();
this.getCurrentSlideNumber=function(){
return _c;
}
this.getBeforeSlideNumber=function(){
return _beforeSlideNumber;
}
this._buttonSlide;
this.changeColorButton=function(_c){
$(self._buttonSlide).find("li").removeClass("active");
var pos=(_c < 0) ? _countSlides:(_c + 1);
if(_c >=Math.ceil(_countSlides /  self.options.index)) pos=1;
$(self._buttonSlide).find("li:nth-child("+pos+")").addClass("active")
}
this.displayBullets=function(){
if(typeof self._buttonSlide==="undefined"){
var bulletsWrapper=$("<div />")
.addClass(self.options.bulletsClass)
.css({position:"relative", zIndex:(_countSlides * 2), margin:0, padding:0});
var bulletsUL=$("<ul />")
.css({margin:0, padding:0})
.appendTo(bulletsWrapper);
for (var i=0; i < Math.ceil(_countSlides / self.options.index); i++){
$('<li></li>').appendTo(bulletsUL);
}
if(self.options.bulletsPos=="top"){
$(self).prepend(bulletsWrapper);
}else{
$(self).append(bulletsWrapper);
}
self._buttonSlide=$(self).find(" ." + self.options.bulletsClass);
}}
this.positionBullets=function(){
var bulletMarginLeft=parseInt($(self._buttonSlide).find("li").css("margin-left"));
var bulletMarginBottom=0;
var heightButton=($(self._buttonSlide).find("li").height() + bulletMarginBottom) * _countSlides;
var widthButton=($(self._buttonSlide).find("li").width() + bulletMarginLeft) * _countSlides;
switch (self.options.bulletsPos){
case "left": $(self._buttonSlide).css({left:"20px",top:"50%",marginTop:-heightButton+"px"});
break;
case "right": $(self._buttonSlide).css({right:"20px",top:"50%",marginTop:-heightButton+"px"});
break;
case "top":
case "bottom": {$(self._buttonSlide).find("li").css({position:"relative","float":"left"});$(self._buttonSlide).css({left:"50%",transform:"translateX(-50%)"})};
break;
case "users": "";
break;
}}
this.changeSlideByClickBullet=function(){
var checkBoolets=function(){
var p=0;
this.checkBooletsVertical=function(){
$(self._buttonSlide).find("li").each(function(i){
$(this).on("mousedown touchstart",function(){
if(_checkScrool==false){return false;}
checkBoolets.p=Math.abs(_c - i);
if((_c - i) > 0){
_c=i;
_count=i + 2;
self.scrollUp(checkBoolets.p);
self.changeColorButton(_c);
}else if((_c - i) < 0){
_c=i;
_count=i;
self.scrollDown(checkBoolets.p);
self.changeColorButton(_c);
}
arrowsHideShow();
})
})
},
this.checkBooletsHorizontl=function (){
$(self._buttonSlide).find("li").each(function(i){
$(this).on("mousedown touchstart",function(){
if(_checkScrool==false){return false;}
self.changeColorButton(i)
checkBoolets.p=Math.abs(_c - i);
if((_c - i) > 0){
_count=i + 2;
_c=i;
self.scrollLeft(checkBoolets.p * self.options.index);
}else if((_c - i) < 0){
_count=i - _c;
_c=i
self.scrollRight(checkBoolets.p * self.options.index);
}
arrowsHideShow()
})
})
},
this.checkBooletsFade=function (){
$(self._buttonSlide).find("li").each(function(i){
$(this).click(function(){
if(_c - i==0){return;}
if(self.options.auto){
clearInterval(_autosrollStop);
autoScroll();
}
if(_checkScrool==false){return false;}
self.changeColorButton(i);
_count=i;
_c=i;
self.scrollFade();
arrowsHideShow();
})
})
}}
var check=new checkBoolets();
self.positionBullets();
switch (self.options.orientation){
case "horizontal": check.checkBooletsHorizontl();
break;
case "horizontal": check.checkBooletsVertical();
break;
default: check.checkBooletsFade();
break;
}}
var valueSlides={
valueVertical: function(){
$(self.slider+" > li").height(_slideH);
},
valueHorizontal: function(){
if(self.options.slideHeight!="auto")
$(self.slider+" > li").height(_slideH);
$(self.slider+" > li").css({"float":"left",marginRight:_mrgn})
$(self.slider+" > li").width(_slideW);
}};
var shapeNumberDiv={
shapeDiv: $(self).append("<div class='number-of-slide' style='position:absolute;z-index:"+(_countSlides * 3)+"'></div>"),
showNumberOfSlide:function (i){
if(i==0) i=_countSlides;
$(self.slider + " .number-of-slide").html(i+ self.options.numberSlideSeparate +_countSlides)
}}
this.mobile=function(event){
return ((event.type==="touchstart"||event.type==="touchmove")) ? true:false;
}
this.alignHightSlide=function(){
if($(window).width() < 560){ return; }
var block_height=0;
$(self.slider+" > li").height("auto")
$(self.slider+" > li").each(function(){
var this_height=$(this).outerHeight();
if(this_height > block_height){
block_height=this_height;
}})
$(self.slider+" > li").each(function(){
$(this).outerHeight(block_height)
})
}
this.destroy=function(){
$(self).off();
$(self).unbind();
clearInterval(_autosrollStop);
}
this.init=function (){
var five_carousel_wrapper=$("<div />")
.attr("id", "five-carousel-" +(Math.random() * 10000000) )
.appendTo($(self));
if(self.options.overflow){
five_carousel_wrapper.css({overflow:"hidden"});
}
$(self.slider).appendTo(five_carousel_wrapper);
self.options.beforeLoad();
if(self.options.image){
_img=new image();
if(self.options.preloader){_img.preloaderToSlide()};
_img.lazyLoad();
}
if(_countSlides <=self.options.number){
self.options.afterLoad();
return false;
}
if(self.options.image){ self.options.number=1 }
if(document.all&&!window.atob){ self.options.hand=false;}
if(self.options.showNumberSlide){
shapeNumberDiv.shapeDiv;
shapeNumberDiv.showNumberOfSlide(_c+1);
}
if(self.options.fade){
shapingSliderFade();
self.options.orientation="none";
self.options.carousel=true;
self.options.number=1
}else{
self.shapingSliderCarousel()
}
if(self.options.bgImage){
$(self.slider+" > li").each(function(){
$(this).css({backgroundSize:self.options.sizeImage, 'background-repeat': 'no-repeat', 'background-position':'center'})
var bg=$(this).css('background-image');
bg=bg.replace('url(','').replace(')','').replace(/\"/gi, "");
$(this).css({"filter":"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bg+"', sizingMethod='scale')"})
})
}
if(!self.options.carousel){$(self.prevBtn).hide(); self.options.auto=false}
if(self.options.hand&&!self.options.fade){motionAction();}
if(self.options.auto){
autoScroll();
}else{
self.options.mouseOver=false;
}
if(self.options.mouse&&!self.options.fade){mouseScroll();}
if(self.options.arrows){
$(self).append("<div class='" + self.options.prev + "'></div>");
$(self).append("<div class='" + self.options.next + "'></div>");
self.actionChangeSlideByClickArrows();
arrowsHideShow();
}
if(self.options.bullets){
self.changeColorButton(_c);
self.changeSlideByClickBullet();
};
if(self.options.mouseOver){
$(self.slider).parent().parent().on("mouseover", function(){
$(self.slider).clearQueue().stop();
clearInterval(_autosrollStop);
}).on("mouseout", function(){
_checkScrool=true
autoScroll();
})
}
if(self.options.slideAlign){
self.alignHightSlide();
}
if(self.options.orientation=="horizontal"){
}else{
$(five_carousel_wrapper).height(_slideH);
}
if(self.options.autoHeight) self.heightSliderBySlide(0);
self.options.afterLoad();
self.scrollRight(self.options.start);
$(window).resize(function (){
self.options.afterResize();
self.options.beforeLoad();
_c=0;
_slideH=(self.options.slideHeight=="auto") ? self.setHeightSlide():self.options.slideHeight;
_slideW=(self.options.slideWidth=="auto") ? self.setWidthSlide():self.options.slideWidth / self.options.number;
$(self.slider).css({left:(-(_slideW + self.borderWidth + _mrgn + _pdng * 2) * _countSlides)+"px"});
$(self.slider).width((_slideW + self.borderWidth + _mrgn + _pdng * 2) * _countSlides * _countSlides);
$(self.slider+" > li").width(_slideW);
if(self.options.bullets){
self.changeColorButton(_c);
self.changeSlideByClickBullet();
}
if(self.options.autoHeight) self.heightSliderBySlide(0);
self.options.afterLoad();
})
}
this.heightSliderBySlide=function(_c){
var h=0;
var index=(_c==_countSlides-1 ? -1:_c);
for (var i=0; i < self.options.number; i++){
var curH=$(self.slider+" > li").eq(_countSlides + index + i).height() + _pdng * 2;
if(h < curH){
h=curH;
}}
$(self.slider).animate({height: h}, 300);
}
this.shapingSliderCarousel=function(){
$(self.slider+" > li").clone().slice(0, _countSlides).appendTo($(self.slider));
$(self.slider+" > li").clone().slice(0, _countSlides).appendTo($(self.slider));
if(self.options.orientation=="vertical"){
valueSlides.valueVertical();
_slideH=_slideH;
$(self.slider).css({top:(-(_slideH) * _countSlides - _slideH * (_count - 1))+"px"});
}else if(self.options.orientation=="horizontal"){
valueSlides.valueHorizontal();
$(self.slider).css({left:(-(_slideW + self.borderWidth + _mrgn + _pdng * 2) * _countSlides)+"px"});
$(self.slider).width((_slideW + self.borderWidth + _mrgn + _pdng * 2) * _countSlides * _countSlides);
}
if(self.options.bullets){
self.displayBullets();
self.positionBullets();
};}
function shapingSliderFade(){
self.options.number=1;
$(self.slider+" > li").each(function(i){
$(this).css({position:"absolute",opacity:1,top:0,left:0,zIndex:(_countSlides - i)})
_arrFadeIndex[i]=_countSlides - i;
})
if(self.options.bullets){ self.displayBullets() };}
function motionAction(){
self.evt=false;
motion();
}
function motion(){
var pos=new Object;
var f=false;
var g=false;
$(self.slider).css({cursor:"pointer"});
if(self.options.orientation=="horizontal"){
motionHorizontal();
}else if(self.options.orientation=="vertical"){
motionVertical();
}
$(self.slider).on("mousedown touchstart", function(event){
if(!_checkScrool) return;
_checkScrool=false;
if(event.which==3){g=true; return;}
if(event.which==1&&g){g=false; ;return;}
pos.xStart=$(this).offset().left;
pos.xThis=event.offsetX;
pos.yStart=$(this).offset().top;
pos.yThis=event.offsetY;
if(self.mobile(event)){
pos.xThis=event.originalEvent.changedTouches[0].clientX;
pos.yThis=event.originalEvent.changedTouches[0].clientY;
}
if(self.options.orientation=="horizontal"){
if(((pos.yThis - pos.yStart) <=10||(pos.yThis - pos.yStart) >=10) &&
(pos.xThis - pos.xStart)==0) return;
}
f=true;
pos.t=0;
$(this).attr('unselectable','on').css('MozUserSelect','none');
$(this).css({"user-select": "none"});
return;
})
function motionHorizontal(){
$(self.slider).on("mousemove touchmove", function(event){
if(!f||(pos.xThis - event.offsetX)==0) return;
var t=$(this).offset().left - (pos.xThis - event.offsetX);
if(self.mobile(event)){
t=$(this).offset().left - (pos.xThis - event.originalEvent.changedTouches[0].clientX);
pos.xThis=event.originalEvent.changedTouches[0].clientX;
}
if(!self.options.carousel){
if((_count==1&&pos.t < 0)||(_count==_countSlides&&pos.t > 0)){
t=pos.xStart;
f=false;
}}
pos.t=pos.xStart - t;
$(this).offset({left:t});
var scroll_X=pos.xThis - event.originalEvent.changedTouches[0].clientX;
})
.on("mouseup mouseleave touchend", function(e){
_checkScrool=true;
if(e.type=="touchend"){
self.options.afterLoad();
}
if(pos.t===0){
self.options.sliderClick();
return;
}
if(pos.t < 0){
if(Math.abs(pos.t) < self.options.handOffset){
_count--;
self.scrollRight(1,Math.abs(pos.t + _slideW + self.borderWidth + _mrgn + _pdng * 2),true);
}else{
_c=_countSlides - Math.abs(_c) - 1;
self.scrollLeft(0,Math.abs(pos.t + _slideW + _mrgn + _pdng * 2));
_c=_count - 1;
self.changeColorButton(_c);
}}
if(pos.t > 0){
if(Math.abs(pos.t) > self.options.handOffset){
_c=_c + 1;
self.scrollRight(1,Math.abs(pos.t));
_c=_count - 1;
self.changeColorButton(_c);
}else{
_count++;
self.scrollLeft(0,Math.abs(pos.t - self.borderWidth),true);
}}
f=false;
arrowsHideShow();
return;
})
}
function motionVertical(){
$(self.slider).on("mousemove touchmove", function(event){
if(!f||(pos.yThis - event.offsetY)==0){return false}
var t=$(this).offset().top - (pos.yThis - event.offsetY);
if(self.mobile(event)){
t=$(this).offset().top - (pos.yThis - event.originalEvent.changedTouches[0].clientY);
pos.yThis=event.originalEvent.changedTouches[0].clientY;
}
if(!self.options.carousel){
if((_count <=1&&pos.t < 0)||(_count >=_countSlides&&pos.t > 0)){
t=pos.yStart;
f=false
}}
pos.t=pos.yStart - t;
$(this).offset({top:t})
})
$(self).on("mouseup mouseleave touchend", function(e){
_checkScrool=true;
if(!f||pos.t===0){f=false; return false}
if(pos.t < 0){
if(Math.abs(pos.t) > self.options.handOffset){
if(_c==0) _c=_countSlides - 1;
else _c=_c - 1;
self.changeColorButton(_c);
self.scrollUp(1,Math.abs(pos.t));
}else{
_count--;
self.scrollDown(0,Math.abs(pos.t),true);
}}
if(pos.t > 0){
if(Math.abs(pos.t) < self.options.handOffset){
_count++;
self.scrollUp(1,Math.abs(pos.t - _slideH),true);
}else{
_c=_c + 1;
self.scrollDown(0,Math.abs(pos.t - _slideH));
self.changeColorButton(_c);
}}
f=false;
arrowsHideShow()
})
}}
function mouseScroll(){
$(self).on('DOMMouseScroll mousewheel wheel', function(event){
if(_checkScrool==false){return false;}
if(self.options.orientation=="horizontal"){
if(event.originalEvent.deltaY > 0){
_c=_c + 1;
self.scrollRight()
}else{
_c=_countSlides - Math.abs(_c) - 1;
self.scrollLeft()
}
_c=_count - 1;
}else if(self.options.orientation=="vertical"){
if(event.originalEvent.deltaY > 0){
_c=_c + 1;
self.scrollDown()
}else{
_c=_countSlides - Math.abs(_c) - 1;
self.scrollUp()
}
_c=_count - 1;
}
self.changeColorButton(_c)
arrowsHideShow();
return false;
});
}
function autoScroll(){
if(_checkScrool==false){return false;}
_autosrollStop=setInterval(function(){
if(!_checkScrool){clearInterval(this); return false;}
if(self.options.orientation=="horizontal"){
if(self.options.autoDirection=="top"||self.options.autoDirection=="left"){_c=(_c==0) ? (Math.ceil(_countSlides / self.options.index) - 1):_c - 1; self.scrollLeft()}
if(self.options.autoDirection=="bottom"||self.options.autoDirection=="right"){_c=(_c==(Math.ceil(_countSlides / self.options.index) - 1)) ? 0:_c + 1; self.scrollRight()}}else if(self.options.orientation=="vertical"){
if(self.options.autoDirection=="top"||self.options.autoDirection=="left"){_c=(_c==0) ? (Math.ceil(_countSlides / self.options.index) - 1):_c - 1;  self.scrollUp()}
if(self.options.autoDirection=="bottom"||self.options.autoDirection=="right"){_c=(_c==(Math.ceil(_countSlides / self.options.index) - 1)) ? 0:_c + 1; self.scrollDown()}}else if(self.options.orientation=="none"){_c=_count; self.scrollFade(); }
self.changeColorButton(_c);
}, self.options.autoTimer)
}
function autoStop(){
if(self.options.auto){
clearInterval(_autosrollStop);
autoScroll();
}}
this.checkInParam=function(n, move, mouse){
self.n=(n==undefined) ? self.options.index:n;
self.move=(move==undefined) ? 0:move;
self.mouse=(mouse==undefined) ? false:true;
}
this.scrollDown=function (n, move, mouse){
self.checkInParam(n, move, mouse)
if(_checkScrool){
if(!self.options.mouseOver) autoStop();
_checkScrool=false;
if(_count==_countSlides&&!self.options.carousel){_checkScrool=true; return false}
if(_count==(_countSlides + 1)){_count=1}
if(self.options.image){_img.lazyLoad(_c+1)}
$(self.slider).animate({top:"-="+(_slideH * self.n + self.move)+"px"}, self.options.animateTime, self.options.easing, function (){
_checkScrool=true;
if(!self.mouse&&_count==_countSlides&&self.options.carousel){
$(self.slider+" li").slice(0, _countSlides).appendTo($(self.slider))
$(self.slider).css({top:"+="+(_slideH * _countSlides) +"px"})
_count=0;
self.options.afterClick()
}
self.move=0;
if(self.options.showNumberSlide){shapeNumberDiv.showNumberOfSlide(_c+1)}})
_count++;
}}
this.scrollUp=function (n, move, mouse){
self.checkInParam(n, move, mouse)
if(_checkScrool){
if(!self.options.mouseOver) autoStop();
_checkScrool=false;
if(_count==1&&!self.options.carousel){_checkScrool=true; return false}
if(_count==0){ _count=_countSlides }
if(self.options.image){_img.lazyLoad(_c+1)}
$(self.slider).animate({top:"+="+(_slideH * self.n - self.move)+"px"}, self.options.animateTime, self.options.easing, function (){
_checkScrool=true;
if(!self.mouse&&_count==(_countSlides - 1)&&self.options.carousel){
$(self.slider+" > li").slice(_countSlides, (_countSlides*2)).prependTo($(self.slider))
$(self.slider).css({top:"-="+(_slideH * _countSlides)+"px"})
_count=_countSlides - self.n;
self.options.afterLoad()
}
self.move=0;
if(self.options.showNumberSlide){shapeNumberDiv.showNumberOfSlide(_c+1)}})
_count--;
}}
this.scrollRight=function (n, move, mouse){
self.checkInParam(n, move, mouse);
if(_checkScrool){
if(!self.options.mouseOver) autoStop();
_checkScrool=false;
if(_count==Math.ceil(_countSlides /  self.options.index)&&!self.options.carousel){_checkScrool=true; return false}
if(_count >=Math.ceil(_countSlides /  self.options.index)){ _count=self.options.period - 1 }
if(self.options.image){_img.lazyLoad(_c+1)}
var index=(_c==_count - 1 ? -1:_c);
_beforeSlideNumber=_count + 1;
self.options.beforeScroll();
$(self.slider).animate({left:"-="+((_slideW + self.borderWidth + _mrgn + _pdng * 2) * self.n * self.options.period - self.move)+"px"}, self.options.animateTime, self.options.easing, function (){
_checkScrool=true;
if(!self.mouse&&_count >=Math.ceil(_countSlides /  self.options.index)&&self.options.carousel){
$(self.slider+" > li").slice(_countSlides, (_countSlides * 2)).prependTo($(self.slider))
$(self.slider).css({left:"+="+((_slideW + self.borderWidth + _mrgn + _pdng * 2) * _countSlides)+"px"});
self.options.afterLoad();
}
self.move=0;
if(self.options.showNumberSlide) shapeNumberDiv.showNumberOfSlide(_c+1);
if(self.options.autoHeight) self.heightSliderBySlide(_c);
$(self.slider).off();
if(self.options.hand) motionAction();
self.options.afterScroll();
})
_count=_count + self.options.period;
}}
this.scrollLeft=function (n, move, mouse){
self.checkInParam(n, move, mouse);
if(_checkScrool){
if(!self.options.mouseOver) autoStop();
_checkScrool=false;
if(_count==1&&!self.options.carousel){_checkScrool=true; return false}
if(_count==1){ _count=Math.ceil(_countSlides /  self.options.index) + 1 }
if(self.options.image){_img.lazyLoad(_c+1)}
var index=(_c==_count - 1 ? -1:_c);
_beforeSlideNumber=_count - 1;
self.options.beforeScroll();
$(self.slider).animate({left:"+="+((_slideW + self.borderWidth + _mrgn + _pdng * 2) * self.n * self.options.period + self.borderWidth + self.move)+"px"}, self.options.animateTime, self.options.easing, function (){
_checkScrool=true;
if(!self.mouse&&_count==self.options.number&&self.options.carousel){
$(self.slider+" > li").slice(0, _countSlides * 2).prependTo($(self.slider));
$(self.slider).css({left:"-="+((_slideW + self.borderWidth + _mrgn + _pdng * 2) * _countSlides)+"px"});
self.options.afterLoad();
}
self.move=0;
if(self.options.showNumberSlide) shapeNumberDiv.showNumberOfSlide(_c+1);
if(self.options.autoHeight) self.heightSliderBySlide(_c);
$(self.slider).off();
if(self.options.hand) motionAction();
self.options.afterScroll();
})
_count=_count - self.options.period;
}}
this.scrollFade=function(){
if(_checkScrool){
if(!self.options.mouseOver) autoStop();
_checkScrool=false;
var index=0;
var index_highest=0;
$(self.slider + " > li").each(function(i){
var index_current=parseInt($(this).css("zIndex"), 10);
if(index_current > index_highest){
index_highest=index_current;
index=i;
}});
var max=$(self.slider + " li:nth-child("+(index + 1)+")");
if(_count==_countSlides){ _count=0; _c=0; }
if(self.options.image){_img.lazyLoad(_c+1)}
var th=$(self.slider + " > li:nth-child(" + (_c + 1) + ")");
th.css({zIndex:_countSlides});
max.css({zIndex:(_countSlides + 1)});
max.animate({opacity:0,left: self.options.fadeShift}, self.options.animateTime,self.options.easing,function(){
_checkScrool=true;
self.options.afterLoad();
var j=0;
for (var i=_c; i > (_c - _countSlides); i--){
if(i <=0){
_arrFadeIndex[j++]=_countSlides - Math.abs(i);
}else{ _arrFadeIndex[j++]=i}}
$(self.slider+" > li").each(function(i){
$(this).css({zIndex:_arrFadeIndex[i],opacity:1,left:0})
})
th.css({zIndex:(_countSlides + 1)});
if(self.options.showNumberSlide){shapeNumberDiv.showNumberOfSlide(_c+1)}});
_count++;
}}
this.actionNextSlide=function(checkArrows){
clearInterval(_autosrollStop);
if(_checkScrool==false){return false;}
if(self.options.auto&&!self.options.mouseOver){
clearInterval(_autosrollStop);
autoScroll();
}
if(checkArrows){
checkArrows=false;
if(_c >=(_countSlides - 1)&&self.options.carousel){
_c=0;
self.changeColorButton(_c)
}else if(_c >=(_countSlides - 2)&&!self.options.carousel){
_c=_countSlides - 1;
arrowsHideShow()
self.changeColorButton(_c)
}else{
self.changeColorButton(++_c)
arrowsHideShow()
};
switch (self.options.orientation){
case "horizontal": self.scrollRight();
break;
case "vertical": self.scrollDown();
break;
case "none": self.scrollFade();
break;
}
setTimeout(function(){checkArrows=true}, self.options.animateTime);
}
return false;
}
this.actionPrevSlide=function(checkArrows){
clearInterval(_autosrollStop);
if(_checkScrool==false){return false;}
if(self.options.auto&&!self.options.mouseOver){
clearInterval(_autosrollStop);
autoScroll();
}
if(checkArrows){
checkArrows=false;
if(_c <=0&&self.options.carousel){
_c=_countSlides - 1;
self.changeColorButton(_c)
}else if(_c <=1&&!self.options.carousel){
_c=_c - 1;
arrowsHideShow()
self.changeColorButton(_c)
}else{
_c=_c - 1;
self.changeColorButton(_c);
arrowsHideShow()
};
switch (self.options.orientation){
case "horizontal": self.scrollLeft();
break;
case "vertical": self.scrollUp();
break;
case "none": {_count=_c; self.scrollFade()};
break;
}
setTimeout(function(){checkArrows=true}, self.options.animateTime);
}
return false;
}
this.actionChangeSlideByClickArrows=function(){
var checkArrows=true;
$(self.nextBtn).on("mousedown touchstart", function(e){
self.actionNextSlide(checkArrows);
return false;
})
$(self.prevBtn).on("mousedown touchstart", function(){
self.actionPrevSlide(checkArrows);
return false;
})
}
function arrowsHideShow(){
if(self.options.carousel){return false;}
if(_c==0){
$(self.prevBtn).hide();
$(self.nextBtn).show()
}else if(_c==(_countSlides - 1)){
$(self.prevBtn).show();
$(self.nextBtn).hide()
}else{
$(self.prevBtn).show();
$(self.nextBtn).show()
}}
function image(){
var preloader=function(){
var preText;
if(self.options.preloaderImage.match(/(png|jpg|gif|svg)/ig)!=null){
preText="<img src='"+options.preloaderImage+"'/>"
}else{preText=self.options.preloaderImage}
return "<div class='"+_preloadClass.slice(1)+"'>"+preText+"</div>";
}
var preloadSetClass=function(){
var img=new Image();
var preH;
if(self.options.preloaderImage.match(/(png|jpg|gif|svg)/ig)!=null){
img.onload=function(){
preH=this.height;
$(_preloadClass).css({position:"relative",height:preH+"px",marginTop:(-preH/2)+"px",textAlign:"center",top:_slideH/2+"px"})
};
img.src=self.options.preloaderImage;
}else{
preH=$(_preloadClass).height()
$(_preloadClass).css({position:"relative",height:preH+"px",marginTop:(-preH/2)+"px",textAlign:"center",top:_slideH/2+"px"})
};}
this.preloaderToSlide=function(){
$(self.slider+" li").append(preloader);
preloadSetClass();
}
this.lazyLoad=function(im){
im=(im==undefined) ? 1:im;
im=(im==0) ? _countSlides:Math.abs(im);
$(self.slider+" li").css({overflow:"hidden"})
var path=$(self.slider+" li:nth-child("+Number(im)+") img").attr("src");
var imageContainers=$(self.slider+" li:nth-child("+_countSlides+"n"+"+"+Number(im)+") img");
var allConatiner=$(self.slider+" li:nth-child("+_countSlides+"n"+"+"+Number(im)+")");
if(path!=""){imgPosition(imageContainers); return false;}
var srcImg=imageContainers.attr("data-path");
imageContainers.attr("src",srcImg).hide()
var img=new Image();
img.onload=function(){
setTimeout(function(){imgPosition(imageContainers); $(self.slider+" li:nth-child("+_countSlides+"n"+"+"+Number(im)+") ._preloadClass").hide();},1000);
};
img.src=srcImg;
}
var imgPosition=function(size){
var v=$(size).width();
var h=$(size).height();
var k=(v / _slideW < h / _slideH) ? v / _slideW:h / _slideH;
var fTime=(self.options.fade) ? anTime:500;
$(size).width(v / k)
$(size).height(h / k)
$(size).css({marginTop:((_slideH - h / k)/2)+"px", marginLeft:((_slideW - v / k)/2)+"px"}).fadeIn(fTime)
}}
return this.each(self.init);
};})(jQuery);
jQuery.fn.smartsearch=function(option){
var self=this;
this.config=$.extend({
"wrapper": "search-result",
"row": "search-row",
"close": "search-close",
"closeSign": "<i class='fam fa-time-thin'></i>",
"preloader": true,
"preloaderImage":WPURL.theme + "js/img/jas-preloader.svg",
"url": WPURL.adminAjax,
"blind": "keyup", // "click"
"action": "smart_search",
"data": {},
"count": 2,
"attrData": [],
"afterLoad": function(){}}, option);
this.container=$(self);
this.init=function(){
self.initContainer();
self.actionInput();
}
this.startLoading=function (){
self.stopLoading();
$("<div />")
.attr("id", self.config.wrapper + "smart-search-loading")
.addClass("smart-search-preloader")
.append("<img src='" + self.config.preloaderImage + "' width='100%' height='100%'>")
.insertAfter(self);
};
this.stopLoading=function (){
$("#" + self.config.wrapper + "smart-search-loading").remove();
};
this.actionInput=function(){
$(self).on(self.config.blind, function(event){
if($(this).val().length > self.config.count - 1){
if(self.config.preloader){self.startLoading();}
self.stateHide();
var attrData=self.config.attrData;
$.ajax({
type: 'POST',
url: self.config.url,
data: $.extend({"action": self.config.action, "search": $(this).val()}, self.config.data),
dataType: "json",
async: true
}).done(function(data){
self.stateShow();
if(self.config.preloader){self.stopLoading()};
for (var i=0; i < data.length; i++){
var link=[];
for (var j=0; j < attrData.length; j++){
if(data[i].hasOwnProperty(attrData[j])){
link.push("data-" + attrData[j] + "='" + decodeURIComponent(data[i][attrData[j]]) +  "'");
}}
$result="<div class='" + self.config.row + "'><a href='" + data[i].url + "' class='search-title' " + link.join(" ") + ">" + data[i].title + "</a> ";
if(data[i].type_title!=null){
$result +="<span class='search-type'><a href='" + data[i].type_url + "'>" + data[i].type_title + "</a> ";
$result +=" (" + data[i].cat + ")";
$result +="</span>";
}
$result +="</div>";
$($result).appendTo("#" + self.config.wrapper)
}
self.config.afterLoad();
if(data.length==0){
}})
}else{
self.stateHide();
}})
}
this.initContainer=function(){
$("<div />")
.attr("id", self.config.wrapper)
.appendTo($(self.container).parent())
}
this.actionClose=function(){
$("#" + self.config.close).click(function(){
self.stateHide();
$(self).val("").blur()
})
}
this.stateHide=function(){
$("#" + self.config.wrapper).html("").hide();
$("#" + self.config.close).hide();
}
this.stateShow=function(){
$("#" + self.config.wrapper).html("").show();
$("#" + self.config.close).show();
}
self.init();
}
$(document).ready(function (){
$("input[type='search']").smartsearch();
});
(function (factory){
if(typeof define==='function'&&define.amd){
define(['jquery'], factory);
}else if(typeof exports==='object'){
factory(require('jquery'));
}else{
factory(jQuery);
}}(function ($){
var pluses=/\+/g;
function encode(s){
return config.raw ? s:encodeURIComponent(s);
}
function decode(s){
return config.raw ? s:decodeURIComponent(s);
}
function stringifyCookieValue(value){
return encode(config.json ? JSON.stringify(value):String(value));
}
function parseCookieValue(s){
if(s.indexOf('"')===0){
s=s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
s=decodeURIComponent(s.replace(pluses, ' '));
return config.json ? JSON.parse(s):s;
} catch(e){}}
function read(s, converter){
var value=config.raw ? s:parseCookieValue(s);
return $.isFunction(converter) ? converter(value):value;
}
var config=$.cookie=function (key, value, options){
if(value!==undefined&&!$.isFunction(value)){
options=$.extend({}, config.defaults, options);
if(typeof options.expires==='number'){
var days=options.expires, t=options.expires=new Date();
t.setTime(+t + days * 864e+5);
}
return (document.cookie=[
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString():'',
options.path    ? '; path=' + options.path:'',
options.domain  ? '; domain=' + options.domain:'',
options.secure  ? '; secure':''
].join(''));
}
var result=key ? undefined:{};
var cookies=document.cookie ? document.cookie.split('; '):[];
for (var i=0, l=cookies.length; i < l; i++){
var parts=cookies[i].split('=');
var name=decode(parts.shift());
var cookie=parts.join('=');
if(key&&key===name){
result=read(cookie, value);
break;
}
if(!key&&(cookie=read(cookie))!==undefined){
result[name]=cookie;
}}
return result;
};
config.defaults={};
$.removeCookie=function (key, options){
if($.cookie(key)===undefined){
return false;
}
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};}));