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")).data("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.options.autoPlay = false; 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"); $(this).addClass("active"); } }); }, 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) { base.lazyPreload($item, $lazyImg); } } }, 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") || "").attr("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)); (function(window, document, $, undefined) { "use strict"; var H = $("html"), W = $(window), D = $(document), F = $.fancybox = function() { F.open.apply(this, arguments) }, IE = navigator.userAgent.match(/msie/i), didUpdate = null, isTouch = document.createTouch !== undefined, isQuery = function(obj) { return obj && obj.hasOwnProperty && obj instanceof $ }, isString = function(str) { return str && $.type(str) === "string" }, isPercentage = function(str) { return isString(str) && str.indexOf('%') > 0 }, isScrollable = function(el) { return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight))) }, getScalar = function(orig, dim) { var value = parseInt(orig, 10) || 0; if (dim && isPercentage(orig)) { value = F.getViewport()[dim] / 100 * value } return Math.ceil(value) }, getValue = function(value, dim) { return getScalar(value, dim) + 'px' }; $.extend(F, { version: '2.1.5', defaults: { padding: 15, margin: 20, width: 800, height: 600, minWidth: 100, minHeight: 100, maxWidth: 9999, maxHeight: 9999, pixelRatio: 1, autoSize: !0, autoHeight: !1, autoWidth: !1, autoResize: !0, autoCenter: !isTouch, fitToView: !0, aspectRatio: !1, topRatio: 0.5, leftRatio: 0.5, scrolling: 'auto', wrapCSS: '', arrows: !0, closeBtn: !0, closeClick: !1, nextClick: !1, mouseWheel: !0, autoPlay: !1, playSpeed: 3000, preload: 3, modal: !1, loop: !0, ajax: { dataType: 'html', headers: { 'X-fancyBox': !0 } }, iframe: { scrolling: 'auto', preload: !0 }, swf: { wmode: 'transparent', allowfullscreen: 'true', allowscriptaccess: 'always' }, keys: { next: { 13: 'left', 34: 'up', 39: 'left', 40: 'up' }, prev: { 8: 'right', 33: 'down', 37: 'right', 38: 'down' }, close: [27], play: [32], toggle: [70] }, direction: { next: 'left', prev: 'right' }, scrollOutside: !0, index: 0, type: null, href: null, content: null, title: null, tpl: { wrap: '
', image: '', iframe: '', error: '

The requested content cannot be loaded.
Please try again later.

', closeBtn: '', next: '', prev: '' }, openEffect: 'fade', openSpeed: 250, openEasing: 'swing', openOpacity: !0, openMethod: 'zoomIn', closeEffect: 'fade', closeSpeed: 250, closeEasing: 'swing', closeOpacity: !0, closeMethod: 'zoomOut', nextEffect: 'elastic', nextSpeed: 250, nextEasing: 'swing', nextMethod: 'changeIn', prevEffect: 'elastic', prevSpeed: 250, prevEasing: 'swing', prevMethod: 'changeOut', helpers: { overlay: !0, title: !0 }, onCancel: $.noop, beforeLoad: $.noop, afterLoad: $.noop, beforeShow: $.noop, afterShow: $.noop, beforeChange: $.noop, beforeClose: $.noop, afterClose: $.noop }, group: {}, opts: {}, previous: null, coming: null, current: null, isActive: !1, isOpen: !1, isOpened: !1, wrap: null, skin: null, outer: null, inner: null, player: { timer: null, isActive: !1 }, ajaxLoad: null, imgPreload: null, transitions: {}, helpers: {}, open: function(group, opts) { if (!group) { return } if (!$.isPlainObject(opts)) { opts = {} } if (!1 === F.close(!0)) { return } if (!$.isArray(group)) { group = isQuery(group) ? $(group).get() : [group] } $.each(group, function(i, element) { var obj = {}, href, title, content, type, rez, hrefParts, selector; if ($.type(element) === "object") { if (element.nodeType) { element = $(element) } if (isQuery(element)) { obj = { href: element.data('fancybox-href') || element.attr('href'), title: element.data('fancybox-title') || element.attr('title'), isDom: !0, element: element }; if ($.metadata) { $.extend(!0, obj, element.metadata()) } } else { obj = element } } href = opts.href || obj.href || (isString(element) ? element : null); title = opts.title !== undefined ? opts.title : obj.title || ''; content = opts.content || obj.content; type = content ? 'html' : (opts.type || obj.type); if (!type && obj.isDom) { type = element.data('fancybox-type'); if (!type) { rez = element.prop('class').match(/fancybox\.(\w+)/); type = rez ? rez[1] : null } } if (isString(href)) { if (!type) { if (F.isImage(href)) { type = 'image' } else if (F.isSWF(href)) { type = 'swf' } else if (href.charAt(0) === '#') { type = 'inline' } else if (isString(element)) { type = 'html'; content = element } } if (type === 'ajax') { hrefParts = href.split(/\s+/, 2); href = hrefParts.shift(); selector = hrefParts.shift() } } if (!content) { if (type === 'inline') { if (href) { content = $(isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href) } else if (obj.isDom) { content = element } } else if (type === 'html') { content = href } else if (!type && !href && obj.isDom) { type = 'inline'; content = element } } $.extend(obj, { href: href, type: type, content: content, title: title, selector: selector }); group[i] = obj }); F.opts = $.extend(!0, {}, F.defaults, opts); if (opts.keys !== undefined) { F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : !1 } F.group = group; return F._start(F.opts.index) }, cancel: function() { var coming = F.coming; if (!coming || !1 === F.trigger('onCancel')) { return } F.hideLoading(); if (F.ajaxLoad) { F.ajaxLoad.abort() } F.ajaxLoad = null; if (F.imgPreload) { F.imgPreload.onload = F.imgPreload.onerror = null } if (coming.wrap) { coming.wrap.stop(!0, !0).trigger('onReset').remove() } F.coming = null; if (!F.current) { F._afterZoomOut(coming) } }, close: function(event) { F.cancel(); if (!1 === F.trigger('beforeClose')) { return } F.unbindEvents(); if (!F.isActive) { return } if (!F.isOpen || event === !0) { $('.fancybox-wrap').stop(!0).trigger('onReset').remove(); F._afterZoomOut() } else { F.isOpen = F.isOpened = !1; F.isClosing = !0; $('.fancybox-item, .fancybox-nav').remove(); F.wrap.stop(!0, !0).removeClass('fancybox-opened'); F.transitions[F.current.closeMethod]() } }, play: function(action) { var clear = function() { clearTimeout(F.player.timer) }, set = function() { clear(); if (F.current && F.player.isActive) { F.player.timer = setTimeout(F.next, F.current.playSpeed) } }, stop = function() { clear(); D.unbind('.player'); F.player.isActive = !1; F.trigger('onPlayEnd') }, start = function() { if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) { F.player.isActive = !0; D.bind({ 'onCancel.player beforeClose.player': stop, 'onUpdate.player': set, 'beforeLoad.player': clear }); set(); F.trigger('onPlayStart') } }; if (action === !0 || (!F.player.isActive && action !== !1)) { start() } else { stop() } }, next: function(direction) { var current = F.current; if (current) { if (!isString(direction)) { direction = current.direction.next } F.jumpto(current.index + 1, direction, 'next') } }, prev: function(direction) { var current = F.current; if (current) { if (!isString(direction)) { direction = current.direction.prev } F.jumpto(current.index - 1, direction, 'prev') } }, jumpto: function(index, direction, router) { var current = F.current; if (!current) { return } index = getScalar(index); F.direction = direction || current.direction[(index >= current.index ? 'next' : 'prev')]; F.router = router || 'jumpto'; if (current.loop) { if (index < 0) { index = current.group.length + (index % current.group.length) } index = index % current.group.length } if (current.group[index] !== undefined) { F.cancel(); F._start(index) } }, reposition: function(e, onlyAbsolute) { var current = F.current, wrap = current ? current.wrap : null, pos; if (wrap) { pos = F._getPosition(onlyAbsolute); if (e && e.type === 'scroll') { delete pos.position; wrap.stop(!0, !0).animate(pos, 200) } else { wrap.css(pos); current.pos = $.extend({}, current.dim, pos) } } }, update: function(e) { var type = (e && e.type), anyway = !type || type === 'orientationchange'; if (anyway) { clearTimeout(didUpdate); didUpdate = null } if (!F.isOpen || didUpdate) { return } didUpdate = setTimeout(function() { var current = F.current; if (!current || F.isClosing) { return } F.wrap.removeClass('fancybox-tmp'); if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) { F._setDimension() } if (!(type === 'scroll' && current.canShrink)) { F.reposition(e) } F.trigger('onUpdate'); didUpdate = null }, (anyway && !isTouch ? 0 : 300)) }, toggle: function(action) { if (F.isOpen) { F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView; if (isTouch) { F.wrap.removeAttr('style').addClass('fancybox-tmp'); F.trigger('onUpdate') } F.update() } }, hideLoading: function() { D.unbind('.loading'); $('#fancybox-loading').remove() }, showLoading: function() { var el, viewport; F.hideLoading(); el = $('
').click(F.cancel).appendTo('body'); D.bind('keydown.loading', function(e) { if ((e.which || e.keyCode) === 27) { e.preventDefault(); F.cancel() } }); if (!F.defaults.fixed) { viewport = F.getViewport(); el.css({ position: 'absolute', top: (viewport.h * 0.5) + viewport.y, left: (viewport.w * 0.5) + viewport.x }) } }, getViewport: function() { var locked = (F.current && F.current.locked) || !1, rez = { x: W.scrollLeft(), y: W.scrollTop() }; if (locked) { rez.w = locked[0].clientWidth; rez.h = locked[0].clientHeight } else { rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width(); rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height() } return rez }, unbindEvents: function() { if (F.wrap && isQuery(F.wrap)) { F.wrap.unbind('.fb') } D.unbind('.fb'); W.unbind('.fb') }, bindEvents: function() { var current = F.current, keys; if (!current) { return } W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update); keys = current.keys; if (keys) { D.bind('keydown.fb', function(e) { var code = e.which || e.keyCode, target = e.target || e.srcElement; if (code === 27 && F.coming) { return !1 } if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) { $.each(keys, function(i, val) { if (current.group.length > 1 && val[code] !== undefined) { F[i](val[code]); e.preventDefault(); return !1 } if ($.inArray(code, val) > -1) { F[i](); e.preventDefault(); return !1 } }) } }) } if ($.fn.mousewheel && current.mouseWheel) { F.wrap.bind('mousewheel.fb', function(e, delta, deltaX, deltaY) { var target = e.target || null, parent = $(target), canScroll = !1; while (parent.length) { if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) { break } canScroll = isScrollable(parent[0]); parent = $(parent).parent() } if (delta !== 0 && !canScroll) { if (F.group.length > 1 && !current.canShrink) { if (deltaY > 0 || deltaX > 0) { F.prev(deltaY > 0 ? 'down' : 'left') } else if (deltaY < 0 || deltaX < 0) { F.next(deltaY < 0 ? 'up' : 'right') } e.preventDefault() } } }) } }, trigger: function(event, o) { var ret, obj = o || F.coming || F.current; if (!obj) { return } if ($.isFunction(obj[event])) { ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1)) } if (ret === !1) { return !1 } if (obj.helpers) { $.each(obj.helpers, function(helper, opts) { if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) { F.helpers[helper][event]($.extend(!0, {}, F.helpers[helper].defaults, opts), obj) } }) } D.trigger(event) }, isImage: function(str) { return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i) }, isSWF: function(str) { return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i) }, _start: function(index) { var coming = {}, obj, href, type, margin, padding; index = getScalar(index); obj = F.group[index] || null; if (!obj) { return !1 } coming = $.extend(!0, {}, F.opts, obj); margin = coming.margin; padding = coming.padding; if ($.type(margin) === 'number') { coming.margin = [margin, margin, margin, margin] } if ($.type(padding) === 'number') { coming.padding = [padding, padding, padding, padding] } if (coming.modal) { $.extend(!0, coming, { closeBtn: !1, closeClick: !1, nextClick: !1, arrows: !1, mouseWheel: !1, keys: null, helpers: { overlay: { closeClick: !1 } } }) } if (coming.autoSize) { coming.autoWidth = coming.autoHeight = !0 } if (coming.width === 'auto') { coming.autoWidth = !0 } if (coming.height === 'auto') { coming.autoHeight = !0 } coming.group = F.group; coming.index = index; F.coming = coming; if (!1 === F.trigger('beforeLoad')) { F.coming = null; return } type = coming.type; href = coming.href; if (!type) { F.coming = null; if (F.current && F.router && F.router !== 'jumpto') { F.current.index = index; return F[F.router](F.direction) } return !1 } F.isActive = !0; if (type === 'image' || type === 'swf') { coming.autoHeight = coming.autoWidth = !1; coming.scrolling = 'visible' } if (type === 'image') { coming.aspectRatio = !0 } if (type === 'iframe' && isTouch) { coming.scrolling = 'scroll' } coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo(coming.parent || 'body'); $.extend(coming, { skin: $('.fancybox-skin', coming.wrap), outer: $('.fancybox-outer', coming.wrap), inner: $('.fancybox-inner', coming.wrap) }); $.each(["Top", "Right", "Bottom", "Left"], function(i, v) { coming.skin.css('padding' + v, getValue(coming.padding[i])) }); F.trigger('onReady'); if (type === 'inline' || type === 'html') { if (!coming.content || !coming.content.length) { return F._error('content') } } else if (!href) { return F._error('href') } if (type === 'image') { F._loadImage() } else if (type === 'ajax') { F._loadAjax() } else if (type === 'iframe') { F._loadIframe() } else { F._afterLoad() } }, _error: function(type) { $.extend(F.coming, { type: 'html', autoWidth: !0, autoHeight: !0, minWidth: 0, minHeight: 0, scrolling: 'no', hasError: type, content: F.coming.tpl.error }); F._afterLoad() }, _loadImage: function() { var img = F.imgPreload = new Image(); img.onload = function() { this.onload = this.onerror = null; F.coming.width = this.width / F.opts.pixelRatio; F.coming.height = this.height / F.opts.pixelRatio; F._afterLoad() }; img.onerror = function() { this.onload = this.onerror = null; F._error('image') }; img.src = F.coming.href; if (img.complete !== !0) { F.showLoading() } }, _loadAjax: function() { var coming = F.coming; F.showLoading(); F.ajaxLoad = $.ajax($.extend({}, coming.ajax, { url: coming.href, error: function(jqXHR, textStatus) { if (F.coming && textStatus !== 'abort') { F._error('ajax', jqXHR) } else { F.hideLoading() } }, success: function(data, textStatus) { if (textStatus === 'success') { coming.content = data; F._afterLoad() } } })) }, _loadIframe: function() { var coming = F.coming, iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime())).attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling).attr('src', coming.href); $(coming.wrap).bind('onReset', function() { try { $(this).find('iframe').hide().attr('src', '//about:blank').end().empty() } catch (e) {} }); if (coming.iframe.preload) { F.showLoading(); iframe.one('load', function() { $(this).data('ready', 1); if (!isTouch) { $(this).bind('load.fb', F.update) } $(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show(); F._afterLoad() }) } coming.content = iframe.appendTo(coming.inner); if (!coming.iframe.preload) { F._afterLoad() } }, _preloadImages: function() { var group = F.group, current = F.current, len = group.length, cnt = current.preload ? Math.min(current.preload, len - 1) : 0, item, i; for (i = 1; i <= cnt; i += 1) { item = group[(current.index + i) % len]; if (item.type === 'image' && item.href) { new Image().src = item.href } } }, _afterLoad: function() { var coming = F.coming, previous = F.current, placeholder = 'fancybox-placeholder', current, content, type, scrolling, href, embed; F.hideLoading(); if (!coming || F.isActive === !1) { return } if (!1 === F.trigger('afterLoad', coming, previous)) { coming.wrap.stop(!0).trigger('onReset').remove(); F.coming = null; return } if (previous) { F.trigger('beforeChange', previous); previous.wrap.stop(!0).removeClass('fancybox-opened').find('.fancybox-item, .fancybox-nav').remove() } F.unbindEvents(); current = coming; content = coming.content; type = coming.type; scrolling = coming.scrolling; $.extend(F, { wrap: current.wrap, skin: current.skin, outer: current.outer, inner: current.inner, current: current, previous: previous }); href = current.href; switch (type) { case 'inline': case 'ajax': case 'html': if (current.selector) { content = $('
').html(content).find(current.selector) } else if (isQuery(content)) { if (!content.data(placeholder)) { content.data(placeholder, $('
').insertAfter(content).hide()) } content = content.show().detach(); current.wrap.bind('onReset', function() { if ($(this).find(content).length) { content.hide().replaceAll(content.data(placeholder)).data(placeholder, !1) } }) } break; case 'image': content = current.tpl.image.replace('{href}', href); break; case 'swf': content = ''; embed = ''; $.each(current.swf, function(name, val) { content += ''; embed += ' ' + name + '="' + val + '"' }); content += ''; break } if (!(isQuery(content) && content.parent().is(current.inner))) { current.inner.append(content) } F.trigger('beforeShow'); current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling)); F._setDimension(); F.reposition(); F.isOpen = !1; F.coming = null; F.bindEvents(); if (!F.isOpened) { $('.fancybox-wrap').not(current.wrap).stop(!0).trigger('onReset').remove() } else if (previous.prevMethod) { F.transitions[previous.prevMethod]() } F.transitions[F.isOpened ? current.nextMethod : current.openMethod](); F._preloadImages() }, _setDimension: function() { var viewport = F.getViewport(), steps = 0, canShrink = !1, canExpand = !1, wrap = F.wrap, skin = F.skin, inner = F.inner, current = F.current, width = current.width, height = current.height, minWidth = current.minWidth, minHeight = current.minHeight, maxWidth = current.maxWidth, maxHeight = current.maxHeight, scrolling = current.scrolling, scrollOut = current.scrollOutside ? current.scrollbarWidth : 0, margin = current.margin, wMargin = getScalar(margin[1] + margin[3]), hMargin = getScalar(margin[0] + margin[2]), wPadding, hPadding, wSpace, hSpace, origWidth, origHeight, origMaxWidth, origMaxHeight, ratio, width_, height_, maxWidth_, maxHeight_, iframe, body; wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp'); wPadding = getScalar(skin.outerWidth(!0) - skin.width()); hPadding = getScalar(skin.outerHeight(!0) - skin.height()); wSpace = wMargin + wPadding; hSpace = hMargin + hPadding; origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width; origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height; if (current.type === 'iframe') { iframe = current.content; if (current.autoHeight && iframe.data('ready') === 1) { try { if (iframe[0].contentWindow.document.location) { inner.width(origWidth).height(9999); body = iframe.contents().find('body'); if (scrollOut) { body.css('overflow-x', 'hidden') } origHeight = body.outerHeight(!0) } } catch (e) {} } } else if (current.autoWidth || current.autoHeight) { inner.addClass('fancybox-tmp'); if (!current.autoWidth) { inner.width(origWidth) } if (!current.autoHeight) { inner.height(origHeight) } if (current.autoWidth) { origWidth = inner.width() } if (current.autoHeight) { origHeight = inner.height() } inner.removeClass('fancybox-tmp') } width = getScalar(origWidth); height = getScalar(origHeight); ratio = origWidth / origHeight; minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth); maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth); minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight); maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight); origMaxWidth = maxWidth; origMaxHeight = maxHeight; if (current.fitToView) { maxWidth = Math.min(viewport.w - wSpace, maxWidth); maxHeight = Math.min(viewport.h - hSpace, maxHeight) } maxWidth_ = viewport.w - wMargin; maxHeight_ = viewport.h - hMargin; if (current.aspectRatio) { if (width > maxWidth) { width = maxWidth; height = getScalar(width / ratio) } if (height > maxHeight) { height = maxHeight; width = getScalar(height * ratio) } if (width < minWidth) { width = minWidth; height = getScalar(width / ratio) } if (height < minHeight) { height = minHeight; width = getScalar(height * ratio) } } else { width = Math.max(minWidth, Math.min(width, maxWidth)); if (current.autoHeight && current.type !== 'iframe') { inner.width(width); height = inner.height() } height = Math.max(minHeight, Math.min(height, maxHeight)) } if (current.fitToView) { inner.width(width).height(height); wrap.width(width + wPadding); width_ = wrap.width(); height_ = wrap.height(); if (current.aspectRatio) { while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) { if (steps++ > 19) { break } height = Math.max(minHeight, Math.min(maxHeight, height - 10)); width = getScalar(height * ratio); if (width < minWidth) { width = minWidth; height = getScalar(width / ratio) } if (width > maxWidth) { width = maxWidth; height = getScalar(width / ratio) } inner.width(width).height(height); wrap.width(width + wPadding); width_ = wrap.width(); height_ = wrap.height() } } else { width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_))); height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_))) } } if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) { width += scrollOut } inner.width(width).height(height); wrap.width(width + wPadding); width_ = wrap.width(); height_ = wrap.height(); canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight; canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight)); $.extend(current, { dim: { width: getValue(width_), height: getValue(height_) }, origWidth: origWidth, origHeight: origHeight, canShrink: canShrink, canExpand: canExpand, wPadding: wPadding, hPadding: hPadding, wrapSpace: height_ - skin.outerHeight(!0), skinSpace: skin.height() - height }); if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) { inner.height('auto') } }, _getPosition: function(onlyAbsolute) { var current = F.current, viewport = F.getViewport(), margin = current.margin, width = F.wrap.width() + margin[1] + margin[3], height = F.wrap.height() + margin[0] + margin[2], rez = { position: 'absolute', top: margin[0], left: margin[3] }; if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) { rez.position = 'fixed' } else if (!current.locked) { rez.top += viewport.y; rez.left += viewport.x } rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))); rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio))); return rez }, _afterZoomIn: function() { var current = F.current; if (!current) { return } F.isOpen = F.isOpened = !0; F.wrap.css('overflow', 'visible').addClass('fancybox-opened'); F.update(); if (current.closeClick || (current.nextClick && F.group.length > 1)) { F.inner.css('cursor', 'pointer').bind('click.fb', function(e) { if (!$(e.target).is('a') && !$(e.target).parent().is('a')) { e.preventDefault(); F[current.closeClick ? 'close' : 'next']() } }) } if (current.closeBtn) { $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) { e.preventDefault(); F.close() }) } if (current.arrows && F.group.length > 1) { if (current.loop || current.index > 0) { $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev) } if (current.loop || current.index < F.group.length - 1) { $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next) } } F.trigger('afterShow'); if (!current.loop && current.index === current.group.length - 1) { F.play(!1) } else if (F.opts.autoPlay && !F.player.isActive) { F.opts.autoPlay = !1; F.play() } }, _afterZoomOut: function(obj) { obj = obj || F.current; $('.fancybox-wrap').trigger('onReset').remove(); $.extend(F, { group: {}, opts: {}, router: !1, current: null, isActive: !1, isOpened: !1, isOpen: !1, isClosing: !1, wrap: null, skin: null, outer: null, inner: null }); F.trigger('afterClose', obj) } }); F.transitions = { getOrigPosition: function() { var current = F.current, element = current.element, orig = current.orig, pos = {}, width = 50, height = 50, hPadding = current.hPadding, wPadding = current.wPadding, viewport = F.getViewport(); if (!orig && current.isDom && element.is(':visible')) { orig = element.find('img:first'); if (!orig.length) { orig = element } } if (isQuery(orig)) { pos = orig.offset(); if (orig.is('img')) { width = orig.outerWidth(); height = orig.outerHeight() } } else { pos.top = viewport.y + (viewport.h - height) * current.topRatio; pos.left = viewport.x + (viewport.w - width) * current.leftRatio } if (F.wrap.css('position') === 'fixed' || current.locked) { pos.top -= viewport.y; pos.left -= viewport.x } pos = { top: getValue(pos.top - hPadding * current.topRatio), left: getValue(pos.left - wPadding * current.leftRatio), width: getValue(width + wPadding), height: getValue(height + hPadding) }; return pos }, step: function(now, fx) { var ratio, padding, value, prop = fx.prop, current = F.current, wrapSpace = current.wrapSpace, skinSpace = current.skinSpace; if (prop === 'width' || prop === 'height') { ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start); if (F.isClosing) { ratio = 1 - ratio } padding = prop === 'width' ? current.wPadding : current.hPadding; value = now - padding; F.skin[prop](getScalar(prop === 'width' ? value : value - (wrapSpace * ratio))); F.inner[prop](getScalar(prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio))) } }, zoomIn: function() { var current = F.current, startPos = current.pos, effect = current.openEffect, elastic = effect === 'elastic', endPos = $.extend({ opacity: 1 }, startPos); delete endPos.position; if (elastic) { startPos = this.getOrigPosition(); if (current.openOpacity) { startPos.opacity = 0.1 } } else if (effect === 'fade') { startPos.opacity = 0.1 } F.wrap.css(startPos).animate(endPos, { duration: effect === 'none' ? 0 : current.openSpeed, easing: current.openEasing, step: elastic ? this.step : null, complete: F._afterZoomIn }) }, zoomOut: function() { var current = F.current, effect = current.closeEffect, elastic = effect === 'elastic', endPos = { opacity: 0.1 }; if (elastic) { endPos = this.getOrigPosition(); if (current.closeOpacity) { endPos.opacity = 0.1 } } F.wrap.animate(endPos, { duration: effect === 'none' ? 0 : current.closeSpeed, easing: current.closeEasing, step: elastic ? this.step : null, complete: F._afterZoomOut }) }, changeIn: function() { var current = F.current, effect = current.nextEffect, startPos = current.pos, endPos = { opacity: 1 }, direction = F.direction, distance = 200, field; startPos.opacity = 0.1; if (effect === 'elastic') { field = direction === 'down' || direction === 'up' ? 'top' : 'left'; if (direction === 'down' || direction === 'right') { startPos[field] = getValue(getScalar(startPos[field]) - distance); endPos[field] = '+=' + distance + 'px' } else { startPos[field] = getValue(getScalar(startPos[field]) + distance); endPos[field] = '-=' + distance + 'px' } } if (effect === 'none') { F._afterZoomIn() } else { F.wrap.css(startPos).animate(endPos, { duration: current.nextSpeed, easing: current.nextEasing, complete: F._afterZoomIn }) } }, changeOut: function() { var previous = F.previous, effect = previous.prevEffect, endPos = { opacity: 0.1 }, direction = F.direction, distance = 200; if (effect === 'elastic') { endPos[direction === 'down' || direction === 'up' ? 'top' : 'left'] = (direction === 'up' || direction === 'left' ? '-' : '+') + '=' + distance + 'px' } previous.wrap.animate(endPos, { duration: effect === 'none' ? 0 : previous.prevSpeed, easing: previous.prevEasing, complete: function() { $(this).trigger('onReset').remove() } }) } }; F.helpers.overlay = { defaults: { closeClick: !0, speedOut: 200, showEarly: !0, css: {}, locked: !isTouch, fixed: !0 }, overlay: null, fixed: !1, el: $('html'), create: function(opts) { opts = $.extend({}, this.defaults, opts); if (this.overlay) { this.close() } this.overlay = $('
').appendTo(F.coming ? F.coming.parent : opts.parent); this.fixed = !1; if (opts.fixed && F.defaults.fixed) { this.overlay.addClass('fancybox-overlay-fixed'); this.fixed = !0 } }, open: function(opts) { var that = this; opts = $.extend({}, this.defaults, opts); if (this.overlay) { this.overlay.unbind('.overlay').width('auto').height('auto') } else { this.create(opts) } if (!this.fixed) { W.bind('resize.overlay', $.proxy(this.update, this)); this.update() } if (opts.closeClick) { this.overlay.bind('click.overlay', function(e) { if ($(e.target).hasClass('fancybox-overlay')) { if (F.isActive) { F.close() } else { that.close() } return !1 } }) } this.overlay.css(opts.css).show() }, close: function() { var scrollV, scrollH; W.unbind('resize.overlay'); if (this.el.hasClass('fancybox-lock')) { $('.fancybox-margin').removeClass('fancybox-margin'); scrollV = W.scrollTop(); scrollH = W.scrollLeft(); this.el.removeClass('fancybox-lock'); W.scrollTop(scrollV).scrollLeft(scrollH) } $('.fancybox-overlay').remove().hide(); $.extend(this, { overlay: null, fixed: !1 }) }, update: function() { var width = '100%', offsetWidth; this.overlay.width(width).height('100%'); if (IE) { offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); if (D.width() > offsetWidth) { width = D.width() } } else if (D.width() > W.width()) { width = D.width() } this.overlay.width(width).height(D.height()) }, onReady: function(opts, obj) { var overlay = this.overlay; $('.fancybox-overlay').stop(!0, !0); if (!overlay) { this.create(opts) } if (opts.locked && this.fixed && obj.fixed) { if (!overlay) { this.margin = D.height() > W.height() ? $('html').css('margin-right').replace("px", "") : !1 } obj.locked = this.overlay.append(obj.wrap); obj.fixed = !1 } if (opts.showEarly === !0) { this.beforeShow.apply(this, arguments) } }, beforeShow: function(opts, obj) { var scrollV, scrollH; if (obj.locked) { if (this.margin !== !1) { $('*').filter(function() { return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap")) }).addClass('fancybox-margin'); this.el.addClass('fancybox-margin') } scrollV = W.scrollTop(); scrollH = W.scrollLeft(); this.el.addClass('fancybox-lock'); W.scrollTop(scrollV).scrollLeft(scrollH) } this.open(opts) }, onUpdate: function() { if (!this.fixed) { this.update() } }, afterClose: function(opts) { if (this.overlay && !F.coming) { this.overlay.fadeOut(opts.speedOut, $.proxy(this.close, this)) } } }; F.helpers.title = { defaults: { type: 'float', position: 'bottom' }, beforeShow: function(opts) { var current = F.current, text = current.title, type = opts.type, title, target; if ($.isFunction(text)) { text = text.call(current.element, current) } if (!isString(text) || $.trim(text) === '') { return } title = $('
' + text + '
'); switch (type) { case 'inside': target = F.skin; break; case 'outside': target = F.wrap; break; case 'over': target = F.inner; break; default: target = F.skin; title.appendTo('body'); if (IE) { title.width(title.width()) } title.wrapInner(''); F.current.margin[2] += Math.abs(getScalar(title.css('margin-bottom'))); break } title[(opts.position === 'top' ? 'prependTo' : 'appendTo')](target) } }; $.fn.fancybox = function(options) { var index, that = $(this), selector = this.selector || '', run = function(e) { var what = $(this).blur(), idx = index, relType, relVal; if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) { relType = options.groupAttr || 'data-fancybox-group'; relVal = what.attr(relType); if (!relVal) { relType = 'rel'; relVal = what.get(0)[relType] } if (relVal && relVal !== '' && relVal !== 'nofollow') { what = selector.length ? $(selector) : that; what = what.filter('[' + relType + '="' + relVal + '"]'); idx = what.index(this) } options.index = idx; if (F.open(what, options) !== !1) { e.preventDefault() } } }; options = options || {}; index = options.index || 0; if (!selector || options.live === !1) { that.unbind('click.fb-start').bind('click.fb-start', run) } else { D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run) } this.filter('[data-fancybox-start=1]').trigger('click'); return this }; D.ready(function() { var w1, w2; if ($.scrollbarWidth === undefined) { $.scrollbarWidth = function() { var parent = $('
').appendTo('body'), child = parent.children(), width = child.innerWidth() - child.height(99).innerWidth(); parent.remove(); return width } } if ($.support.fixedPosition === undefined) { $.support.fixedPosition = (function() { var elem = $('
').appendTo('body'), fixed = (elem[0].offsetTop === 20 || elem[0].offsetTop === 15); elem.remove(); return fixed }()) } $.extend(F.defaults, { scrollbarWidth: $.scrollbarWidth(), fixed: $.support.fixedPosition, parent: $('body') }); w1 = $(window).width(); H.addClass('fancybox-lock-test'); w2 = $(window).width(); H.removeClass('fancybox-lock-test'); $("").appendTo("head") }) }(window, document, jQuery)) jQuery(window).load(function() { setTimeout(function() { jQuery('iframe[data-src]').each(function() { jQuery(this).attr('src', jQuery(this).data('src')); }) }, 1000); }); jQuery(document).ready(function() { if (jQuery('body').find('.youtube-video-wrap').length > 0) { jQuery('.videoIcons').click(function(e) { jQuery(this).parent().addClass('on'); jQuery(this).siblings('iframe').attr('src', jQuery(this).siblings('iframe').attr('src') + '?autoplay=1'); jQuery(this).hide(500); }); } jQuery("#testimonials-slider").owlCarousel({ autoPlay: 10000, //Set AutoPlay to 3 seconds autoHeight: false, items: 2, //transitionStyle : "fade", stopOnHover: true, lazyLoad: true, responsiveRefreshRate: 200, pagination: true, navigation: true, startDragging: 'pauseOnDragging', touchDrag: true, mouseDrag: true, itemsDesktop: [1199, 2], //3 items between 1199px and 979px itemsDesktopSmall: [979, 2], // betweem 979px and 641px itemsTablet: [640, 1], //2 items between 640px and 569px itemsMobile: [568, 1] // items between 568px and 320px }); jQuery(".fancybox").fancybox(); jQuery('.emailtemplatePopup').fancybox({ maxWidth: 500, maxHeight: 700, width: '80%', height: '80%', fitToView: false, autoSize: false, scrolling: 'auto' }); });