if(typeof Object.create!=="function"){ Object.create=function (obj){ function F(){} F.prototype=obj; return new F(); };} (function ($, window, document){ var Carousel={ init:function (options, el){ var base=this; base.$elem=$(el); base.options=$.extend({}, $.fn.owlCarousel.options, base.$elem.data(), options); base.userOptions=options; base.loadContent(); }, loadContent:function (){ var base=this, url; function getData(data){ var i, content=""; if(typeof base.options.jsonSuccess==="function"){ base.options.jsonSuccess.apply(this, [data]); }else{ for (i in data.owl){ if(data.owl.hasOwnProperty(i)){ content +=data.owl[i].item; }} base.$elem.html(content); } base.logIn(); } if(typeof base.options.beforeInit==="function"){ base.options.beforeInit.apply(this, [base.$elem]); } if(typeof base.options.jsonPath==="string"){ url=base.options.jsonPath; $.getJSON(url, getData); }else{ base.logIn(); }}, logIn:function (){ var base=this; base.$elem.data({ "owl-originalStyles": base.$elem.attr("style"), "owl-originalClasses": base.$elem.attr("class") }); base.$elem.css({opacity: 0}); base.orignalItems=base.options.items; base.checkBrowser(); base.wrapperWidth=0; base.checkVisible=null; base.setVars(); }, setVars:function (){ var base=this; if(base.$elem.children().length===0){return false; } base.baseClass(); base.eventTypes(); base.$userItems=base.$elem.children(); base.itemsAmount=base.$userItems.length; base.wrapItems(); base.$owlItems=base.$elem.find(".owl-item"); base.$owlWrapper=base.$elem.find(".owl-wrapper"); base.playDirection="next"; base.prevItem=0; base.prevArr=[0]; base.currentItem=0; base.customEvents(); base.onStartup(); }, onStartup:function (){ var base=this; base.updateItems(); base.calculateAll(); base.buildControls(); base.updateControls(); base.response(); base.moveEvents(); base.stopOnHover(); base.owlStatus(); if(base.options.transitionStyle!==false){ base.transitionTypes(base.options.transitionStyle); } if(base.options.autoPlay===true){ base.options.autoPlay=5000; } base.play(); base.$elem.find(".owl-wrapper").css("display", "block"); if(!base.$elem.is(":visible")){ base.watchVisibility(); }else{ base.$elem.css("opacity", 1); } base.onstartup=false; base.eachMoveUpdate(); if(typeof base.options.afterInit==="function"){ base.options.afterInit.apply(this, [base.$elem]); }}, eachMoveUpdate:function (){ var base=this; if(base.options.lazyLoad===true){ base.lazyLoad(); } if(base.options.autoHeight===true){ base.autoHeight(); } base.onVisibleItems(); if(typeof base.options.afterAction==="function"){ base.options.afterAction.apply(this, [base.$elem]); }}, updateVars:function (){ var base=this; if(typeof base.options.beforeUpdate==="function"){ base.options.beforeUpdate.apply(this, [base.$elem]); } base.watchVisibility(); base.updateItems(); base.calculateAll(); base.updatePosition(); base.updateControls(); base.eachMoveUpdate(); if(typeof base.options.afterUpdate==="function"){ base.options.afterUpdate.apply(this, [base.$elem]); }}, reload:function (){ var base=this; window.setTimeout(function (){ base.updateVars(); }, 0); }, watchVisibility:function (){ var base=this; if(base.$elem.is(":visible")===false){ base.$elem.css({opacity: 0}); window.clearInterval(base.autoPlayInterval); window.clearInterval(base.checkVisible); }else{ return false; } base.checkVisible=window.setInterval(function (){ if(base.$elem.is(":visible")){ base.reload(); base.$elem.animate({opacity: 1}, 200); window.clearInterval(base.checkVisible); }}, 500); }, wrapItems:function (){ var base=this; base.$userItems.wrapAll("
").wrap("
"); base.$elem.find(".owl-wrapper").wrap("
"); base.wrapperOuter=base.$elem.find(".owl-wrapper-outer"); base.$elem.css("display", "block"); }, baseClass:function (){ var base=this, hasBaseClass=base.$elem.hasClass(base.options.baseClass), hasThemeClass=base.$elem.hasClass(base.options.theme); if(!hasBaseClass){ base.$elem.addClass(base.options.baseClass); } if(!hasThemeClass){ base.$elem.addClass(base.options.theme); }}, updateItems:function (){ var base=this, width, i; if(base.options.responsive===false){ return false; } if(base.options.singleItem===true){ base.options.items=base.orignalItems=1; base.options.itemsCustom=false; base.options.itemsDesktop=false; base.options.itemsDesktopSmall=false; base.options.itemsTablet=false; base.options.itemsTabletSmall=false; base.options.itemsMobile=false; return false; } width=$(base.options.responsiveBaseWidth).width(); if(width > (base.options.itemsDesktop[0]||base.orignalItems)){ base.options.items=base.orignalItems; } if(base.options.itemsCustom!==false){ base.options.itemsCustom.sort(function (a, b){return a[0] - b[0]; }); for (i=0; i < base.options.itemsCustom.length; i +=1){ if(base.options.itemsCustom[i][0] <=width){ base.options.items=base.options.itemsCustom[i][1]; }} }else{ if(width <=base.options.itemsDesktop[0]&&base.options.itemsDesktop!==false){ base.options.items=base.options.itemsDesktop[1]; } if(width <=base.options.itemsDesktopSmall[0]&&base.options.itemsDesktopSmall!==false){ base.options.items=base.options.itemsDesktopSmall[1]; } if(width <=base.options.itemsTablet[0]&&base.options.itemsTablet!==false){ base.options.items=base.options.itemsTablet[1]; } if(width <=base.options.itemsTabletSmall[0]&&base.options.itemsTabletSmall!==false){ base.options.items=base.options.itemsTabletSmall[1]; } if(width <=base.options.itemsMobile[0]&&base.options.itemsMobile!==false){ base.options.items=base.options.itemsMobile[1]; }} if(base.options.items > base.itemsAmount&&base.options.itemsScaleUp===true){ base.options.items=base.itemsAmount; }}, response:function (){ var base=this, smallDelay, lastWindowWidth; if(base.options.responsive!==true){ return false; } lastWindowWidth=$(window).width(); base.resizer=function (){ if($(window).width()!==lastWindowWidth){ if(base.options.autoPlay!==false){ window.clearInterval(base.autoPlayInterval); } window.clearTimeout(smallDelay); smallDelay=window.setTimeout(function (){ lastWindowWidth=$(window).width(); base.updateVars(); }, base.options.responsiveRefreshRate); }}; $(window).resize(base.resizer); }, updatePosition:function (){ var base=this; base.jumpTo(base.currentItem); if(base.options.autoPlay!==false){ base.checkAp(); }}, appendItemsSizes:function (){ var base=this, roundPages=0, lastItem=base.itemsAmount - base.options.items; base.$owlItems.each(function (index){ var $this=$(this); $this .css({"width": base.itemWidth}) .data("owl-item", Number(index)); if(index % base.options.items===0||index===lastItem){ if(!(index > lastItem)){ roundPages +=1; }} $this.data("owl-roundPages", roundPages); }); }, appendWrapperSizes:function (){ var base=this, width=base.$owlItems.length * base.itemWidth; base.$owlWrapper.css({ "width": width * 2, "left": 0 }); base.appendItemsSizes(); }, calculateAll:function (){ var base=this; base.calculateWidth(); base.appendWrapperSizes(); base.loops(); base.max(); }, calculateWidth:function (){ var base=this; base.itemWidth=Math.round(base.$elem.width() / base.options.items); }, max:function (){ var base=this, maximum=((base.itemsAmount * base.itemWidth) - base.options.items * base.itemWidth) * -1; if(base.options.items > base.itemsAmount){ base.maximumItem=0; maximum=0; base.maximumPixels=0; }else{ base.maximumItem=base.itemsAmount - base.options.items; base.maximumPixels=maximum; } return maximum; }, min:function (){ return 0; }, loops:function (){ var base=this, prev=0, elWidth=0, i, item, roundPageNum; base.positionsInArray=[0]; base.pagesInArray=[]; for (i=0; i < base.itemsAmount; i +=1){ elWidth +=base.itemWidth; base.positionsInArray.push(-elWidth); if(base.options.scrollPerPage===true){ item=$(base.$owlItems[i]); roundPageNum=item.data("owl-roundPages"); if(roundPageNum!==prev){ base.pagesInArray[prev]=base.positionsInArray[i]; prev=roundPageNum; }} }}, buildControls:function (){ var base=this; if(base.options.navigation===true||base.options.pagination===true){ base.owlControls=$("
").toggleClass("clickable", !base.browser.isTouch).appendTo(base.$elem); } if(base.options.pagination===true){ base.buildPagination(); } if(base.options.navigation===true){ base.buildButtons(); }}, buildButtons:function (){ var base=this, buttonsWrapper=$("
"); base.owlControls.append(buttonsWrapper); base.buttonPrev=$("
", { "class":"owl-prev", "html":base.options.navigationText[0]||"" }); base.buttonNext=$("
", { "class":"owl-next", "html":base.options.navigationText[1]||"" }); buttonsWrapper .append(base.buttonPrev) .append(base.buttonNext); buttonsWrapper.on("touchstart.owlControls mousedown.owlControls", "div[class^=\"owl\"]", function (event){ event.preventDefault(); }); buttonsWrapper.on("touchend.owlControls mouseup.owlControls", "div[class^=\"owl\"]", function (event){ event.preventDefault(); if($(this).hasClass("owl-next")){ base.next(); }else{ base.prev(); }}); }, buildPagination:function (){ var base=this; base.paginationWrapper=$("
"); base.owlControls.append(base.paginationWrapper); base.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function (event){ event.preventDefault(); if(Number($(this).data("owl-page"))!==base.currentItem){ base.goTo(Number($(this).data("owl-page")), true); }}); }, updatePagination:function (){ var base=this, counter, lastPage, lastItem, i, paginationButton, paginationButtonInner; if(base.options.pagination===false){ return false; } base.paginationWrapper.html(""); counter=0; lastPage=base.itemsAmount - base.itemsAmount % base.options.items; for (i=0; i < base.itemsAmount; i +=1){ if(i % base.options.items===0){ counter +=1; if(lastPage===i){ lastItem=base.itemsAmount - base.options.items; } paginationButton=$("
", { "class":"owl-page" }); paginationButtonInner=$("", { "text": base.options.paginationNumbers===true ? counter:"", "class": base.options.paginationNumbers===true ? "owl-numbers":"" }); paginationButton.append(paginationButtonInner); paginationButton.data("owl-page", lastPage===i ? lastItem:i); paginationButton.data("owl-roundPages", counter); base.paginationWrapper.append(paginationButton); }} base.checkPagination(); }, checkPagination:function (){ var base=this; if(base.options.pagination===false){ return false; } base.paginationWrapper.find(".owl-page").each(function (){ if($(this).data("owl-roundPages")===$(base.$owlItems[base.currentItem]).data("owl-roundPages")){ base.paginationWrapper .find(".owl-page") .removeClass("active bg-theme"); $(this).addClass("active bg-theme"); }}); }, checkNavigation:function (){ var base=this; if(base.options.navigation===false){ return false; } if(base.options.rewindNav===false){ if(base.currentItem===0&&base.maximumItem===0){ base.buttonPrev.addClass("disabled"); base.buttonNext.addClass("disabled"); }else if(base.currentItem===0&&base.maximumItem!==0){ base.buttonPrev.addClass("disabled"); base.buttonNext.removeClass("disabled"); }else if(base.currentItem===base.maximumItem){ base.buttonPrev.removeClass("disabled"); base.buttonNext.addClass("disabled"); }else if(base.currentItem!==0&&base.currentItem!==base.maximumItem){ base.buttonPrev.removeClass("disabled"); base.buttonNext.removeClass("disabled"); }} }, updateControls:function (){ var base=this; base.updatePagination(); base.checkNavigation(); if(base.owlControls){ if(base.options.items >=base.itemsAmount){ base.owlControls.hide(); }else{ base.owlControls.show(); }} }, destroyControls:function (){ var base=this; if(base.owlControls){ base.owlControls.remove(); }}, next:function (speed){ var base=this; if(base.isTransition){ return false; } base.currentItem +=base.options.scrollPerPage===true ? base.options.items:1; if(base.currentItem > base.maximumItem + (base.options.scrollPerPage===true ? (base.options.items - 1):0)){ if(base.options.rewindNav===true){ base.currentItem=0; speed="rewind"; }else{ base.currentItem=base.maximumItem; return false; }} base.goTo(base.currentItem, speed); }, prev:function (speed){ var base=this; if(base.isTransition){ return false; } if(base.options.scrollPerPage===true&&base.currentItem > 0&&base.currentItem < base.options.items){ base.currentItem=0; }else{ base.currentItem -=base.options.scrollPerPage===true ? base.options.items:1; } if(base.currentItem < 0){ if(base.options.rewindNav===true){ base.currentItem=base.maximumItem; speed="rewind"; }else{ base.currentItem=0; return false; }} base.goTo(base.currentItem, speed); }, goTo:function (position, speed, drag){ var base=this, goToPixel; if(base.isTransition){ return false; } if(typeof base.options.beforeMove==="function"){ base.options.beforeMove.apply(this, [base.$elem]); } if(position >=base.maximumItem){ position=base.maximumItem; }else if(position <=0){ position=0; } base.currentItem=base.owl.currentItem=position; if(base.options.transitionStyle!==false&&drag!=="drag"&&base.options.items===1&&base.browser.support3d===true){ base.swapSpeed(0); if(base.browser.support3d===true){ base.transition3d(base.positionsInArray[position]); }else{ base.css2slide(base.positionsInArray[position], 1); } base.afterGo(); base.singleItemTransition(); return false; } goToPixel=base.positionsInArray[position]; if(base.browser.support3d===true){ base.isCss3Finish=false; if(speed===true){ base.swapSpeed("paginationSpeed"); window.setTimeout(function (){ base.isCss3Finish=true; }, base.options.paginationSpeed); }else if(speed==="rewind"){ base.swapSpeed(base.options.rewindSpeed); window.setTimeout(function (){ base.isCss3Finish=true; }, base.options.rewindSpeed); }else{ base.swapSpeed("slideSpeed"); window.setTimeout(function (){ base.isCss3Finish=true; }, base.options.slideSpeed); } base.transition3d(goToPixel); }else{ if(speed===true){ base.css2slide(goToPixel, base.options.paginationSpeed); }else if(speed==="rewind"){ base.css2slide(goToPixel, base.options.rewindSpeed); }else{ base.css2slide(goToPixel, base.options.slideSpeed); }} base.afterGo(); }, jumpTo:function (position){ var base=this; if(typeof base.options.beforeMove==="function"){ base.options.beforeMove.apply(this, [base.$elem]); } if(position >=base.maximumItem||position===-1){ position=base.maximumItem; }else if(position <=0){ position=0; } base.swapSpeed(0); if(base.browser.support3d===true){ base.transition3d(base.positionsInArray[position]); }else{ base.css2slide(base.positionsInArray[position], 1); } base.currentItem=base.owl.currentItem=position; base.afterGo(); }, afterGo:function (){ var base=this; base.prevArr.push(base.currentItem); base.prevItem=base.owl.prevItem=base.prevArr[base.prevArr.length - 2]; base.prevArr.shift(0); if(base.prevItem!==base.currentItem){ base.checkPagination(); base.checkNavigation(); base.eachMoveUpdate(); if(base.options.autoPlay!==false){ base.checkAp(); }} if(typeof base.options.afterMove==="function"&&base.prevItem!==base.currentItem){ base.options.afterMove.apply(this, [base.$elem]); }}, stop:function (){ var base=this; base.apStatus="stop"; window.clearInterval(base.autoPlayInterval); }, checkAp:function (){ var base=this; if(base.apStatus!=="stop"){ base.play(); }}, play:function (){ var base=this; base.apStatus="play"; if(base.options.autoPlay===false){ return false; } window.clearInterval(base.autoPlayInterval); base.autoPlayInterval=window.setInterval(function (){ base.next(true); }, base.options.autoPlay); }, swapSpeed:function (action){ var base=this; if(action==="slideSpeed"){ base.$owlWrapper.css(base.addCssSpeed(base.options.slideSpeed)); }else if(action==="paginationSpeed"){ base.$owlWrapper.css(base.addCssSpeed(base.options.paginationSpeed)); }else if(typeof action!=="string"){ base.$owlWrapper.css(base.addCssSpeed(action)); }}, addCssSpeed:function (speed){ return { "-webkit-transition": "all " + speed + "ms ease", "-moz-transition": "all " + speed + "ms ease", "-o-transition": "all " + speed + "ms ease", "transition": "all " + speed + "ms ease" };}, removeTransition:function (){ return { "-webkit-transition": "", "-moz-transition": "", "-o-transition": "", "transition": "" };}, doTranslate:function (pixels){ return { "-webkit-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-moz-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-o-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-ms-transform": "translate3d(" + pixels + "px, 0px, 0px)", "transform": "translate3d(" + pixels + "px, 0px,0px)" };}, transition3d:function (value){ var base=this; base.$owlWrapper.css(base.doTranslate(value)); }, css2move:function (value){ var base=this; base.$owlWrapper.css({"left":value}); }, css2slide:function (value, speed){ var base=this; base.isCssFinish=false; base.$owlWrapper.stop(true, true).animate({ "left":value }, { duration:speed||base.options.slideSpeed, complete:function (){ base.isCssFinish=true; }}); }, checkBrowser:function (){ var base=this, translate3D="translate3d(0px, 0px, 0px)", tempElem=document.createElement("div"), regex, asSupport, support3d, isTouch; tempElem.style.cssText=" -moz-transform:" + translate3D + "; -ms-transform:" + translate3D + "; -o-transform:" + translate3D + "; -webkit-transform:" + translate3D + "; transform:" + translate3D; regex=/translate3d\(0px, 0px, 0px\)/g; asSupport=tempElem.style.cssText.match(regex); support3d=(asSupport!==null&&asSupport.length===1); isTouch="ontouchstart" in window||window.navigator.msMaxTouchPoints; base.browser={ "support3d":support3d, "isTouch":isTouch };}, moveEvents:function (){ var base=this; if(base.options.mouseDrag!==false||base.options.touchDrag!==false){ base.gestures(); base.disabledEvents(); }}, eventTypes:function (){ var base=this, types=["s", "e", "x"]; base.ev_types={}; if(base.options.mouseDrag===true&&base.options.touchDrag===true){ types=[ "touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl" ]; }else if(base.options.mouseDrag===false&&base.options.touchDrag===true){ types=[ "touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl" ]; }else if(base.options.mouseDrag===true&&base.options.touchDrag===false){ types=[ "mousedown.owl", "mousemove.owl", "mouseup.owl" ]; } base.ev_types.start=types[0]; base.ev_types.move=types[1]; base.ev_types.end=types[2]; }, disabledEvents:function (){ var base=this; base.$elem.on("dragstart.owl", function (event){ event.preventDefault(); }); base.$elem.on("mousedown.disableTextSelect", function (e){ return $(e.target).is('input, textarea, select, option'); }); }, gestures:function (){ var base=this, locals={ offsetX:0, offsetY:0, baseElWidth:0, relativePos:0, position: null, minSwipe:null, maxSwipe: null, sliding:null, dargging: null, targetElement:null }; base.isCssFinish=true; function getTouches(event){ if(event.touches!==undefined){ return { x:event.touches[0].pageX, y:event.touches[0].pageY };} if(event.touches===undefined){ if(event.pageX!==undefined){ return { x:event.pageX, y:event.pageY };} if(event.pageX===undefined){ return { x:event.clientX, y:event.clientY };}} } function swapEvents(type){ if(type==="on"){ $(document).on(base.ev_types.move, dragMove); $(document).on(base.ev_types.end, dragEnd); }else if(type==="off"){ $(document).off(base.ev_types.move); $(document).off(base.ev_types.end); }} function dragStart(event){ var ev=event.originalEvent||event||window.event, position; if(ev.which===3){ return false; } if(base.itemsAmount <=base.options.items){ return; } if(base.isCssFinish===false&&!base.options.dragBeforeAnimFinish){ return false; } if(base.isCss3Finish===false&&!base.options.dragBeforeAnimFinish){ return false; } if(base.options.autoPlay!==false){ window.clearInterval(base.autoPlayInterval); } if(base.browser.isTouch!==true&&!base.$owlWrapper.hasClass("grabbing")){ base.$owlWrapper.addClass("grabbing"); } base.newPosX=0; base.newRelativeX=0; $(this).css(base.removeTransition()); position=$(this).position(); locals.relativePos=position.left; locals.offsetX=getTouches(ev).x - position.left; locals.offsetY=getTouches(ev).y - position.top; swapEvents("on"); locals.sliding=false; locals.targetElement=ev.target||ev.srcElement; } function dragMove(event){ var ev=event.originalEvent||event||window.event, minSwipe, maxSwipe; base.newPosX=getTouches(ev).x - locals.offsetX; base.newPosY=getTouches(ev).y - locals.offsetY; base.newRelativeX=base.newPosX - locals.relativePos; if(typeof base.options.startDragging==="function"&&locals.dragging!==true&&base.newRelativeX!==0){ locals.dragging=true; base.options.startDragging.apply(base, [base.$elem]); } if((base.newRelativeX > 8||base.newRelativeX < -8)&&(base.browser.isTouch===true)){ if(ev.preventDefault!==undefined){ ev.preventDefault(); }else{ ev.returnValue=false; } locals.sliding=true; } if((base.newPosY > 10||base.newPosY < -10)&&locals.sliding===false){ $(document).off("touchmove.owl"); } minSwipe=function (){ return base.newRelativeX / 5; }; maxSwipe=function (){ return base.maximumPixels + base.newRelativeX / 5; }; base.newPosX=Math.max(Math.min(base.newPosX, minSwipe()), maxSwipe()); if(base.browser.support3d===true){ base.transition3d(base.newPosX); }else{ base.css2move(base.newPosX); }} function dragEnd(event){ var ev=event.originalEvent||event||window.event, newPosition, handlers, owlStopEvent; ev.target=ev.target||ev.srcElement; locals.dragging=false; if(base.browser.isTouch!==true){ base.$owlWrapper.removeClass("grabbing"); } if(base.newRelativeX < 0){ base.dragDirection=base.owl.dragDirection="left"; }else{ base.dragDirection=base.owl.dragDirection="right"; } if(base.newRelativeX!==0){ newPosition=base.getNewPosition(); base.goTo(newPosition, false, "drag"); if(locals.targetElement===ev.target&&base.browser.isTouch!==true){ $(ev.target).on("click.disable", function (ev){ ev.stopImmediatePropagation(); ev.stopPropagation(); ev.preventDefault(); $(ev.target).off("click.disable"); }); handlers=$._data(ev.target, "events").click; owlStopEvent=handlers.pop(); handlers.splice(0, 0, owlStopEvent); }} swapEvents("off"); } base.$elem.on(base.ev_types.start, ".owl-wrapper", dragStart); }, getNewPosition:function (){ var base=this, newPosition=base.closestItem(); if(newPosition > base.maximumItem){ base.currentItem=base.maximumItem; newPosition=base.maximumItem; }else if(base.newPosX >=0){ newPosition=0; base.currentItem=0; } return newPosition; }, closestItem:function (){ var base=this, array=base.options.scrollPerPage===true ? base.pagesInArray:base.positionsInArray, goal=base.newPosX, closest=null; $.each(array, function (i, v){ if(goal - (base.itemWidth / 20) > array[i + 1]&&goal - (base.itemWidth / 20) < v&&base.moveDirection()==="left"){ closest=v; if(base.options.scrollPerPage===true){ base.currentItem=$.inArray(closest, base.positionsInArray); }else{ base.currentItem=i; }}else if(goal + (base.itemWidth / 20) < v&&goal + (base.itemWidth / 20) > (array[i + 1]||array[i] - base.itemWidth)&&base.moveDirection()==="right"){ if(base.options.scrollPerPage===true){ closest=array[i + 1]||array[array.length - 1]; base.currentItem=$.inArray(closest, base.positionsInArray); }else{ closest=array[i + 1]; base.currentItem=i + 1; }} }); return base.currentItem; }, moveDirection:function (){ var base=this, direction; if(base.newRelativeX < 0){ direction="right"; base.playDirection="next"; }else{ direction="left"; base.playDirection="prev"; } return direction; }, customEvents:function (){ var base=this; base.$elem.on("owl.next", function (){ base.next(); }); base.$elem.on("owl.prev", function (){ base.prev(); }); base.$elem.on("owl.play", function (event, speed){ base.options.autoPlay=speed; base.play(); base.hoverStatus="play"; }); base.$elem.on("owl.stop", function (){ base.stop(); base.hoverStatus="stop"; }); base.$elem.on("owl.goTo", function (event, item){ base.goTo(item); }); base.$elem.on("owl.jumpTo", function (event, item){ base.jumpTo(item); }); }, stopOnHover:function (){ var base=this; if(base.options.stopOnHover===true&&base.browser.isTouch!==true&&base.options.autoPlay!==false){ base.$elem.on("mouseover", function (){ base.stop(); }); base.$elem.on("mouseout", function (){ if(base.hoverStatus!=="stop"){ base.play(); }}); }}, lazyLoad:function (){ var base=this, i, $item, itemNumber, $lazyImg, follow; if(base.options.lazyLoad===false){ return false; } for (i=0; i < base.itemsAmount; i +=1){ $item=$(base.$owlItems[i]); if($item.data("owl-loaded")==="loaded"){ continue; } itemNumber=$item.data("owl-item"); $lazyImg=$item.find(".lazyOwl"); if(typeof $lazyImg.data("src")!=="string"){ $item.data("owl-loaded", "loaded"); continue; } if($item.data("owl-loaded")===undefined){ $lazyImg.hide(); $item.addClass("loading").data("owl-loaded", "checked"); } if(base.options.lazyFollow===true){ follow=itemNumber >=base.currentItem; }else{ follow=true; } if(follow&&itemNumber < base.currentItem + base.options.items&&$lazyImg.length){ $lazyImg.each(function(){ base.lazyPreload($item, $(this)); }); }} }, lazyPreload:function ($item, $lazyImg){ var base=this, iterations=0, isBackgroundImg; if($lazyImg.prop("tagName")==="DIV"){ $lazyImg.css("background-image", "url(" + $lazyImg.data("src") + ")"); isBackgroundImg=true; }else{ $lazyImg[0].src=$lazyImg.data("src"); } function showImage(){ $item.data("owl-loaded", "loaded").removeClass("loading"); $lazyImg.removeAttr("data-src"); if(base.options.lazyEffect==="fade"){ $lazyImg.fadeIn(400); }else{ $lazyImg.show(); } if(typeof base.options.afterLazyLoad==="function"){ base.options.afterLazyLoad.apply(this, [base.$elem]); }} function checkLazyImage(){ iterations +=1; if(base.completeImg($lazyImg.get(0))||isBackgroundImg===true){ showImage(); }else if(iterations <=100){ window.setTimeout(checkLazyImage, 100); }else{ showImage(); }} checkLazyImage(); }, autoHeight:function (){ var base=this, $currentimg=$(base.$owlItems[base.currentItem]).find("img"), iterations; function addHeight(){ var $currentItem=$(base.$owlItems[base.currentItem]).height(); base.wrapperOuter.css("height", $currentItem + "px"); if(!base.wrapperOuter.hasClass("autoHeight")){ window.setTimeout(function (){ base.wrapperOuter.addClass("autoHeight"); }, 0); }} function checkImage(){ iterations +=1; if(base.completeImg($currentimg.get(0))){ addHeight(); }else if(iterations <=100){ window.setTimeout(checkImage, 100); }else{ base.wrapperOuter.css("height", ""); }} if($currentimg.get(0)!==undefined){ iterations=0; checkImage(); }else{ addHeight(); }}, completeImg:function (img){ var naturalWidthType; if(!img.complete){ return false; } naturalWidthType=typeof img.naturalWidth; if(naturalWidthType!=="undefined"&&img.naturalWidth===0){ return false; } return true; }, onVisibleItems:function (){ var base=this, i; if(base.options.addClassActive===true){ base.$owlItems.removeClass("active"); } base.visibleItems=[]; for (i=base.currentItem; i < base.currentItem + base.options.items; i +=1){ base.visibleItems.push(i); if(base.options.addClassActive===true){ $(base.$owlItems[i]).addClass("active"); }} base.owl.visibleItems=base.visibleItems; }, transitionTypes:function (className){ var base=this; base.outClass="owl-" + className + "-out"; base.inClass="owl-" + className + "-in"; }, singleItemTransition:function (){ var base=this, outClass=base.outClass, inClass=base.inClass, $currentItem=base.$owlItems.eq(base.currentItem), $prevItem=base.$owlItems.eq(base.prevItem), prevPos=Math.abs(base.positionsInArray[base.currentItem]) + base.positionsInArray[base.prevItem], origin=Math.abs(base.positionsInArray[base.currentItem]) + base.itemWidth / 2, animEnd='webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend'; base.isTransition=true; base.$owlWrapper .addClass('owl-origin') .css({ "-webkit-transform-origin":origin + "px", "-moz-perspective-origin":origin + "px", "perspective-origin":origin + "px" }); function transStyles(prevPos){ return { "position":"relative", "left":prevPos + "px" };} $prevItem .css(transStyles(prevPos, 10)) .addClass(outClass) .on(animEnd, function (){ base.endPrev=true; $prevItem.off(animEnd); base.clearTransStyle($prevItem, outClass); }); $currentItem .addClass(inClass) .on(animEnd, function (){ base.endCurrent=true; $currentItem.off(animEnd); base.clearTransStyle($currentItem, inClass); }); }, clearTransStyle:function (item, classToRemove){ var base=this; item.css({ "position":"", "left":"" }).removeClass(classToRemove); if(base.endPrev&&base.endCurrent){ base.$owlWrapper.removeClass('owl-origin'); base.endPrev=false; base.endCurrent=false; base.isTransition=false; }}, owlStatus:function (){ var base=this; base.owl={ "userOptions":base.userOptions, "baseElement":base.$elem, "userItems":base.$userItems, "owlItems":base.$owlItems, "currentItem":base.currentItem, "prevItem":base.prevItem, "visibleItems":base.visibleItems, "isTouch":base.browser.isTouch, "browser":base.browser, "dragDirection":base.dragDirection };}, clearEvents:function (){ var base=this; base.$elem.off(".owl owl mousedown.disableTextSelect"); $(document).off(".owl owl"); $(window).off("resize", base.resizer); }, unWrap:function (){ var base=this; if(base.$elem.children().length!==0){ base.$owlWrapper.unwrap(); base.$userItems.unwrap().unwrap(); if(base.owlControls){ base.owlControls.remove(); }} base.clearEvents(); base.$elem.attr({ style: base.$elem.data("owl-originalStyles")||"", class: base.$elem.data("owl-originalClasses") }); }, destroy:function (){ var base=this; base.stop(); window.clearInterval(base.checkVisible); base.unWrap(); base.$elem.removeData(); }, reinit:function (newOptions){ var base=this, options=$.extend({}, base.userOptions, newOptions); base.unWrap(); base.init(options, base.$elem); }, addItem:function (htmlString, targetPosition){ var base=this, position; if(!htmlString){return false; } if(base.$elem.children().length===0){ base.$elem.append(htmlString); base.setVars(); return false; } base.unWrap(); if(targetPosition===undefined||targetPosition===-1){ position=-1; }else{ position=targetPosition; } if(position >=base.$userItems.length||position===-1){ base.$userItems.eq(-1).after(htmlString); }else{ base.$userItems.eq(position).before(htmlString); } base.setVars(); }, removeItem:function (targetPosition){ var base=this, position; if(base.$elem.children().length===0){ return false; } if(targetPosition===undefined||targetPosition===-1){ position=-1; }else{ position=targetPosition; } base.unWrap(); base.$userItems.eq(position).remove(); base.setVars(); }}; $.fn.owlCarousel=function (options){ return this.each(function (){ if($(this).data("owl-init")===true){ return false; } $(this).data("owl-init", true); var carousel=Object.create(Carousel); carousel.init(options, this); $.data(this, "owlCarousel", carousel); }); }; $.fn.owlCarousel.options={ items:5, itemsCustom:false, itemsDesktop:[1199, 4], itemsDesktopSmall:[979, 3], itemsTablet:[768, 2], itemsTabletSmall:false, itemsMobile:[479, 1], singleItem:false, itemsScaleUp:false, slideSpeed:200, paginationSpeed:800, rewindSpeed:1000, autoPlay:false, stopOnHover:false, navigation:false, navigationText:["prev", "next"], rewindNav:true, scrollPerPage:false, pagination:true, paginationNumbers:false, responsive:true, responsiveRefreshRate:200, responsiveBaseWidth:window, baseClass:"owl-carousel", theme:"owl-theme", lazyLoad:false, lazyFollow:true, lazyEffect:"fade", autoHeight:false, jsonPath:false, jsonSuccess:false, dragBeforeAnimFinish:true, mouseDrag:true, touchDrag:true, addClassActive:false, transitionStyle:false, beforeUpdate:false, afterUpdate:false, beforeInit:false, afterInit:false, beforeMove:false, afterMove:false, afterAction:false, startDragging:false, afterLazyLoad: false };}(jQuery, window, document));