'),
+ this.wrapperOuter = this.$elem.find(".owl-wrapper-outer"),
+ this.$elem.css("display", "block")
+ },
+ baseClass: function() {
+ var t = this.$elem.hasClass(this.options.baseClass)
+ , e = this.$elem.hasClass(this.options.theme);
+ t || this.$elem.addClass(this.options.baseClass),
+ e || this.$elem.addClass(this.options.theme)
+ },
+ updateItems: function() {
+ var e, i;
+ if (!1 === this.options.responsive)
+ return !1;
+ if (!0 === this.options.singleItem)
+ return this.options.items = this.orignalItems = 1,
+ this.options.itemsCustom = !1,
+ this.options.itemsDesktop = !1,
+ this.options.itemsDesktopSmall = !1,
+ this.options.itemsTablet = !1,
+ this.options.itemsTabletSmall = !1,
+ this.options.itemsMobile = !1;
+ if (e = t(this.options.responsiveBaseWidth).width(),
+ e > (this.options.itemsDesktop[0] || this.orignalItems) && (this.options.items = this.orignalItems),
+ !1 !== this.options.itemsCustom)
+ for (this.options.itemsCustom.sort(function(t, e) {
+ return t[0] - e[0]
+ }
+ ),
+ i = 0; i < this.options.itemsCustom.length; i += 1)
+ this.options.itemsCustom[i][0] <= e && (this.options.items = this.options.itemsCustom[i][1]);
+ else
+ e <= this.options.itemsDesktop[0] && !1 !== this.options.itemsDesktop && (this.options.items = this.options.itemsDesktop[1]),
+ e <= this.options.itemsDesktopSmall[0] && !1 !== this.options.itemsDesktopSmall && (this.options.items = this.options.itemsDesktopSmall[1]),
+ e <= this.options.itemsTablet[0] && !1 !== this.options.itemsTablet && (this.options.items = this.options.itemsTablet[1]),
+ e <= this.options.itemsTabletSmall[0] && !1 !== this.options.itemsTabletSmall && (this.options.items = this.options.itemsTabletSmall[1]),
+ e <= this.options.itemsMobile[0] && !1 !== this.options.itemsMobile && (this.options.items = this.options.itemsMobile[1]);
+ this.options.items > this.itemsAmount && !0 === this.options.itemsScaleUp && (this.options.items = this.itemsAmount)
+ },
+ response: function() {
+ var i, s, n = this;
+ return !0 !== n.options.responsive ? !1 : (s = t(e).width(),
+ n.resizer = function() {
+ t(e).width() !== s && (!1 !== n.options.autoPlay && e.clearInterval(n.autoPlayInterval),
+ e.clearTimeout(i),
+ i = e.setTimeout(function() {
+ s = t(e).width(),
+ n.updateVars()
+ }
+ , n.options.responsiveRefreshRate))
+ }
+ ,
+ void t(e).resize(n.resizer))
+ },
+ updatePosition: function() {
+ this.jumpTo(this.currentItem),
+ !1 !== this.options.autoPlay && this.checkAp()
+ },
+ appendItemsSizes: function() {
+ var e = this
+ , i = 0
+ , s = e.itemsAmount - e.options.items;
+ e.$owlItems.each(function(n) {
+ var o = t(this);
+ o.css({
+ width: e.itemWidth
+ }).data("owl-item", Number(n)),
+ (0 === n % e.options.items || n === s) && (n > s || (i += 1)),
+ o.data("owl-roundPages", i)
+ }
+ )
+ },
+ appendWrapperSizes: function() {
+ this.$owlWrapper.css({
+ width: this.$owlItems.length * this.itemWidth * 2,
+ left: 0
+ }),
+ this.appendItemsSizes()
+ },
+ calculateAll: function() {
+ this.calculateWidth(),
+ this.appendWrapperSizes(),
+ this.loops(),
+ this.max()
+ },
+ calculateWidth: function() {
+ this.itemWidth = Math.round(this.$elem.width() / this.options.items)
+ },
+ max: function() {
+ var t = -1 * (this.itemsAmount * this.itemWidth - this.options.items * this.itemWidth);
+ return this.options.items > this.itemsAmount ? this.maximumPixels = t = this.maximumItem = 0 : (this.maximumItem = this.itemsAmount - this.options.items,
+ this.maximumPixels = t),
+ t
+ },
+ min: function() {
+ return 0
+ },
+ loops: function() {
+ var e, i, s = 0, n = 0;
+ for (this.positionsInArray = [0],
+ this.pagesInArray = [],
+ e = 0; e < this.itemsAmount; e += 1)
+ n += this.itemWidth,
+ this.positionsInArray.push(-n),
+ !0 === this.options.scrollPerPage && (i = t(this.$owlItems[e]),
+ i = i.data("owl-roundPages"),
+ i !== s && (this.pagesInArray[s] = this.positionsInArray[e],
+ s = i))
+ },
+ buildControls: function() {
+ (!0 === this.options.navigation || !0 === this.options.pagination) && (this.owlControls = t('
').toggleClass("clickable", !this.browser.isTouch).appendTo(this.$elem)),
+ !0 === this.options.pagination && this.buildPagination(),
+ !0 === this.options.navigation && this.buildButtons()
+ },
+ buildButtons: function() {
+ var e = this
+ , i = t('
');
+ e.owlControls.append(i),
+ e.buttonPrev = t("
", {
+ "class": "owl-prev",
+ html: e.options.navigationText[0] || ""
+ }),
+ e.buttonNext = t("
", {
+ "class": "owl-next",
+ html: e.options.navigationText[1] || ""
+ }),
+ i.append(e.buttonPrev).append(e.buttonNext),
+ i.on("touchstart.owlControls mousedown.owlControls", 'div[class^="owl"]', function(t) {
+ t.preventDefault()
+ }
+ ),
+ i.on("touchend.owlControls mouseup.owlControls", 'div[class^="owl"]', function(i) {
+ i.preventDefault(),
+ t(this).hasClass("owl-next") ? e.next() : e.prev()
+ }
+ )
+ },
+ buildPagination: function() {
+ var e = this;
+ e.paginationWrapper = t(''),
+ e.owlControls.append(e.paginationWrapper),
+ e.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function(i) {
+ i.preventDefault(),
+ Number(t(this).data("owl-page")) !== e.currentItem && e.goTo(Number(t(this).data("owl-page")), !0)
+ }
+ )
+ },
+ updatePagination: function() {
+ var e, i, s, n, o, r;
+ if (!1 === this.options.pagination)
+ return !1;
+ for (this.paginationWrapper.html(""),
+ e = 0,
+ i = this.itemsAmount - this.itemsAmount % this.options.items,
+ n = 0; n < this.itemsAmount; n += 1)
+ 0 === n % this.options.items && (e += 1,
+ i === n && (s = this.itemsAmount - this.options.items),
+ o = t("
", {
+ "class": "owl-page"
+ }),
+ r = t("
", {
+ text: !0 === this.options.paginationNumbers ? e : "",
+ "class": !0 === this.options.paginationNumbers ? "owl-numbers" : ""
+ }),
+ o.append(r),
+ o.data("owl-page", i === n ? s : n),
+ o.data("owl-roundPages", e),
+ this.paginationWrapper.append(o));
+ this.checkPagination()
+ },
+ checkPagination: function() {
+ var e = this;
+ return !1 === e.options.pagination ? !1 : void e.paginationWrapper.find(".owl-page").each(function() {
+ t(this).data("owl-roundPages") === t(e.$owlItems[e.currentItem]).data("owl-roundPages") && (e.paginationWrapper.find(".owl-page").removeClass("active"),
+ t(this).addClass("active"))
+ }
+ )
+ },
+ checkNavigation: function() {
+ return !1 === this.options.navigation ? !1 : void (!1 === this.options.rewindNav && (0 === this.currentItem && 0 === this.maximumItem ? (this.buttonPrev.addClass("disabled"),
+ this.buttonNext.addClass("disabled")) : 0 === this.currentItem && 0 !== this.maximumItem ? (this.buttonPrev.addClass("disabled"),
+ this.buttonNext.removeClass("disabled")) : this.currentItem === this.maximumItem ? (this.buttonPrev.removeClass("disabled"),
+ this.buttonNext.addClass("disabled")) : 0 !== this.currentItem && this.currentItem !== this.maximumItem && (this.buttonPrev.removeClass("disabled"),
+ this.buttonNext.removeClass("disabled"))))
+ },
+ updateControls: function() {
+ this.updatePagination(),
+ this.checkNavigation(),
+ this.owlControls && (this.options.items >= this.itemsAmount ? this.owlControls.hide() : this.owlControls.show())
+ },
+ destroyControls: function() {
+ this.owlControls && this.owlControls.remove()
+ },
+ next: function(t) {
+ if (this.isTransition)
+ return !1;
+ if (this.currentItem += !0 === this.options.scrollPerPage ? this.options.items : 1,
+ this.currentItem > this.maximumItem + (!0 === this.options.scrollPerPage ? this.options.items - 1 : 0)) {
+ if (!0 !== this.options.rewindNav)
+ return this.currentItem = this.maximumItem,
+ !1;
+ this.currentItem = 0,
+ t = "rewind"
+ }
+ this.goTo(this.currentItem, t)
+ },
+ prev: function(t) {
+ if (this.isTransition)
+ return !1;
+ if (this.currentItem = !0 === this.options.scrollPerPage && 0 < this.currentItem && this.currentItem < this.options.items ? 0 : this.currentItem - (!0 === this.options.scrollPerPage ? this.options.items : 1),
+ 0 > this.currentItem) {
+ if (!0 !== this.options.rewindNav)
+ return this.currentItem = 0,
+ !1;
+ this.currentItem = this.maximumItem,
+ t = "rewind"
+ }
+ this.goTo(this.currentItem, t)
+ },
+ goTo: function(t, i, s) {
+ var n = this;
+ return n.isTransition ? !1 : ("function" == typeof n.options.beforeMove && n.options.beforeMove.apply(this, [n.$elem]),
+ t >= n.maximumItem ? t = n.maximumItem : 0 >= t && (t = 0),
+ n.currentItem = n.owl.currentItem = t,
+ !1 !== n.options.transitionStyle && "drag" !== s && 1 === n.options.items && !0 === n.browser.support3d ? (n.swapSpeed(0),
+ !0 === n.browser.support3d ? n.transition3d(n.positionsInArray[t]) : n.css2slide(n.positionsInArray[t], 1),
+ n.afterGo(),
+ n.singleItemTransition(),
+ !1) : (t = n.positionsInArray[t],
+ !0 === n.browser.support3d ? (n.isCss3Finish = !1,
+ !0 === i ? (n.swapSpeed("paginationSpeed"),
+ e.setTimeout(function() {
+ n.isCss3Finish = !0
+ }
+ , n.options.paginationSpeed)) : "rewind" === i ? (n.swapSpeed(n.options.rewindSpeed),
+ e.setTimeout(function() {
+ n.isCss3Finish = !0
+ }
+ , n.options.rewindSpeed)) : (n.swapSpeed("slideSpeed"),
+ e.setTimeout(function() {
+ n.isCss3Finish = !0
+ }
+ , n.options.slideSpeed)),
+ n.transition3d(t)) : !0 === i ? n.css2slide(t, n.options.paginationSpeed) : "rewind" === i ? n.css2slide(t, n.options.rewindSpeed) : n.css2slide(t, n.options.slideSpeed),
+ void n.afterGo()))
+ },
+ jumpTo: function(t) {
+ "function" == typeof this.options.beforeMove && this.options.beforeMove.apply(this, [this.$elem]),
+ t >= this.maximumItem || -1 === t ? t = this.maximumItem : 0 >= t && (t = 0),
+ this.swapSpeed(0),
+ !0 === this.browser.support3d ? this.transition3d(this.positionsInArray[t]) : this.css2slide(this.positionsInArray[t], 1),
+ this.currentItem = this.owl.currentItem = t,
+ this.afterGo()
+ },
+ afterGo: function() {
+ this.prevArr.push(this.currentItem),
+ this.prevItem = this.owl.prevItem = this.prevArr[this.prevArr.length - 2],
+ this.prevArr.shift(0),
+ this.prevItem !== this.currentItem && (this.checkPagination(),
+ this.checkNavigation(),
+ this.eachMoveUpdate(),
+ !1 !== this.options.autoPlay && this.checkAp()),
+ "function" == typeof this.options.afterMove && this.prevItem !== this.currentItem && this.options.afterMove.apply(this, [this.$elem])
+ },
+ stop: function() {
+ this.apStatus = "stop",
+ e.clearInterval(this.autoPlayInterval)
+ },
+ checkAp: function() {
+ "stop" !== this.apStatus && this.play()
+ },
+ play: function() {
+ var t = this;
+ return t.apStatus = "play",
+ !1 === t.options.autoPlay ? !1 : (e.clearInterval(t.autoPlayInterval),
+ void (t.autoPlayInterval = e.setInterval(function() {
+ t.next(!0)
+ }
+ , t.options.autoPlay)))
+ },
+ swapSpeed: function(t) {
+ "slideSpeed" === t ? this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)) : "paginationSpeed" === t ? this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)) : "string" != typeof t && this.$owlWrapper.css(this.addCssSpeed(t))
+ },
+ addCssSpeed: function(t) {
+ return {
+ "-webkit-transition": "all " + t + "ms ease",
+ "-moz-transition": "all " + t + "ms ease",
+ "-o-transition": "all " + t + "ms ease",
+ transition: "all " + t + "ms ease"
+ }
+ },
+ removeTransition: function() {
+ return {
+ "-webkit-transition": "",
+ "-moz-transition": "",
+ "-o-transition": "",
+ transition: ""
+ }
+ },
+ doTranslate: function(t) {
+ return {
+ "-webkit-transform": "translate3d(" + t + "px, 0px, 0px)",
+ "-moz-transform": "translate3d(" + t + "px, 0px, 0px)",
+ "-o-transform": "translate3d(" + t + "px, 0px, 0px)",
+ "-ms-transform": "translate3d(" + t + "px, 0px, 0px)",
+ transform: "translate3d(" + t + "px, 0px,0px)"
+ }
+ },
+ transition3d: function(t) {
+ this.$owlWrapper.css(this.doTranslate(t))
+ },
+ css2move: function(t) {
+ this.$owlWrapper.css({
+ left: t
+ })
+ },
+ css2slide: function(t, e) {
+ var i = this;
+ i.isCssFinish = !1,
+ i.$owlWrapper.stop(!0, !0).animate({
+ left: t
+ }, {
+ duration: e || i.options.slideSpeed,
+ complete: function() {
+ i.isCssFinish = !0
+ }
+ })
+ },
+ checkBrowser: function() {
+ var t = i.createElement("div");
+ t.style.cssText = " -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)",
+ t = t.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g),
+ this.browser = {
+ support3d: null !== t && 1 === t.length,
+ isTouch: "ontouchstart" in e || e.navigator.msMaxTouchPoints
+ }
+ },
+ moveEvents: function() {
+ (!1 !== this.options.mouseDrag || !1 !== this.options.touchDrag) && (this.gestures(),
+ this.disabledEvents())
+ },
+ eventTypes: function() {
+ var t = ["s", "e", "x"];
+ this.ev_types = {},
+ !0 === this.options.mouseDrag && !0 === this.options.touchDrag ? t = ["touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl"] : !1 === this.options.mouseDrag && !0 === this.options.touchDrag ? t = ["touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl"] : !0 === this.options.mouseDrag && !1 === this.options.touchDrag && (t = ["mousedown.owl", "mousemove.owl", "mouseup.owl"]),
+ this.ev_types.start = t[0],
+ this.ev_types.move = t[1],
+ this.ev_types.end = t[2]
+ },
+ disabledEvents: function() {
+ this.$elem.on("dragstart.owl", function(t) {
+ t.preventDefault()
+ }
+ ),
+ this.$elem.on("mousedown.disableTextSelect", function(e) {
+ return t(e.target).is("input, textarea, select, option")
+ }
+ )
+ },
+ gestures: function() {
+ function s(t) {
+ if (void 0 !== t.touches)
+ return {
+ x: t.touches[0].pageX,
+ y: t.touches[0].pageY
+ };
+ if (void 0 === t.touches) {
+ if (void 0 !== t.pageX)
+ return {
+ x: t.pageX,
+ y: t.pageY
+ };
+ if (void 0 === t.pageX)
+ return {
+ x: t.clientX,
+ y: t.clientY
+ }
+ }
+ }
+ function n(e) {
+ "on" === e ? (t(i).on(a.ev_types.move, o),
+ t(i).on(a.ev_types.end, r)) : "off" === e && (t(i).off(a.ev_types.move),
+ t(i).off(a.ev_types.end))
+ }
+ function o(n) {
+ n = n.originalEvent || n || e.event,
+ a.newPosX = s(n).x - l.offsetX,
+ a.newPosY = s(n).y - l.offsetY,
+ a.newRelativeX = a.newPosX - l.relativePos,
+ "function" == typeof a.options.startDragging && !0 !== l.dragging && 0 !== a.newRelativeX && (l.dragging = !0,
+ a.options.startDragging.apply(a, [a.$elem])),
+ (8 < a.newRelativeX || -8 > a.newRelativeX) && !0 === a.browser.isTouch && (void 0 !== n.preventDefault ? n.preventDefault() : n.returnValue = !1,
+ l.sliding = !0),
+ (10 < a.newPosY || -10 > a.newPosY) && !1 === l.sliding && t(i).off("touchmove.owl"),
+ a.newPosX = Math.max(Math.min(a.newPosX, a.newRelativeX / 5), a.maximumPixels + a.newRelativeX / 5),
+ !0 === a.browser.support3d ? a.transition3d(a.newPosX) : a.css2move(a.newPosX)
+ }
+ function r(i) {
+ i = i.originalEvent || i || e.event;
+ var s;
+ i.target = i.target || i.srcElement,
+ l.dragging = !1,
+ !0 !== a.browser.isTouch && a.$owlWrapper.removeClass("grabbing"),
+ a.dragDirection = a.owl.dragDirection = 0 > a.newRelativeX ? "left" : "right",
+ 0 !== a.newRelativeX && (s = a.getNewPosition(),
+ a.goTo(s, !1, "drag"),
+ l.targetElement === i.target && !0 !== a.browser.isTouch && (t(i.target).on("click.disable", function(e) {
+ e.stopImmediatePropagation(),
+ e.stopPropagation(),
+ e.preventDefault(),
+ t(e.target).off("click.disable")
+ }
+ ),
+ i = t._data(i.target, "events").click,
+ s = i.pop(),
+ i.splice(0, 0, s))),
+ n("off")
+ }
+ var a = this
+ , l = {
+ offsetX: 0,
+ offsetY: 0,
+ baseElWidth: 0,
+ relativePos: 0,
+ position: null ,
+ minSwipe: null ,
+ maxSwipe: null ,
+ sliding: null ,
+ dargging: null ,
+ targetElement: null
+ };
+ a.isCssFinish = !0,
+ a.$elem.on(a.ev_types.start, ".owl-wrapper", function(i) {
+ i = i.originalEvent || i || e.event;
+ var o;
+ if (3 === i.which)
+ return !1;
+ if (!(a.itemsAmount <= a.options.items)) {
+ if (!1 === a.isCssFinish && !a.options.dragBeforeAnimFinish || !1 === a.isCss3Finish && !a.options.dragBeforeAnimFinish)
+ return !1;
+ !1 !== a.options.autoPlay && e.clearInterval(a.autoPlayInterval),
+ !0 === a.browser.isTouch || a.$owlWrapper.hasClass("grabbing") || a.$owlWrapper.addClass("grabbing"),
+ a.newPosX = 0,
+ a.newRelativeX = 0,
+ t(this).css(a.removeTransition()),
+ o = t(this).position(),
+ l.relativePos = o.left,
+ l.offsetX = s(i).x - o.left,
+ l.offsetY = s(i).y - o.top,
+ n("on"),
+ l.sliding = !1,
+ l.targetElement = i.target || i.srcElement
+ }
+ }
+ )
+ },
+ getNewPosition: function() {
+ var t = this.closestItem();
+ return t > this.maximumItem ? t = this.currentItem = this.maximumItem : 0 <= this.newPosX && (this.currentItem = t = 0),
+ t
+ },
+ closestItem: function() {
+ var e = this
+ , i = !0 === e.options.scrollPerPage ? e.pagesInArray : e.positionsInArray
+ , s = e.newPosX
+ , n = null ;
+ return t.each(i, function(o, r) {
+ s - e.itemWidth / 20 > i[o + 1] && s - e.itemWidth / 20 < r && "left" === e.moveDirection() ? (n = r,
+ e.currentItem = !0 === e.options.scrollPerPage ? t.inArray(n, e.positionsInArray) : o) : s + e.itemWidth / 20 < r && s + e.itemWidth / 20 > (i[o + 1] || i[o] - e.itemWidth) && "right" === e.moveDirection() && (!0 === e.options.scrollPerPage ? (n = i[o + 1] || i[i.length - 1],
+ e.currentItem = t.inArray(n, e.positionsInArray)) : (n = i[o + 1],
+ e.currentItem = o + 1))
+ }
+ ),
+ e.currentItem
+ },
+ moveDirection: function() {
+ var t;
+ return 0 > this.newRelativeX ? (t = "right",
+ this.playDirection = "next") : (t = "left",
+ this.playDirection = "prev"),
+ t
+ },
+ customEvents: function() {
+ var t = this;
+ t.$elem.on("owl.next", function() {
+ t.next()
+ }
+ ),
+ t.$elem.on("owl.prev", function() {
+ t.prev()
+ }
+ ),
+ t.$elem.on("owl.play", function(e, i) {
+ t.options.autoPlay = i,
+ t.play(),
+ t.hoverStatus = "play"
+ }
+ ),
+ t.$elem.on("owl.stop", function() {
+ t.stop(),
+ t.hoverStatus = "stop"
+ }
+ ),
+ t.$elem.on("owl.goTo", function(e, i) {
+ t.goTo(i)
+ }
+ ),
+ t.$elem.on("owl.jumpTo", function(e, i) {
+ t.jumpTo(i)
+ }
+ )
+ },
+ stopOnHover: function() {
+ var t = this;
+ !0 === t.options.stopOnHover && !0 !== t.browser.isTouch && !1 !== t.options.autoPlay && (t.$elem.on("mouseover", function() {
+ t.stop()
+ }
+ ),
+ t.$elem.on("mouseout", function() {
+ "stop" !== t.hoverStatus && t.play()
+ }
+ ))
+ },
+ lazyLoad: function() {
+ var e, i, s, n, o;
+ if (!1 === this.options.lazyLoad)
+ return !1;
+ for (e = 0; e < this.itemsAmount; e += 1)
+ i = t(this.$owlItems[e]),
+ "loaded" !== i.data("owl-loaded") && (s = i.data("owl-item"),
+ n = i.find(".lazyOwl"),
+ "string" != typeof n.data("src") ? i.data("owl-loaded", "loaded") : (void 0 === i.data("owl-loaded") && (n.hide(),
+ i.addClass("loading").data("owl-loaded", "checked")),
+ (o = !0 === this.options.lazyFollow ? s >= this.currentItem : !0) && s < this.currentItem + this.options.items && n.length && this.lazyPreload(i, n)))
+ },
+ lazyPreload: function(t, i) {
+ function s() {
+ t.data("owl-loaded", "loaded").removeClass("loading"),
+ i.removeAttr("data-src"),
+ "fade" === r.options.lazyEffect ? i.fadeIn(400) : i.show(),
+ "function" == typeof r.options.afterLazyLoad && r.options.afterLazyLoad.apply(this, [r.$elem])
+ }
+ function n() {
+ a += 1,
+ r.completeImg(i.get(0)) || !0 === o ? s() : 100 >= a ? e.setTimeout(n, 100) : s()
+ }
+ var o, r = this, a = 0;
+ "DIV" === i.prop("tagName") ? (i.css("background-image", "url(" + i.data("src") + ")"),
+ o = !0) : i[0].src = i.data("src"),
+ n()
+ },
+ autoHeight: function() {
+ function i() {
+ var i = t(o.$owlItems[o.currentItem]).height();
+ o.wrapperOuter.css("height", i + "px"),
+ o.wrapperOuter.hasClass("autoHeight") || e.setTimeout(function() {
+ o.wrapperOuter.addClass("autoHeight")
+ }
+ , 0)
+ }
+ function s() {
+ n += 1,
+ o.completeImg(r.get(0)) ? i() : 100 >= n ? e.setTimeout(s, 100) : o.wrapperOuter.css("height", "")
+ }
+ var n, o = this, r = t(o.$owlItems[o.currentItem]).find("img");
+ void 0 !== r.get(0) ? (n = 0,
+ s()) : i()
+ },
+ completeImg: function(t) {
+ return !t.complete || "undefined" != typeof t.naturalWidth && 0 === t.naturalWidth ? !1 : !0
+ },
+ onVisibleItems: function() {
+ var e;
+ for (!0 === this.options.addClassActive && this.$owlItems.removeClass("active"),
+ this.visibleItems = [],
+ e = this.currentItem; e < this.currentItem + this.options.items; e += 1)
+ this.visibleItems.push(e),
+ !0 === this.options.addClassActive && t(this.$owlItems[e]).addClass("active");
+ this.owl.visibleItems = this.visibleItems
+ },
+ transitionTypes: function(t) {
+ this.outClass = "owl-" + t + "-out",
+ this.inClass = "owl-" + t + "-in"
+ },
+ singleItemTransition: function() {
+ var t = this
+ , e = t.outClass
+ , i = t.inClass
+ , s = t.$owlItems.eq(t.currentItem)
+ , n = t.$owlItems.eq(t.prevItem)
+ , o = Math.abs(t.positionsInArray[t.currentItem]) + t.positionsInArray[t.prevItem]
+ , r = Math.abs(t.positionsInArray[t.currentItem]) + t.itemWidth / 2;
+ t.isTransition = !0,
+ t.$owlWrapper.addClass("owl-origin").css({
+ "-webkit-transform-origin": r + "px",
+ "-moz-perspective-origin": r + "px",
+ "perspective-origin": r + "px"
+ }),
+ n.css({
+ position: "relative",
+ left: o + "px"
+ }).addClass(e).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend", function() {
+ t.endPrev = !0,
+ n.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend"),
+ t.clearTransStyle(n, e)
+ }
+ ),
+ s.addClass(i).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend", function() {
+ t.endCurrent = !0,
+ s.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend"),
+ t.clearTransStyle(s, i)
+ }
+ )
+ },
+ clearTransStyle: function(t, e) {
+ t.css({
+ position: "",
+ left: ""
+ }).removeClass(e),
+ this.endPrev && this.endCurrent && (this.$owlWrapper.removeClass("owl-origin"),
+ this.isTransition = this.endCurrent = this.endPrev = !1)
+ },
+ owlStatus: function() {
+ this.owl = {
+ userOptions: this.userOptions,
+ baseElement: this.$elem,
+ userItems: this.$userItems,
+ owlItems: this.$owlItems,
+ currentItem: this.currentItem,
+ prevItem: this.prevItem,
+ visibleItems: this.visibleItems,
+ isTouch: this.browser.isTouch,
+ browser: this.browser,
+ dragDirection: this.dragDirection
+ }
+ },
+ clearEvents: function() {
+ this.$elem.off(".owl owl mousedown.disableTextSelect"),
+ t(i).off(".owl owl"),
+ t(e).off("resize", this.resizer)
+ },
+ unWrap: function() {
+ 0 !== this.$elem.children().length && (this.$owlWrapper.unwrap(),
+ this.$userItems.unwrap().unwrap(),
+ this.owlControls && this.owlControls.remove()),
+ this.clearEvents(),
+ this.$elem.attr("style", this.$elem.data("owl-originalStyles") || "").attr("class", this.$elem.data("owl-originalClasses"))
+ },
+ destroy: function() {
+ this.stop(),
+ e.clearInterval(this.checkVisible),
+ this.unWrap(),
+ this.$elem.removeData()
+ },
+ reinit: function(e) {
+ e = t.extend({}, this.userOptions, e),
+ this.unWrap(),
+ this.init(e, this.$elem)
+ },
+ addItem: function(t, e) {
+ var i;
+ return t ? 0 === this.$elem.children().length ? (this.$elem.append(t),
+ this.setVars(),
+ !1) : (this.unWrap(),
+ i = void 0 === e || -1 === e ? -1 : e,
+ i >= this.$userItems.length || -1 === i ? this.$userItems.eq(-1).after(t) : this.$userItems.eq(i).before(t),
+ void this.setVars()) : !1
+ },
+ removeItem: function(t) {
+ return 0 === this.$elem.children().length ? !1 : (t = void 0 === t || -1 === t ? -1 : t,
+ this.unWrap(),
+ this.$userItems.eq(t).remove(),
+ void this.setVars())
+ }
+ };
+ t.fn.owlCarousel = function(e) {
+ return this.each(function() {
+ if (!0 === t(this).data("owl-init"))
+ return !1;
+ t(this).data("owl-init", !0);
+ var i = Object.create(s);
+ i.init(e, this),
+ t.data(this, "owlCarousel", i)
+ }
+ )
+ }
+ ,
+ t.fn.owlCarousel.options = {
+ items: 5,
+ itemsCustom: !1,
+ itemsDesktop: [1199, 4],
+ itemsDesktopSmall: [979, 3],
+ itemsTablet: [768, 2],
+ itemsTabletSmall: !1,
+ itemsMobile: [479, 1],
+ singleItem: !1,
+ itemsScaleUp: !1,
+ slideSpeed: 200,
+ paginationSpeed: 800,
+ rewindSpeed: 1e3,
+ autoPlay: !1,
+ stopOnHover: !1,
+ navigation: !1,
+ navigationText: ["prev", "next"],
+ rewindNav: !0,
+ scrollPerPage: !1,
+ pagination: !0,
+ paginationNumbers: !1,
+ responsive: !0,
+ responsiveRefreshRate: 200,
+ responsiveBaseWidth: e,
+ baseClass: "owl-carousel",
+ theme: "owl-theme",
+ lazyLoad: !1,
+ lazyFollow: !0,
+ lazyEffect: "fade",
+ autoHeight: !1,
+ jsonPath: !1,
+ jsonSuccess: !1,
+ dragBeforeAnimFinish: !0,
+ mouseDrag: !0,
+ touchDrag: !0,
+ addClassActive: !1,
+ transitionStyle: !1,
+ beforeUpdate: !1,
+ afterUpdate: !1,
+ beforeInit: !1,
+ afterInit: !1,
+ beforeMove: !1,
+ afterMove: !1,
+ afterAction: !1,
+ startDragging: !1,
+ afterLazyLoad: !1
+ }
+ }
+ (jQuery, window, document),
+ !function(t) {
+ "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? module.exports = t(require("jquery")) : t(jQuery)
+ }
+ (function(t) {
+ function e(e, n) {
+ function o() {
+ return l.update(),
+ l.move(l.slideCurrent),
+ r(),
+ l
+ }
+ function r() {
+ l.options.buttons && (p.click(function() {
+ return l.move(--b),
+ !1
+ }
+ ),
+ u.click(function() {
+ return l.move(++b),
+ !1
+ }
+ )),
+ t(window).resize(l.update),
+ l.options.bullets && e.on("click", ".bullet", function() {
+ return l.move(b = +t(this).attr("data-slide")),
+ !1
+ }
+ )
+ }
+ function a() {
+ l.options.buttons && !l.options.infinite && (p.toggleClass("disable", l.slideCurrent <= 0),
+ u.toggleClass("disable", l.slideCurrent >= l.slidesTotal - v)),
+ l.options.bullets && (f.removeClass("active"),
+ t(f[l.slideCurrent]).addClass("active"))
+ }
+ this.options = t.extend({}, s, n),
+ this._defaults = s,
+ this._name = i;
+ var l = this
+ , h = e.find(".viewport:first")
+ , d = e.find(".overview:first")
+ , c = null
+ , u = e.find(".next:first")
+ , p = e.find(".prev:first")
+ , f = e.find(".bullet")
+ , m = 0
+ , g = {}
+ , v = 0
+ , y = 0
+ , b = 0
+ , w = "x" === this.options.axis
+ , x = w ? "Width" : "Height"
+ , S = w ? "left" : "top"
+ , C = null ;
+ return this.slideCurrent = 0,
+ this.slidesTotal = 0,
+ this.intervalActive = !1,
+ this.update = function() {
+ return d.find(".mirrored").remove(),
+ c = d.children(),
+ m = h[0]["offset" + x],
+ y = c.first()["outer" + x](!0),
+ l.slidesTotal = c.length,
+ l.slideCurrent = l.options.start || 0,
+ v = Math.ceil(m / y),
+ d.append(c.slice(0, v).clone().addClass("mirrored")),
+ d.css(x.toLowerCase(), y * (l.slidesTotal + v)),
+ a(),
+ l
+ }
+ ,
+ this.start = function() {
+ return l.options.interval && (clearTimeout(C),
+ l.intervalActive = !0,
+ C = setTimeout(function() {
+ l.move(++b)
+ }
+ , l.options.intervalTime)),
+ l
+ }
+ ,
+ this.stop = function() {
+ return clearTimeout(C),
+ l.intervalActive = !1,
+ l
+ }
+ ,
+ this.move = function(t) {
+ return b = isNaN(t) ? l.slideCurrent : t,
+ l.slideCurrent = b % l.slidesTotal,
+ 0 > b && (l.slideCurrent = b = l.slidesTotal - 1,
+ d.css(S, -l.slidesTotal * y)),
+ b > l.slidesTotal && (l.slideCurrent = b = 1,
+ d.css(S, 0)),
+ g[S] = -b * y,
+ d.animate(g, {
+ queue: !1,
+ duration: l.options.animation ? l.options.animationTime : 0,
+ always: function() {
+ e.trigger("move", [c[l.slideCurrent], l.slideCurrent])
+ }
+ }),
+ a(),
+ l.start(),
+ l
+ }
+ ,
+ o()
+ }
+ var i = "tinycarousel"
+ , s = {
+ start: 0,
+ axis: "x",
+ buttons: !0,
+ bullets: !1,
+ interval: !1,
+ intervalTime: 3e3,
+ animation: !0,
+ animationTime: 1e3,
+ infinite: !0
+ };
+ t.fn[i] = function(s) {
+ return this.each(function() {
+ t.data(this, "plugin_" + i) || t.data(this, "plugin_" + i, new e(t(this),s))
+ }
+ )
+ }
+ }
+ ),
+ function() {
+ var t = [].indexOf || function(t) {
+ for (var e = 0, i = this.length; i > e; e++)
+ if (e in this && this[e] === t)
+ return e;
+ return -1
+ }
+ , e = [].slice;
+ !function(t, e) {
+ return "function" == typeof define && define.amd ? define("waypoints", ["jquery"], function(i) {
+ return e(i, t)
+ }
+ ) : e(t.jQuery, t)
+ }
+ (this, function(i, s) {
+ var n, o, r, a, l, h, d, c, u, p, f, m, g, v, y, b;
+ return n = i(s),
+ c = t.call(s, "ontouchstart") >= 0,
+ a = {
+ horizontal: {},
+ vertical: {}
+ },
+ l = 1,
+ d = {},
+ h = "waypoints-context-id",
+ f = "resize.waypoints",
+ m = "scroll.waypoints",
+ g = 1,
+ v = "waypoints-waypoint-ids",
+ y = "waypoint",
+ b = "waypoints",
+ o = function() {
+ function t(t) {
+ var e = this;
+ this.$element = t,
+ this.element = t[0],
+ this.didResize = !1,
+ this.didScroll = !1,
+ this.id = "context" + l++,
+ this.oldScroll = {
+ x: t.scrollLeft(),
+ y: t.scrollTop()
+ },
+ this.waypoints = {
+ horizontal: {},
+ vertical: {}
+ },
+ t.data(h, this.id),
+ d[this.id] = this,
+ t.bind(m, function() {
+ var t;
+ return e.didScroll || c ? void 0 : (e.didScroll = !0,
+ t = function() {
+ return e.doScroll(),
+ e.didScroll = !1
+ }
+ ,
+ s.setTimeout(t, i[b].settings.scrollThrottle))
+ }
+ ),
+ t.bind(f, function() {
+ var t;
+ return e.didResize ? void 0 : (e.didResize = !0,
+ t = function() {
+ return i[b]("refresh"),
+ e.didResize = !1
+ }
+ ,
+ s.setTimeout(t, i[b].settings.resizeThrottle))
+ }
+ )
+ }
+ return t.prototype.doScroll = function() {
+ var t, e = this;
+ return t = {
+ horizontal: {
+ newScroll: this.$element.scrollLeft(),
+ oldScroll: this.oldScroll.x,
+ forward: "right",
+ backward: "left"
+ },
+ vertical: {
+ newScroll: this.$element.scrollTop(),
+ oldScroll: this.oldScroll.y,
+ forward: "down",
+ backward: "up"
+ }
+ },
+ !c || t.vertical.oldScroll && t.vertical.newScroll || i[b]("refresh"),
+ i.each(t, function(t, s) {
+ var n, o, r;
+ return r = [],
+ o = s.newScroll > s.oldScroll,
+ n = o ? s.forward : s.backward,
+ i.each(e.waypoints[t], function(t, e) {
+ var i, n;
+ return s.oldScroll < (i = e.offset) && i <= s.newScroll ? r.push(e) : s.newScroll < (n = e.offset) && n <= s.oldScroll ? r.push(e) : void 0
+ }
+ ),
+ r.sort(function(t, e) {
+ return t.offset - e.offset
+ }
+ ),
+ o || r.reverse(),
+ i.each(r, function(t, e) {
+ return e.options.continuous || t === r.length - 1 ? e.trigger([n]) : void 0
+ }
+ )
+ }
+ ),
+ this.oldScroll = {
+ x: t.horizontal.newScroll,
+ y: t.vertical.newScroll
+ }
+ }
+ ,
+ t.prototype.refresh = function() {
+ var t, e, s, n = this;
+ return s = i.isWindow(this.element),
+ e = this.$element.offset(),
+ this.doScroll(),
+ t = {
+ horizontal: {
+ contextOffset: s ? 0 : e.left,
+ contextScroll: s ? 0 : this.oldScroll.x,
+ contextDimension: this.$element.width(),
+ oldScroll: this.oldScroll.x,
+ forward: "right",
+ backward: "left",
+ offsetProp: "left"
+ },
+ vertical: {
+ contextOffset: s ? 0 : e.top,
+ contextScroll: s ? 0 : this.oldScroll.y,
+ contextDimension: s ? i[b]("viewportHeight") : this.$element.height(),
+ oldScroll: this.oldScroll.y,
+ forward: "down",
+ backward: "up",
+ offsetProp: "top"
+ }
+ },
+ i.each(t, function(t, e) {
+ return i.each(n.waypoints[t], function(t, s) {
+ var n, o, r, a, l;
+ return n = s.options.offset,
+ r = s.offset,
+ o = i.isWindow(s.element) ? 0 : s.$element.offset()[e.offsetProp],
+ i.isFunction(n) ? n = n.apply(s.element) : "string" == typeof n && (n = parseFloat(n),
+ s.options.offset.indexOf("%") > -1 && (n = Math.ceil(e.contextDimension * n / 100))),
+ s.offset = o - e.contextOffset + e.contextScroll - n,
+ s.options.onlyOnScroll && null != r || !s.enabled ? void 0 : null !== r && r < (a = e.oldScroll) && a <= s.offset ? s.trigger([e.backward]) : null !== r && r > (l = e.oldScroll) && l >= s.offset ? s.trigger([e.forward]) : null === r && e.oldScroll >= s.offset ? s.trigger([e.forward]) : void 0
+ }
+ )
+ }
+ )
+ }
+ ,
+ t.prototype.checkEmpty = function() {
+ return i.isEmptyObject(this.waypoints.horizontal) && i.isEmptyObject(this.waypoints.vertical) ? (this.$element.unbind([f, m].join(" ")),
+ delete d[this.id]) : void 0
+ }
+ ,
+ t
+ }
+ (),
+ r = function() {
+ function t(t, e, s) {
+ var n, o;
+ s = i.extend({}, i.fn[y].defaults, s),
+ "bottom-in-view" === s.offset && (s.offset = function() {
+ var t;
+ return t = i[b]("viewportHeight"),
+ i.isWindow(e.element) || (t = e.$element.height()),
+ t - i(this).outerHeight()
+ }
+ ),
+ this.$element = t,
+ this.element = t[0],
+ this.axis = s.horizontal ? "horizontal" : "vertical",
+ this.callback = s.handler,
+ this.context = e,
+ this.enabled = s.enabled,
+ this.id = "waypoints" + g++,
+ this.offset = null ,
+ this.options = s,
+ e.waypoints[this.axis][this.id] = this,
+ a[this.axis][this.id] = this,
+ n = null != (o = t.data(v)) ? o : [],
+ n.push(this.id),
+ t.data(v, n)
+ }
+ return t.prototype.trigger = function(t) {
+ return this.enabled ? (null != this.callback && this.callback.apply(this.element, t),
+ this.options.triggerOnce ? this.destroy() : void 0) : void 0
+ }
+ ,
+ t.prototype.disable = function() {
+ return this.enabled = !1
+ }
+ ,
+ t.prototype.enable = function() {
+ return this.context.refresh(),
+ this.enabled = !0
+ }
+ ,
+ t.prototype.destroy = function() {
+ return delete a[this.axis][this.id],
+ delete this.context.waypoints[this.axis][this.id],
+ this.context.checkEmpty()
+ }
+ ,
+ t.getWaypointsByElement = function(t) {
+ var e, s;
+ return (s = i(t).data(v)) ? (e = i.extend({}, a.horizontal, a.vertical),
+ i.map(s, function(t) {
+ return e[t]
+ }
+ )) : []
+ }
+ ,
+ t
+ }
+ (),
+ p = {
+ init: function(t, e) {
+ var s;
+ return null == e && (e = {}),
+ null == (s = e.handler) && (e.handler = t),
+ this.each(function() {
+ var t, s, n, a;
+ return t = i(this),
+ n = null != (a = e.context) ? a : i.fn[y].defaults.context,
+ i.isWindow(n) || (n = t.closest(n)),
+ n = i(n),
+ s = d[n.data(h)],
+ s || (s = new o(n)),
+ new r(t,s,e)
+ }
+ ),
+ i[b]("refresh"),
+ this
+ },
+ disable: function() {
+ return p._invoke(this, "disable")
+ },
+ enable: function() {
+ return p._invoke(this, "enable")
+ },
+ destroy: function() {
+ return p._invoke(this, "destroy")
+ },
+ prev: function(t, e) {
+ return p._traverse.call(this, t, e, function(t, e, i) {
+ return e > 0 ? t.push(i[e - 1]) : void 0
+ }
+ )
+ },
+ next: function(t, e) {
+ return p._traverse.call(this, t, e, function(t, e, i) {
+ return e < i.length - 1 ? t.push(i[e + 1]) : void 0
+ }
+ )
+ },
+ _traverse: function(t, e, n) {
+ var o, r;
+ return null == t && (t = "vertical"),
+ null == e && (e = s),
+ r = u.aggregate(e),
+ o = [],
+ this.each(function() {
+ var e;
+ return e = i.inArray(this, r[t]),
+ n(o, e, r[t])
+ }
+ ),
+ this.pushStack(o)
+ },
+ _invoke: function(t, e) {
+ return t.each(function() {
+ var t;
+ return t = r.getWaypointsByElement(this),
+ i.each(t, function(t, i) {
+ return i[e](),
+ !0
+ }
+ )
+ }
+ ),
+ this
+ }
+ },
+ i.fn[y] = function() {
+ var t, s;
+ return s = arguments[0],
+ t = 2 <= arguments.length ? e.call(arguments, 1) : [],
+ p[s] ? p[s].apply(this, t) : i.isFunction(s) ? p.init.apply(this, arguments) : i.isPlainObject(s) ? p.init.apply(this, [null , s]) : i.error(s ? "The " + s + " method does not exist in jQuery Waypoints." : "jQuery Waypoints needs a callback function or handler option.")
+ }
+ ,
+ i.fn[y].defaults = {
+ context: s,
+ continuous: !0,
+ enabled: !0,
+ horizontal: !1,
+ offset: 0,
+ triggerOnce: !1
+ },
+ u = {
+ refresh: function() {
+ return i.each(d, function(t, e) {
+ return e.refresh()
+ }
+ )
+ },
+ viewportHeight: function() {
+ var t;
+ return null != (t = s.innerHeight) ? t : n.height()
+ },
+ aggregate: function(t) {
+ var e, s, n;
+ return e = a,
+ t && (e = null != (n = d[i(t).data(h)]) ? n.waypoints : void 0),
+ e ? (s = {
+ horizontal: [],
+ vertical: []
+ },
+ i.each(s, function(t, n) {
+ return i.each(e[t], function(t, e) {
+ return n.push(e)
+ }
+ ),
+ n.sort(function(t, e) {
+ return t.offset - e.offset
+ }
+ ),
+ s[t] = i.map(n, function(t) {
+ return t.element
+ }
+ ),
+ s[t] = i.unique(s[t])
+ }
+ ),
+ s) : []
+ },
+ above: function(t) {
+ return null == t && (t = s),
+ u._filter(t, "vertical", function(t, e) {
+ return e.offset <= t.oldScroll.y
+ }
+ )
+ },
+ below: function(t) {
+ return null == t && (t = s),
+ u._filter(t, "vertical", function(t, e) {
+ return e.offset > t.oldScroll.y
+ }
+ )
+ },
+ left: function(t) {
+ return null == t && (t = s),
+ u._filter(t, "horizontal", function(t, e) {
+ return e.offset <= t.oldScroll.x
+ }
+ )
+ },
+ right: function(t) {
+ return null == t && (t = s),
+ u._filter(t, "horizontal", function(t, e) {
+ return e.offset > t.oldScroll.x
+ }
+ )
+ },
+ enable: function() {
+ return u._invoke("enable")
+ },
+ disable: function() {
+ return u._invoke("disable")
+ },
+ destroy: function() {
+ return u._invoke("destroy")
+ },
+ extendFn: function(t, e) {
+ return p[t] = e
+ },
+ _invoke: function(t) {
+ var e;
+ return e = i.extend({}, a.vertical, a.horizontal),
+ i.each(e, function(e, i) {
+ return i[t](),
+ !0
+ }
+ )
+ },
+ _filter: function(t, e, s) {
+ var n, o;
+ return (n = d[i(t).data(h)]) ? (o = [],
+ i.each(n.waypoints[e], function(t, e) {
+ return s(n, e) ? o.push(e) : void 0
+ }
+ ),
+ o.sort(function(t, e) {
+ return t.offset - e.offset
+ }
+ ),
+ i.map(o, function(t) {
+ return t.element
+ }
+ )) : []
+ }
+ },
+ i[b] = function() {
+ var t, i;
+ return i = arguments[0],
+ t = 2 <= arguments.length ? e.call(arguments, 1) : [],
+ u[i] ? u[i].apply(null , t) : u.aggregate.call(null , i)
+ }
+ ,
+ i[b].settings = {
+ resizeThrottle: 100,
+ scrollThrottle: 30
+ },
+ n.load(function() {
+ return i[b]("refresh")
+ }
+ )
+ }
+ )
+ }
+ .call(this),
+ function(t) {
+ "use strict";
+ t.fn.counterUp = function(e) {
+ var i = t.extend({
+ time: 400,
+ delay: 10
+ }, e);
+ return this.each(function() {
+ var e = t(this)
+ , s = i
+ , n = function() {
+ var t = []
+ , i = s.time / s.delay
+ , n = e.text()
+ , o = /[0-9]+,[0-9]+/.test(n);
+ n = n.replace(/,/g, "");
+ for (var r = (/^[0-9]+$/.test(n),
+ /^[0-9]+\.[0-9]+$/.test(n)), a = r ? (n.split(".")[1] || []).length : 0, l = i; l >= 1; l--) {
+ var h = parseInt(n / i * l);
+ if (r && (h = parseFloat(n / i * l).toFixed(a)),
+ o)
+ for (; /(\d+)(\d{3})/.test(h.toString()); )
+ h = h.toString().replace(/(\d+)(\d{3})/, "$1,$2");
+ t.unshift(h)
+ }
+ e.data("counterup-nums", t),
+ e.text("0");
+ var d = function() {
+ e.text(e.data("counterup-nums").shift()),
+ e.data("counterup-nums").length ? setTimeout(e.data("counterup-func"), s.delay) : (delete e.data("counterup-nums"),
+ e.data("counterup-nums", null ),
+ e.data("counterup-func", null ))
+ }
+ ;
+ e.data("counterup-func", d),
+ setTimeout(e.data("counterup-func"), s.delay)
+ }
+ ;
+ e.waypoint(n, {
+ offset: "100%",
+ triggerOnce: !0
+ })
+ }
+ )
+ }
+ }
+ (jQuery),
+ !function(t) {
+ "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
+ }
+ (function(t) {
+ t.extend(t.fn, {
+ validate: function(e) {
+ if (!this.length)
+ return void (e && e.debug && window.console && console.warn("Nothing selected, can't validate, returning nothing."));
+ var i = t.data(this[0], "validator");
+ return i ? i : (this.attr("novalidate", "novalidate"),
+ i = new t.validator(e,this[0]),
+ t.data(this[0], "validator", i),
+ i.settings.onsubmit && (this.on("click.validate", ":submit", function(e) {
+ i.settings.submitHandler && (i.submitButton = e.target),
+ t(this).hasClass("cancel") && (i.cancelSubmit = !0),
+ void 0 !== t(this).attr("formnovalidate") && (i.cancelSubmit = !0)
+ }
+ ),
+ this.on("submit.validate", function(e) {
+ function s() {
+ var s, n;
+ return i.settings.submitHandler ? (i.submitButton && (s = t("
").attr("name", i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),
+ n = i.settings.submitHandler.call(i, i.currentForm, e),
+ i.submitButton && s.remove(),
+ void 0 !== n ? n : !1) : !0
+ }
+ return i.settings.debug && e.preventDefault(),
+ i.cancelSubmit ? (i.cancelSubmit = !1,
+ s()) : i.form() ? i.pendingRequest ? (i.formSubmitted = !0,
+ !1) : s() : (i.focusInvalid(),
+ !1)
+ }
+ )),
+ i)
+ },
+ valid: function() {
+ var e, i, s;
+ return t(this[0]).is("form") ? e = this.validate().form() : (s = [],
+ e = !0,
+ i = t(this[0].form).validate(),
+ this.each(function() {
+ e = i.element(this) && e,
+ s = s.concat(i.errorList)
+ }
+ ),
+ i.errorList = s),
+ e
+ },
+ rules: function(e, i) {
+ var s, n, o, r, a, l, h = this[0];
+ if (e)
+ switch (s = t.data(h.form, "validator").settings,
+ n = s.rules,
+ o = t.validator.staticRules(h),
+ e) {
+ case "add":
+ t.extend(o, t.validator.normalizeRule(i)),
+ delete o.messages,
+ n[h.name] = o,
+ i.messages && (s.messages[h.name] = t.extend(s.messages[h.name], i.messages));
+ break;
+ case "remove":
+ return i ? (l = {},
+ t.each(i.split(/\s/), function(e, i) {
+ l[i] = o[i],
+ delete o[i],
+ "required" === i && t(h).removeAttr("aria-required")
+ }
+ ),
+ l) : (delete n[h.name],
+ o)
+ }
+ return r = t.validator.normalizeRules(t.extend({}, t.validator.classRules(h), t.validator.attributeRules(h), t.validator.dataRules(h), t.validator.staticRules(h)), h),
+ r.required && (a = r.required,
+ delete r.required,
+ r = t.extend({
+ required: a
+ }, r),
+ t(h).attr("aria-required", "true")),
+ r.remote && (a = r.remote,
+ delete r.remote,
+ r = t.extend(r, {
+ remote: a
+ })),
+ r
+ }
+ }),
+ t.extend(t.expr[":"], {
+ blank: function(e) {
+ return !t.trim("" + t(e).val())
+ },
+ filled: function(e) {
+ return !!t.trim("" + t(e).val())
+ },
+ unchecked: function(e) {
+ return !t(e).prop("checked")
+ }
+ }),
+ t.validator = function(e, i) {
+ this.settings = t.extend(!0, {}, t.validator.defaults, e),
+ this.currentForm = i,
+ this.init()
+ }
+ ,
+ t.validator.format = function(e, i) {
+ return 1 === arguments.length ? function() {
+ var i = t.makeArray(arguments);
+ return i.unshift(e),
+ t.validator.format.apply(this, i)
+ }
+ : (arguments.length > 2 && i.constructor !== Array && (i = t.makeArray(arguments).slice(1)),
+ i.constructor !== Array && (i = [i]),
+ t.each(i, function(t, i) {
+ e = e.replace(new RegExp("\\{" + t + "\\}","g"), function() {
+ return i
+ }
+ )
+ }
+ ),
+ e)
+ }
+ ,
+ t.extend(t.validator, {
+ defaults: {
+ messages: {},
+ groups: {},
+ rules: {},
+ errorClass: "error",
+ validClass: "valid",
+ errorElement: "label",
+ focusCleanup: !1,
+ focusInvalid: !0,
+ errorContainer: t([]),
+ errorLabelContainer: t([]),
+ onsubmit: !0,
+ ignore: ":hidden",
+ ignoreTitle: !1,
+ onfocusin: function(t) {
+ this.lastActive = t,
+ this.settings.focusCleanup && (this.settings.unhighlight && this.settings.unhighlight.call(this, t, this.settings.errorClass, this.settings.validClass),
+ this.hideThese(this.errorsFor(t)))
+ },
+ onfocusout: function(t) {
+ this.checkable(t) || !(t.name in this.submitted) && this.optional(t) || this.element(t)
+ },
+ onkeyup: function(e, i) {
+ var s = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];
+ 9 === i.which && "" === this.elementValue(e) || -1 !== t.inArray(i.keyCode, s) || (e.name in this.submitted || e === this.lastElement) && this.element(e)
+ },
+ onclick: function(t) {
+ t.name in this.submitted ? this.element(t) : t.parentNode.name in this.submitted && this.element(t.parentNode)
+ },
+ highlight: function(e, i, s) {
+ "radio" === e.type ? this.findByName(e.name).addClass(i).removeClass(s) : t(e).addClass(i).removeClass(s)
+ },
+ unhighlight: function(e, i, s) {
+ "radio" === e.type ? this.findByName(e.name).removeClass(i).addClass(s) : t(e).removeClass(i).addClass(s)
+ }
+ },
+ setDefaults: function(e) {
+ t.extend(t.validator.defaults, e)
+ },
+ messages: {
+ required: "This field is required.",
+ remote: "Please fix this field.",
+ email: "Please enter a valid email address.",
+ url: "Please enter a valid URL.",
+ date: "Please enter a valid date.",
+ dateISO: "Please enter a valid date ( ISO ).",
+ number: "Please enter a valid number.",
+ digits: "Please enter only digits.",
+ creditcard: "Please enter a valid credit card number.",
+ equalTo: "Please enter the same value again.",
+ maxlength: t.validator.format("Please enter no more than {0} characters."),
+ minlength: t.validator.format("Please enter at least {0} characters."),
+ rangelength: t.validator.format("Please enter a value between {0} and {1} characters long."),
+ range: t.validator.format("Please enter a value between {0} and {1}."),
+ max: t.validator.format("Please enter a value less than or equal to {0}."),
+ min: t.validator.format("Please enter a value greater than or equal to {0}.")
+ },
+ autoCreateRanges: !1,
+ prototype: {
+ init: function() {
+ function e(e) {
+ var i = t.data(this.form, "validator")
+ , s = "on" + e.type.replace(/^validate/, "")
+ , n = i.settings;
+ n[s] && !t(this).is(n.ignore) && n[s].call(i, this, e)
+ }
+ this.labelContainer = t(this.settings.errorLabelContainer),
+ this.errorContext = this.labelContainer.length && this.labelContainer || t(this.currentForm),
+ this.containers = t(this.settings.errorContainer).add(this.settings.errorLabelContainer),
+ this.submitted = {},
+ this.valueCache = {},
+ this.pendingRequest = 0,
+ this.pending = {},
+ this.invalid = {},
+ this.reset();
+ var i, s = this.groups = {};
+ t.each(this.settings.groups, function(e, i) {
+ "string" == typeof i && (i = i.split(/\s/)),
+ t.each(i, function(t, i) {
+ s[i] = e
+ }
+ )
+ }
+ ),
+ i = this.settings.rules,
+ t.each(i, function(e, s) {
+ i[e] = t.validator.normalizeRule(s)
+ }
+ ),
+ t(this.currentForm).on("focusin.validate focusout.validate keyup.validate", ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']", e).on("click.validate", "select, option, [type='radio'], [type='checkbox']", e),
+ this.settings.invalidHandler && t(this.currentForm).on("invalid-form.validate", this.settings.invalidHandler),
+ t(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required", "true")
+ },
+ form: function() {
+ return this.checkForm(),
+ t.extend(this.submitted, this.errorMap),
+ this.invalid = t.extend({}, this.errorMap),
+ this.valid() || t(this.currentForm).triggerHandler("invalid-form", [this]),
+ this.showErrors(),
+ this.valid()
+ },
+ checkForm: function() {
+ this.prepareForm();
+ for (var t = 0, e = this.currentElements = this.elements(); e[t]; t++)
+ this.check(e[t]);
+ return this.valid()
+ },
+ element: function(e) {
+ var i = this.clean(e)
+ , s = this.validationTargetFor(i)
+ , n = !0;
+ return this.lastElement = s,
+ void 0 === s ? delete this.invalid[i.name] : (this.prepareElement(s),
+ this.currentElements = t(s),
+ n = this.check(s) !== !1,
+ n ? delete this.invalid[s.name] : this.invalid[s.name] = !0),
+ t(e).attr("aria-invalid", !n),
+ this.numberOfInvalids() || (this.toHide = this.toHide.add(this.containers)),
+ this.showErrors(),
+ n
+ },
+ showErrors: function(e) {
+ if (e) {
+ t.extend(this.errorMap, e),
+ this.errorList = [];
+ for (var i in e)
+ this.errorList.push({
+ message: e[i],
+ element: this.findByName(i)[0]
+ });
+ this.successList = t.grep(this.successList, function(t) {
+ return !(t.name in e)
+ }
+ )
+ }
+ this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors()
+ },
+ resetForm: function() {
+ t.fn.resetForm && t(this.currentForm).resetForm(),
+ this.submitted = {},
+ this.lastElement = null ,
+ this.prepareForm(),
+ this.hideErrors();
+ var e, i = this.elements().removeData("previousValue").removeAttr("aria-invalid");
+ if (this.settings.unhighlight)
+ for (e = 0; i[e]; e++)
+ this.settings.unhighlight.call(this, i[e], this.settings.errorClass, "");
+ else
+ i.removeClass(this.settings.errorClass)
+ },
+ numberOfInvalids: function() {
+ return this.objectLength(this.invalid)
+ },
+ objectLength: function(t) {
+ var e, i = 0;
+ for (e in t)
+ i++;
+ return i
+ },
+ hideErrors: function() {
+ this.hideThese(this.toHide)
+ },
+ hideThese: function(t) {
+ t.not(this.containers).text(""),
+ this.addWrapper(t).hide()
+ },
+ valid: function() {
+ return 0 === this.size()
+ },
+ size: function() {
+ return this.errorList.length
+ },
+ focusInvalid: function() {
+ if (this.settings.focusInvalid)
+ try {
+ t(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").focus().trigger("focusin")
+ } catch (e) {}
+ },
+ findLastActive: function() {
+ var e = this.lastActive;
+ return e && 1 === t.grep(this.errorList, function(t) {
+ return t.element.name === e.name
+ }
+ ).length && e
+ },
+ elements: function() {
+ var e = this
+ , i = {};
+ return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function() {
+ return !this.name && e.settings.debug && window.console && console.error("%o has no name assigned", this),
+ this.name in i || !e.objectLength(t(this).rules()) ? !1 : (i[this.name] = !0,
+ !0)
+ }
+ )
+ },
+ clean: function(e) {
+ return t(e)[0]
+ },
+ errors: function() {
+ var e = this.settings.errorClass.split(" ").join(".");
+ return t(this.settings.errorElement + "." + e, this.errorContext)
+ },
+ reset: function() {
+ this.successList = [],
+ this.errorList = [],
+ this.errorMap = {},
+ this.toShow = t([]),
+ this.toHide = t([]),
+ this.currentElements = t([])
+ },
+ prepareForm: function() {
+ this.reset(),
+ this.toHide = this.errors().add(this.containers)
+ },
+ prepareElement: function(t) {
+ this.reset(),
+ this.toHide = this.errorsFor(t)
+ },
+ elementValue: function(e) {
+ var i, s = t(e), n = e.type;
+ return "radio" === n || "checkbox" === n ? this.findByName(e.name).filter(":checked").val() : "number" === n && "undefined" != typeof e.validity ? e.validity.badInput ? !1 : s.val() : (i = s.val(),
+ "string" == typeof i ? i.replace(/\r/g, "") : i)
+ },
+ check: function(e) {
+ e = this.validationTargetFor(this.clean(e));
+ var i, s, n, o = t(e).rules(), r = t.map(o, function(t, e) {
+ return e
+ }
+ ).length, a = !1, l = this.elementValue(e);
+ for (s in o) {
+ n = {
+ method: s,
+ parameters: o[s]
+ };
+ try {
+ if (i = t.validator.methods[s].call(this, l, e, n.parameters),
+ "dependency-mismatch" === i && 1 === r) {
+ a = !0;
+ continue
+ }
+ if (a = !1,
+ "pending" === i)
+ return void (this.toHide = this.toHide.not(this.errorsFor(e)));
+ if (!i)
+ return this.formatAndAdd(e, n),
+ !1
+ } catch (h) {
+ throw this.settings.debug && window.console && console.log("Exception occurred when checking element " + e.id + ", check the '" + n.method + "' method.", h),
+ h instanceof TypeError && (h.message += ". Exception occurred when checking element " + e.id + ", check the '" + n.method + "' method."),
+ h
+ }
+ }
+ return a ? void 0 : (this.objectLength(o) && this.successList.push(e),
+ !0)
+ },
+ customDataMessage: function(e, i) {
+ return t(e).data("msg" + i.charAt(0).toUpperCase() + i.substring(1).toLowerCase()) || t(e).data("msg")
+ },
+ customMessage: function(t, e) {
+ var i = this.settings.messages[t];
+ return i && (i.constructor === String ? i : i[e])
+ },
+ findDefined: function() {
+ for (var t = 0; t < arguments.length; t++)
+ if (void 0 !== arguments[t])
+ return arguments[t];
+ return void 0
+ },
+ defaultMessage: function(e, i) {
+ return this.findDefined(this.customMessage(e.name, i), this.customDataMessage(e, i), !this.settings.ignoreTitle && e.title || void 0, t.validator.messages[i], "
Warning: No message defined for " + e.name + " ")
+ },
+ formatAndAdd: function(e, i) {
+ var s = this.defaultMessage(e, i.method)
+ , n = /\$?\{(\d+)\}/g;
+ "function" == typeof s ? s = s.call(this, i.parameters, e) : n.test(s) && (s = t.validator.format(s.replace(n, "{$1}"), i.parameters)),
+ this.errorList.push({
+ message: s,
+ element: e,
+ method: i.method
+ }),
+ this.errorMap[e.name] = s,
+ this.submitted[e.name] = s
+ },
+ addWrapper: function(t) {
+ return this.settings.wrapper && (t = t.add(t.parent(this.settings.wrapper))),
+ t
+ },
+ defaultShowErrors: function() {
+ var t, e, i;
+ for (t = 0; this.errorList[t]; t++)
+ i = this.errorList[t],
+ this.settings.highlight && this.settings.highlight.call(this, i.element, this.settings.errorClass, this.settings.validClass),
+ this.showLabel(i.element, i.message);
+ if (this.errorList.length && (this.toShow = this.toShow.add(this.containers)),
+ this.settings.success)
+ for (t = 0; this.successList[t]; t++)
+ this.showLabel(this.successList[t]);
+ if (this.settings.unhighlight)
+ for (t = 0,
+ e = this.validElements(); e[t]; t++)
+ this.settings.unhighlight.call(this, e[t], this.settings.errorClass, this.settings.validClass);
+ this.toHide = this.toHide.not(this.toShow),
+ this.hideErrors(),
+ this.addWrapper(this.toShow).show()
+ },
+ validElements: function() {
+ return this.currentElements.not(this.invalidElements())
+ },
+ invalidElements: function() {
+ return t(this.errorList).map(function() {
+ return this.element
+ }
+ )
+ },
+ showLabel: function(e, i) {
+ var s, n, o, r = this.errorsFor(e), a = this.idOrName(e), l = t(e).attr("aria-describedby");
+ r.length ? (r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),
+ r.html(i)) : (r = t("<" + this.settings.errorElement + ">").attr("id", a + "-error").addClass(this.settings.errorClass).html(i || ""),
+ s = r,
+ this.settings.wrapper && (s = r.hide().show().wrap("<" + this.settings.wrapper + "/>").parent()),
+ this.labelContainer.length ? this.labelContainer.append(s) : this.settings.errorPlacement ? this.settings.errorPlacement(s, t(e)) : s.insertAfter(e),
+ r.is("label") ? r.attr("for", a) : 0 === r.parents("label[for='" + a + "']").length && (o = r.attr("id").replace(/(:|\.|\[|\]|\$)/g, "\\$1"),
+ l ? l.match(new RegExp("\\b" + o + "\\b")) || (l += " " + o) : l = o,
+ t(e).attr("aria-describedby", l),
+ n = this.groups[e.name],
+ n && t.each(this.groups, function(e, i) {
+ i === n && t("[name='" + e + "']", this.currentForm).attr("aria-describedby", r.attr("id"))
+ }
+ ))),
+ !i && this.settings.success && (r.text(""),
+ "string" == typeof this.settings.success ? r.addClass(this.settings.success) : this.settings.success(r, e)),
+ this.toShow = this.toShow.add(r)
+ },
+ errorsFor: function(e) {
+ var i = this.idOrName(e)
+ , s = t(e).attr("aria-describedby")
+ , n = "label[for='" + i + "'], label[for='" + i + "'] *";
+ return s && (n = n + ", #" + s.replace(/\s+/g, ", #")),
+ this.errors().filter(n)
+ },
+ idOrName: function(t) {
+ return this.groups[t.name] || (this.checkable(t) ? t.name : t.id || t.name)
+ },
+ validationTargetFor: function(e) {
+ return this.checkable(e) && (e = this.findByName(e.name)),
+ t(e).not(this.settings.ignore)[0]
+ },
+ checkable: function(t) {
+ return /radio|checkbox/i.test(t.type)
+ },
+ findByName: function(e) {
+ return t(this.currentForm).find("[name='" + e + "']")
+ },
+ getLength: function(e, i) {
+ switch (i.nodeName.toLowerCase()) {
+ case "select":
+ return t("option:selected", i).length;
+ case "input":
+ if (this.checkable(i))
+ return this.findByName(i.name).filter(":checked").length
+ }
+ return e.length
+ },
+ depend: function(t, e) {
+ return this.dependTypes[typeof t] ? this.dependTypes[typeof t](t, e) : !0
+ },
+ dependTypes: {
+ "boolean": function(t) {
+ return t
+ },
+ string: function(e, i) {
+ return !!t(e, i.form).length
+ },
+ "function": function(t, e) {
+ return t(e)
+ }
+ },
+ optional: function(e) {
+ var i = this.elementValue(e);
+ return !t.validator.methods.required.call(this, i, e) && "dependency-mismatch"
+ },
+ startRequest: function(t) {
+ this.pending[t.name] || (this.pendingRequest++,
+ this.pending[t.name] = !0)
+ },
+ stopRequest: function(e, i) {
+ this.pendingRequest--,
+ this.pendingRequest < 0 && (this.pendingRequest = 0),
+ delete this.pending[e.name],
+ i && 0 === this.pendingRequest && this.formSubmitted && this.form() ? (t(this.currentForm).submit(),
+ this.formSubmitted = !1) : !i && 0 === this.pendingRequest && this.formSubmitted && (t(this.currentForm).triggerHandler("invalid-form", [this]),
+ this.formSubmitted = !1)
+ },
+ previousValue: function(e) {
+ return t.data(e, "previousValue") || t.data(e, "previousValue", {
+ old: null ,
+ valid: !0,
+ message: this.defaultMessage(e, "remote")
+ })
+ },
+ destroy: function() {
+ this.resetForm(),
+ t(this.currentForm).off(".validate").removeData("validator")
+ }
+ },
+ classRuleSettings: {
+ required: {
+ required: !0
+ },
+ email: {
+ email: !0
+ },
+ url: {
+ url: !0
+ },
+ date: {
+ date: !0
+ },
+ dateISO: {
+ dateISO: !0
+ },
+ number: {
+ number: !0
+ },
+ digits: {
+ digits: !0
+ },
+ creditcard: {
+ creditcard: !0
+ }
+ },
+ addClassRules: function(e, i) {
+ e.constructor === String ? this.classRuleSettings[e] = i : t.extend(this.classRuleSettings, e)
+ },
+ classRules: function(e) {
+ var i = {}
+ , s = t(e).attr("class");
+ return s && t.each(s.split(" "), function() {
+ this in t.validator.classRuleSettings && t.extend(i, t.validator.classRuleSettings[this])
+ }
+ ),
+ i
+ },
+ normalizeAttributeRule: function(t, e, i, s) {
+ /min|max/.test(i) && (null === e || /number|range|text/.test(e)) && (s = Number(s),
+ isNaN(s) && (s = void 0)),
+ s || 0 === s ? t[i] = s : e === i && "range" !== e && (t[i] = !0)
+ },
+ attributeRules: function(e) {
+ var i, s, n = {}, o = t(e), r = e.getAttribute("type");
+ for (i in t.validator.methods)
+ "required" === i ? (s = e.getAttribute(i),
+ "" === s && (s = !0),
+ s = !!s) : s = o.attr(i),
+ this.normalizeAttributeRule(n, r, i, s);
+ return n.maxlength && /-1|2147483647|524288/.test(n.maxlength) && delete n.maxlength,
+ n
+ },
+ dataRules: function(e) {
+ var i, s, n = {}, o = t(e), r = e.getAttribute("type");
+ for (i in t.validator.methods)
+ s = o.data("rule" + i.charAt(0).toUpperCase() + i.substring(1).toLowerCase()),
+ this.normalizeAttributeRule(n, r, i, s);
+ return n
+ },
+ staticRules: function(e) {
+ var i = {}
+ , s = t.data(e.form, "validator");
+ return s.settings.rules && (i = t.validator.normalizeRule(s.settings.rules[e.name]) || {}),
+ i
+ },
+ normalizeRules: function(e, i) {
+ return t.each(e, function(s, n) {
+ if (n === !1)
+ return void delete e[s];
+ if (n.param || n.depends) {
+ var o = !0;
+ switch (typeof n.depends) {
+ case "string":
+ o = !!t(n.depends, i.form).length;
+ break;
+ case "function":
+ o = n.depends.call(i, i)
+ }
+ o ? e[s] = void 0 !== n.param ? n.param : !0 : delete e[s]
+ }
+ }
+ ),
+ t.each(e, function(s, n) {
+ e[s] = t.isFunction(n) ? n(i) : n
+ }
+ ),
+ t.each(["minlength", "maxlength"], function() {
+ e[this] && (e[this] = Number(e[this]))
+ }
+ ),
+ t.each(["rangelength", "range"], function() {
+ var i;
+ e[this] && (t.isArray(e[this]) ? e[this] = [Number(e[this][0]), Number(e[this][1])] : "string" == typeof e[this] && (i = e[this].replace(/[\[\]]/g, "").split(/[\s,]+/),
+ e[this] = [Number(i[0]), Number(i[1])]))
+ }
+ ),
+ t.validator.autoCreateRanges && (null != e.min && null != e.max && (e.range = [e.min, e.max],
+ delete e.min,
+ delete e.max),
+ null != e.minlength && null != e.maxlength && (e.rangelength = [e.minlength, e.maxlength],
+ delete e.minlength,
+ delete e.maxlength)),
+ e
+ },
+ normalizeRule: function(e) {
+ if ("string" == typeof e) {
+ var i = {};
+ t.each(e.split(/\s/), function() {
+ i[this] = !0
+ }
+ ),
+ e = i
+ }
+ return e
+ },
+ addMethod: function(e, i, s) {
+ t.validator.methods[e] = i,
+ t.validator.messages[e] = void 0 !== s ? s : t.validator.messages[e],
+ i.length < 3 && t.validator.addClassRules(e, t.validator.normalizeRule(e))
+ },
+ methods: {
+ required: function(e, i, s) {
+ if (!this.depend(s, i))
+ return "dependency-mismatch";
+ if ("select" === i.nodeName.toLowerCase()) {
+ var n = t(i).val();
+ return n && n.length > 0
+ }
+ return this.checkable(i) ? this.getLength(e, i) > 0 : e.length > 0
+ },
+ email: function(t, e) {
+ return this.optional(e) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)
+ },
+ url: function(t, e) {
+ return this.optional(e) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(t)
+ },
+ date: function(t, e) {
+ return this.optional(e) || !/Invalid|NaN/.test(new Date(t).toString())
+ },
+ dateISO: function(t, e) {
+ return this.optional(e) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)
+ },
+ number: function(t, e) {
+ return this.optional(e) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)
+ },
+ digits: function(t, e) {
+ return this.optional(e) || /^\d+$/.test(t)
+ },
+ creditcard: function(t, e) {
+ if (this.optional(e))
+ return "dependency-mismatch";
+ if (/[^0-9 \-]+/.test(t))
+ return !1;
+ var i, s, n = 0, o = 0, r = !1;
+ if (t = t.replace(/\D/g, ""),
+ t.length < 13 || t.length > 19)
+ return !1;
+ for (i = t.length - 1; i >= 0; i--)
+ s = t.charAt(i),
+ o = parseInt(s, 10),
+ r && (o *= 2) > 9 && (o -= 9),
+ n += o,
+ r = !r;
+ return n % 10 === 0
+ },
+ minlength: function(e, i, s) {
+ var n = t.isArray(e) ? e.length : this.getLength(e, i);
+ return this.optional(i) || n >= s
+ },
+ maxlength: function(e, i, s) {
+ var n = t.isArray(e) ? e.length : this.getLength(e, i);
+ return this.optional(i) || s >= n
+ },
+ rangelength: function(e, i, s) {
+ var n = t.isArray(e) ? e.length : this.getLength(e, i);
+ return this.optional(i) || n >= s[0] && n <= s[1]
+ },
+ min: function(t, e, i) {
+ return this.optional(e) || t >= i
+ },
+ max: function(t, e, i) {
+ return this.optional(e) || i >= t
+ },
+ range: function(t, e, i) {
+ return this.optional(e) || t >= i[0] && t <= i[1]
+ },
+ equalTo: function(e, i, s) {
+ var n = t(s);
+ return this.settings.onfocusout && n.off(".validate-equalTo").on("blur.validate-equalTo", function() {
+ t(i).valid()
+ }
+ ),
+ e === n.val()
+ },
+ remote: function(e, i, s) {
+ if (this.optional(i))
+ return "dependency-mismatch";
+ var n, o, r = this.previousValue(i);
+ return this.settings.messages[i.name] || (this.settings.messages[i.name] = {}),
+ r.originalMessage = this.settings.messages[i.name].remote,
+ this.settings.messages[i.name].remote = r.message,
+ s = "string" == typeof s && {
+ url: s
+ } || s,
+ r.old === e ? r.valid : (r.old = e,
+ n = this,
+ this.startRequest(i),
+ o = {},
+ o[i.name] = e,
+ t.ajax(t.extend(!0, {
+ mode: "abort",
+ port: "validate" + i.name,
+ dataType: "json",
+ data: o,
+ context: n.currentForm,
+ success: function(s) {
+ var o, a, l, h = s === !0 || "true" === s;
+ n.settings.messages[i.name].remote = r.originalMessage,
+ h ? (l = n.formSubmitted,
+ n.prepareElement(i),
+ n.formSubmitted = l,
+ n.successList.push(i),
+ delete n.invalid[i.name],
+ n.showErrors()) : (o = {},
+ a = s || n.defaultMessage(i, "remote"),
+ o[i.name] = r.message = t.isFunction(a) ? a(e) : a,
+ n.invalid[i.name] = !0,
+ n.showErrors(o)),
+ r.valid = h,
+ n.stopRequest(i, h)
+ }
+ }, s)),
+ "pending")
+ }
+ }
+ });
+ var e, i = {};
+ t.ajaxPrefilter ? t.ajaxPrefilter(function(t, e, s) {
+ var n = t.port;
+ "abort" === t.mode && (i[n] && i[n].abort(),
+ i[n] = s)
+ }
+ ) : (e = t.ajax,
+ t.ajax = function(s) {
+ var n = ("mode" in s ? s : t.ajaxSettings).mode
+ , o = ("port" in s ? s : t.ajaxSettings).port;
+ return "abort" === n ? (i[o] && i[o].abort(),
+ i[o] = e.apply(this, arguments),
+ i[o]) : e.apply(this, arguments)
+ }
+ )
+ }
+ )//,
+ /*google.maps.event.addDomListener(window, "load", init),
+ CustomMarker.prototype = new google.maps.OverlayView,
+ CustomMarker.prototype.draw = function() {
+ var t = this
+ , e = this.div;
+ if (!e) {
+ e = this.div = document.createElement("div"),
+ e.className = "b-contacts_map_marker",
+ e.style.position = "absolute",
+ e.style.cursor = "pointer",
+ "undefined" != typeof t.args.marker_id && "undefined" != typeof e.dataset && (e.dataset.marker_id = t.args.marker_id);
+ var i = this.getPanes();
+ i.overlayImage.appendChild(e)
+ }
+ var s = this.getProjection().fromLatLngToDivPixel(this.latlng);
+ s && (e.style.left = s.x - 17 + "px",
+ e.style.top = s.y - 17 + "px")
+ }
+ ,
+ CustomMarker.prototype.remove = function() {
+ this.div && (this.div.parentNode.removeChild(this.div),
+ this.div = null )
+ }
+ ,
+ CustomMarker.prototype.getPosition = function() {
+ return this.latlng
+ }
+ ,
+ google.maps.event.addDomListener(window, "load", init),
+ CustomMarker.prototype = new google.maps.OverlayView,
+ CustomMarker.prototype.draw = function() {
+ var t = this
+ , e = this.div;
+ if (!e) {
+ e = this.div = document.createElement("div"),
+ e.className = "b-contacts_map_marker",
+ e.style.position = "absolute",
+ e.style.cursor = "pointer",
+ "undefined" != typeof t.args.marker_id && "undefined" != typeof e.dataset && (e.dataset.marker_id = t.args.marker_id);
+ var i = this.getPanes();
+ i.overlayImage.appendChild(e)
+ }
+ var s = this.getProjection().fromLatLngToDivPixel(this.latlng);
+ s && (e.style.left = s.x - 17 + "px",
+ e.style.top = s.y - 17 + "px")
+ }
+ ,
+ CustomMarker.prototype.remove = function() {
+ this.div && (this.div.parentNode.removeChild(this.div),
+ this.div = null )
+ }
+ ,
+ CustomMarker.prototype.getPosition = function() {
+ return this.latlng
+ }*/
+ ;
+
+} )( jQuery );
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/jquery.plugins.inner.min.js b/deployed/trada/templates/trada/skins/light/js/jquery.plugins.inner.min.js
new file mode 100644
index 00000000..64ca1a23
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/jquery.plugins.inner.min.js
@@ -0,0 +1,3 @@
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,n=this;t(this).one("bsTransitionEnd",function(){i=!0});var s=function(){i||t(n).trigger(t.support.transition.end)};return setTimeout(s,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),s=i.data("bs.alert");s||i.data("bs.alert",s=new n(this)),"string"==typeof e&&s[e].call(i)})}var i='[data-dismiss="alert"]',n=function(e){t(e).on("click",i,this.close)};n.VERSION="3.3.1",n.TRANSITION_DURATION=150,n.prototype.close=function(e){function i(){r.detach().trigger("closed.bs.alert").remove()}var s=t(this),o=s.attr("data-target");o||(o=s.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,""));var r=t(o);e&&e.preventDefault(),r.length||(r=s.closest(".alert")),r.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(r.removeClass("in"),t.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i())};var s=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=n,t.fn.alert.noConflict=function(){return t.fn.alert=s,this},t(document).on("click.bs.alert.data-api",i,n.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),s=n.data("bs.button"),o="object"==typeof e&&e;s||n.data("bs.button",s=new i(this,o)),"toggle"==e?s.toggle():e&&s.setState(e)})}var i=function(e,n){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,n),this.isLoading=!1};i.VERSION="3.3.1",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",n=this.$element,s=n.is("input")?"val":"html",o=n.data();e+="Text",null==o.resetText&&n.data("resetText",n[s]()),setTimeout(t.proxy(function(){n[s](null==o[e]?this.options[e]:o[e]),"loadingText"==e?(this.isLoading=!0,n.addClass(i).attr(i,i)):this.isLoading&&(this.isLoading=!1,n.removeClass(i).removeAttr(i))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));t&&this.$element.toggleClass("active")};var n=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=n,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var n=t(i.target);n.hasClass("btn")||(n=n.closest(".btn")),e.call(n,"toggle"),i.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),s=n.data("bs.carousel"),o=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e),r="string"==typeof e?e:o.slide;s||n.data("bs.carousel",s=new i(this,o)),"number"==typeof e?s.to(e):r?s[r]():o.interval&&s.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.1",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i="prev"==t?-1:1,n=this.getItemIndex(e),s=(n+i)%this.$items.length;return this.$items.eq(s)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));return t>this.$items.length-1||0>t?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){return this.sliding?void 0:this.slide("next")},i.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},i.prototype.slide=function(e,n){var s=this.$element.find(".item.active"),o=n||this.getItemForDirection(e,s),r=this.interval,a="next"==e?"left":"right",l="next"==e?"first":"last",d=this;if(!o.length){if(!this.options.wrap)return;o=this.$element.find(".item")[l]()}if(o.hasClass("active"))return this.sliding=!1;var h=o[0],c=t.Event("slide.bs.carousel",{relatedTarget:h,direction:a});if(this.$element.trigger(c),!c.isDefaultPrevented()){if(this.sliding=!0,r&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var u=t(this.$indicators.children()[this.getItemIndex(o)]);u&&u.addClass("active")}var p=t.Event("slid.bs.carousel",{relatedTarget:h,direction:a});return t.support.transition&&this.$element.hasClass("slide")?(o.addClass(e),o[0].offsetWidth,s.addClass(a),o.addClass(a),s.one("bsTransitionEnd",function(){o.removeClass([e,a].join(" ")).addClass("active"),s.removeClass(["active",a].join(" ")),d.sliding=!1,setTimeout(function(){d.$element.trigger(p)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(s.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(p)),r&&this.cycle(),this}};var n=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=n,this};var s=function(i){var n,s=t(this),o=t(s.attr("data-target")||(n=s.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,""));if(o.hasClass("carousel")){var r=t.extend({},o.data(),s.data()),a=s.attr("data-slide-to");a&&(r.interval=!1),e.call(o,r),a&&o.data("bs.carousel").to(a),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",s).on("click.bs.carousel.data-api","[data-slide-to]",s),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){var i,n=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return t(n)}function i(e){return this.each(function(){var i=t(this),s=i.data("bs.collapse"),o=t.extend({},n.DEFAULTS,i.data(),"object"==typeof e&&e);!s&&o.toggle&&"show"==e&&(o.toggle=!1),s||i.data("bs.collapse",s=new n(this,o)),"string"==typeof e&&s[e]()})}var n=function(e,i){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,i),this.$trigger=t(this.options.trigger).filter('[href="#'+e.id+'"], [data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};n.VERSION="3.3.1",n.TRANSITION_DURATION=350,n.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},n.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},n.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,s=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(s&&s.length&&(e=s.data("bs.collapse"),e&&e.transitioning))){var o=t.Event("show.bs.collapse");if(this.$element.trigger(o),!o.isDefaultPrevented()){s&&s.length&&(i.call(s,"hide"),e||s.data("bs.collapse",null));var r=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[r](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[r](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return a.call(this);var l=t.camelCase(["scroll",r].join("-"));this.$element.one("bsTransitionEnd",t.proxy(a,this)).emulateTransitionEnd(n.TRANSITION_DURATION)[r](this.$element[0][l])}}}},n.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var s=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[i](0).one("bsTransitionEnd",t.proxy(s,this)).emulateTransitionEnd(n.TRANSITION_DURATION):s.call(this)}}},n.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},n.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(i,n){var s=t(n);this.addAriaAndCollapsedClass(e(s),s)},this)).end()},n.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var s=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=n,t.fn.collapse.noConflict=function(){return t.fn.collapse=s,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(n){var s=t(this);s.attr("data-target")||n.preventDefault();var o=e(s),r=o.data("bs.collapse"),a=r?"toggle":t.extend({},s.data(),{trigger:this});i.call(o,a)})}(jQuery),+function(t){"use strict";function e(e){e&&3===e.which||(t(s).remove(),t(o).each(function(){var n=t(this),s=i(n),o={relatedTarget:this};s.hasClass("open")&&(s.trigger(e=t.Event("hide.bs.dropdown",o)),e.isDefaultPrevented()||(n.attr("aria-expanded","false"),s.removeClass("open").trigger("hidden.bs.dropdown",o)))}))}function i(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var n=i&&t(i);return n&&n.length?n:e.parent()}function n(e){return this.each(function(){var i=t(this),n=i.data("bs.dropdown");n||i.data("bs.dropdown",n=new r(this)),"string"==typeof e&&n[e].call(i)})}var s=".dropdown-backdrop",o='[data-toggle="dropdown"]',r=function(e){t(e).on("click.bs.dropdown",this.toggle)};r.VERSION="3.3.1",r.prototype.toggle=function(n){var s=t(this);if(!s.is(".disabled, :disabled")){var o=i(s),r=o.hasClass("open");if(e(),!r){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t('
').insertAfter(t(this)).on("click",e);var a={relatedTarget:this};if(o.trigger(n=t.Event("show.bs.dropdown",a)),n.isDefaultPrevented())return;s.trigger("focus").attr("aria-expanded","true"),o.toggleClass("open").trigger("shown.bs.dropdown",a)}return!1}},r.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var n=t(this);if(e.preventDefault(),e.stopPropagation(),!n.is(".disabled, :disabled")){var s=i(n),r=s.hasClass("open");if(!r&&27!=e.which||r&&27==e.which)return 27==e.which&&s.find(o).trigger("focus"),n.trigger("click");var a=" li:not(.divider):visible a",l=s.find('[role="menu"]'+a+', [role="listbox"]'+a);if(l.length){var d=l.index(e.target);38==e.which&&d>0&&d--,40==e.which&&d
').prependTo(this.$element).on("click.dismiss.bs.modal",t.proxy(function(t){t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;o?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var r=function(){n.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",r).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):r()}else e&&e()},i.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},i.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},i.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},i.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},i.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},i.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},i.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},i.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var n=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=i,t.fn.modal.noConflict=function(){return t.fn.modal=n,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(i){var n=t(this),s=n.attr("href"),o=t(n.attr("data-target")||s&&s.replace(/.*(?=#[^\s]+$)/,"")),r=o.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(s)&&s},o.data(),n.data());n.is("a")&&i.preventDefault(),o.one("show.bs.modal",function(t){t.isDefaultPrevented()||o.one("hidden.bs.modal",function(){n.is(":visible")&&n.trigger("focus")})}),e.call(o,r,this)})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),s=n.data("bs.tooltip"),o="object"==typeof e&&e,r=o&&o.selector;(s||"destroy"!=e)&&(r?(s||n.data("bs.tooltip",s={}),s[r]||(s[r]=new i(this,o))):s||n.data("bs.tooltip",s=new i(this,o)),"string"==typeof e&&s[e]())})}var i=function(t,e){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",t,e)};i.VERSION="3.3.1",i.TRANSITION_DURATION=150,i.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},i.prototype.init=function(e,i,n){this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(n),this.$viewport=this.options.viewport&&t(this.options.viewport.selector||this.options.viewport);for(var s=this.options.trigger.split(" "),o=s.length;o--;){var r=s[o];if("click"==r)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=r){var a="hover"==r?"mouseenter":"focusin",l="hover"==r?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},i.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,n){i[t]!=n&&(e[t]=n)}),e},i.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i&&i.$tip&&i.$tip.is(":visible")?void(i.hoverState="in"):(i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},i.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide()},i.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var n=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!n)return;var s=this,o=this.tip(),r=this.getUID(this.type);this.setContent(),o.attr("id",r),this.$element.attr("aria-describedby",r),this.options.animation&&o.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,d=l.test(a);d&&(a=a.replace(l,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element);var h=this.getPosition(),c=o[0].offsetWidth,u=o[0].offsetHeight;if(d){var p=a,f=this.options.container?t(this.options.container):this.$element.parent(),g=this.getPosition(f);a="bottom"==a&&h.bottom+u>g.bottom?"top":"top"==a&&h.top-u
g.width?"left":"left"==a&&h.left-cr.top+r.height&&(s.top=r.top+r.height-l)}else{var d=e.left-o,h=e.left+o+i;dr.width&&(s.left=r.left+r.width-h)}return s},i.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},i.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},i.prototype.tip=function(){return this.$tip=this.$tip||t(this.options.template)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},i.prototype.enable=function(){this.enabled=!0},i.prototype.disable=function(){this.enabled=!1},i.prototype.toggleEnabled=function(){this.enabled=!this.enabled},i.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),i.tip().hasClass("in")?i.leave(i):i.enter(i)},i.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type)})};var n=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=i,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=n,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),s=n.data("bs.popover"),o="object"==typeof e&&e,r=o&&o.selector;(s||"destroy"!=e)&&(r?(s||n.data("bs.popover",s={}),s[r]||(s[r]=new i(this,o))):s||n.data("bs.popover",s=new i(this,o)),"string"==typeof e&&s[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.3.1",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},i.prototype.tip=function(){return this.$tip||(this.$tip=t(this.options.template)),this.$tip};var n=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=n,this}}(jQuery),+function(t){"use strict";function e(i,n){var s=t.proxy(this.process,this);this.$body=t("body"),this.$scrollElement=t(t(i).is("body")?window:i),this.options=t.extend({},e.DEFAULTS,n),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s),this.refresh(),this.process()}function i(i){return this.each(function(){var n=t(this),s=n.data("bs.scrollspy"),o="object"==typeof i&&i;s||n.data("bs.scrollspy",s=new e(this,o)),"string"==typeof i&&s[i]()})}e.VERSION="3.3.1",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e="offset",i=0;t.isWindow(this.$scrollElement[0])||(e="position",i=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var n=this;this.$body.find(this.selector).map(function(){var n=t(this),s=n.data("target")||n.attr("href"),o=/^#./.test(s)&&t(s);return o&&o.length&&o.is(":visible")&&[[o[e]().top+i,s]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){n.offsets.push(this[0]),n.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),n=this.options.offset+i-this.$scrollElement.height(),s=this.offsets,o=this.targets,r=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=n)return r!=(t=o[o.length-1])&&this.activate(t);if(r&&e=s[t]&&(!s[t+1]||e<=s[t+1])&&this.activate(o[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var i=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',n=t(i).parents("li").addClass("active");n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var n=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=n,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),s=n.data("bs.tab");s||n.data("bs.tab",s=new i(this)),"string"==typeof e&&s[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.1",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),n=e.data("target");if(n||(n=e.attr("href"),n=n&&n.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var s=i.find(".active:last a"),o=t.Event("hide.bs.tab",{relatedTarget:e[0]}),r=t.Event("show.bs.tab",{relatedTarget:s[0]});if(s.trigger(o),e.trigger(r),!r.isDefaultPrevented()&&!o.isDefaultPrevented()){var a=t(n);this.activate(e.closest("li"),i),this.activate(a,a.parent(),function(){s.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:s[0]})
+})}}},i.prototype.activate=function(e,n,s){function o(){r.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),a?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu")&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),s&&s()}var r=n.find("> .active"),a=s&&t.support.transition&&(r.length&&r.hasClass("fade")||!!n.find("> .fade").length);r.length&&a?r.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o(),r.removeClass("in")};var n=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=n,this};var s=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',s).on("click.bs.tab.data-api",'[data-toggle="pill"]',s)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),s=n.data("bs.affix"),o="object"==typeof e&&e;s||n.data("bs.affix",s=new i(this,o)),"string"==typeof e&&s[e]()})}var i=function(e,n){this.options=t.extend({},i.DEFAULTS,n),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.1",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,n){var s=this.$target.scrollTop(),o=this.$element.offset(),r=this.$target.height();if(null!=i&&"top"==this.affixed)return i>s?"top":!1;if("bottom"==this.affixed)return null!=i?s+this.unpin<=o.top?!1:"bottom":t-n>=s+r?!1:"bottom";var a=null==this.affixed,l=a?s:o.top,d=a?r:e;return null!=i&&i>=l?"top":null!=n&&l+d>=t-n?"bottom":!1},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),n=this.options.offset,s=n.top,o=n.bottom,r=t("body").height();"object"!=typeof n&&(o=s=n),"function"==typeof s&&(s=n.top(this.$element)),"function"==typeof o&&(o=n.bottom(this.$element));var a=this.getState(r,e,s,o);if(this.affixed!=a){null!=this.unpin&&this.$element.css("top","");var l="affix"+(a?"-"+a:""),d=t.Event(l+".bs.affix");if(this.$element.trigger(d),d.isDefaultPrevented())return;this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==a&&this.$element.offset({top:r-e-o})}};var n=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=n,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),n=i.data();n.offset=n.offset||{},null!=n.offsetBottom&&(n.offset.bottom=n.offsetBottom),null!=n.offsetTop&&(n.offset.top=n.offsetTop),e.call(i,n)})})}(jQuery),function(){var t,e,i,n,s,o=function(t,e){return function(){return t.apply(e,arguments)}},r=[].indexOf||function(t){for(var e=0,i=this.length;i>e;e++)if(e in this&&this[e]===t)return e;return-1};e=function(){function t(){}return t.prototype.extend=function(t,e){var i,n;for(i in e)n=e[i],null==t[i]&&(t[i]=n);return t},t.prototype.isMobile=function(t){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t)},t.prototype.createEvent=function(t,e,i,n){var s;return null==e&&(e=!1),null==i&&(i=!1),null==n&&(n=null),null!=document.createEvent?(s=document.createEvent("CustomEvent"),s.initCustomEvent(t,e,i,n)):null!=document.createEventObject?(s=document.createEventObject(),s.eventType=t):s.eventName=t,s},t.prototype.emitEvent=function(t,e){return null!=t.dispatchEvent?t.dispatchEvent(e):e in(null!=t)?t[e]():"on"+e in(null!=t)?t["on"+e]():void 0},t.prototype.addEvent=function(t,e,i){return null!=t.addEventListener?t.addEventListener(e,i,!1):null!=t.attachEvent?t.attachEvent("on"+e,i):t[e]=i},t.prototype.removeEvent=function(t,e,i){return null!=t.removeEventListener?t.removeEventListener(e,i,!1):null!=t.detachEvent?t.detachEvent("on"+e,i):delete t[e]},t.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},t}(),i=this.WeakMap||this.MozWeakMap||(i=function(){function t(){this.keys=[],this.values=[]}return t.prototype.get=function(t){var e,i,n,s,o;for(o=this.keys,e=n=0,s=o.length;s>n;e=++n)if(i=o[e],i===t)return this.values[e]},t.prototype.set=function(t,e){var i,n,s,o,r;for(r=this.keys,i=s=0,o=r.length;o>s;i=++s)if(n=r[i],n===t)return void(this.values[i]=e);return this.keys.push(t),this.values.push(e)},t}()),t=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(t=function(){function t(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return t.notSupported=!0,t.prototype.observe=function(){},t}()),n=this.getComputedStyle||function(t){return this.getPropertyValue=function(e){var i;return"float"===e&&(e="styleFloat"),s.test(e)&&e.replace(s,function(t,e){return e.toUpperCase()}),(null!=(i=t.currentStyle)?i[e]:void 0)||null},this},s=/(\-([a-z]){1})/g,this.WOW=function(){function s(t){null==t&&(t={}),this.scrollCallback=o(this.scrollCallback,this),this.scrollHandler=o(this.scrollHandler,this),this.resetAnimation=o(this.resetAnimation,this),this.start=o(this.start,this),this.scrolled=!0,this.config=this.util().extend(t,this.defaults),this.animationNameCache=new i,this.wowEvent=this.util().createEvent(this.config.boxClass)}return s.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null},s.prototype.init=function(){var t;return this.element=window.document.documentElement,"interactive"===(t=document.readyState)||"complete"===t?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},s.prototype.start=function(){var e,i,n,s;if(this.stopped=!1,this.boxes=function(){var t,i,n,s;for(n=this.element.querySelectorAll("."+this.config.boxClass),s=[],t=0,i=n.length;i>t;t++)e=n[t],s.push(e);return s}.call(this),this.all=function(){var t,i,n,s;for(n=this.boxes,s=[],t=0,i=n.length;i>t;t++)e=n[t],s.push(e);return s}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(s=this.boxes,i=0,n=s.length;n>i;i++)e=s[i],this.applyStyle(e,!0);return this.disabled()||(this.util().addEvent(window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new t(function(t){return function(e){var i,n,s,o,r;for(r=[],i=0,n=e.length;n>i;i++)o=e[i],r.push(function(){var t,e,i,n;for(i=o.addedNodes||[],n=[],t=0,e=i.length;e>t;t++)s=i[t],n.push(this.doSync(s));return n}.call(t));return r}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},s.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},s.prototype.sync=function(){return t.notSupported?this.doSync(this.element):void 0},s.prototype.doSync=function(t){var e,i,n,s,o;if(null==t&&(t=this.element),1===t.nodeType){for(t=t.parentNode||t,s=t.querySelectorAll("."+this.config.boxClass),o=[],i=0,n=s.length;n>i;i++)e=s[i],r.call(this.all,e)<0?(this.boxes.push(e),this.all.push(e),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(e,!0),o.push(this.scrolled=!0)):o.push(void 0);return o}},s.prototype.show=function(t){return this.applyStyle(t),t.className=t.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(t),this.util().emitEvent(t,this.wowEvent),this.util().addEvent(t,"animationend",this.resetAnimation),this.util().addEvent(t,"oanimationend",this.resetAnimation),this.util().addEvent(t,"webkitAnimationEnd",this.resetAnimation),this.util().addEvent(t,"MSAnimationEnd",this.resetAnimation),t},s.prototype.applyStyle=function(t,e){var i,n,s;return n=t.getAttribute("data-wow-duration"),i=t.getAttribute("data-wow-delay"),s=t.getAttribute("data-wow-iteration"),this.animate(function(o){return function(){return o.customStyle(t,e,n,i,s)}}(this))},s.prototype.animate=function(){return"requestAnimationFrame"in window?function(t){return window.requestAnimationFrame(t)}:function(t){return t()}}(),s.prototype.resetStyle=function(){var t,e,i,n,s;for(n=this.boxes,s=[],e=0,i=n.length;i>e;e++)t=n[e],s.push(t.style.visibility="visible");return s},s.prototype.resetAnimation=function(t){var e;return t.type.toLowerCase().indexOf("animationend")>=0?(e=t.target||t.srcElement,e.className=e.className.replace(this.config.animateClass,"").trim()):void 0},s.prototype.customStyle=function(t,e,i,n,s){return e&&this.cacheAnimationName(t),t.style.visibility=e?"hidden":"visible",i&&this.vendorSet(t.style,{animationDuration:i}),n&&this.vendorSet(t.style,{animationDelay:n}),s&&this.vendorSet(t.style,{animationIterationCount:s}),this.vendorSet(t.style,{animationName:e?"none":this.cachedAnimationName(t)}),t},s.prototype.vendors=["moz","webkit"],s.prototype.vendorSet=function(t,e){var i,n,s,o;n=[];for(i in e)s=e[i],t[""+i]=s,n.push(function(){var e,n,r,a;for(r=this.vendors,a=[],e=0,n=r.length;n>e;e++)o=r[e],a.push(t[""+o+i.charAt(0).toUpperCase()+i.substr(1)]=s);return a}.call(this));return n},s.prototype.vendorCSS=function(t,e){var i,s,o,r,a,l;for(a=n(t),r=a.getPropertyCSSValue(e),o=this.vendors,i=0,s=o.length;s>i;i++)l=o[i],r=r||a.getPropertyCSSValue("-"+l+"-"+e);return r},s.prototype.animationName=function(t){var e;try{e=this.vendorCSS(t,"animation-name").cssText}catch(i){e=n(t).getPropertyValue("animation-name")}return"none"===e?"":e},s.prototype.cacheAnimationName=function(t){return this.animationNameCache.set(t,this.animationName(t))},s.prototype.cachedAnimationName=function(t){return this.animationNameCache.get(t)},s.prototype.scrollHandler=function(){return this.scrolled=!0},s.prototype.scrollCallback=function(){var t;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var e,i,n,s;for(n=this.boxes,s=[],e=0,i=n.length;i>e;e++)t=n[e],t&&(this.isVisible(t)?this.show(t):s.push(t));return s}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},s.prototype.offsetTop=function(t){for(var e;void 0===t.offsetTop;)t=t.parentNode;for(e=t.offsetTop;t=t.offsetParent;)e+=t.offsetTop;return e},s.prototype.isVisible=function(t){var e,i,n,s,o;return i=t.getAttribute("data-wow-offset")||this.config.offset,o=window.pageYOffset,s=o+Math.min(this.element.clientHeight,this.util().innerHeight())-i,n=this.offsetTop(t),e=n+t.clientHeight,s>=n&&e>=o},s.prototype.util=function(){return null!=this._util?this._util:this._util=new e},s.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},s}()}.call(this),!function(t){var e={},n={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};t.fn.bxSlider=function(s){if(0==this.length)return this;if(this.length>1)return this.each(function(){t(this).bxSlider(s)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},n,s),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages="all"),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp="vertical"==o.settings.mode?"top":"left",o.usingCSS=o.settings.useCSS&&"fade"!=o.settings.mode&&function(){var t=document.createElement("div"),e=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace("Perspective","").toLowerCase(),o.animProp="-"+o.cssPrefix+"-transform",!0;return!1}(),"vertical"==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data("origStyle",r.attr("style")),r.children(o.settings.slideSelector).each(function(){t(this).data("origStyle",t(this).attr("style"))}),h()},h=function(){r.wrap(''),o.viewport=r.parent(),o.loader=t('
'),o.viewport.prepend(o.loader),r.css({width:"horizontal"==o.settings.mode?100*o.children.length+215+"%":"auto",position:"relative"}),o.usingCSS&&o.settings.easing?r.css("-"+o.cssPrefix+"-transition-timing-function",o.settings.easing):o.settings.easing||(o.settings.easing="swing"),m(),o.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),o.viewport.parent().css({maxWidth:f()}),o.settings.pager||o.viewport.parent().css({margin:"0 auto 0px"}),o.children.css({"float":"horizontal"==o.settings.mode?"left":"none",listStyle:"none",position:"relative"}),o.children.css("width",g()),"horizontal"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginRight",o.settings.slideMargin),"vertical"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginBottom",o.settings.slideMargin),"fade"==o.settings.mode&&(o.children.css({position:"absolute",zIndex:0,display:"none"}),o.children.eq(o.settings.startSlide).css({zIndex:o.settings.slideZIndex,display:"block"})),o.controls.el=t('
'),o.settings.captions&&E(),o.active.last=o.settings.startSlide==v()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);"all"==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&S(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&T(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),c(e,u)},c=function(e,i){var n=e.find("img, iframe").length;if(0==n)return void i();var s=0;e.find("img, iframe").each(function(){t(this).one("load",function(){++s==n&&i()}).each(function(){this.complete&&t(this).load()})})},u=function(){if(o.settings.infiniteLoop&&"fade"!=o.settings.mode&&!o.settings.ticker){var e="vertical"==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass("bx-clone"),n=o.children.slice(-e).clone().addClass("bx-clone");r.append(i).prepend(n)}o.loader.remove(),y(),"vertical"==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(p()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind("resize",W),o.settings.auto&&o.settings.autoStart&&L(),o.settings.ticker&&q(),o.settings.pager&&D(o.settings.startSlide),o.settings.controls&&P(),o.settings.touchEnabled&&!o.settings.ticker&&M()},p=function(){var e=0,n=t();if("vertical"==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var s=1==o.settings.moveSlides?o.active.index:o.active.index*b();for(n=o.children.eq(s),i=1;i<=o.settings.maxSlides-1;i++)n=n.add(s+i>=o.children.length?o.children.eq(i-1):o.children.eq(s+i))}else n=o.children.eq(o.active.index);else n=o.children;return"vertical"==o.settings.mode?(n.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,n.map(function(){return t(this).outerHeight(!1)}).get()),e},f=function(){var t="100%";return o.settings.slideWidth>0&&(t="horizontal"==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},g=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||"vertical"==o.settings.mode?t=e:o.settings.maxSlides>1&&"horizontal"==o.settings.mode&&(e>o.maxThreshold||e0)if(o.viewport.width()o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else"vertical"==o.settings.mode&&(t=o.settings.minSlides);return t},v=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/b();else for(var e=0,i=0;e0&&o.settings.moveSlides<=m()?o.settings.moveSlides:m()},y=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if("horizontal"==o.settings.mode){var t=o.children.last(),e=t.position();x(-(e.left-(o.viewport.width()-t.width())),"reset",0)}else if("vertical"==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();x(-e.top,"reset",0)}}else{var e=o.children.eq(o.active.index*b()).position();o.active.index==v()-1&&(o.active.last=!0),void 0!=e&&("horizontal"==o.settings.mode?x(-e.left,"reset",0):"vertical"==o.settings.mode&&x(-e.top,"reset",0))}},x=function(t,e,i,n){if(o.usingCSS){var s="vertical"==o.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)";r.css("-"+o.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==e?(r.css(o.animProp,s),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),O()})):"reset"==e?r.css(o.animProp,s):"ticker"==e&&(r.css("-"+o.cssPrefix+"-transition-timing-function","linear"),r.css(o.animProp,s),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),x(n.resetValue,"reset",0),z()}))}else{var a={};a[o.animProp]=t,"slide"==e?r.animate(a,i,o.settings.easing,function(){O()}):"reset"==e?r.css(o.animProp,t):"ticker"==e&&r.animate(a,speed,"linear",function(){x(n.resetValue,"reset",0),z()})}},w=function(){for(var e="",i=v(),n=0;i>n;n++){var s="";o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(s=o.settings.buildPager(n),o.pagerEl.addClass("bx-custom-pager")):(s=n+1,o.pagerEl.addClass("bx-default-pager")),e+='"}o.pagerEl.html(e)},S=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t(''),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass("bx-has-pager").append(o.pagerEl),w()),o.pagerEl.on("click","a",N)},C=function(){o.controls.next=t(''+o.settings.nextText+" "),o.controls.prev=t(''+o.settings.prevText+" "),o.controls.next.bind("click",$),o.controls.prev.bind("click",k),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t('
'),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass("bx-has-controls-direction").append(o.controls.directionEl))},T=function(){o.controls.start=t('"),o.controls.stop=t('"),o.controls.autoEl=t('
'),o.controls.autoEl.on("click",".bx-start",A),o.controls.autoEl.on("click",".bx-stop",I),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass("bx-has-controls-auto").append(o.controls.autoEl),R(o.settings.autoStart?"stop":"start")},E=function(){o.children.each(function(){var e=t(this).find("img:first").attr("title");void 0!=e&&(""+e).length&&t(this).append(''+e+"
")})},$=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},k=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},A=function(t){r.startAuto(),t.preventDefault()},I=function(t){r.stopAuto(),t.preventDefault()},N=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),n=parseInt(i.attr("data-slide-index"));n!=o.active.index&&r.goToSlide(n),e.preventDefault()},D=function(e){var i=o.children.length;return"short"==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),void o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i)):(o.pagerEl.find("a").removeClass("active"),void o.pagerEl.each(function(i,n){t(n).find("a").eq(e).addClass("active")}))},O=function(){if(o.settings.infiniteLoop){var t="";0==o.active.index?t=o.children.eq(0).position():o.active.index==v()-1&&o.carousel?t=o.children.eq((v()-1)*b()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),t&&("horizontal"==o.settings.mode?x(-t.left,"reset",0):"vertical"==o.settings.mode&&x(-t.top,"reset",0))}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},R=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find("a").removeClass("active"),o.controls.autoEl.find("a:not(.bx-"+t+")").addClass("active"))},P=function(){1==v()?(o.controls.prev.addClass("disabled"),o.controls.next.addClass("disabled")):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass("disabled"),o.controls.next.removeClass("disabled")):o.active.index==v()-1?(o.controls.next.addClass("disabled"),o.controls.prev.removeClass("disabled")):(o.controls.prev.removeClass("disabled"),o.controls.next.removeClass("disabled")))},L=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},q=function(){var e=0;if("next"==o.settings.autoDirection)r.append(o.children.clone().addClass("bx-clone"));else{r.prepend(o.children.clone().addClass("bx-clone"));var i=o.children.first().position();e="horizontal"==o.settings.mode?-i.left:-i.top}x(e,"reset",0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+="horizontal"==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});var i=o.settings.speed/e,n="horizontal"==o.settings.mode?"left":"top",s=i*(e-Math.abs(parseInt(r.css(n))));z(s)}),z()},z=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};"next"==o.settings.autoDirection?e=r.find(".bx-clone").first().position():i=o.children.first().position();var n="horizontal"==o.settings.mode?-e.left:-e.top,s="horizontal"==o.settings.mode?-i.left:-i.top,a={resetValue:s};x(n,"ticker",speed,a)},M=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind("touchstart",H)},H=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind("touchmove",F),o.viewport.bind("touchend",j)}},F=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),n=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>n&&o.settings.preventDefaultSwipeX?t.preventDefault():3*n>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),"fade"!=o.settings.mode&&o.settings.oneToOneTouch){var s=0;if("horizontal"==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;s=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;s=o.touch.originalPos.top+r}x(s,"reset",0)}},j=function(t){o.viewport.unbind("touchmove",F);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,"fade"==o.settings.mode){var n=Math.abs(o.touch.start.x-o.touch.end.x);n>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var n=0;"horizontal"==o.settings.mode?(n=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(n=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&n>0||o.active.last&&0>n)?x(i,"reset",200):Math.abs(n)>=o.settings.swipeThreshold?(0>n?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):x(i,"reset",200)}o.viewport.unbind("touchend",j)},W=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider(),o.settings.onSliderResize.call(r,o.active.index))};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?v()-1:e>=v()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),"next"==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):"prev"==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=v()-1,o.settings.pager&&D(o.active.index),o.settings.controls&&P(),"fade"==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=p()&&o.viewport.animate({height:p()},o.settings.adaptiveHeightSpeed),o.children.filter(":visible").fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css("zIndex",o.settings.slideZIndex+1).fadeIn(o.settings.speed,function(){t(this).css("zIndex",o.settings.slideZIndex),O()});else{o.settings.adaptiveHeight&&o.viewport.height()!=p()&&o.viewport.animate({height:p()},o.settings.adaptiveHeightSpeed);var n=0,s={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if("horizontal"==o.settings.mode){var a=o.children.eq(o.children.length-1);s=a.position(),n=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;s=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&"prev"==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-b():(v()-1)*b()-(o.children.length-o.settings.maxSlides),a=r.children(".bx-clone").eq(d);s=a.position()}else if("next"==i&&0==o.active.index)s=r.find("> .bx-clone").eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var h=e*b();s=o.children.eq(h).position()}if("undefined"!=typeof s){var c="horizontal"==o.settings.mode?-(s.left-n):-s.top;x(c,"slide",o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,"next")}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,"prev")}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){"next"==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&R("stop"))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&R("start"))},r.getCurrentSlide=function(){return o.active.index},r.getCurrentSlideElement=function(){return o.children.eq(o.active.index)},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(".bx-clone")).outerWidth(g()),o.viewport.css("height",p()),o.settings.ticker||y(),o.active.last&&(o.active.index=v()-1),o.active.index>=v()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),D(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(".bx-clone",this).remove(),o.children.each(function(){void 0!=t(this).data("origStyle")?t(this).attr("style",t(this).data("origStyle")):t(this).removeAttr("style")}),void 0!=t(this).data("origStyle")?this.attr("style",t(this).data("origStyle")):t(this).removeAttr("style"),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.settings.controls&&o.pagerEl.remove(),t(".bx-caption",this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind("resize",W))},r.reloadSlider=function(t){void 0!=t&&(s=t),r.destroySlider(),d()},d(),this}}(jQuery),!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return void(e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var i=t.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.on("click.validate",":submit",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(this).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(this).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.on("submit.validate",function(e){function n(){var n,s;return i.settings.submitHandler?(i.submitButton&&(n=t(" ").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),s=i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&n.remove(),void 0!==s?s:!1):!0}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,n()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):n():(i.focusInvalid(),!1)})),i)},valid:function(){var e,i,n;return t(this[0]).is("form")?e=this.validate().form():(n=[],e=!0,i=t(this[0].form).validate(),this.each(function(){e=i.element(this)&&e,n=n.concat(i.errorList)}),i.errorList=n),e},rules:function(e,i){var n,s,o,r,a,l,d=this[0];if(e)switch(n=t.data(d.form,"validator").settings,s=n.rules,o=t.validator.staticRules(d),e){case"add":t.extend(o,t.validator.normalizeRule(i)),delete o.messages,s[d.name]=o,i.messages&&(n.messages[d.name]=t.extend(n.messages[d.name],i.messages));
+break;case"remove":return i?(l={},t.each(i.split(/\s/),function(e,i){l[i]=o[i],delete o[i],"required"===i&&t(d).removeAttr("aria-required")}),l):(delete s[d.name],o)}return r=t.validator.normalizeRules(t.extend({},t.validator.classRules(d),t.validator.attributeRules(d),t.validator.dataRules(d),t.validator.staticRules(d)),d),r.required&&(a=r.required,delete r.required,r=t.extend({required:a},r),t(d).attr("aria-required","true")),r.remote&&(a=r.remote,delete r.remote,r=t.extend(r,{remote:a})),r}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(new RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(t)))},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(e,i){var n=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===i.which&&""===this.elementValue(e)||-1!==t.inArray(i.keyCode,n)||(e.name in this.submitted||e===this.lastElement)&&this.element(e)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,n){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(n):t(e).addClass(i).removeClass(n)},unhighlight:function(e,i,n){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(n):t(e).removeClass(i).addClass(n)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this.form,"validator"),n="on"+e.type.replace(/^validate/,""),s=i.settings;s[n]&&!t(this).is(s.ignore)&&s[n].call(i,this,e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i,n=this.groups={};t.each(this.settings.groups,function(e,i){"string"==typeof i&&(i=i.split(/\s/)),t.each(i,function(t,i){n[i]=e})}),i=this.settings.rules,t.each(i,function(e,n){i[e]=t.validator.normalizeRule(n)}),t(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",e).on("click.validate","select, option, [type='radio'], [type='checkbox']",e),this.settings.invalidHandler&&t(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),t(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){var i=this.clean(e),n=this.validationTargetFor(i),s=!0;return this.lastElement=n,void 0===n?delete this.invalid[i.name]:(this.prepareElement(n),this.currentElements=t(n),s=this.check(n)!==!1,s?delete this.invalid[n.name]:this.invalid[n.name]=!0),t(e).attr("aria-invalid",!s),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),s},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var e,i=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(e=0;i[e];e++)this.settings.unhighlight.call(this,i[e],this.settings.errorClass,"");else i.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e,i=0;for(e in t)i++;return i},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(t){t.not(this.containers).text(""),this.addWrapper(t).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!e.objectLength(t(this).rules())?!1:(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.split(" ").join(".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i,n=t(e),s=e.type;return"radio"===s||"checkbox"===s?this.findByName(e.name).filter(":checked").val():"number"===s&&"undefined"!=typeof e.validity?e.validity.badInput?!1:n.val():(i=n.val(),"string"==typeof i?i.replace(/\r/g,""):i)},check:function(e){e=this.validationTargetFor(this.clean(e));var i,n,s,o=t(e).rules(),r=t.map(o,function(t,e){return e}).length,a=!1,l=this.elementValue(e);for(n in o){s={method:n,parameters:o[n]};try{if(i=t.validator.methods[n].call(this,l,e,s.parameters),"dependency-mismatch"===i&&1===r){a=!0;continue}if(a=!1,"pending"===i)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!i)return this.formatAndAdd(e,s),!1}catch(d){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+s.method+"' method.",d),d instanceof TypeError&&(d.message+=". Exception occurred when checking element "+e.id+", check the '"+s.method+"' method."),d}}return a?void 0:(this.objectLength(o)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase())||t(e).data("msg")},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;tWarning: No message defined for "+e.name+"")},formatAndAdd:function(e,i){var n=this.defaultMessage(e,i.method),s=/\$?\{(\d+)\}/g;"function"==typeof n?n=n.call(this,i.parameters,e):s.test(n)&&(n=t.validator.format(n.replace(s,"{$1}"),i.parameters)),this.errorList.push({message:n,element:e,method:i.method}),this.errorMap[e.name]=n,this.submitted[e.name]=n},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e,i;for(t=0;this.errorList[t];t++)i=this.errorList[t],this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var n,s,o,r=this.errorsFor(e),a=this.idOrName(e),l=t(e).attr("aria-describedby");r.length?(r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),r.html(i)):(r=t("<"+this.settings.errorElement+">").attr("id",a+"-error").addClass(this.settings.errorClass).html(i||""),n=r,this.settings.wrapper&&(n=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(n):this.settings.errorPlacement?this.settings.errorPlacement(n,t(e)):n.insertAfter(e),r.is("label")?r.attr("for",a):0===r.parents("label[for='"+a+"']").length&&(o=r.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),l?l.match(new RegExp("\\b"+o+"\\b"))||(l+=" "+o):l=o,t(e).attr("aria-describedby",l),s=this.groups[e.name],s&&t.each(this.groups,function(e,i){i===s&&t("[name='"+e+"']",this.currentForm).attr("aria-describedby",r.attr("id"))}))),!i&&this.settings.success&&(r.text(""),"string"==typeof this.settings.success?r.addClass(this.settings.success):this.settings.success(r,e)),this.toShow=this.toShow.add(r)},errorsFor:function(e){var i=this.idOrName(e),n=t(e).attr("aria-describedby"),s="label[for='"+i+"'], label[for='"+i+"'] *";return n&&(s=s+", #"+n.replace(/\s+/g,", #")),this.errors().filter(s)},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(e){return this.checkable(e)&&(e=this.findByName(e.name)),t(e).not(this.settings.ignore)[0]},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return this.dependTypes[typeof t]?this.dependTypes[typeof t](t,e):!0},dependTypes:{"boolean":function(t){return t},string:function(e,i){return!!t(e,i.form).length},"function":function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})},destroy:function(){this.resetForm(),t(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},n=t(e).attr("class");return n&&t.each(n.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},normalizeAttributeRule:function(t,e,i,n){/min|max/.test(i)&&(null===e||/number|range|text/.test(e))&&(n=Number(n),isNaN(n)&&(n=void 0)),n||0===n?t[i]=n:e===i&&"range"!==e&&(t[i]=!0)},attributeRules:function(e){var i,n,s={},o=t(e),r=e.getAttribute("type");for(i in t.validator.methods)"required"===i?(n=e.getAttribute(i),""===n&&(n=!0),n=!!n):n=o.attr(i),this.normalizeAttributeRule(s,r,i,n);return s.maxlength&&/-1|2147483647|524288/.test(s.maxlength)&&delete s.maxlength,s},dataRules:function(e){var i,n,s={},o=t(e),r=e.getAttribute("type");for(i in t.validator.methods)n=o.data("rule"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase()),this.normalizeAttributeRule(s,r,i,n);return s},staticRules:function(e){var i={},n=t.data(e.form,"validator");return n.settings.rules&&(i=t.validator.normalizeRule(n.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(n,s){if(s===!1)return void delete e[n];if(s.param||s.depends){var o=!0;switch(typeof s.depends){case"string":o=!!t(s.depends,i.form).length;break;case"function":o=s.depends.call(i,i)}o?e[n]=void 0!==s.param?s.param:!0:delete e[n]}}),t.each(e,function(n,s){e[n]=t.isFunction(s)?s(i):s}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].replace(/[\[\]]/g,"").split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(null!=e.min&&null!=e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),null!=e.minlength&&null!=e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,n){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==n?n:t.validator.messages[e],i.length<3&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,n){if(!this.depend(n,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var s=t(i).val();return s&&s.length>0}return this.checkable(i)?this.getLength(e,i)>0:e.length>0},email:function(t,e){return this.optional(e)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)},url:function(t,e){return this.optional(e)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(new Date(t).toString())},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)},number:function(t,e){return this.optional(e)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i,n,s=0,o=0,r=!1;if(t=t.replace(/\D/g,""),t.length<13||t.length>19)return!1;for(i=t.length-1;i>=0;i--)n=t.charAt(i),o=parseInt(n,10),r&&(o*=2)>9&&(o-=9),s+=o,r=!r;return s%10===0},minlength:function(e,i,n){var s=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||s>=n},maxlength:function(e,i,n){var s=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||n>=s},rangelength:function(e,i,n){var s=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||s>=n[0]&&s<=n[1]},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&t<=i[1]},equalTo:function(e,i,n){var s=t(n);return this.settings.onfocusout&&s.off(".validate-equalTo").on("blur.validate-equalTo",function(){t(i).valid()}),e===s.val()},remote:function(e,i,n){if(this.optional(i))return"dependency-mismatch";var s,o,r=this.previousValue(i);return this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,n="string"==typeof n&&{url:n}||n,r.old===e?r.valid:(r.old=e,s=this,this.startRequest(i),o={},o[i.name]=e,t.ajax(t.extend(!0,{mode:"abort",port:"validate"+i.name,dataType:"json",data:o,context:s.currentForm,success:function(n){var o,a,l,d=n===!0||"true"===n;s.settings.messages[i.name].remote=r.originalMessage,d?(l=s.formSubmitted,s.prepareElement(i),s.formSubmitted=l,s.successList.push(i),delete s.invalid[i.name],s.showErrors()):(o={},a=n||s.defaultMessage(i,"remote"),o[i.name]=r.message=t.isFunction(a)?a(e):a,s.invalid[i.name]=!0,s.showErrors(o)),r.valid=d,s.stopRequest(i,d)}},n)),"pending")}}});var e,i={};t.ajaxPrefilter?t.ajaxPrefilter(function(t,e,n){var s=t.port;"abort"===t.mode&&(i[s]&&i[s].abort(),i[s]=n)}):(e=t.ajax,t.ajax=function(n){var s=("mode"in n?n:t.ajaxSettings).mode,o=("port"in n?n:t.ajaxSettings).port;return"abort"===s?(i[o]&&i[o].abort(),i[o]=e.apply(this,arguments),i[o]):e.apply(this,arguments)})});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/lightbox-plus-jquery.min.js b/deployed/trada/templates/trada/skins/light/js/lightbox-plus-jquery.min.js
new file mode 100644
index 00000000..e4689f4c
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/lightbox-plus-jquery.min.js
@@ -0,0 +1,444 @@
+/*!
+ * Lightbox v2.8.1
+ * by Lokesh Dhakar
+ *
+ * More info:
+ * http://lokeshdhakar.com/projects/lightbox2/
+ *
+ * Copyright 2007, 2015 Lokesh Dhakar
+ * Released under the MIT license
+ * https://github.com/lokesh/lightbox2/blob/master/LICENSE
+ */
+
+// Uses Node, AMD or browser globals to create a module.
+(function (root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(['jquery'], factory);
+ } else if (typeof exports === 'object') {
+ // Node. Does not work with strict CommonJS, but
+ // only CommonJS-like environments that support module.exports,
+ // like Node.
+ module.exports = factory(require('jquery'));
+ } else {
+ // Browser globals (root is window)
+ root.lightbox = factory(root.jQuery);
+ }
+}(this, function ($) {
+
+ function Lightbox(options) {
+ this.album = [];
+ this.currentImageIndex = void 0;
+ this.init();
+
+ // options
+ this.options = $.extend({}, this.constructor.defaults);
+ this.option(options);
+ }
+
+ // Descriptions of all options available on the demo site:
+ // http://lokeshdhakar.com/projects/lightbox2/index.html#options
+ Lightbox.defaults = {
+ albumLabel: 'Image %1 of %2',
+ alwaysShowNavOnTouchDevices: false,
+ fadeDuration: 500,
+ fitImagesInViewport: true,
+ // maxWidth: 800,
+ // maxHeight: 600,
+ positionFromTop: 50,
+ resizeDuration: 700,
+ showImageNumberLabel: true,
+ wrapAround: false
+ };
+
+ Lightbox.prototype.option = function(options) {
+ $.extend(this.options, options);
+ };
+
+ Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) {
+ return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages);
+ };
+
+ Lightbox.prototype.init = function() {
+ this.enable();
+ this.build();
+ };
+
+ // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
+ // that contain 'lightbox'. When these are clicked, start lightbox.
+ Lightbox.prototype.enable = function() {
+ var self = this;
+ $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
+ self.start($(event.currentTarget));
+ return false;
+ });
+ };
+
+ // Build html for the lightbox and the overlay.
+ // Attach event handlers to the new DOM elements. click click click
+ Lightbox.prototype.build = function() {
+ var self = this;
+ $('
').appendTo($('body'));
+
+ // Cache jQuery objects
+ this.$lightbox = $('#lightbox');
+ this.$overlay = $('#lightboxOverlay');
+ this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
+ this.$container = this.$lightbox.find('.lb-container');
+
+ // Store css values for future lookup
+ this.containerTopPadding = parseInt(this.$container.css('padding-top'), 10);
+ this.containerRightPadding = parseInt(this.$container.css('padding-right'), 10);
+ this.containerBottomPadding = parseInt(this.$container.css('padding-bottom'), 10);
+ this.containerLeftPadding = parseInt(this.$container.css('padding-left'), 10);
+
+ // Attach event handlers to the newly minted DOM elements
+ this.$overlay.hide().on('click', function() {
+ self.end();
+ return false;
+ });
+
+ this.$lightbox.hide().on('click', function(event) {
+ if ($(event.target).attr('id') === 'lightbox') {
+ self.end();
+ }
+ return false;
+ });
+
+ this.$outerContainer.on('click', function(event) {
+ if ($(event.target).attr('id') === 'lightbox') {
+ self.end();
+ }
+ return false;
+ });
+
+ this.$lightbox.find('.lb-prev').on('click', function() {
+ if (self.currentImageIndex === 0) {
+ self.changeImage(self.album.length - 1);
+ } else {
+ self.changeImage(self.currentImageIndex - 1);
+ }
+ return false;
+ });
+
+ this.$lightbox.find('.lb-next').on('click', function() {
+ if (self.currentImageIndex === self.album.length - 1) {
+ self.changeImage(0);
+ } else {
+ self.changeImage(self.currentImageIndex + 1);
+ }
+ return false;
+ });
+
+ this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
+ self.end();
+ return false;
+ });
+ };
+
+ // Show overlay and lightbox. If the image is part of a set, add siblings to album array.
+ Lightbox.prototype.start = function($link) {
+ var self = this;
+ var $window = $(window);
+
+ $window.on('resize', $.proxy(this.sizeOverlay, this));
+
+ $('select, object, embed').css({
+ visibility: 'hidden'
+ });
+
+ this.sizeOverlay();
+
+ this.album = [];
+ var imageNumber = 0;
+
+ function addToAlbum($link) {
+ self.album.push({
+ link: $link.attr('href'),
+ title: $link.attr('data-title') || $link.attr('title')
+ });
+ }
+
+ // Support both data-lightbox attribute and rel attribute implementations
+ var dataLightboxValue = $link.attr('data-lightbox');
+ var $links;
+
+ if (dataLightboxValue) {
+ $links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
+ for (var i = 0; i < $links.length; i = ++i) {
+ addToAlbum($($links[i]));
+ if ($links[i] === $link[0]) {
+ imageNumber = i;
+ }
+ }
+ } else {
+ if ($link.attr('rel') === 'lightbox') {
+ // If image is not part of a set
+ addToAlbum($link);
+ } else {
+ // If image is part of a set
+ $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
+ for (var j = 0; j < $links.length; j = ++j) {
+ addToAlbum($($links[j]));
+ if ($links[j] === $link[0]) {
+ imageNumber = j;
+ }
+ }
+ }
+ }
+
+ // Position Lightbox
+ var top = $window.scrollTop() + this.options.positionFromTop;
+ var left = $window.scrollLeft();
+ this.$lightbox.css({
+ top: top + 'px',
+ left: left + 'px'
+ }).fadeIn(this.options.fadeDuration);
+
+ this.changeImage(imageNumber);
+ };
+
+ // Hide most UI elements in preparation for the animated resizing of the lightbox.
+ Lightbox.prototype.changeImage = function(imageNumber) {
+ var self = this;
+
+ this.disableKeyboardNav();
+ var $image = this.$lightbox.find('.lb-image');
+
+ this.$overlay.fadeIn(this.options.fadeDuration);
+
+ $('.lb-loader').fadeIn('slow');
+ this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
+
+ this.$outerContainer.addClass('animating');
+
+ // When image to show is preloaded, we send the width and height to sizeContainer()
+ var preloader = new Image();
+ preloader.onload = function() {
+ var $preloader;
+ var imageHeight;
+ var imageWidth;
+ var maxImageHeight;
+ var maxImageWidth;
+ var windowHeight;
+ var windowWidth;
+
+ $image.attr('src', self.album[imageNumber].link);
+
+ $preloader = $(preloader);
+
+ $image.width(preloader.width);
+ $image.height(preloader.height);
+
+ if (self.options.fitImagesInViewport) {
+ // Fit image inside the viewport.
+ // Take into account the border around the image and an additional 10px gutter on each side.
+
+ windowWidth = $(window).width();
+ windowHeight = $(window).height();
+ maxImageWidth = windowWidth - self.containerLeftPadding - self.containerRightPadding - 20;
+ maxImageHeight = windowHeight - self.containerTopPadding - self.containerBottomPadding - 120;
+
+ // Check if image size is larger then maxWidth|maxHeight in settings
+ if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) {
+ maxImageWidth = self.options.maxWidth;
+ }
+ if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) {
+ maxImageHeight = self.options.maxHeight;
+ }
+
+ // Is there a fitting issue?
+ if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
+ if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
+ imageWidth = maxImageWidth;
+ imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
+ $image.width(imageWidth);
+ $image.height(imageHeight);
+ } else {
+ imageHeight = maxImageHeight;
+ imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
+ $image.width(imageWidth);
+ $image.height(imageHeight);
+ }
+ }
+ }
+ self.sizeContainer($image.width(), $image.height());
+ };
+
+ preloader.src = this.album[imageNumber].link;
+ this.currentImageIndex = imageNumber;
+ };
+
+ // Stretch overlay to fit the viewport
+ Lightbox.prototype.sizeOverlay = function() {
+ this.$overlay
+ .width($(window).width())
+ .height($(document).height());
+ };
+
+ // Animate the size of the lightbox to fit the image we are showing
+ Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
+ var self = this;
+
+ var oldWidth = this.$outerContainer.outerWidth();
+ var oldHeight = this.$outerContainer.outerHeight();
+ var newWidth = imageWidth + this.containerLeftPadding + this.containerRightPadding;
+ var newHeight = imageHeight + this.containerTopPadding + this.containerBottomPadding;
+
+ function postResize() {
+ self.$lightbox.find('.lb-dataContainer').width(newWidth);
+ self.$lightbox.find('.lb-prevLink').height(newHeight);
+ self.$lightbox.find('.lb-nextLink').height(newHeight);
+ self.showImage();
+ }
+
+ if (oldWidth !== newWidth || oldHeight !== newHeight) {
+ this.$outerContainer.animate({
+ width: newWidth,
+ height: newHeight
+ }, this.options.resizeDuration, 'swing', function() {
+ postResize();
+ });
+ } else {
+ postResize();
+ }
+ };
+
+ // Display the image and its details and begin preload neighboring images.
+ Lightbox.prototype.showImage = function() {
+ this.$lightbox.find('.lb-loader').stop(true).hide();
+ this.$lightbox.find('.lb-image').fadeIn('slow');
+
+ this.updateNav();
+ this.updateDetails();
+ this.preloadNeighboringImages();
+ this.enableKeyboardNav();
+ };
+
+ // Display previous and next navigation if appropriate.
+ Lightbox.prototype.updateNav = function() {
+ // Check to see if the browser supports touch events. If so, we take the conservative approach
+ // and assume that mouse hover events are not supported and always show prev/next navigation
+ // arrows in image sets.
+ var alwaysShowNav = false;
+ try {
+ document.createEvent('TouchEvent');
+ alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;
+ } catch (e) {}
+
+ this.$lightbox.find('.lb-nav').show();
+
+ if (this.album.length > 1) {
+ if (this.options.wrapAround) {
+ if (alwaysShowNav) {
+ this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
+ }
+ this.$lightbox.find('.lb-prev, .lb-next').show();
+ } else {
+ if (this.currentImageIndex > 0) {
+ this.$lightbox.find('.lb-prev').show();
+ if (alwaysShowNav) {
+ this.$lightbox.find('.lb-prev').css('opacity', '1');
+ }
+ }
+ if (this.currentImageIndex < this.album.length - 1) {
+ this.$lightbox.find('.lb-next').show();
+ if (alwaysShowNav) {
+ this.$lightbox.find('.lb-next').css('opacity', '1');
+ }
+ }
+ }
+ }
+ };
+
+ // Display caption, image number, and closing button.
+ Lightbox.prototype.updateDetails = function() {
+ var self = this;
+
+ // Enable anchor clicks in the injected caption html.
+ // Thanks Nate Wright for the fix. @https://github.com/NateWr
+ if (typeof this.album[this.currentImageIndex].title !== 'undefined' &&
+ this.album[this.currentImageIndex].title !== '') {
+ this.$lightbox.find('.lb-caption')
+ .html(this.album[this.currentImageIndex].title)
+ .fadeIn('fast')
+ .find('a').on('click', function(event) {
+ if ($(this).attr('target') !== undefined) {
+ window.open($(this).attr('href'), $(this).attr('target'));
+ } else {
+ location.href = $(this).attr('href');
+ }
+ });
+ }
+
+ if (this.album.length > 1 && this.options.showImageNumberLabel) {
+ var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
+ this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
+ } else {
+ this.$lightbox.find('.lb-number').hide();
+ }
+
+ this.$outerContainer.removeClass('animating');
+
+ this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
+ return self.sizeOverlay();
+ });
+ };
+
+ // Preload previous and next images in set.
+ Lightbox.prototype.preloadNeighboringImages = function() {
+ if (this.album.length > this.currentImageIndex + 1) {
+ var preloadNext = new Image();
+ preloadNext.src = this.album[this.currentImageIndex + 1].link;
+ }
+ if (this.currentImageIndex > 0) {
+ var preloadPrev = new Image();
+ preloadPrev.src = this.album[this.currentImageIndex - 1].link;
+ }
+ };
+
+ Lightbox.prototype.enableKeyboardNav = function() {
+ $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
+ };
+
+ Lightbox.prototype.disableKeyboardNav = function() {
+ $(document).off('.keyboard');
+ };
+
+ Lightbox.prototype.keyboardAction = function(event) {
+ var KEYCODE_ESC = 27;
+ var KEYCODE_LEFTARROW = 37;
+ var KEYCODE_RIGHTARROW = 39;
+
+ var keycode = event.keyCode;
+ var key = String.fromCharCode(keycode).toLowerCase();
+ if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
+ this.end();
+ } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
+ if (this.currentImageIndex !== 0) {
+ this.changeImage(this.currentImageIndex - 1);
+ } else if (this.options.wrapAround && this.album.length > 1) {
+ this.changeImage(this.album.length - 1);
+ }
+ } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
+ if (this.currentImageIndex !== this.album.length - 1) {
+ this.changeImage(this.currentImageIndex + 1);
+ } else if (this.options.wrapAround && this.album.length > 1) {
+ this.changeImage(0);
+ }
+ }
+ };
+
+ // Closing time. :-(
+ Lightbox.prototype.end = function() {
+ this.disableKeyboardNav();
+ $(window).off('resize', this.sizeOverlay);
+ this.$lightbox.fadeOut(this.options.fadeDuration);
+ this.$overlay.fadeOut(this.options.fadeDuration);
+ $('select, object, embed').css({
+ visibility: 'visible'
+ });
+ };
+
+ return new Lightbox();
+}));
diff --git a/deployed/trada/templates/trada/skins/light/js/masonry.min.js b/deployed/trada/templates/trada/skins/light/js/masonry.min.js
new file mode 100644
index 00000000..b9898baf
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/masonry.min.js
@@ -0,0 +1,2 @@
+function MesonaryPortfolio(){var t=document.querySelector("#t-our_work_1"),e=new Masonry(t,{isFitWidth:!0});imagesLoaded(t,function(){e.layout()});var n=document.querySelector("#t-our_work_2"),e=new Masonry(n,{isFitWidth:!0});imagesLoaded(n,function(){e.layout()});var i=document.querySelector("#t-our_work_3"),e=new Masonry(i,{isFitWidth:!0});imagesLoaded(i,function(){e.layout()});var o=document.querySelector("#t-our_work_4"),e=new Masonry(o,{isFitWidth:!0});imagesLoaded(o,function(){e.layout()});var r=document.querySelector("#t-our_work_5"),e=new Masonry(r,{isFitWidth:!0});imagesLoaded(r,function(){e.layout()})}(function(){function t(){}function e(t,e){for(var n=t.length;n--;)if(t[n].listener===e)return n;return-1}function n(t){return function(){return this[t].apply(this,arguments)}}var i=t.prototype,o=this,r=o.EventEmitter;i.getListeners=function(t){var e,n,i=this._getEvents();if("object"==typeof t){e={};for(n in i)i.hasOwnProperty(n)&&t.test(n)&&(e[n]=i[n])}else e=i[t]||(i[t]=[]);return e},i.flattenListeners=function(t){var e,n=[];for(e=0;t.length>e;e+=1)n.push(t[e].listener);return n},i.getListenersAsObject=function(t){var e,n=this.getListeners(t);return n instanceof Array&&(e={},e[t]=n),e||n},i.addListener=function(t,n){var i,o=this.getListenersAsObject(t),r="object"==typeof n;for(i in o)o.hasOwnProperty(i)&&-1===e(o[i],n)&&o[i].push(r?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(t){return this.getListeners(t),this},i.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},i.removeListener=function(t,n){var i,o,r=this.getListenersAsObject(t);for(o in r)r.hasOwnProperty(o)&&(i=e(r[o],n),-1!==i&&r[o].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},i.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},i.manipulateListeners=function(t,e,n){var i,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(i=n.length;i--;)r.call(this,e,n[i]);else for(i in e)e.hasOwnProperty(i)&&(o=e[i])&&("function"==typeof o?r.call(this,i,o):s.call(this,i,o));return this},i.removeEvent=function(t){var e,n=typeof t,i=this._getEvents();if("string"===n)delete i[t];else if("object"===n)for(e in i)i.hasOwnProperty(e)&&t.test(e)&&delete i[e];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(t,e){var n,i,o,r,s=this.getListenersAsObject(t);for(o in s)if(s.hasOwnProperty(o))for(i=s[o].length;i--;)n=s[o][i],n.once===!0&&this.removeListener(t,n.listener),r=n.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},i.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return o.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}).call(this),function(t){function e(e){var n=t.event;return n.target=n.target||n.srcElement||e,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(t,e,n){t.addEventListener(e,n,!1)}:n.attachEvent&&(i=function(t,n,i){t[n+i]=i.handleEvent?function(){var n=e(t);i.handleEvent.call(i,n)}:function(){var n=e(t);i.call(t,n)},t.attachEvent("on"+n,t[n+i])});var o=function(){};n.removeEventListener?o=function(t,e,n){t.removeEventListener(e,n,!1)}:n.detachEvent&&(o=function(t,e,n){t.detachEvent("on"+e,t[e+n]);try{delete t[e+n]}catch(i){t[e+n]=void 0}});var r={bind:i,unbind:o};"function"==typeof define&&define.amd?define("eventie/eventie",r):t.eventie=r}(this),function(t,e){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return e(t,n,i)}):"object"==typeof exports?module.exports=e(t,require("wolfy87-eventemitter"),require("eventie")):t.imagesLoaded=e(t,t.EventEmitter,t.eventie)}(window,function(t,e,n){function i(t,e){for(var n in e)t[n]=e[n];return t}function o(t){return"[object Array]"===c.call(t)}function r(t){var e=[];if(o(t))e=t;else if("number"==typeof t.length)for(var n=0,i=t.length;i>n;n++)e.push(t[n]);else e.push(t);return e}function s(t,e,n){if(!(this instanceof s))return new s(t,e);"string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=r(t),this.options=i({},this.options),"function"==typeof e?n=e:i(this.options,e),n&&this.on("always",n),this.getImages(),u&&(this.jqDeferred=new u.Deferred);var o=this;setTimeout(function(){o.check()})}function a(t){this.img=t}function h(t){this.src=t,d[t]=this}var u=t.jQuery,f=t.console,p=void 0!==f,c=Object.prototype.toString;s.prototype=new e,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var t=0,e=this.elements.length;e>t;t++){var n=this.elements[t];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var o=n.querySelectorAll("img"),r=0,s=o.length;s>r;r++){var a=o[r];this.addImage(a)}}},s.prototype.addImage=function(t){var e=new a(t);this.images.push(e)},s.prototype.check=function(){function t(t,o){return e.options.debug&&p&&f.log("confirm",t,o),e.progress(t),n++,n===i&&e.complete(),!0}var e=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return void this.complete();for(var o=0;i>o;o++){var r=this.images[o];r.on("confirm",t),r.check()}},s.prototype.progress=function(t){this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded;var e=this;setTimeout(function(){e.emit("progress",e,t),e.jqDeferred&&e.jqDeferred.notify&&e.jqDeferred.notify(e,t)})},s.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var e=this;setTimeout(function(){if(e.emit(t,e),e.emit("always",e),e.jqDeferred){var n=e.hasAnyBroken?"reject":"resolve";e.jqDeferred[n](e)}})},u&&(u.fn.imagesLoaded=function(t,e){var n=new s(this,t,e);return n.jqDeferred.promise(u(this))}),a.prototype=new e,a.prototype.check=function(){var t=d[this.img.src]||new h(this.img.src);if(t.isConfirmed)return void this.confirm(t.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var e=this;t.on("confirm",function(t,n){return e.confirm(t.isLoaded,n),!0}),t.check()},a.prototype.confirm=function(t,e){this.isLoaded=t,this.emit("confirm",this,e)};var d={};return h.prototype=new e,h.prototype.check=function(){if(!this.isChecked){var t=new Image;n.bind(t,"load",this),n.bind(t,"error",this),t.src=this.src,this.isChecked=!0}},h.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(t){this.confirm(!0,"onload"),this.unbindProxyEvents(t)},h.prototype.onerror=function(t){this.confirm(!1,"onerror"),this.unbindProxyEvents(t)},h.prototype.confirm=function(t,e){this.isConfirmed=!0,this.isLoaded=t,this.emit("confirm",this,e)},h.prototype.unbindProxyEvents=function(t){n.unbind(t.target,"load",this),n.unbind(t.target,"error",this)},s}),!function(t){function e(){}function n(t){function n(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function o(e,n){t.fn[e]=function(o){if("string"==typeof o){for(var s=i.call(arguments,1),a=0,h=this.length;h>a;a++){var u=this[a],f=t.data(u,e);if(f)if(t.isFunction(f[o])&&"_"!==o.charAt(0)){var p=f[o].apply(f,s);if(void 0!==p)return p}else r("no such method '"+o+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; attempted to call '"+o+"'")}return this}return this.each(function(){var i=t.data(this,e);i?(i.option(o),i._init()):(i=new n(this,o),t.data(this,e,i))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){n(e),o(t,e)},t.bridget}}var i=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],n):n(t.jQuery)}(window),function(t){function e(e){var n=t.event;return n.target=n.target||n.srcElement||e,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(t,e,n){t.addEventListener(e,n,!1)}:n.attachEvent&&(i=function(t,n,i){t[n+i]=i.handleEvent?function(){var n=e(t);i.handleEvent.call(i,n)}:function(){var n=e(t);i.call(t,n)},t.attachEvent("on"+n,t[n+i])});var o=function(){};n.removeEventListener?o=function(t,e,n){t.removeEventListener(e,n,!1)}:n.detachEvent&&(o=function(t,e,n){t.detachEvent("on"+e,t[e+n]);try{delete t[e+n]}catch(i){t[e+n]=void 0}});var r={bind:i,unbind:o};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(this),function(t){function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function n(t){var n="readystatechange"===t.type&&"complete"!==o.readyState;if(!e.isReady&&!n){e.isReady=!0;for(var i=0,s=r.length;s>i;i++){var a=r[i];a()}}}function i(i){return i.bind(o,"DOMContentLoaded",n),i.bind(o,"readystatechange",n),i.bind(t,"load",n),e}var o=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],i)):t.docReady=i(t.eventie)}(this),function(){function t(){}function e(t,e){for(var n=t.length;n--;)if(t[n].listener===e)return n;return-1}function n(t){return function(){return this[t].apply(this,arguments)}}var i=t.prototype,o=this,r=o.EventEmitter;i.getListeners=function(t){var e,n,i=this._getEvents();if(t instanceof RegExp){e={};for(n in i)i.hasOwnProperty(n)&&t.test(n)&&(e[n]=i[n])}else e=i[t]||(i[t]=[]);return e},i.flattenListeners=function(t){var e,n=[];for(e=0;eo;o++)if(e=n[o]+t,"string"==typeof i[e])return e}}var n="Webkit Moz ms Ms O".split(" "),i=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),n=-1===t.indexOf("%")&&!isNaN(e);return n&&e}function n(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,n=s.length;n>e;e++){var i=s[e];t[i]=0}return t}function i(t){function i(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var i=r(t);if("none"===i.display)return n();var o={};o.width=t.offsetWidth,o.height=t.offsetHeight;for(var f=o.isBorderBox=!(!u||!i[u]||"border-box"!==i[u]),p=0,c=s.length;c>p;p++){var d=s[p],l=i[d];l=a(t,l);var m=parseFloat(l);o[d]=isNaN(m)?0:m}var y=o.paddingLeft+o.paddingRight,v=o.paddingTop+o.paddingBottom,g=o.marginLeft+o.marginRight,E=o.marginTop+o.marginBottom,L=o.borderLeftWidth+o.borderRightWidth,b=o.borderTopWidth+o.borderBottomWidth,_=f&&h,w=e(i.width);w!==!1&&(o.width=w+(_?0:y+L));var x=e(i.height);return x!==!1&&(o.height=x+(_?0:v+b)),o.innerWidth=o.width-(y+L),o.innerHeight=o.height-(v+b),o.outerWidth=o.width+g,o.outerHeight=o.height+E,o}}function a(t,e){if(o||-1===e.indexOf("%"))return e;var n=t.style,i=n.left,r=t.runtimeStyle,s=r&&r.left;return s&&(r.left=t.currentStyle.left),n.left=e,e=n.pixelLeft,n.left=i,s&&(r.left=s),e}var h,u=t("boxSizing");return function(){if(u){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[u]="border-box";var n=document.body||document.documentElement;n.appendChild(t);var i=r(t);h=200===e(i.width),n.removeChild(t)}}(),i}var o=t.getComputedStyle,r=o?function(t){return o(t,null)}:function(t){return t.currentStyle},s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],i):"object"==typeof exports?module.exports=i(require("get-style-property")):t.getSize=i(t.getStyleProperty)}(window),function(t,e){function n(t,e){return t[a](e)}function i(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function o(t,e){i(t);for(var n=t.parentNode.querySelectorAll(e),o=0,r=n.length;r>o;o++)if(n[o]===t)return!0;return!1}function r(t,e){return i(t),n(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],n=0,i=t.length;i>n;n++){var o=t[n],r=o+"MatchesSelector";if(e[r])return r}}();if(a){var h=document.createElement("div"),u=n(h,"div");s=u?n:r}else s=o;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){function e(t,e){for(var n in e)t[n]=e[n];return t}function n(t){for(var e in t)return!1;return e=null,!0}function i(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function o(t,o,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var h=r("transition"),u=r("transform"),f=h&&u,p=!!r("perspective"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[h],d=["transform","transition","transitionDuration","transitionProperty"],l=function(){for(var t={},e=0,n=d.length;n>e;e++){var i=d[e],o=r(i);o&&o!==i&&(t[i]=o)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=o(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var n in t){var i=l[n]||n;e[i]=t[n]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,n=e.isOriginLeft,i=e.isOriginTop,o=parseInt(t[n?"left":"right"],10),r=parseInt(t[i?"top":"bottom"],10);o=isNaN(o)?0:o,r=isNaN(r)?0:r;var a=this.layout.size;o-=n?a.paddingLeft:a.paddingRight,r-=i?a.paddingTop:a.paddingBottom,this.position.x=o,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,n={};e.isOriginLeft?(n.left=this.position.x+t.paddingLeft+"px",n.right=""):(n.right=this.position.x+t.paddingRight+"px",n.left=""),e.isOriginTop?(n.top=this.position.y+t.paddingTop+"px",n.bottom=""):(n.bottom=this.position.y+t.paddingBottom+"px",n.top=""),this.css(n),this.emitEvent("layout",[this])};var m=p?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var n=this.position.x,i=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return void this.layoutPosition();var a=t-n,h=e-i,u={},f=this.layout.options;a=f.isOriginLeft?a:-a,h=f.isOriginTop?h:-h,u.transform=m(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=f?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var n in t.onTransitionEnd)e.onEnd[n]=t.onTransitionEnd[n];for(n in t.to)e.ingProperties[n]=!0,t.isCleaning&&(e.clean[n]=!0);if(t.from){this.css(t.from);var i=this.element.offsetHeight;i=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var y=u&&i(u)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:y,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(c,this,!1))},a.prototype.transition=a.prototype[h?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var v={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,i=v[t.propertyName]||t.propertyName;if(delete e.ingProperties[i],n(e.ingProperties)&&this.disableTransition(),i in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[i]),i in e.onEnd){var o=e.onEnd[i];o.call(this),delete e.onEnd[i]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(c,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var n in t)e[n]="";this.css(e)};var g={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(g)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!h||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=t.getComputedStyle,s=r?function(t){return r(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],o):(t.Outlayer={},t.Outlayer.Item=o(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){function e(t,e){for(var n in e)t[n]=e[n];return t}function n(t){return"[object Array]"===p.call(t)}function i(t){var e=[];if(n(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0,o=t.length;o>i;i++)e.push(t[i]);else e.push(t);return e}function o(t,e){var n=d(e,t);-1!==n&&e.splice(n,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,n){return e+"-"+n}).toLowerCase()}function s(n,s,p,d,l,m){function y(t,n){if("string"==typeof t&&(t=a.querySelector(t)),!t||!c(t))return void(h&&h.error("Bad "+this.constructor.namespace+" element: "+t));this.element=t,this.options=e({},this.constructor.defaults),this.option(n);var i=++v;this.element.outlayerGUID=i,g[i]=this,this._create(),this.options.isInitLayout&&this.layout()}var v=0,g={};return y.namespace="outlayer",y.Item=m,y.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e(y.prototype,p.prototype),y.prototype.option=function(t){e(this.options,t)},y.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},y.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},y.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),n=this.constructor.Item,i=[],o=0,r=e.length;r>o;o++){var s=e[o],a=new n(s,this);i.push(a)}return i},y.prototype._filterFindItemElements=function(t){t=i(t);for(var e=this.options.itemSelector,n=[],o=0,r=t.length;r>o;o++){var s=t[o];if(c(s))if(e){l(s,e)&&n.push(s);for(var a=s.querySelectorAll(e),h=0,u=a.length;u>h;h++)n.push(a[h])}else n.push(s)}return n},y.prototype.getItemElements=function(){for(var t=[],e=0,n=this.items.length;n>e;e++)t.push(this.items[e].element);return t},y.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},y.prototype._init=y.prototype.layout,y.prototype._resetLayout=function(){this.getSize()},y.prototype.getSize=function(){this.size=d(this.element)},y.prototype._getMeasurement=function(t,e){var n,i=this.options[t];i?("string"==typeof i?n=this.element.querySelector(i):c(i)&&(n=i),this[t]=n?d(n)[e]:i):this[t]=0},y.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},y.prototype._getItemsForLayout=function(t){for(var e=[],n=0,i=t.length;i>n;n++){var o=t[n];o.isIgnored||e.push(o)}return e},y.prototype._layoutItems=function(t,e){function n(){i.emitEvent("layoutComplete",[i,t])}var i=this;if(!t||!t.length)return void n();this._itemsOn(t,"layout",n);for(var o=[],r=0,s=t.length;s>r;r++){var a=t[r],h=this._getItemLayoutPosition(a);h.item=a,h.isInstant=e||a.isLayoutInstant,o.push(h)}this._processLayoutQueue(o)},y.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},y.prototype._processLayoutQueue=function(t){for(var e=0,n=t.length;n>e;e++){var i=t[e];this._positionItem(i.item,i.x,i.y,i.isInstant)}},y.prototype._positionItem=function(t,e,n,i){i?t.goTo(e,n):t.moveTo(e,n)},y.prototype._postLayout=function(){this.resizeContainer()},y.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},y.prototype._getContainerSize=f,y.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var n=this.size;n.isBorderBox&&(t+=e?n.paddingLeft+n.paddingRight+n.borderLeftWidth+n.borderRightWidth:n.paddingBottom+n.paddingTop+n.borderTopWidth+n.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},y.prototype._itemsOn=function(t,e,n){function i(){return o++,o===r&&n.call(s),!0}for(var o=0,r=t.length,s=this,a=0,h=t.length;h>a;a++){var u=t[a];u.on(e,i)}},y.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},y.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},y.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.concat(t);for(var e=0,n=t.length;n>e;e++){var i=t[e];this.ignore(i)}}},y.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,n=t.length;n>e;e++){var i=t[e];o(i,this.stamps),this.unignore(i)}},y.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=i(t)):void 0},y.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var n=this.stamps[t];this._manageStamp(n)}}},y.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},y.prototype._manageStamp=f,y.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,i=d(t),o={left:e.left-n.left-i.marginLeft,top:e.top-n.top-i.marginTop,right:n.right-e.right-i.marginRight,bottom:n.bottom-e.bottom-i.marginBottom};return o},y.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},y.prototype.bindResize=function(){this.isResizeBound||(n.bind(t,"resize",this),this.isResizeBound=!0)},y.prototype.unbindResize=function(){this.isResizeBound&&n.unbind(t,"resize",this),this.isResizeBound=!1},y.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},y.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},y.prototype.needsResizeLayout=function(){var t=d(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},y.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},y.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},y.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var n=this.items.slice(0);this.items=e.concat(n),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(n)}},y.prototype.reveal=function(t){var e=t&&t.length;if(e)for(var n=0;e>n;n++){var i=t[n];i.reveal()}},y.prototype.hide=function(t){var e=t&&t.length;if(e)for(var n=0;e>n;n++){var i=t[n];i.hide()}},y.prototype.getItem=function(t){for(var e=0,n=this.items.length;n>e;e++){var i=this.items[e];if(i.element===t)return i}},y.prototype.getItems=function(t){if(t&&t.length){for(var e=[],n=0,i=t.length;i>n;n++){var o=t[n],r=this.getItem(o);r&&e.push(r)}return e}},y.prototype.remove=function(t){t=i(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var n=0,r=e.length;r>n;n++){var s=e[n];s.remove(),o(s,this.items)}}},y.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,n=this.items.length;n>e;e++){var i=this.items[e];i.destroy()}this.unbindResize(),delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},y.data=function(t){var e=t&&t.outlayerGUID;return e&&g[e]},y.create=function(t,n){function i(){y.apply(this,arguments)}return Object.create?i.prototype=Object.create(y.prototype):e(i.prototype,y.prototype),i.prototype.constructor=i,i.defaults=e({},y.defaults),e(i.defaults,n),i.prototype.settings={},i.namespace=t,i.data=y.data,i.Item=function(){m.apply(this,arguments)},i.Item.prototype=new m,s(function(){for(var e=r(t),n=a.querySelectorAll(".js-"+e),o="data-"+e+"-options",s=0,f=n.length;f>s;s++){var p,c=n[s],d=c.getAttribute(o);try{p=d&&JSON.parse(d)}catch(l){h&&h.error("Error parsing "+o+" on "+c.nodeName.toLowerCase()+(c.id?"#"+c.id:"")+": "+l);continue}var m=new i(c,p);u&&u.data(c,t,m)}}),u&&u.bridget&&u.bridget(t,i),i},y.Item=m,y}var a=t.document,h=t.console,u=t.jQuery,f=function(){},p=Object.prototype.toString,c="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},d=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var n=0,i=t.length;i>n;n++)if(t[n]===e)return n;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){function e(t,e){var i=t.create("masonry");return i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],n=t&&t.element;this.columnWidth=n&&e(n).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},i.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,n=e(t);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",o=Math[i](t.size.outerWidth/this.columnWidth);o=Math.min(o,this.cols);for(var r=this._getColGroup(o),s=Math.min.apply(Math,r),a=n(r,s),h={x:this.columnWidth*a,y:s},u=s+t.size.outerHeight,f=this.cols+1-r.length,p=0;f>p;p++)this.colYs[a+p]=u;return h},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],n=this.cols+1-t,i=0;n>i;i++){var o=this.colYs.slice(i,i+t);e[i]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var n=e(t),i=this._getElementOffset(t),o=this.options.isOriginLeft?i.left:i.right,r=o+n.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a-=r%this.columnWidth?0:1,a=Math.min(this.cols-1,a);for(var h=(this.options.isOriginTop?i.top:i.bottom)+n.outerHeight,u=s;a>=u;u++)this.colYs[u]=Math.max(h,this.colYs[u])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t
+},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!==this.containerWidth},i}var n=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var n=0,i=t.length;i>n;n++){var o=t[n];if(o===e)return n}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window),jQuery(document).ready(function(){MesonaryPortfolio()});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/bootstrap.min.js b/deployed/trada/templates/trada/skins/light/js/plugin/bootstrap.min.js
new file mode 100644
index 00000000..d8398659
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j ').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-mp.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.popover",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.1",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.1",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})
+})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.1",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=i?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/carousel.js b/deployed/trada/templates/trada/skins/light/js/plugin/carousel.js
new file mode 100644
index 00000000..2d8dd26a
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/carousel.js
@@ -0,0 +1,7 @@
+/*! tinycarousel - v2.1.8 - 2015-02-22
+ * https://baijs.com/tinycarousel
+ *
+ * Copyright (c) 2015 Maarten Baijs ;
+ * Licensed under the MIT license */
+
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){function b(b,e){function f(){return i.update(),i.move(i.slideCurrent),g(),i}function g(){i.options.buttons&&(n.click(function(){return i.move(--t),!1}),m.click(function(){return i.move(++t),!1})),a(window).resize(i.update),i.options.bullets&&b.on("click",".bullet",function(){return i.move(t=+a(this).attr("data-slide")),!1})}function h(){i.options.buttons&&!i.options.infinite&&(n.toggleClass("disable",i.slideCurrent<=0),m.toggleClass("disable",i.slideCurrent>=i.slidesTotal-r)),i.options.bullets&&(o.removeClass("active"),a(o[i.slideCurrent]).addClass("active"))}this.options=a.extend({},d,e),this._defaults=d,this._name=c;var i=this,j=b.find(".viewport:first"),k=b.find(".overview:first"),l=null,m=b.find(".next:first"),n=b.find(".prev:first"),o=b.find(".bullet"),p=0,q={},r=0,s=0,t=0,u="x"===this.options.axis,v=u?"Width":"Height",w=u?"left":"top",x=null;return this.slideCurrent=0,this.slidesTotal=0,this.intervalActive=!1,this.update=function(){return k.find(".mirrored").remove(),l=k.children(),p=j[0]["offset"+v],s=l.first()["outer"+v](!0),i.slidesTotal=l.length,i.slideCurrent=i.options.start||0,r=Math.ceil(p/s),k.append(l.slice(0,r).clone().addClass("mirrored")),k.css(v.toLowerCase(),s*(i.slidesTotal+r)),h(),i},this.start=function(){return i.options.interval&&(clearTimeout(x),i.intervalActive=!0,x=setTimeout(function(){i.move(++t)},i.options.intervalTime)),i},this.stop=function(){return clearTimeout(x),i.intervalActive=!1,i},this.move=function(a){return t=isNaN(a)?i.slideCurrent:a,i.slideCurrent=t%i.slidesTotal,0>t&&(i.slideCurrent=t=i.slidesTotal-1,k.css(w,-i.slidesTotal*s)),t>i.slidesTotal&&(i.slideCurrent=t=1,k.css(w,0)),q[w]=-t*s,k.animate(q,{queue:!1,duration:i.options.animation?i.options.animationTime:0,always:function(){b.trigger("move",[l[i.slideCurrent],i.slideCurrent])}}),h(),i.start(),i},f()}var c="tinycarousel",d={start:0,axis:"x",buttons:!0,bullets:!1,interval:!1,intervalTime:3e3,animation:!0,animationTime:1e3,infinite:!0};a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(a(this),d))})}});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/custom.js b/deployed/trada/templates/trada/skins/light/js/plugin/custom.js
new file mode 100644
index 00000000..e684f07e
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/custom.js
@@ -0,0 +1,113 @@
+"use strict";
+/****** ANIMATION *****/
+var wow = new WOW(
+ {
+ animateClass: 'animated',
+ offset: 100,
+ callback: function(box) {
+ //console.log("WOW: animating <" + box.tagName.toLowerCase() + ">")
+ }
+ }
+);
+wow.init();
+
+/****** BACK TO TOP *****/
+$(window).scroll(function() {
+ if ($(document).scrollTop() > 500) {
+ $('#t-back_to_top').fadeIn();
+ } else {
+ $('#t-back_to_top').fadeOut();
+ }
+});
+
+$(document).ready(function(){
+ $('#t-back_to_top').on('click', function(){
+ $('html, body').animate({scrollTop : 0},800);
+ return false;
+ });
+
+ $('#t-header_mobile_nav').on('click', function(){
+ $('#header_nav').slideToggle('slow');
+ return false;
+ });
+
+ ColorSelector();
+});
+
+$(window).resize(function(){
+ var width = $(window).width();
+ if(width > 767)
+ {
+ $('#header_nav').css('display','block');
+ }
+ else
+ {
+ $('#header_nav').css('display','none');
+ }
+});
+
+$(window).load(function() {
+ setTimeout(
+ function()
+ {
+ $("body").removeClass('t-overlay');
+ }, 1500);
+});
+
+function ColorSelector(){
+ $("#t-color_selector_list > li > span").on('click', function(event) {
+ $("#t-color_selector_list > li > span i.fa-check").removeClass('fa-check');
+ $(this).find('i').addClass('fa-check');
+ $( "body" ).addClass('t-overlay');
+ ChkIt(this);
+ return false;
+ });
+}
+
+function ChkIt(color_rels){
+ var Themes = {
+ "red":"assets/css/theme/main_red.css",
+ "mid_blue":"assets/css/theme/main_mid_blue.css",
+ "nephritis":"assets/css/theme/main_nephritis.css",
+ "green_sea":"assets/css/theme/main_green_sea.css",
+ "orange":"assets/css/theme/main_orange.css",
+ "pink":"assets/css/theme/main_pink.css",
+ "yellow":"assets/css/theme/main_yellow.css",
+ "saddle":"assets/css/theme/main_saddle.css",
+ "main":"assets/css/main.css"
+ };
+ var color_rel = $(color_rels).attr("data-rel");
+ if(Themes.hasOwnProperty(color_rel)){
+ $(document).find("link#ThemeRoller").remove();
+ SwitchTheme(Themes[color_rel]);
+ /*$(document).find("link#ThemeRoller").attr("href",Themes[color_rel]);*/
+ }
+
+}
+
+function SwitchTheme(href){
+ var wjs = document.createElement('link');
+ wjs.type = 'text/css';
+ wjs.id = 'ThemeRoller';
+ wjs.async = true;
+ wjs.rel="stylesheet";
+ wjs.onload = function(){
+ $("body").removeClass('t-overlay');
+ };
+ wjs.href = href;
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(wjs);
+}
+
+$(document).on("click","a[href^=#]",function(e){
+ var str = document.URL;
+ var i = str.lastIndexOf('/');
+ if (i != -1) {
+ str = str.substr(0, i) + "/";
+ }
+
+ e.preventDefault();
+ var hashtag = jQuery(this).attr("href");
+ if(hashtag.length>1){
+ window.location.href = str+hashtag;
+ }
+});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/google_api.js b/deployed/trada/templates/trada/skins/light/js/plugin/google_api.js
new file mode 100644
index 00000000..80ce6217
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/google_api.js
@@ -0,0 +1,20 @@
+window.google = window.google || {};
+google.maps = google.maps || {};
+(function() {
+
+ function getScript(src) {
+ document.write('<' + 'script src="' + src + '"><' + '/script>');
+ }
+
+ var modules = google.maps.modules = {};
+ google.maps.__gjsload__ = function(name, text) {
+ modules[name] = text;
+ };
+
+ google.maps.Load = function(apiLoad) {
+ delete google.maps.Load;
+ apiLoad([0.009999999776482582,[[["https://mts0.googleapis.com/vt?lyrs=m@318000000\u0026src=api\u0026hl=en-US\u0026","https://mts1.googleapis.com/vt?lyrs=m@318000000\u0026src=api\u0026hl=en-US\u0026"],null,null,null,null,"m@318000000",["https://mts0.google.com/vt?lyrs=m@318000000\u0026src=api\u0026hl=en-US\u0026","https://mts1.google.com/vt?lyrs=m@318000000\u0026src=api\u0026hl=en-US\u0026"]],[["https://khms0.googleapis.com/kh?v=182\u0026hl=en-US\u0026","https://khms1.googleapis.com/kh?v=182\u0026hl=en-US\u0026"],null,null,null,1,"182",["https://khms0.google.com/kh?v=182\u0026hl=en-US\u0026","https://khms1.google.com/kh?v=182\u0026hl=en-US\u0026"]],null,[["https://mts0.googleapis.com/vt?lyrs=t@132,r@318000000\u0026src=api\u0026hl=en-US\u0026","https://mts1.googleapis.com/vt?lyrs=t@132,r@318000000\u0026src=api\u0026hl=en-US\u0026"],null,null,null,null,"t@132,r@318000000",["https://mts0.google.com/vt?lyrs=t@132,r@318000000\u0026src=api\u0026hl=en-US\u0026","https://mts1.google.com/vt?lyrs=t@132,r@318000000\u0026src=api\u0026hl=en-US\u0026"]],null,null,[["https://cbks0.googleapis.com/cbk?","https://cbks1.googleapis.com/cbk?"]],[["https://khms0.googleapis.com/kh?v=87\u0026hl=en-US\u0026","https://khms1.googleapis.com/kh?v=87\u0026hl=en-US\u0026"],null,null,null,null,"87",["https://khms0.google.com/kh?v=87\u0026hl=en-US\u0026","https://khms1.google.com/kh?v=87\u0026hl=en-US\u0026"]],[["https://mts0.googleapis.com/mapslt?hl=en-US\u0026","https://mts1.googleapis.com/mapslt?hl=en-US\u0026"]],[["https://mts0.googleapis.com/mapslt/ft?hl=en-US\u0026","https://mts1.googleapis.com/mapslt/ft?hl=en-US\u0026"]],[["https://mts0.googleapis.com/vt?hl=en-US\u0026","https://mts1.googleapis.com/vt?hl=en-US\u0026"]],[["https://mts0.googleapis.com/mapslt/loom?hl=en-US\u0026","https://mts1.googleapis.com/mapslt/loom?hl=en-US\u0026"]],[["https://mts0.googleapis.com/mapslt?hl=en-US\u0026","https://mts1.googleapis.com/mapslt?hl=en-US\u0026"]],[["https://mts0.googleapis.com/mapslt/ft?hl=en-US\u0026","https://mts1.googleapis.com/mapslt/ft?hl=en-US\u0026"]],[["https://mts0.googleapis.com/mapslt/loom?hl=en-US\u0026","https://mts1.googleapis.com/mapslt/loom?hl=en-US\u0026"]]],["en-US","US",null,0,null,null,"https://maps.gstatic.com/mapfiles/","https://csi.gstatic.com","https://maps.googleapis.com","https://maps.googleapis.com",null,"https://maps.google.com","https://gg.google.com","https://maps.gstatic.com/maps-api-v3/api/images/","https://www.google.com/maps",0,"https://www.google.com"],["https://maps.gstatic.com/maps-api-v3/api/js/21/9b","3.21.9b"],[1942422141],1,null,null,null,null,null,"",null,null,1,"https://khms.googleapis.com/mz?v=182\u0026",null,"https://earthbuilder.googleapis.com","https://earthbuilder.googleapis.com",null,"https://mts.googleapis.com/vt/icon",[["https://mts0.googleapis.com/vt","https://mts1.googleapis.com/vt"],["https://mts0.googleapis.com/vt","https://mts1.googleapis.com/vt"],null,null,null,null,null,null,null,null,null,null,["https://mts0.google.com/vt","https://mts1.google.com/vt"],"/maps/vt",318000000,132],2,500,[null,"https://g0.gstatic.com/landmark/tour","https://g0.gstatic.com/landmark/config",null,"https://www.google.com/maps/preview/log204","","https://static.panoramio.com.storage.googleapis.com/photos/",["https://geo0.ggpht.com/cbk","https://geo1.ggpht.com/cbk","https://geo2.ggpht.com/cbk","https://geo3.ggpht.com/cbk"],"https://maps.googleapis.com/maps/api/js/GeoPhotoService.GetMetadata","https://maps.googleapis.com/maps/api/js/GeoPhotoService.SingleImageSearch"],["https://www.google.com/maps/api/js/master?pb=!1m2!1u21!2s9b!2sen-US!3sUS!4s21/9b","https://www.google.com/maps/api/js/widget?pb=!1m2!1u21!2s9b!2sen-US"],null,0,null,"/maps/api/js/ApplicationService.GetEntityDetails",0,null,null,[null,null,null,null,null,null,null,null,null,[0,0],[0,null,0,"0","0","U","0","0","0","0"]]], loadScriptTime);
+ };
+ var loadScriptTime = (new Date).getTime();
+ getScript("https://maps.gstatic.com/maps-api-v3/api/js/21/9b/main.js");
+})();
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/imagesloaded.js b/deployed/trada/templates/trada/skins/light/js/plugin/imagesloaded.js
new file mode 100644
index 00000000..d66f6589
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/imagesloaded.js
@@ -0,0 +1,7 @@
+/*!
+ * imagesLoaded PACKAGED v3.1.8
+ * JavaScript is all like "You images are done yet or what?"
+ * MIT License
+ */
+
+(function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function f(e){this.img=e}function c(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var r=n.querySelectorAll("img"),o=0,s=r.length;s>o;o++){var f=r[o];this.addImage(f)}}},s.prototype.addImage=function(e){var t=new f(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),f.prototype=new t,f.prototype.check=function(){var e=v[this.img.src]||new c(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},f.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return c.prototype=new t,c.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},c.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},c.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},c.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},c.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},c.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/index.js b/deployed/trada/templates/trada/skins/light/js/plugin/index.js
new file mode 100644
index 00000000..61c2da45
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/index.js
@@ -0,0 +1,370 @@
+"use strict";
+/****** ANIMATION *****/
+var wow = new WOW(
+ {
+ animateClass: 'animated',
+ offset: 100,
+ callback: function(box) {
+ //console.log("WOW: animating <" + box.tagName.toLowerCase() + ">")
+ }
+ }
+);
+wow.init();
+
+
+/******* DOCUMENT READY START *********/
+$(document).ready(function(){
+
+ /****** SLIDER *****/
+ $('#t-banner_slider').bxSlider({
+ controls: false
+ });
+ /****** SLIDER *****/
+ $("#our_service").tinycarousel({
+ bullets : true,
+ axis: "y"
+ });
+ /****** SKILL BAR *****/
+ SkillBar();
+ /****** SKILL BAR *****/
+
+ /****** Our Team Carousel *****/
+ OurTeamCarousel();
+ /****** Our Team Carousel *****/
+
+ /****** Client Tesimonial Carousel *****/
+ ClientTesimonial()
+ /****** Client Tesimonial Carousel *****/
+
+ /****** Client Logo Carousel *****/
+ ClientLogo();
+ /****** Client Logo Carousel *****/
+
+ /****** Client Logo Carousel *****/
+ TheProcess();
+ /****** Client Logo Carousel *****/
+
+ /****** Form Validation *****/
+ FormValidation();
+ /****** Form Validation *****/
+
+ /****** HomeBlog Height *****/
+ HomeBlogHight()
+ /****** HomeBlog Height *****/
+
+ /****** Our Work *****/
+ $(document).on('click', "#t-our_work_cat > ul > li a", function() {
+ var work_data_val = $(this).data('target');
+ $(this).parents("ul").find('li.active_service').removeClass('active_service');
+ $(this).parent("li").addClass('active_service');
+ OurWork(work_data_val);
+
+ if(typeof $(this).data("rel") != "undefined" ){
+ var current_id = $(this).data("rel");
+ $(".t-our_work_portfolio").fadeOut("slow");
+ $("#"+current_id).fadeIn("slow");
+ $(".t-our_work_portfolio").css("max-height",$(".t-our_work_portfolio > div.js-masonry").height());
+ }
+ return false;
+ });
+
+ OurWork($(document).find("#t-our_work_cat > ul > li a:first").data('target'));
+ /****** Our Work *****/
+
+ ServiceHeight();
+
+ $('#header_nav > ul > li > a').on('click',function (e) {
+ $('#header_nav > ul > li > a').removeClass('t_active');
+ $(this).addClass('t_active');
+ e.preventDefault();
+ e.stopPropagation();
+ $('html, body').stop().animate({
+ 'scrollTop': $($(this).attr('href')).offset().top
+ }, 900, 'swing', function () {});
+ return false;
+ });
+
+ $(document).on("scroll", onScroll);
+
+ $('.t-counter').counterUp({
+ delay: 100,
+ time: 3000
+ });
+
+ $('#t-back_to_top').on('click', function(){
+ $('html, body').animate({scrollTop : 0},800);
+ return false;
+ });
+
+ $('#t-header_mobile_nav').on('click', function(){
+ $('#header_nav').slideToggle('slow');
+ return false;
+ });
+
+ ColorSelector();
+
+ if(window.location.hash) {
+ var url = document.URL;
+ var hash = url.substring(url.indexOf('#')); // '#foo'
+ $('html, body').animate({
+ scrollTop: $(hash).offset().top
+ }, 2000);
+ }
+});
+/******* DOCUMENT READY END *********/
+
+$(window).resize(function() {
+ ServiceHeight();
+
+ if($(window).width() > 767){
+ $("#header_nav").show();
+ }
+});
+
+
+
+$(window).load(function() {
+ $(".t-masonary .t-our_work_portfolio").hide("fast");
+ $(".t-masonary #t-our_work_1").show("slow");
+ $("#all").trigger('click');
+ /****** Sticky Header *****/
+ HeaderStick();
+ /****** Sticky Header *****/
+
+ setTimeout(
+ function()
+ {
+ $("body").removeClass('t-overlay');
+ }, 1500);
+});
+
+function ServiceHeight(){
+ var service_left = $(".t-our_service_content").outerHeight();
+ $(".t-our_service_image").height(service_left);
+}
+
+function SkillBar(){
+ $('.skill_1').css('width', '60%');
+ $('.skill_2').css('width', '40%');
+ $('.skill_3').css('width', '80%');
+ $('.skill_4').css('width', '50%');
+}
+
+
+function OurTeamCarousel(){
+ var our_team = $("#t-our_team_carousel");
+ our_team.owlCarousel({
+ items : 4, //10 items above 1000px browser width
+ itemsDesktop : [1000,4], //5 items between 1000px and 901px
+ itemsDesktopSmall : [900,3], // 3 items betweem 900px and 601px
+ itemsTablet: [600,1], //2 items between 600 and 0;
+ itemsMobile : false, // itemsMobile disabled - inherit from itemsTablet option
+ pagination :false
+ });
+
+ $( ".t-next_team" ).on( "click", function() {
+ our_team.trigger('owl.next');
+ return false;
+ });
+ $( ".t-prev_team" ).on( "click", function() {
+ our_team.trigger('owl.prev');
+ return false;
+ });
+
+}
+
+function ClientTesimonial(){
+ var client_testimonial = $("#t-client_testimonial_carousel");
+ client_testimonial.owlCarousel({
+ items : 1, //10 items above 1000px browser width
+ itemsDesktop : [1000,1], //5 items between 1000px and 901px
+ itemsDesktopSmall : [900,1], // 3 items betweem 900px and 601px
+ itemsTablet: [600,1], //2 items between 600 and 0;
+ itemsMobile : false // itemsMobile disabled - inherit from itemsTablet option
+ });
+}
+
+
+function ClientLogo(){
+ var client_logo = $("#t-client_logo_carousel");
+ client_logo.owlCarousel({
+ items : 5, //10 items above 1000px browser width
+ itemsDesktop : [1000,5], //5 items between 1000px and 901px
+ itemsDesktopSmall : [900,4], // 3 items betweem 900px and 601px
+ itemsTablet: [600,1], //2 items between 600 and 0;
+ itemsMobile : false, // itemsMobile disabled - inherit from itemsTablet option
+ pagination :false
+ });
+
+ $( ".t-next_logo" ).on( "click", function() {
+ client_logo.trigger('owl.next');
+ return false;
+ });
+ $( ".t-prev_logo" ).on( "click", function() {
+ client_logo.trigger('owl.prev');
+ return false;
+ });
+}
+
+function FormValidation(){
+ $("#get_in_touch").validate({
+ rules: {
+ name: "required",
+ email: {
+ required: true,
+ email: true
+ },
+ subject: "required"
+ },
+ messages: {
+ name: "Please enter your name",
+ email: "Please enter valid email",
+ subject: "Please enter your subject"
+ }
+ });
+}
+
+
+
+function OurWork(our_work){
+ if(typeof our_work != "undefined"){
+
+ $(our_work).owlCarousel({
+ items : 5, //10 items above 1000px browser width
+ itemsDesktop : [1000,5], //5 items between 1000px and 901px
+ itemsDesktopSmall : [900,3], // 3 items betweem 900px and 601px
+ itemsTablet: [600,2], //2 items between 600 and 0;
+ itemsMobile : [479,1], // itemsMobile disabled - inherit from itemsTablet option
+ pagination :false,
+ lazyLoad : true
+ });
+ $(document).on("click", ".t-next_our_work",function() {
+ $(our_work).trigger('owl.next');
+ return false;
+ });
+
+ $(document).on( "click", ".t-prev_our_work", function() {
+ $(our_work).trigger('owl.prev');
+ return false;
+ });
+ $("div.t-our_work_portfolio").fadeOut();
+ $(our_work).parent("div").fadeIn();
+ }
+}
+
+
+function TheProcess(){
+ var the_process = $("#t-the_process_carousel");
+ the_process.owlCarousel({
+ items : 1, //10 items above 1000px browser width
+ itemsDesktop : [1000,1], //5 items between 1000px and 901px
+ itemsDesktopSmall : [900,1], // 3 items betweem 900px and 601px
+ itemsTablet: [600,1], //2 items between 600 and 0;
+ itemsMobile : false, // itemsMobile disabled - inherit from itemsTablet option
+ pagination :true,
+ paginationNumbers : true
+ });
+}
+
+
+function HeaderStick(){
+ var distance = $('#t-who_we_are').offset().top;
+ $(window).scroll(function(){
+ if($(document).scrollTop() > distance) {
+ $("#t-header").addClass('t-sticky_header');
+ }else{
+ $("#t-header").removeClass('t-sticky_header');
+ $("#header_nav > ul > li:first-child > a").addClass('t_active');
+ }
+ });
+}
+
+function onScroll(event){
+ var scrollPos = $(document).scrollTop();
+ $('#header_nav > ul > li > a').each(function () {
+ var currLink = $(this);
+ var refElement = $(currLink.attr("href"));
+ if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
+ $('#header_nav > ul > li > a').removeClass("active");
+ currLink.addClass("t_active");
+ }
+ else{
+ currLink.removeClass("t_active");
+ }
+ });
+}
+
+function HomeBlogHight(){
+ var win_width = $(window).width();
+ if(win_width > 1200){
+ var Img_height = $(".t-home_blog_img > div > img").height();
+ $(".t-home_blog_content_inner").css({
+ "max-height": Img_height,
+ "height": Img_height
+ });
+ }
+}
+
+function ColorSelector(){
+ $("#t-color_selector_list > li > span").on('click', function(event) {
+ $("#t-color_selector_list > li > span i.fa-check").removeClass('fa-check');
+ $(this).find('i').addClass('fa-check');
+ $( "body" ).addClass('t-overlay');
+ ChkIt(this);
+ return false;
+ });
+}
+
+function ChkIt(color_rels){
+ var Themes = {
+ "red":"assets/css/theme/main_red.css",
+ "mid_blue":"assets/css/theme/main_mid_blue.css",
+ "nephritis":"assets/css/theme/main_nephritis.css",
+ "green_sea":"assets/css/theme/main_green_sea.css",
+ "orange":"assets/css/theme/main_orange.css",
+ "pink":"assets/css/theme/main_pink.css",
+ "yellow":"assets/css/theme/main_yellow.css",
+ "saddle":"assets/css/theme/main_saddle.css",
+ "main":"assets/css/main.css"
+ };
+ var color_rel = $(color_rels).attr("data-rel");
+ if(Themes.hasOwnProperty(color_rel)){
+ $(document).find("link#ThemeRoller").remove();
+ SwitchTheme(Themes[color_rel]);
+ /*$(document).find("link#ThemeRoller").attr("href",Themes[color_rel]);*/
+ }
+
+}
+
+function SwitchTheme(href){
+ var wjs = document.createElement('link');
+ wjs.type = 'text/css';
+ wjs.id = 'ThemeRoller';
+ wjs.async = true;
+ wjs.rel="stylesheet";
+ wjs.onload = function(){
+ $("body").removeClass('t-overlay');
+ };
+ wjs.href = href;
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(wjs);
+}
+
+$(document).click(function(e) {
+ if ($("#gx-sidemenu").hasClass("opened") && (!$('#gx-sidemenu-inner-1').is(e.target)) && ($(e.target).parents('#gx-sidemenu-inner-1').length == 0))
+ {
+ $("#gx-sidemenu").removeClass("opened");
+ $( "#gx-sidemenu" ).animate({
+ left: "-280px",
+ }, 500, function() {
+ });
+ }
+});
+
+/****** BACK TO TOP *****/
+$(window).scroll(function() {
+ if ($(document).scrollTop() > 500) {
+ $('#t-back_to_top').fadeIn();
+ } else {
+ $('#t-back_to_top').fadeOut();
+ }
+});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/jquery.counterup.min.js b/deployed/trada/templates/trada/skins/light/js/plugin/jquery.counterup.min.js
new file mode 100644
index 00000000..cddf5a10
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/jquery.counterup.min.js
@@ -0,0 +1,8 @@
+/*!
+* jquery.counterup.js 1.0
+*
+* Copyright 2013, Benjamin Intal http://gambit.ph @bfintal
+* Released under the GPL v2 License
+*
+* Date: Nov 26, 2013
+*/(function(e){"use strict";e.fn.counterUp=function(t){var n=e.extend({time:400,delay:10},t);return this.each(function(){var t=e(this),r=n,i=function(){var e=[],n=r.time/r.delay,i=t.text(),s=/[0-9]+,[0-9]+/.test(i);i=i.replace(/,/g,"");var o=/^[0-9]+$/.test(i),u=/^[0-9]+\.[0-9]+$/.test(i),a=u?(i.split(".")[1]||[]).length:0;for(var f=n;f>=1;f--){var l=parseInt(i/n*f);u&&(l=parseFloat(i/n*f).toFixed(a));if(s)while(/(\d+)(\d{3})/.test(l.toString()))l=l.toString().replace(/(\d+)(\d{3})/,"$1,$2");e.unshift(l)}t.data("counterup-nums",e);t.text("0");var c=function(){t.text(t.data("counterup-nums").shift());if(t.data("counterup-nums").length)setTimeout(t.data("counterup-func"),r.delay);else{delete t.data("counterup-nums");t.data("counterup-nums",null);t.data("counterup-func",null)}};t.data("counterup-func",c);setTimeout(t.data("counterup-func"),r.delay)};t.waypoint(i,{offset:"100%",triggerOnce:!0})})}})(jQuery);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/jquery.slider.min.js b/deployed/trada/templates/trada/skins/light/js/plugin/jquery.slider.min.js
new file mode 100644
index 00000000..dc338f7a
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/jquery.slider.min.js
@@ -0,0 +1,10 @@
+/**
+ * BxSlider v4.1.2 - Fully loaded, responsive content slider
+ * http://bxslider.com
+ *
+ * Copyright 2014, Steven Wanderski - http://stevenwanderski.com - http://bxcreative.com
+ * Written while drinking Belgian ales and listening to jazz
+ *
+ * Released under the MIT license - http://opensource.org/licenses/MIT
+ */
+!function(t){var e={},s={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};t.fn.bxSlider=function(n){if(0==this.length)return this;if(this.length>1)return this.each(function(){t(this).bxSlider(n)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},s,n),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages="all"),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp="vertical"==o.settings.mode?"top":"left",o.usingCSS=o.settings.useCSS&&"fade"!=o.settings.mode&&function(){var t=document.createElement("div"),e=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace("Perspective","").toLowerCase(),o.animProp="-"+o.cssPrefix+"-transform",!0;return!1}(),"vertical"==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data("origStyle",r.attr("style")),r.children(o.settings.slideSelector).each(function(){t(this).data("origStyle",t(this).attr("style"))}),c()},c=function(){r.wrap(''),o.viewport=r.parent(),o.loader=t('
'),o.viewport.prepend(o.loader),r.css({width:"horizontal"==o.settings.mode?100*o.children.length+215+"%":"auto",position:"relative"}),o.usingCSS&&o.settings.easing?r.css("-"+o.cssPrefix+"-transition-timing-function",o.settings.easing):o.settings.easing||(o.settings.easing="swing"),f(),o.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),o.viewport.parent().css({maxWidth:p()}),o.settings.pager||o.viewport.parent().css({margin:"0 auto 0px"}),o.children.css({"float":"horizontal"==o.settings.mode?"left":"none",listStyle:"none",position:"relative"}),o.children.css("width",u()),"horizontal"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginRight",o.settings.slideMargin),"vertical"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginBottom",o.settings.slideMargin),"fade"==o.settings.mode&&(o.children.css({position:"absolute",zIndex:0,display:"none"}),o.children.eq(o.settings.startSlide).css({zIndex:o.settings.slideZIndex,display:"block"})),o.controls.el=t('
'),o.settings.captions&&P(),o.active.last=o.settings.startSlide==x()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);"all"==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&T(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&E(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),g(e,h)},g=function(e,i){var s=e.find("img, iframe").length;if(0==s)return i(),void 0;var n=0;e.find("img, iframe").each(function(){t(this).one("load",function(){++n==s&&i()}).each(function(){this.complete&&t(this).load()})})},h=function(){if(o.settings.infiniteLoop&&"fade"!=o.settings.mode&&!o.settings.ticker){var e="vertical"==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass("bx-clone"),s=o.children.slice(-e).clone().addClass("bx-clone");r.append(i).prepend(s)}o.loader.remove(),S(),"vertical"==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(v()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind("resize",Z),o.settings.auto&&o.settings.autoStart&&H(),o.settings.ticker&&L(),o.settings.pager&&q(o.settings.startSlide),o.settings.controls&&W(),o.settings.touchEnabled&&!o.settings.ticker&&O()},v=function(){var e=0,s=t();if("vertical"==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var n=1==o.settings.moveSlides?o.active.index:o.active.index*m();for(s=o.children.eq(n),i=1;i<=o.settings.maxSlides-1;i++)s=n+i>=o.children.length?s.add(o.children.eq(i-1)):s.add(o.children.eq(n+i))}else s=o.children.eq(o.active.index);else s=o.children;return"vertical"==o.settings.mode?(s.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,s.map(function(){return t(this).outerHeight(!1)}).get()),e},p=function(){var t="100%";return o.settings.slideWidth>0&&(t="horizontal"==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},u=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||"vertical"==o.settings.mode?t=e:o.settings.maxSlides>1&&"horizontal"==o.settings.mode&&(e>o.maxThreshold||e0)if(o.viewport.width()o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else"vertical"==o.settings.mode&&(t=o.settings.minSlides);return t},x=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/m();else for(var e=0,i=0;e0&&o.settings.moveSlides<=f()?o.settings.moveSlides:f()},S=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if("horizontal"==o.settings.mode){var t=o.children.last(),e=t.position();b(-(e.left-(o.viewport.width()-t.width())),"reset",0)}else if("vertical"==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();b(-e.top,"reset",0)}}else{var e=o.children.eq(o.active.index*m()).position();o.active.index==x()-1&&(o.active.last=!0),void 0!=e&&("horizontal"==o.settings.mode?b(-e.left,"reset",0):"vertical"==o.settings.mode&&b(-e.top,"reset",0))}},b=function(t,e,i,s){if(o.usingCSS){var n="vertical"==o.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)";r.css("-"+o.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==e?(r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),D()})):"reset"==e?r.css(o.animProp,n):"ticker"==e&&(r.css("-"+o.cssPrefix+"-transition-timing-function","linear"),r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),b(s.resetValue,"reset",0),N()}))}else{var a={};a[o.animProp]=t,"slide"==e?r.animate(a,i,o.settings.easing,function(){D()}):"reset"==e?r.css(o.animProp,t):"ticker"==e&&r.animate(a,speed,"linear",function(){b(s.resetValue,"reset",0),N()})}},w=function(){for(var e="",i=x(),s=0;i>s;s++){var n="";o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(n=o.settings.buildPager(s),o.pagerEl.addClass("bx-custom-pager")):(n=s+1,o.pagerEl.addClass("bx-default-pager")),e+='"}o.pagerEl.html(e)},T=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t(''),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass("bx-has-pager").append(o.pagerEl),w()),o.pagerEl.on("click","a",I)},C=function(){o.controls.next=t(''+o.settings.nextText+" "),o.controls.prev=t(''+o.settings.prevText+" "),o.controls.next.bind("click",y),o.controls.prev.bind("click",z),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t('
'),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass("bx-has-controls-direction").append(o.controls.directionEl))},E=function(){o.controls.start=t('"),o.controls.stop=t('"),o.controls.autoEl=t('
'),o.controls.autoEl.on("click",".bx-start",k),o.controls.autoEl.on("click",".bx-stop",M),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass("bx-has-controls-auto").append(o.controls.autoEl),A(o.settings.autoStart?"stop":"start")},P=function(){o.children.each(function(){var e=t(this).find("img:first").attr("title");void 0!=e&&(""+e).length&&t(this).append(''+e+"
")})},y=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},z=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},k=function(t){r.startAuto(),t.preventDefault()},M=function(t){r.stopAuto(),t.preventDefault()},I=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),s=parseInt(i.attr("data-slide-index"));s!=o.active.index&&r.goToSlide(s),e.preventDefault()},q=function(e){var i=o.children.length;return"short"==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i),void 0):(o.pagerEl.find("a").removeClass("active"),o.pagerEl.each(function(i,s){t(s).find("a").eq(e).addClass("active")}),void 0)},D=function(){if(o.settings.infiniteLoop){var t="";0==o.active.index?t=o.children.eq(0).position():o.active.index==x()-1&&o.carousel?t=o.children.eq((x()-1)*m()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),t&&("horizontal"==o.settings.mode?b(-t.left,"reset",0):"vertical"==o.settings.mode&&b(-t.top,"reset",0))}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},A=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find("a").removeClass("active"),o.controls.autoEl.find("a:not(.bx-"+t+")").addClass("active"))},W=function(){1==x()?(o.controls.prev.addClass("disabled"),o.controls.next.addClass("disabled")):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass("disabled"),o.controls.next.removeClass("disabled")):o.active.index==x()-1?(o.controls.next.addClass("disabled"),o.controls.prev.removeClass("disabled")):(o.controls.prev.removeClass("disabled"),o.controls.next.removeClass("disabled")))},H=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},L=function(){var e=0;if("next"==o.settings.autoDirection)r.append(o.children.clone().addClass("bx-clone"));else{r.prepend(o.children.clone().addClass("bx-clone"));var i=o.children.first().position();e="horizontal"==o.settings.mode?-i.left:-i.top}b(e,"reset",0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+="horizontal"==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});var i=o.settings.speed/e,s="horizontal"==o.settings.mode?"left":"top",n=i*(e-Math.abs(parseInt(r.css(s))));N(n)}),N()},N=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};"next"==o.settings.autoDirection?e=r.find(".bx-clone").first().position():i=o.children.first().position();var s="horizontal"==o.settings.mode?-e.left:-e.top,n="horizontal"==o.settings.mode?-i.left:-i.top,a={resetValue:n};b(s,"ticker",speed,a)},O=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind("touchstart",X)},X=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind("touchmove",Y),o.viewport.bind("touchend",V)}},Y=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),s=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>s&&o.settings.preventDefaultSwipeX?t.preventDefault():3*s>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),"fade"!=o.settings.mode&&o.settings.oneToOneTouch){var n=0;if("horizontal"==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;n=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;n=o.touch.originalPos.top+r}b(n,"reset",0)}},V=function(t){o.viewport.unbind("touchmove",Y);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,"fade"==o.settings.mode){var s=Math.abs(o.touch.start.x-o.touch.end.x);s>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var s=0;"horizontal"==o.settings.mode?(s=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(s=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&s>0||o.active.last&&0>s)?b(i,"reset",200):Math.abs(s)>=o.settings.swipeThreshold?(0>s?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):b(i,"reset",200)}o.viewport.unbind("touchend",V)},Z=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider(),o.settings.onSliderResize.call(r,o.active.index))};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?x()-1:e>=x()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),"next"==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):"prev"==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=x()-1,o.settings.pager&&q(o.active.index),o.settings.controls&&W(),"fade"==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed),o.children.filter(":visible").fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css("zIndex",o.settings.slideZIndex+1).fadeIn(o.settings.speed,function(){t(this).css("zIndex",o.settings.slideZIndex),D()});else{o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed);var s=0,n={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if("horizontal"==o.settings.mode){var a=o.children.eq(o.children.length-1);n=a.position(),s=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;n=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&"prev"==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-m():(x()-1)*m()-(o.children.length-o.settings.maxSlides),a=r.children(".bx-clone").eq(d);n=a.position()}else if("next"==i&&0==o.active.index)n=r.find("> .bx-clone").eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var c=e*m();n=o.children.eq(c).position()}if("undefined"!=typeof n){var g="horizontal"==o.settings.mode?-(n.left-s):-n.top;b(g,"slide",o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,"next")}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,"prev")}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){"next"==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&A("stop"))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&A("start"))},r.getCurrentSlide=function(){return o.active.index},r.getCurrentSlideElement=function(){return o.children.eq(o.active.index)},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(".bx-clone")).outerWidth(u()),o.viewport.css("height",v()),o.settings.ticker||S(),o.active.last&&(o.active.index=x()-1),o.active.index>=x()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),q(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(".bx-clone",this).remove(),o.children.each(function(){void 0!=t(this).data("origStyle")?t(this).attr("style",t(this).data("origStyle")):t(this).removeAttr("style")}),void 0!=t(this).data("origStyle")?this.attr("style",t(this).data("origStyle")):t(this).removeAttr("style"),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.settings.controls&&o.pagerEl.remove(),t(".bx-caption",this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind("resize",Z))},r.reloadSlider=function(t){void 0!=t&&(n=t),r.destroySlider(),d()},d(),this}}(jQuery);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/map.js b/deployed/trada/templates/trada/skins/light/js/plugin/map.js
new file mode 100644
index 00000000..f51049c5
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/map.js
@@ -0,0 +1,210 @@
+google.maps.event.addDomListener(window, 'load', init);
+ // Marker customization
+ function CustomMarker(latlng, map, args) {
+
+ this.latlng = latlng;
+ this.args = args;
+ this.setMap(map);
+
+ }
+
+ CustomMarker.prototype = new google.maps.OverlayView();
+
+ CustomMarker.prototype.draw = function() {
+
+ var self = this;
+
+ var div = this.div;
+
+ if (!div) {
+
+ div = this.div = document.createElement('div');
+
+ div.className = 'b-contacts_map_marker';
+
+ div.style.position = 'absolute';
+ div.style.cursor = 'pointer';
+
+ if (typeof(self.args.marker_id) !== 'undefined' && typeof(div.dataset) !== 'undefined') {
+ div.dataset.marker_id = self.args.marker_id;
+ }
+
+ /*google.maps.event.addDomListener(div, "click", function(event) {
+ //google.maps.event.trigger(self, "click");
+ });*/
+
+ var panes = this.getPanes();
+ panes.overlayImage.appendChild(div);
+ }
+
+ var point = this.getProjection().fromLatLngToDivPixel(this.latlng);
+
+ if (point) {
+ div.style.left = (point.x - 17) + 'px';
+ div.style.top = (point.y - 17) + 'px';
+ }
+ };
+
+ CustomMarker.prototype.remove = function() {
+ if (this.div) {
+ this.div.parentNode.removeChild(this.div);
+ this.div = null;
+ }
+ };
+
+ CustomMarker.prototype.getPosition = function() {
+ return this.latlng;
+ };
+ function init() {
+ // Basic options for a simple Google Map
+ // For more options see: https://developers.google.com/maps/documentation/javascript/reference#MapOptions
+ var mapOptions = {
+ // How zoomed in you want the map to start at (always required)
+ zoom: 5,
+
+ // The latitude and longitude to center the map (always required)
+ center: new google.maps.LatLng(52.229676, 21.012229), //
+ disableDefaultUI: true,
+ // How you would like to style the map.
+ // This is where you would paste any style found on Snazzy Maps.
+ styles: [
+ {
+ "featureType": "administrative.province",
+ "elementType": "all",
+ "stylers": [
+ {
+ "visibility": "off"
+ }
+ ]
+ },
+ {
+ "featureType": "landscape",
+ "elementType": "all",
+ "stylers": [
+ {
+ "saturation": -100
+ },
+ {
+ "lightness": 65
+ },
+ {
+ "visibility": "on"
+ }
+ ]
+ },
+ {
+ "featureType": "poi",
+ "elementType": "all",
+ "stylers": [
+ {
+ "saturation": -100
+ },
+ {
+ "lightness": 51
+ },
+ {
+ "visibility": "simplified"
+ }
+ ]
+ },
+ {
+ "featureType": "road.highway",
+ "elementType": "all",
+ "stylers": [
+ {
+ "saturation": -100
+ },
+ {
+ "visibility": "simplified"
+ }
+ ]
+ },
+ {
+ "featureType": "road.arterial",
+ "elementType": "all",
+ "stylers": [
+ {
+ "saturation": -100
+ },
+ {
+ "lightness": 30
+ },
+ {
+ "visibility": "on"
+ }
+ ]
+ },
+ {
+ "featureType": "road.local",
+ "elementType": "all",
+ "stylers": [
+ {
+ "saturation": -100
+ },
+ {
+ "lightness": 40
+ },
+ {
+ "visibility": "on"
+ }
+ ]
+ },
+ {
+ "featureType": "transit",
+ "elementType": "all",
+ "stylers": [
+ {
+ "saturation": -100
+ },
+ {
+ "visibility": "simplified"
+ }
+ ]
+ },
+ {
+ "featureType": "water",
+ "elementType": "geometry",
+ "stylers": [
+ {
+ "hue": "#ffff00"
+ },
+ {
+ "lightness": -25
+ },
+ {
+ "saturation": -97
+ }
+ ]
+ },
+ {
+ "featureType": "water",
+ "elementType": "labels",
+ "stylers": [
+ {
+ "visibility": "on"
+ },
+ {
+ "lightness": -25
+ },
+ {
+ "saturation": -100
+ }
+ ]
+ }
+ ]
+ };
+
+ // Get the HTML DOM element that will contain your map
+ // We are using a div with id="map" seen below in the
+ var mapElement = document.getElementById('map');
+
+ // Create the Google Map using our element and options defined above
+ var map = new google.maps.Map(mapElement, mapOptions);
+ overlay = new CustomMarker(new google.maps.LatLng(52.229676, 21.012229), map, { marker_id: 'b_contacts_map_marker' });
+ // Let's also add a marker while we're at it
+ // var marker = new google.maps.Marker({
+ // position: new google.maps.LatLng(52.229676, 21.012229),
+ // map: map,
+ // icon: 'http://118.102.206.67/trada/assets/images/google_map_marker.png'
+ // });
+ }
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/masonry.js b/deployed/trada/templates/trada/skins/light/js/plugin/masonry.js
new file mode 100644
index 00000000..f0da3709
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/masonry.js
@@ -0,0 +1,9 @@
+/*!
+ * Masonry PACKAGED v3.1.5
+ * Cascading grid layout library
+ * http://masonry.desandro.com
+ * MIT License
+ * by David DeSandro
+ */
+
+!function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c(a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(this),function(a){function b(a){"function"==typeof a&&(b.isReady?a():f.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==e.readyState;if(!b.isReady&&!c){b.isReady=!0;for(var d=0,g=f.length;g>d;d++){var h=f[d];h()}}}function d(d){return d.bind(e,"DOMContentLoaded",c),d.bind(e,"readystatechange",c),d.bind(a,"load",c),b}var e=a.document,f=[];b.isReady=!1,"function"==typeof define&&define.amd?(b.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],d)):a.docReady=d(a.eventie)}(this),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;be;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function b(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function c(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=g.length;c>b;b++){var d=g[b];a[d]=0}return a}function d(a){function d(a){if("string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var d=f(a);if("none"===d.display)return c();var e={};e.width=a.offsetWidth,e.height=a.offsetHeight;for(var k=e.isBorderBox=!(!j||!d[j]||"border-box"!==d[j]),l=0,m=g.length;m>l;l++){var n=g[l],o=d[n];o=h(a,o);var p=parseFloat(o);e[n]=isNaN(p)?0:p}var q=e.paddingLeft+e.paddingRight,r=e.paddingTop+e.paddingBottom,s=e.marginLeft+e.marginRight,t=e.marginTop+e.marginBottom,u=e.borderLeftWidth+e.borderRightWidth,v=e.borderTopWidth+e.borderBottomWidth,w=k&&i,x=b(d.width);x!==!1&&(e.width=x+(w?0:q+u));var y=b(d.height);return y!==!1&&(e.height=y+(w?0:r+v)),e.innerWidth=e.width-(q+u),e.innerHeight=e.height-(r+v),e.outerWidth=e.width+s,e.outerHeight=e.height+t,e}}function h(a,b){if(e||-1===b.indexOf("%"))return b;var c=a.style,d=c.left,f=a.runtimeStyle,g=f&&f.left;return g&&(f.left=a.currentStyle.left),c.left=b,b=c.pixelLeft,c.left=d,g&&(f.left=g),b}var i,j=a("boxSizing");return function(){if(j){var a=document.createElement("div");a.style.width="200px",a.style.padding="1px 2px 3px 4px",a.style.borderStyle="solid",a.style.borderWidth="1px 2px 3px 4px",a.style[j]="border-box";var c=document.body||document.documentElement;c.appendChild(a);var d=f(a);i=200===b(d.width),c.removeChild(a)}}(),d}var e=a.getComputedStyle,f=e?function(a){return e(a,null)}:function(a){return a.currentStyle},g=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],d):"object"==typeof exports?module.exports=d(require("get-style-property")):a.getSize=d(a.getStyleProperty)}(window),function(a,b){function c(a,b){return a[h](b)}function d(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function e(a,b){d(a);for(var c=a.parentNode.querySelectorAll(b),e=0,f=c.length;f>e;e++)if(c[e]===a)return!0;return!1}function f(a,b){return d(a),c(a,b)}var g,h=function(){if(b.matchesSelector)return"matchesSelector";for(var a=["webkit","moz","ms","o"],c=0,d=a.length;d>c;c++){var e=a[c],f=e+"MatchesSelector";if(b[f])return f}}();if(h){var i=document.createElement("div"),j=c(i,"div");g=j?c:f}else g=e;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return g}):window.matchesSelector=g}(this,Element.prototype),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){for(var b in a)return!1;return b=null,!0}function d(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function e(a,e,f){function h(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}var i=f("transition"),j=f("transform"),k=i&&j,l=!!f("perspective"),m={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[i],n=["transform","transition","transitionDuration","transitionProperty"],o=function(){for(var a={},b=0,c=n.length;c>b;b++){var d=n[b],e=f(d);e&&e!==d&&(a[d]=e)}return a}();b(h.prototype,a.prototype),h.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},h.prototype.getSize=function(){this.size=e(this.element)},h.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=o[c]||c;b[d]=a[c]}},h.prototype.getPosition=function(){var a=g(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=parseInt(a[c?"left":"right"],10),f=parseInt(a[d?"top":"bottom"],10);e=isNaN(e)?0:e,f=isNaN(f)?0:f;var h=this.layout.size;e-=c?h.paddingLeft:h.paddingRight,f-=d?h.paddingTop:h.paddingBottom,this.position.x=e,this.position.y=f},h.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={};b.isOriginLeft?(c.left=this.position.x+a.paddingLeft+"px",c.right=""):(c.right=this.position.x+a.paddingRight+"px",c.left=""),b.isOriginTop?(c.top=this.position.y+a.paddingTop+"px",c.bottom=""):(c.bottom=this.position.y+a.paddingBottom+"px",c.top=""),this.css(c),this.emitEvent("layout",[this])};var p=l?function(a,b){return"translate3d("+a+"px, "+b+"px, 0)"}:function(a,b){return"translate("+a+"px, "+b+"px)"};h.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={},k=this.layout.options;h=k.isOriginLeft?h:-h,i=k.isOriginTop?i:-i,j.transform=p(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},h.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},h.prototype.moveTo=k?h.prototype._transitionTo:h.prototype.goTo,h.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},h.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},h.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var q=j&&d(j)+",opacity";h.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:q,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(m,this,!1))},h.prototype.transition=h.prototype[i?"_transition":"_nonTransition"],h.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},h.prototype.onotransitionend=function(a){this.ontransitionend(a)};var r={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};h.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,d=r[a.propertyName]||a.propertyName;if(delete b.ingProperties[d],c(b.ingProperties)&&this.disableTransition(),d in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[d]),d in b.onEnd){var e=b.onEnd[d];e.call(this),delete b.onEnd[d]}this.emitEvent("transitionEnd",[this])}},h.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(m,this,!1),this.isTransitioning=!1},h.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var s={transitionProperty:"",transitionDuration:""};return h.prototype.removeTransitionStyles=function(){this.css(s)},h.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},h.prototype.remove=function(){if(!i||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.on("transitionEnd",function(){return a.removeElem(),!0}),this.hide()},h.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options;this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0})},h.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options;this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},h.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},h}var f=a.getComputedStyle,g=f?function(a){return f(a,null)}:function(a){return a.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],e):(a.Outlayer={},a.Outlayer.Item=e(a.EventEmitter,a.getSize,a.getStyleProperty))}(window),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){return"[object Array]"===l.call(a)}function d(a){var b=[];if(c(a))b=a;else if(a&&"number"==typeof a.length)for(var d=0,e=a.length;e>d;d++)b.push(a[d]);else b.push(a);return b}function e(a,b){var c=n(b,a);-1!==c&&b.splice(c,1)}function f(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()}function g(c,g,l,n,o,p){function q(a,c){if("string"==typeof a&&(a=h.querySelector(a)),!a||!m(a))return void(i&&i.error("Bad "+this.constructor.namespace+" element: "+a));this.element=a,this.options=b({},this.constructor.defaults),this.option(c);var d=++r;this.element.outlayerGUID=d,s[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var r=0,s={};return q.namespace="outlayer",q.Item=p,q.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},b(q.prototype,l.prototype),q.prototype.option=function(a){b(this.options,a)},q.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),b(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},q.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},q.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},q.prototype._filterFindItemElements=function(a){a=d(a);for(var b=this.options.itemSelector,c=[],e=0,f=a.length;f>e;e++){var g=a[e];if(m(g))if(b){o(g,b)&&c.push(g);for(var h=g.querySelectorAll(b),i=0,j=h.length;j>i;i++)c.push(h[i])}else c.push(g)}return c},q.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},q.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},q.prototype._init=q.prototype.layout,q.prototype._resetLayout=function(){this.getSize()},q.prototype.getSize=function(){this.size=n(this.element)},q.prototype._getMeasurement=function(a,b){var c,d=this.options[a];d?("string"==typeof d?c=this.element.querySelector(d):m(d)&&(c=d),this[a]=c?n(c)[b]:d):this[a]=0},q.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},q.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},q.prototype._layoutItems=function(a,b){function c(){d.emitEvent("layoutComplete",[d,a])}var d=this;if(!a||!a.length)return void c();this._itemsOn(a,"layout",c);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f],i=this._getItemLayoutPosition(h);i.item=h,i.isInstant=b||h.isLayoutInstant,e.push(i)}this._processLayoutQueue(e)},q.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},q.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},q.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},q.prototype._postLayout=function(){this.resizeContainer()},q.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},q.prototype._getContainerSize=k,q.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},q.prototype._itemsOn=function(a,b,c){function d(){return e++,e===f&&c.call(g),!0}for(var e=0,f=a.length,g=this,h=0,i=a.length;i>h;h++){var j=a[h];j.on(b,d)}},q.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},q.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},q.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},q.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e(d,this.stamps),this.unignore(d)}},q.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=d(a)):void 0},q.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},q.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},q.prototype._manageStamp=k,q.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,d=n(a),e={left:b.left-c.left-d.marginLeft,top:b.top-c.top-d.marginTop,right:c.right-b.right-d.marginRight,bottom:c.bottom-b.bottom-d.marginBottom};return e},q.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},q.prototype.bindResize=function(){this.isResizeBound||(c.bind(a,"resize",this),this.isResizeBound=!0)},q.prototype.unbindResize=function(){this.isResizeBound&&c.unbind(a,"resize",this),this.isResizeBound=!1},q.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},q.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},q.prototype.needsResizeLayout=function(){var a=n(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},q.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},q.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},q.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},q.prototype.reveal=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.reveal()}},q.prototype.hide=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.hide()}},q.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},q.prototype.getItems=function(a){if(a&&a.length){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c],f=this.getItem(e);f&&b.push(f)}return b}},q.prototype.remove=function(a){a=d(a);var b=this.getItems(a);if(b&&b.length){this._itemsOn(b,"remove",function(){this.emitEvent("removeComplete",[this,b])});for(var c=0,f=b.length;f>c;c++){var g=b[c];g.remove(),e(g,this.items)}}},q.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize(),delete this.element.outlayerGUID,j&&j.removeData(this.element,this.constructor.namespace)},q.data=function(a){var b=a&&a.outlayerGUID;return b&&s[b]},q.create=function(a,c){function d(){q.apply(this,arguments)}return Object.create?d.prototype=Object.create(q.prototype):b(d.prototype,q.prototype),d.prototype.constructor=d,d.defaults=b({},q.defaults),b(d.defaults,c),d.prototype.settings={},d.namespace=a,d.data=q.data,d.Item=function(){p.apply(this,arguments)},d.Item.prototype=new p,g(function(){for(var b=f(a),c=h.querySelectorAll(".js-"+b),e="data-"+b+"-options",g=0,k=c.length;k>g;g++){var l,m=c[g],n=m.getAttribute(e);try{l=n&&JSON.parse(n)}catch(o){i&&i.error("Error parsing "+e+" on "+m.nodeName.toLowerCase()+(m.id?"#"+m.id:"")+": "+o);continue}var p=new d(m,l);j&&j.data(m,a,p)}}),j&&j.bridget&&j.bridget(a,d),d},q.Item=p,q}var h=a.document,i=a.console,j=a.jQuery,k=function(){},l=Object.prototype.toString,m="object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1===a.nodeType&&"string"==typeof a.nodeName},n=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],g):a.Outlayer=g(a.eventie,a.docReady,a.EventEmitter,a.getSize,a.matchesSelector,a.Outlayer.Item)}(window),function(a){function b(a,b){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d}var c=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(e===b)return c}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],b):a.Masonry=b(a.Outlayer,a.getSize)}(window);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/masonry_call.js b/deployed/trada/templates/trada/skins/light/js/plugin/masonry_call.js
new file mode 100644
index 00000000..8e752a56
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/masonry_call.js
@@ -0,0 +1,51 @@
+jQuery(document).ready(function($) {
+ MesonaryPortfolio();
+});
+
+
+function MesonaryPortfolio(){
+ var container1 = document.querySelector('#t-our_work_1');
+var msnry = new Masonry( container1,{
+ //columnWidth: 303
+ "isFitWidth": true
+});
+imagesLoaded(container1, function() {
+ msnry.layout();
+});
+
+var container2 = document.querySelector('#t-our_work_2');
+var msnry = new Masonry( container2,{
+ //columnWidth: 303
+ "isFitWidth": true
+});
+imagesLoaded(container2, function() {
+ msnry.layout();
+});
+
+var container3 = document.querySelector('#t-our_work_3');
+var msnry = new Masonry( container3,{
+ //columnWidth: 303
+ "isFitWidth": true
+});
+imagesLoaded(container3, function() {
+ msnry.layout();
+});
+
+var container4 = document.querySelector('#t-our_work_4');
+var msnry = new Masonry( container4,{
+ //columnWidth: 303
+ "isFitWidth": true
+});
+imagesLoaded(container4, function() {
+ msnry.layout();
+});
+
+var container5 = document.querySelector('#t-our_work_5');
+var msnry = new Masonry( container5,{
+ //columnWidth: 303
+ "isFitWidth": true
+});
+imagesLoaded(container5, function() {
+ msnry.layout();
+});
+}
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/owl.carousel.min.js b/deployed/trada/templates/trada/skins/light/js/plugin/owl.carousel.min.js
new file mode 100644
index 00000000..394505e0
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/owl.carousel.min.js
@@ -0,0 +1,47 @@
+"function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});
+(function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&&b.options.beforeInit.apply(this,[b.$elem]);"string"===typeof b.options.jsonPath?
+(e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length;
+this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&&this.transitionTypes(this.options.transitionStyle);!0===this.options.autoPlay&&
+(this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&&this.options.afterInit.apply(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&&this.lazyLoad();!0===this.options.autoHeight&&this.autoHeight();this.onVisibleItems();"function"===typeof this.options.afterAction&&this.options.afterAction.apply(this,
+[this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&&this.options.beforeUpdate.apply(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&&this.options.afterUpdate.apply(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}),
+g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('').wrap('
');this.$elem.find(".owl-wrapper").wrap('
');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")},
+baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall=
+!1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return a[0]-b[0]}),b=0;b
this.itemsAmount&&
+!0===this.options.itemsScaleUp&&(this.options.items=this.itemsAmount)},response:function(){var a=this,b,e;if(!0!==a.options.responsive)return!1;e=f(g).width();a.resizer=function(){f(g).width()!==e&&(!1!==a.options.autoPlay&&g.clearInterval(a.autoPlayInterval),g.clearTimeout(b),b=g.setTimeout(function(){e=f(g).width();a.updateVars()},a.options.responsiveRefreshRate))};f(g).resize(a.resizer)},updatePosition:function(){this.jumpTo(this.currentItem);!1!==this.options.autoPlay&&this.checkAp()},appendItemsSizes:function(){var a=
+this,b=0,e=a.itemsAmount-a.options.items;a.$owlItems.each(function(c){var d=f(this);d.css({width:a.itemWidth}).data("owl-item",Number(c));if(0===c%a.options.items||c===e)c>e||(b+=1);d.data("owl-roundPages",b)})},appendWrapperSizes:function(){this.$owlWrapper.css({width:this.$owlItems.length*this.itemWidth*2,left:0});this.appendItemsSizes()},calculateAll:function(){this.calculateWidth();this.appendWrapperSizes();this.loops();this.max()},calculateWidth:function(){this.itemWidth=Math.round(this.$elem.width()/
+this.options.items)},max:function(){var a=-1*(this.itemsAmount*this.itemWidth-this.options.items*this.itemWidth);this.options.items>this.itemsAmount?this.maximumPixels=a=this.maximumItem=0:(this.maximumItem=this.itemsAmount-this.options.items,this.maximumPixels=a);return a},min:function(){return 0},loops:function(){var a=0,b=0,e,c;this.positionsInArray=[0];this.pagesInArray=[];for(e=0;e ').toggleClass("clickable",!this.browser.isTouch).appendTo(this.$elem);!0===this.options.pagination&&this.buildPagination();!0===this.options.navigation&&this.buildButtons()},buildButtons:function(){var a=this,b=f('
');a.owlControls.append(b);a.buttonPrev=
+f("
",{"class":"owl-prev",html:a.options.navigationText[0]||""});a.buttonNext=f("
",{"class":"owl-next",html:a.options.navigationText[1]||""});b.append(a.buttonPrev).append(a.buttonNext);b.on("touchstart.owlControls mousedown.owlControls",'div[class^="owl"]',function(a){a.preventDefault()});b.on("touchend.owlControls mouseup.owlControls",'div[class^="owl"]',function(b){b.preventDefault();f(this).hasClass("owl-next")?a.next():a.prev()})},buildPagination:function(){var a=this;a.paginationWrapper=
+f('');a.owlControls.append(a.paginationWrapper);a.paginationWrapper.on("touchend.owlControls mouseup.owlControls",".owl-page",function(b){b.preventDefault();Number(f(this).data("owl-page"))!==a.currentItem&&a.goTo(Number(f(this).data("owl-page")),!0)})},updatePagination:function(){var a,b,e,c,d,g;if(!1===this.options.pagination)return!1;this.paginationWrapper.html("");a=0;b=this.itemsAmount-this.itemsAmount%this.options.items;for(c=0;c ",{"class":"owl-page"}),g=f(" ",{text:!0===this.options.paginationNumbers?a:"","class":!0===this.options.paginationNumbers?"owl-numbers":""}),d.append(g),d.data("owl-page",b===c?e:c),d.data("owl-roundPages",a),this.paginationWrapper.append(d));this.checkPagination()},checkPagination:function(){var a=this;if(!1===a.options.pagination)return!1;a.paginationWrapper.find(".owl-page").each(function(){f(this).data("owl-roundPages")===
+f(a.$owlItems[a.currentItem]).data("owl-roundPages")&&(a.paginationWrapper.find(".owl-page").removeClass("active"),f(this).addClass("active"))})},checkNavigation:function(){if(!1===this.options.navigation)return!1;!1===this.options.rewindNav&&(0===this.currentItem&&0===this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.addClass("disabled")):0===this.currentItem&&0!==this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.removeClass("disabled")):this.currentItem===
+this.maximumItem?(this.buttonPrev.removeClass("disabled"),this.buttonNext.addClass("disabled")):0!==this.currentItem&&this.currentItem!==this.maximumItem&&(this.buttonPrev.removeClass("disabled"),this.buttonNext.removeClass("disabled")))},updateControls:function(){this.updatePagination();this.checkNavigation();this.owlControls&&(this.options.items>=this.itemsAmount?this.owlControls.hide():this.owlControls.show())},destroyControls:function(){this.owlControls&&this.owlControls.remove()},next:function(a){if(this.isTransition)return!1;
+this.currentItem+=!0===this.options.scrollPerPage?this.options.items:1;if(this.currentItem>this.maximumItem+(!0===this.options.scrollPerPage?this.options.items-1:0))if(!0===this.options.rewindNav)this.currentItem=0,a="rewind";else return this.currentItem=this.maximumItem,!1;this.goTo(this.currentItem,a)},prev:function(a){if(this.isTransition)return!1;this.currentItem=!0===this.options.scrollPerPage&&0this.currentItem)if(!0===this.options.rewindNav)this.currentItem=this.maximumItem,a="rewind";else return this.currentItem=0,!1;this.goTo(this.currentItem,a)},goTo:function(a,b,e){var c=this;if(c.isTransition)return!1;"function"===typeof c.options.beforeMove&&c.options.beforeMove.apply(this,[c.$elem]);a>=c.maximumItem?a=c.maximumItem:0>=a&&(a=0);c.currentItem=c.owl.currentItem=a;if(!1!==c.options.transitionStyle&&"drag"!==e&&1===c.options.items&&!0===c.browser.support3d)return c.swapSpeed(0),
+!0===c.browser.support3d?c.transition3d(c.positionsInArray[a]):c.css2slide(c.positionsInArray[a],1),c.afterGo(),c.singleItemTransition(),!1;a=c.positionsInArray[a];!0===c.browser.support3d?(c.isCss3Finish=!1,!0===b?(c.swapSpeed("paginationSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.paginationSpeed)):"rewind"===b?(c.swapSpeed(c.options.rewindSpeed),g.setTimeout(function(){c.isCss3Finish=!0},c.options.rewindSpeed)):(c.swapSpeed("slideSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},
+c.options.slideSpeed)),c.transition3d(a)):!0===b?c.css2slide(a,c.options.paginationSpeed):"rewind"===b?c.css2slide(a,c.options.rewindSpeed):c.css2slide(a,c.options.slideSpeed);c.afterGo()},jumpTo:function(a){"function"===typeof this.options.beforeMove&&this.options.beforeMove.apply(this,[this.$elem]);a>=this.maximumItem||-1===a?a=this.maximumItem:0>=a&&(a=0);this.swapSpeed(0);!0===this.browser.support3d?this.transition3d(this.positionsInArray[a]):this.css2slide(this.positionsInArray[a],1);this.currentItem=
+this.owl.currentItem=a;this.afterGo()},afterGo:function(){this.prevArr.push(this.currentItem);this.prevItem=this.owl.prevItem=this.prevArr[this.prevArr.length-2];this.prevArr.shift(0);this.prevItem!==this.currentItem&&(this.checkPagination(),this.checkNavigation(),this.eachMoveUpdate(),!1!==this.options.autoPlay&&this.checkAp());"function"===typeof this.options.afterMove&&this.prevItem!==this.currentItem&&this.options.afterMove.apply(this,[this.$elem])},stop:function(){this.apStatus="stop";g.clearInterval(this.autoPlayInterval)},
+checkAp:function(){"stop"!==this.apStatus&&this.play()},play:function(){var a=this;a.apStatus="play";if(!1===a.options.autoPlay)return!1;g.clearInterval(a.autoPlayInterval);a.autoPlayInterval=g.setInterval(function(){a.next(!0)},a.options.autoPlay)},swapSpeed:function(a){"slideSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)):"paginationSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)):"string"!==typeof a&&this.$owlWrapper.css(this.addCssSpeed(a))},
+addCssSpeed:function(a){return{"-webkit-transition":"all "+a+"ms ease","-moz-transition":"all "+a+"ms ease","-o-transition":"all "+a+"ms ease",transition:"all "+a+"ms ease"}},removeTransition:function(){return{"-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}},doTranslate:function(a){return{"-webkit-transform":"translate3d("+a+"px, 0px, 0px)","-moz-transform":"translate3d("+a+"px, 0px, 0px)","-o-transform":"translate3d("+a+"px, 0px, 0px)","-ms-transform":"translate3d("+
+a+"px, 0px, 0px)",transform:"translate3d("+a+"px, 0px,0px)"}},transition3d:function(a){this.$owlWrapper.css(this.doTranslate(a))},css2move:function(a){this.$owlWrapper.css({left:a})},css2slide:function(a,b){var e=this;e.isCssFinish=!1;e.$owlWrapper.stop(!0,!0).animate({left:a},{duration:b||e.options.slideSpeed,complete:function(){e.isCssFinish=!0}})},checkBrowser:function(){var a=k.createElement("div");a.style.cssText=" -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";
+a=a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);this.browser={support3d:null!==a&&1===a.length,isTouch:"ontouchstart"in g||g.navigator.msMaxTouchPoints}},moveEvents:function(){if(!1!==this.options.mouseDrag||!1!==this.options.touchDrag)this.gestures(),this.disabledEvents()},eventTypes:function(){var a=["s","e","x"];this.ev_types={};!0===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl mousedown.owl","touchmove.owl mousemove.owl","touchend.owl touchcancel.owl mouseup.owl"]:
+!1===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl","touchmove.owl","touchend.owl touchcancel.owl"]:!0===this.options.mouseDrag&&!1===this.options.touchDrag&&(a=["mousedown.owl","mousemove.owl","mouseup.owl"]);this.ev_types.start=a[0];this.ev_types.move=a[1];this.ev_types.end=a[2]},disabledEvents:function(){this.$elem.on("dragstart.owl",function(a){a.preventDefault()});this.$elem.on("mousedown.disableTextSelect",function(a){return f(a.target).is("input, textarea, select, option")})},
+gestures:function(){function a(a){if(void 0!==a.touches)return{x:a.touches[0].pageX,y:a.touches[0].pageY};if(void 0===a.touches){if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY};if(void 0===a.pageX)return{x:a.clientX,y:a.clientY}}}function b(a){"on"===a?(f(k).on(d.ev_types.move,e),f(k).on(d.ev_types.end,c)):"off"===a&&(f(k).off(d.ev_types.move),f(k).off(d.ev_types.end))}function e(b){b=b.originalEvent||b||g.event;d.newPosX=a(b).x-h.offsetX;d.newPosY=a(b).y-h.offsetY;d.newRelativeX=d.newPosX-h.relativePos;
+"function"===typeof d.options.startDragging&&!0!==h.dragging&&0!==d.newRelativeX&&(h.dragging=!0,d.options.startDragging.apply(d,[d.$elem]));(8d.newRelativeX)&&!0===d.browser.isTouch&&(void 0!==b.preventDefault?b.preventDefault():b.returnValue=!1,h.sliding=!0);(10d.newPosY)&&!1===h.sliding&&f(k).off("touchmove.owl");d.newPosX=Math.max(Math.min(d.newPosX,d.newRelativeX/5),d.maximumPixels+d.newRelativeX/5);!0===d.browser.support3d?d.transition3d(d.newPosX):d.css2move(d.newPosX)}
+function c(a){a=a.originalEvent||a||g.event;var c;a.target=a.target||a.srcElement;h.dragging=!1;!0!==d.browser.isTouch&&d.$owlWrapper.removeClass("grabbing");d.dragDirection=0>d.newRelativeX?d.owl.dragDirection="left":d.owl.dragDirection="right";0!==d.newRelativeX&&(c=d.getNewPosition(),d.goTo(c,!1,"drag"),h.targetElement===a.target&&!0!==d.browser.isTouch&&(f(a.target).on("click.disable",function(a){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();f(a.target).off("click.disable")}),
+a=f._data(a.target,"events").click,c=a.pop(),a.splice(0,0,c)));b("off")}var d=this,h={offsetX:0,offsetY:0,baseElWidth:0,relativePos:0,position:null,minSwipe:null,maxSwipe:null,sliding:null,dargging:null,targetElement:null};d.isCssFinish=!0;d.$elem.on(d.ev_types.start,".owl-wrapper",function(c){c=c.originalEvent||c||g.event;var e;if(3===c.which)return!1;if(!(d.itemsAmount<=d.options.items)){if(!1===d.isCssFinish&&!d.options.dragBeforeAnimFinish||!1===d.isCss3Finish&&!d.options.dragBeforeAnimFinish)return!1;
+!1!==d.options.autoPlay&&g.clearInterval(d.autoPlayInterval);!0===d.browser.isTouch||d.$owlWrapper.hasClass("grabbing")||d.$owlWrapper.addClass("grabbing");d.newPosX=0;d.newRelativeX=0;f(this).css(d.removeTransition());e=f(this).position();h.relativePos=e.left;h.offsetX=a(c).x-e.left;h.offsetY=a(c).y-e.top;b("on");h.sliding=!1;h.targetElement=c.target||c.srcElement}})},getNewPosition:function(){var a=this.closestItem();a>this.maximumItem?a=this.currentItem=this.maximumItem:0<=this.newPosX&&(this.currentItem=
+a=0);return a},closestItem:function(){var a=this,b=!0===a.options.scrollPerPage?a.pagesInArray:a.positionsInArray,e=a.newPosX,c=null;f.each(b,function(d,g){e-a.itemWidth/20>b[d+1]&&e-a.itemWidth/20(b[d+1]||b[d]-a.itemWidth)&&"right"===a.moveDirection()&&(!0===a.options.scrollPerPage?(c=b[d+1]||b[b.length-1],a.currentItem=f.inArray(c,a.positionsInArray)):
+(c=b[d+1],a.currentItem=d+1))});return a.currentItem},moveDirection:function(){var a;0>this.newRelativeX?(a="right",this.playDirection="next"):(a="left",this.playDirection="prev");return a},customEvents:function(){var a=this;a.$elem.on("owl.next",function(){a.next()});a.$elem.on("owl.prev",function(){a.prev()});a.$elem.on("owl.play",function(b,e){a.options.autoPlay=e;a.play();a.hoverStatus="play"});a.$elem.on("owl.stop",function(){a.stop();a.hoverStatus="stop"});a.$elem.on("owl.goTo",function(b,e){a.goTo(e)});
+a.$elem.on("owl.jumpTo",function(b,e){a.jumpTo(e)})},stopOnHover:function(){var a=this;!0===a.options.stopOnHover&&!0!==a.browser.isTouch&&!1!==a.options.autoPlay&&(a.$elem.on("mouseover",function(){a.stop()}),a.$elem.on("mouseout",function(){"stop"!==a.hoverStatus&&a.play()}))},lazyLoad:function(){var a,b,e,c,d;if(!1===this.options.lazyLoad)return!1;for(a=0;a=this.currentItem:!0)&&e=f?g.setTimeout(c,100):e()}var d=this,f=0,k;"DIV"===b.prop("tagName")?(b.css("background-image","url("+b.data("src")+")"),k=!0):b[0].src=b.data("src");c()},autoHeight:function(){function a(){var a=f(e.$owlItems[e.currentItem]).height();e.wrapperOuter.css("height",a+"px");e.wrapperOuter.hasClass("autoHeight")||g.setTimeout(function(){e.wrapperOuter.addClass("autoHeight")},0)}function b(){d+=1;e.completeImg(c.get(0))?a():100>=d?g.setTimeout(b,
+100):e.wrapperOuter.css("height","")}var e=this,c=f(e.$owlItems[e.currentItem]).find("img"),d;void 0!==c.get(0)?(d=0,b()):a()},completeImg:function(a){return!a.complete||"undefined"!==typeof a.naturalWidth&&0===a.naturalWidth?!1:!0},onVisibleItems:function(){var a;!0===this.options.addClassActive&&this.$owlItems.removeClass("active");this.visibleItems=[];for(a=this.currentItem;a=this.$userItems.length||-1===e?this.$userItems.eq(-1).after(a):this.$userItems.eq(e).before(a);this.setVars()},removeItem:function(a){if(0===this.$elem.children().length)return!1;a=void 0===a||-1===a?-1:a;this.unWrap();this.$userItems.eq(a).remove();this.setVars()}};f.fn.owlCarousel=function(a){return this.each(function(){if(!0===
+f(this).data("owl-init"))return!1;f(this).data("owl-init",!0);var b=Object.create(l);b.init(a,this);f.data(this,"owlCarousel",b)})};f.fn.owlCarousel.options={items:5,itemsCustom:!1,itemsDesktop:[1199,4],itemsDesktopSmall:[979,3],itemsTablet:[768,2],itemsTabletSmall:!1,itemsMobile:[479,1],singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1E3,autoPlay:!1,stopOnHover:!1,navigation:!1,navigationText:["prev","next"],rewindNav:!0,scrollPerPage:!1,pagination:!0,paginationNumbers:!1,
+responsive:!0,responsiveRefreshRate:200,responsiveBaseWidth:g,baseClass:"owl-carousel",theme:"owl-theme",lazyLoad:!1,lazyFollow:!0,lazyEffect:"fade",autoHeight:!1,jsonPath:!1,jsonSuccess:!1,dragBeforeAnimFinish:!0,mouseDrag:!0,touchDrag:!0,addClassActive:!1,transitionStyle:!1,beforeUpdate:!1,afterUpdate:!1,beforeInit:!1,afterInit:!1,beforeMove:!1,afterMove:!1,afterAction:!1,startDragging:!1,afterLazyLoad:!1}})(jQuery,window,document);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/sidemenu.js b/deployed/trada/templates/trada/skins/light/js/plugin/sidemenu.js
new file mode 100644
index 00000000..fe404fbe
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/sidemenu.js
@@ -0,0 +1,381 @@
+;(function($) {
+
+ $.fn.gxSideMenu = function(options) {
+
+ 'use strict';
+
+ this.VERSION = '1.0.01';
+
+ this.options = {
+ mode: 'normal', // normal | tiny
+ interval: 300,
+ openOnHover: true, // true | false
+ clickTrigger: true, // true | false
+ trigger: '.menu-trigger',
+ followURLs: true, // true | false
+ direction: 'left', // left | right
+ tipItem: '#gx-sidemenu-tip',
+ startFrom: 60,
+ startClosed: true,
+ scrolling: true,
+ urlBase: '',
+ backText: 'Back',
+ onOpen: function() {},
+ onClose: function() {}
+ };
+
+ $.extend(this.options, options);
+
+ this.inAction = false;
+ this.myScroll = false;
+
+ var
+ URL = window.location.href.replace(window.location.origin, ''),
+ sideMenu = $(this),
+ sideMenuLogin = sideMenu.find('#gx-sidemenu-login').length ? sideMenu.find('#gx-sidemenu-login') : false,
+ Side = false,
+ Active = false,
+ t = this;
+
+ if (t.options.direction !== 'right') {
+ sideMenu.css({
+ right: 'auto',
+ left: -sideMenu.width(),
+ height: (t.options.mode != 'tiny' ? $(window).height() : 'auto'),
+ top: (sideMenu.height() < $(window).height() && t.options.mode != 'normal') ? (($(window).height()-sideMenu.height()) / 2) : 0
+ });
+ } else {
+ sideMenu.css({
+ left: 'auto',
+ right: -sideMenu.width(),
+ height: (t.options.mode != 'tiny' ? $(window).height() : 'auto'),
+ top: (sideMenu.height() < $(window).height() && t.options.mode != 'normal') ? (($(window).height()-sideMenu.height()) / 2) : 0
+ });
+ }
+
+ if (t.options.openOnHover != false) {
+ sideMenu.bind('mouseenter tap', function() {
+ Side = true;
+ Active = true;
+ }).bind('mouseleave', function() {
+ Side = false;
+ Active = false;
+ if (t.options.openOnHover != false) {
+ t.close();
+ }
+ });
+ }
+
+ if (this.options.mode != 'normal') {
+ sideMenu.addClass('tiny');
+ }
+
+ var sideMenuInner = sideMenu.find('.gx-sidemenu-inner:first');
+ sideMenuInner.css({
+ top: 0
+ });
+
+ sideMenu.append(sideMenuInner);
+
+ sideMenu.find('ul').find('li').each(function() {
+ if ($(this).find('ul').length > 0) {
+ if ($(this).find('.arrow').length == 0) {
+ $(this).find('>a').append(' ');
+ }
+ }
+ $(this).after(' ');
+ });
+
+ sideMenu.find('ul').find('li > a').each(function(i, e) {
+ $(this).prop('tabindex', i);
+ $(this).prop('data-valami', 'false');
+ });
+
+ if (t.options.mode != 'normal') {
+ if (!$(t.options.tipItem).length) {
+ var tip = $('
').hide();
+ tip.appendTo('body');
+ if (t.options.tipItem.indexOf('#') == -1) {
+ tip.addClass(t.options.tipItem.replace('.', ''));
+ } else {
+ tip.prop('id', t.options.tipItem.replace('#', ''));
+ }
+ } else {
+ var tip = $(t.options.tipItem);
+ }
+
+ tip.bind('mouseenter', function() { $(this).hide(); });
+
+ sideMenu.find('li').bind('mouseenter', function(e) {
+ $(t.options.tipItem).html($(this).find('.text:first').text()).css({
+ left: (t.options.direction != 'right' ? (sideMenu.width()+5) : 'auto'),
+ right: (t.options.direction != 'right' ? 'auto' : (sideMenu.width()+5)),
+ top: $(this).offset().top+5,
+ position: 'fixed'
+ }).fadeIn(100);
+ }).bind('mouseleave', function(e) {
+ $(t.options.tipItem).hide();
+ });
+ }
+
+ sideMenuInner.find('ul.gx-menu ul').hide().parent('li').find('a:first, a:first span').bind('click tap', function(e) {
+ e.preventDefault();
+ var parentsLength = $(this).parents('ul').length,
+ itemParent = $(this).parents('ul:first'),
+ backBtn = $(''+t.options.backText+' ');
+
+ var itemLI = $(this).parents('li:first').addClass('active-menu');
+
+ if ($(this).next('ul').find('a.back').length == 0)
+ $(this).next('ul').prepend(backBtn);
+
+ var UL = $(this).next('ul').css({
+ position: 'absolute',
+ background: 'transparent',
+ width: itemParent.width(),
+ top: 0,
+ right: -itemParent.width(),
+ height: 'auto'
+ //height: itemParent.height()
+ }).show().addClass('active-sub');
+
+ UL.insertAfter(itemParent);
+
+ itemParent.fadeOut(t.options.interval);
+ UL.show().animate({
+ right: 0,
+ opacity: 1
+ }, t.options.interval);
+
+ if (t.options.scrolling == true && t.myScroll) {
+ var activeUL = sideMenu.find('ul.active-sub:last').length ? sideMenu.find('ul.active-sub:last') : sideMenu.find('ul:first');
+ sideMenuInner.find('div.scroll').css({ height: activeUL.height() });
+ t.myScroll.refresh();
+ }
+
+ backBtn.bind('click tap', function() {
+ UL.removeClass('active-sub').stop().animate({right: -UL.width(), left: 'auto', opacity: 0 }, t.options.interval, function() {
+ $(this).appendTo(itemLI);
+ itemLI.removeClass('active-menu');
+ });
+ itemParent.fadeIn(t.options.interval);
+ if (t.options.scrolling == true && t.myScroll) {
+ var activeUL = sideMenu.find('ul.active-sub:last').length ? sideMenu.find('ul.active-sub:last') : sideMenu.find('ul:first');
+ sideMenuInner.find('div.scroll').css({ height: activeUL.height() });
+ t.myScroll.refresh();
+ }
+ });
+ });
+
+ if (this.options.followURLs != false) {
+ URL = URL.replace(/https?:\/\//gi, '').replace(window.location.hostname, '').replace(this.options.urlBase, '');
+ sideMenuInner.find('ul').find('a[href="'+URL+'"]').each(function() {
+ $(this).parent('li:first').addClass('active-link');
+ var toHide = $(this).parents('li').not('.active-link');
+ $(toHide.get().reverse()).each(function() {
+ var oldInterval = t.options.interval;
+ t.options.interval = 0;
+ $(this).find('>a').trigger('click');
+ t.options.interval = oldInterval;
+ });
+ });
+ }
+
+
+ // BIND MOUSE ON CORNERS
+
+ if (t.options.openOnHover != false) {
+ $(document).bind('mousemove', function(e,o) {
+ if (t.inAction != true) {
+ var ww = t.options.startFrom; // sideMenu.width() * 0.2;
+ if (!Active) {
+ if (t.options.direction != 'right') {
+ if (e.pageX < ww) { Side = true; } else { Side = false; }
+ } else {
+ if (e.pageX > $(window).width()-ww) { Side = true; } else { Side = false; }
+ }
+ }
+ !Side ? t.close() : t.open();
+ }
+ });
+
+ if (isMobile.any()) {
+ $.event.special.swipe.horizontalDistanceThreshold = 100;
+
+ $( document ).on( "swipeleft", function() {
+ if (t.options.direction != 'left') { // RIGHT case
+ if (!sideMenu.hasClass('opened')) {
+ t.open();
+ }
+ } else { // LEFT case
+ if (sideMenu.hasClass('opened')) {
+ t.close();
+ }
+ }
+ });
+ $( document ).on( "swiperight", function() {
+ if (t.options.direction != 'left') { // RIGHT case
+ if (sideMenu.hasClass('opened')) {
+ t.close();
+ }
+ } else { // LEFT case
+ if (!sideMenu.hasClass('opened')) {
+ t.open();
+ }
+ }
+ });
+ $('body').on('tap', function() {
+ if (sideMenu.hasClass('opened') && Active == false) {
+ t.close();
+ }
+ Active = false;
+ });
+ }
+ }
+
+ this.open = function() {
+ t.inAction = true;
+ if (t.options.direction != 'right') {
+ if (!sideMenu.hasClass('opened')) {
+ sideMenu.stop().animate({left: 0}, t.options.interval, function() {
+ sideMenu.addClass('opened');
+ t.inAction = false;
+ t.options.onOpen();
+ });
+ }
+ } else {
+ if (!sideMenu.hasClass('opened')) {
+ sideMenu.stop().animate({right: 0}, t.options.interval, function() {
+ sideMenu.addClass('opened');
+ t.inAction = false;
+ t.options.onOpen();
+ });
+ }
+ }
+ };
+
+ this.close = function() {
+ if (t.options.direction !== 'right') {
+ if (sideMenu.hasClass('opened')) {
+ t.inAction = true;
+ sideMenu.stop().animate({left: -sideMenu.width() }, t.options.interval, function() {
+ sideMenu.removeClass('opened');
+ t.inAction = false;
+ t.options.onClose();
+ });
+ }
+ } else {
+ if (sideMenu.hasClass('opened')) {
+ t.inAction = true;
+ sideMenu.stop().animate({right: -sideMenu.width() }, t.options.interval, function() {
+ sideMenu.removeClass('opened');
+ t.inAction = false;
+ t.options.onClose();
+ });
+ }
+ }
+ };
+
+ this.openClose = function() {
+ var ww = t.options.startFrom; //sideMenu.width() * 0.2;
+ if (!Active) {
+ if (t.options.direction != 'right') {
+ if (sideMenu.offset().left <= 0) { Side = true; } else { Side = false; }
+ } else {
+ if (sideMenu.offset().left >= ww) { Side = true; } else { Side = false; }
+ }
+ }
+ if (Side == true && !sideMenu.hasClass('opened')) {
+ t.open();
+ } else {
+ t.close();
+ $(t.options.tipItem).hide();
+ }
+ };
+
+ $(window).resize(function() {
+ if (!sideMenu.hasClass('opened')) {
+ sideMenu.css({
+ height: t.options.mode != 'tiny' ? $(window).height() : 'auto',
+ left: t.options.direction != 'right' ? -sideMenu.width() : 'auto',
+ right: t.options.direction != 'left' ? -sideMenu.width() : 'auto',
+ top: (sideMenu.height() < $(window).height() && t.options.mode != 'normal') ? (($(window).height()-sideMenu.height()) / 2) : 0
+ });
+ } else {
+ sideMenu.css({
+ height: t.options.mode != 'tiny' ? $(window).height() : 'auto',
+ top: (sideMenu.height() < $(window).height() && t.options.mode != 'normal') ? (($(window).height()-sideMenu.height()) / 2) : 0
+ });
+ }
+
+ sideMenuInner.css({
+ height: t.options.mode != 'normal' ? 'auto' : (sideMenu.innerHeight() - (sideMenuLogin!=false ? sideMenuLogin.innerHeight() : 0)),
+ paddingBottom: 0
+ });
+
+ if (t.options.scrolling == true && t.myScroll) {
+ sideMenuInner.children('div.scroll').css({ height: sideMenu.find('ul.active-sub:last').height() });
+ t.myScroll.refresh();
+ }
+ });
+
+ sideMenuInner.css({
+ height: t.options.mode != 'normal' ? 'auto' : (sideMenu.innerHeight() - (sideMenuLogin!=false ? sideMenuLogin.innerHeight() : 0))
+ });
+
+ if (t.options.startClosed != true) {
+ if (t.options.openOnHover != false)
+ t.open();
+ }
+
+ if (t.options.clickTrigger != false) {
+ $(t.options.trigger).bind('click', function() {
+ t.openClose();
+ });
+ }
+
+ if (t.options.scrolling != false) {
+ if (!t.myScroll && sideMenuLogin != false) {
+ var activeUL = sideMenu.find('ul.active-sub:last').length ? sideMenu.find('ul.active-sub:last') : sideMenu.find('ul:first');
+ sideMenuInner.find('div.scroll').css({ height: activeUL.height() });
+ setTimeout(function() {
+ t.myScroll = new IScroll('#'+sideMenuInner.prop('id'), {
+ mouseWheel: true,
+ scrollbars: true,
+ swipe: true,
+ click: true,
+ keyBindings: true,
+ tap: true
+ });
+ }, 500);
+ }
+ }
+
+
+ if (isMobile.any() !== false) {
+ $('.icon, .entypo').addClass('mobile');
+ }
+ }
+
+})(jQuery);
+
+var isMobile = {
+ Android: function() {
+ return navigator.userAgent.match(/Android/i) ? true : false;
+ },
+ BlackBerry: function() {
+ return navigator.userAgent.match(/BlackBerry/i) ? true : false;
+ },
+ iOS: function() {
+ return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
+ },
+ Opera: function() {
+ return navigator.userAgent.match(/Opera Mini/i) ? true : false;
+ },
+ Windows: function() {
+ return navigator.userAgent.match(/IEMobile/i) ? true : false;
+ },
+ any: function() {
+ return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
+ }
+};
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/template.js b/deployed/trada/templates/trada/skins/light/js/plugin/template.js
new file mode 100644
index 00000000..e1e9663d
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/template.js
@@ -0,0 +1,918 @@
+$(document).ready(function(){
+
+ // UI init
+ ui.init();
+
+ // Modules init
+ modules.hashNav();
+ modules.video('intro-video');
+
+
+
+ // Forms
+ forms.init('body');
+
+});
+
+var ui = (function(window, undefined) {
+
+ 'use strict';
+
+ function pageLoad() {
+
+ $('html')
+ .addClass(helpers.mobile() ? 'm-touch' : 'm-desktop');
+
+ $(window)
+ .on('load', function() {
+
+ $('html').addClass('m-loaded');
+ $('.b-loader').addClass('b-loader__complete', true);
+
+ });
+
+ }
+
+ function headerState() {
+
+ var $header = $('.b-header__float'),
+
+ hasScreen = $('#intro').length > 0,
+ threshold = 10;
+
+ processing();
+
+ $(window).bind('scroll.headerState resize.headerState', function() {
+
+ processing();
+
+ });
+
+ function processing() {
+
+ var $locker = $('.b-leaflet_locker'),
+ scroll = $locker.length ? Math.abs(parseInt($locker.css('margin-top')), 10) : document.documentElement.scrollTop || document.body.scrollTop;
+
+ $header.toggleClass('b-header__transparent', hasScreen && scroll < threshold);
+
+ }
+
+ }
+
+ function navigation() {
+
+ var $toggle = $('.js-nav'),
+ $header = $('.b-header');
+
+ $toggle.bind('click', function() {
+
+ $header
+ .toggleClass('b-header__transparent', $header.hasClass('b-header__showNav'))
+ .toggleClass('b-header__showNav');
+
+ });
+
+ }
+
+ function targetBlank() {
+
+ $('a[data-target="_blank"]')
+ .on('click', function() {
+
+ return !window.open($(this).attr('href'));
+
+ });
+
+ }
+
+ return {
+ init: function() {
+
+ // Loader
+ pageLoad();
+
+ // Header state
+ headerState();
+
+ // Navigation
+ navigation();
+
+ // Target "blank" links
+ targetBlank();
+
+ }
+ };
+
+})(window);
+
+var helpers = (function(window, undefined) {
+
+ 'use strict';
+
+ function pixelsRatio() {
+
+ return 'devicePixelRatio' in window && window.devicePixelRatio > 1;
+
+ }
+
+ function screen() {
+
+ var deviceScreen = $(window).width();
+
+ if (deviceScreen < 480) {
+
+ return 'xs';
+
+ }
+
+ else if (deviceScreen >= 480 && deviceScreen < 768)
+ {
+
+ return 'sm';
+
+ }
+
+ else if (deviceScreen >= 768 && deviceScreen < 970)
+ {
+
+ return 'md';
+
+ }
+
+ else if (deviceScreen >= 970)
+ {
+
+ return 'lg';
+
+ }
+
+ }
+
+ function mobile() {
+
+ var uaTest = {
+
+ android: function() {
+ return navigator.userAgent.match(/Android/i);
+ },
+
+ blackBerry: function() {
+ return navigator.userAgent.match(/BlackBerry/i);
+ },
+
+ iOS: function() {
+ return navigator.userAgent.match(/iPhone|iPad|iPod/i);
+ },
+
+ opera: function() {
+ return navigator.userAgent.match(/Opera Mini/i);
+ },
+
+ windows: function() {
+ return navigator.userAgent.match(/IEMobile/i);
+ }
+
+ };
+
+ return (uaTest.android() || uaTest.blackBerry() || uaTest.iOS() || uaTest.opera() || uaTest.windows())
+
+ }
+
+ return {
+ mobile: mobile,
+ pixelsRatio: pixelsRatio,
+ screen: screen
+ };
+
+})(window);
+
+/*
+
+ Copyright (c) 2015 Loginov Artem http://loginov.biz
+ Dual licensed under the MIT license and GPL license
+
+*/
+
+var forms = (function(window, undefined) {
+
+ 'use strict';
+
+ function init(namespace) {
+
+ forms.styleControls(namespace + ' input[type="checkbox"], ' + namespace + ' input[type="radio"]', namespace + ' select');
+ forms.makePlaceholders(namespace + ' [placeholder]');
+
+ forms.validate(namespace);
+
+ }
+
+ function validate(namespace) {
+
+ $(namespace + ' form').each(function() {
+
+ var $form = $(this);
+
+ if ($.isFunction($.fn.validate) && $form.data('checkup')) {
+
+ $form
+ .validate({
+ onChange: true,
+ eachValidField: function() {
+
+ formNotifications.hideErrorLabel.call($(this));
+
+ },
+ eachInvalidField: function(status, options) {
+
+ var conditional = typeof $(this).data('conditionalType') !== 'undefined' ? formNotifications.labels.conditional[$(this).data('conditionalType')] : formNotifications.labels.conditional.default,
+ pattern = typeof $(this).data('patternType') !== 'undefined' ? formNotifications.labels.pattern[$(this).data('patternType')] : formNotifications.labels.pattern.default,
+
+ notification = (options.required) ? ((!options.conditional) ? conditional : (!options.pattern) ? pattern : '') : formNotifications.labels.required;
+
+ formNotifications.showErrorLabel.call($(this), notification, 0);
+
+ },
+ valid: function(e) {
+
+ var $form = $(this),
+ $btn = $(this).find('button[type="submit"].b-btn'),
+
+ validHandler = $(this).data('callback'),
+ xhrSubmit = $(this).data('xhr');
+
+ if(typeof window[validHandler] === 'function') {
+
+ e.preventDefault();
+ window[validHandler].call($form);
+
+ return false;
+
+ }
+
+ if(xhrSubmit) {
+
+ e.preventDefault();
+
+ $.ajax({
+ url: $form.attr('action'),
+ method: $form.attr('method'),
+ data: $form.serialize(),
+ dataType: 'json',
+ beforeSend: function() {
+
+ $btn.toggleClass('request');
+
+ },
+ success: function(response) {
+
+ $btn.toggleClass('request');
+ xhrFormHandler.response.call($form, response);
+
+ }
+ });
+
+ }
+
+ }
+
+ })
+ .find('input, textarea').on('focus', function() {
+
+ $(this).closest('.m-error').removeClass('m-error');
+
+ });
+
+ }
+
+ });
+
+ }
+
+ function styleControls(input, select, file) {
+
+ if ($.isFunction($.fn.uniform)) {
+
+ // Inputs
+ $(input).not('.b-pricing_switcher input').uniform();
+
+ // Select
+ if(typeof select !== 'undefined') {
+
+ $(select).uniform({
+ selectClass: 'e-select',
+ selectAutoWidth: false
+ });
+
+ }
+
+ }
+
+ }
+
+ function makePlaceholders(selector) {
+
+ if ($.isFunction($.fn.placeholder)) {
+
+ $(selector).placeholder();
+
+ }
+
+ }
+
+ return {
+ init: init,
+ makePlaceholders: makePlaceholders,
+ styleControls: styleControls,
+ validate: validate
+ };
+
+})(window);
+
+// Notifications system
+var formNotifications = (function(window, undefined) {
+
+ 'use strict';
+
+ var settings = {
+ errorClass: 'm-error',
+ errorSuffix: '_error'
+ };
+
+ var labels = {
+ required: 'This is required field',
+ conditional: {
+ default: 'Input does not coincide',
+ credit: 'Invalid credit card number',
+ passwords: 'The passwords entered do not match'
+ },
+ pattern: {
+ default: 'Invalid data format',
+ email: 'Invalid email address',
+ phone: 'Invalid phone number'
+ },
+ submit: {
+ success: 'Thank you. We will contact you shortly.',
+ error: 'Error.'
+ }
+ };
+
+ // Notification alerts
+ function showMessage(msg, status, hideForm, callback) {
+
+ var $notice = this.find('.b-form_message').length ? this.find('.b-form_message') : $('
').prependTo(this),
+ suffix = status ? 'success' : 'error';
+
+ // Set height
+ $notice
+ .height($notice.height())
+ .html('');
+
+ $notice
+ .toggleClass('b-form_message__show', true)
+ .animate({ height: $notice.find('.b-form_message_inner').height(), paddingBottom: hideForm ? 0 : $notice.css('padding-bottom') }, 200, 'easeOutQuart', function() {
+
+ $(this).css({ height: '' });
+
+ });
+
+ if (hideForm) {
+
+ $notice
+ .next('form')
+ .toggleClass('b-form__hide', true)
+ .slideUp({ duration: 300, easing: 'easeOutQuart' });
+
+ }
+
+ // Callback
+ if(typeof callback === 'function') {
+
+ callback.call(this);
+
+ }
+
+ }
+
+ function hideMessage() {
+
+ var $notice = this.find('.b-form_message').length ? this.find('.b-form_message') : $('
').prependTo(this);
+
+ $notice
+ .slideUp({duration: 300, easing: 'easeOutQuart' });
+
+ }
+
+ // Notification labels
+ function showErrorLabel(text, status) {
+
+ var $field = this.closest('.b-form_box_field');
+ $field.find('.b-form_box_field' + settings.errorSuffix).remove();
+
+ $field.append('' + text + '
');
+
+ setTimeout(function() {
+
+ $field.addClass(settings.errorClass);
+
+ }, 100);
+
+ }
+
+ function hideErrorLabel() {
+
+ var $field = this.closest('.b-form_box_field');
+
+ $field.removeClass(settings.errorClass);
+ $field.find('.b-form_box_field' + settings.errorSuffix).remove();
+
+ }
+
+ return {
+ labels: labels,
+ showErrorLabel: showErrorLabel,
+ showMessage: showMessage,
+ hideErrorLabel: hideErrorLabel,
+ hideMessage: hideMessage
+ };
+
+})(window);
+
+
+// Regular form handler
+var xhrFormHandler = (function(window, undefined) {
+
+ 'use strict';
+
+ function response(response) {
+
+ var $form = this,
+ message = '';
+
+ // start check
+ if (typeof response.fields === 'boolean' && response.fields) {
+
+ if(response.captcha) {
+
+ // Success action
+ message = response.msg || formNotifications.labels.submit.success;
+ formNotifications.showMessage.call(this.closest('.b-form'), message, true, response.hideForm);
+
+ } else {
+
+ // Captcha error action
+ message = response.msg || formNotifications.labels.submit.error;
+ captchaHandler.call(this, response);
+
+ }
+
+ } else if (typeof response.fields === 'object') {
+
+ // Get error message string
+ var messageStr = ' Некорректно заполнены поля: ';
+
+ $.each(response.fields, function(key, value) {
+
+ var fieldName = $form.find('[name="' + key + '"]').attr('placeholder') || $form.find('[name="' + key + '"]').closest('.b-form_box').find('.b-form_box_title').text().replace(' *', '');
+
+ messageStr += '«' + fieldName + '», ';
+
+ });
+
+ message = response.msg || formNotifications.labels.submit.error + messageStr.substring(0, messageStr.length - 2) + '.';
+
+ // Init handlers
+ captchaHandler.call(this, response);
+
+ formNotifications.showMessage.call(this.closest('.b-form'), message, false, false, function(form) {
+
+ highlightFields($form, response.fields);
+
+ });
+
+ } else {
+
+ if ('console' in window) {
+ console.log('Invalid response format form handler');
+ console.log(response);
+ }
+
+ }
+
+ }
+
+ function highlightFields(form, array) {
+
+ $.each(array, function(key, value) {
+
+ formNotifications.showErrorLabel.call(form.find('[name="' + key + '"]'), value, 0);
+
+ });
+
+ }
+
+ function captchaHandler(response) {
+
+ this.find('[name*="captcha"]').val('');
+ this.find('img').attr('src', response.captchaImg);
+
+ if(!response.captcha) {
+
+ formNotifications.showErrorLabel.call(this, forms.msg.captcha, 0);
+
+ }
+
+ }
+
+ return {
+ response: response
+ };
+
+})(window);
+
+
+// Mail Chimp handler
+var mailChimp = function() {
+
+ 'use strict';
+
+ var $form = this;
+
+ $.ajax({
+ url: $form.attr('action'),
+ method: $form.attr('method'),
+ data: $form.serialize(),
+ dataType: 'json',
+ success: function(response) {
+
+ var message;
+
+ if (response.status != 'error') {
+
+ message = '' +
+ 'Thank You! ' +
+ 'You have subscribed to our newsletter.
';
+
+ formNotifications.showMessage.call($form.closest('.b-form'), message, true, true);
+
+ } else {
+
+ message = '' +
+ 'Error! ' +
+ formNotifications.labels.pattern.email;
+
+ formNotifications.showMessage.call($form.closest('.b-form'), message, false, false);
+
+ }
+
+ }
+ });
+
+};
+
+/*
+
+ Copyright (c) 2015 Loginov Artem http://loginov.biz
+ Dual licensed under the MIT license and GPL license
+
+*/
+
+var modules = (function(window, undefined) {
+
+ 'use strict';
+
+ function hashNav() {
+
+ var $anchor = $('a[href^="#"]:not([class*="js-spoiler"] a, [class*="js-tabs"] a)'),
+ $doc = $('html, body');
+
+ $anchor.on('click', function(e) {
+
+ var url = $(this).attr('href');
+
+ if (url.length > 1) {
+
+ e.preventDefault();
+
+ if ($(url).length) {
+
+ $doc
+ .stop()
+ .animate({
+ scrollTop: $(url).offset().top - 70
+ }, 1500, 'easeInOutExpo');
+
+ }
+
+ }
+
+ });
+
+ }
+
+ function spoilers(options) {
+
+ $(options.selector).each(function() {
+
+ var $spoiler = $(this),
+
+ $body = $spoiler.find(options.selector + '-text'),
+ $toggle = $spoiler.find(options.selector + '-toggle');
+
+ $spoiler.not('.opened').find(options.selector + '-text').hide();
+
+ $toggle
+ .on('click.spoiler', function(e) {
+
+ e.preventDefault();
+
+ var item = $(this).closest(options.selector),
+ state = item.hasClass('opened') && item.find(options.selector + '-text').is(':visible');
+
+ if (!state) {
+
+ spoilerOpen.call(item, options.selector);
+
+ } else {
+
+ spoilerClose.call(item, options.selector);
+
+ }
+
+ // Close neighbors items
+ if (item.data('closeNeighbors')) {
+
+ item.siblings(options.selector).each(function() {
+ spoilerClose.call($(this), options.selector);
+ });
+
+ }
+
+ });
+
+ });
+
+ function spoilerClose(sel) {
+
+ this.toggleClass('opened', false);
+
+ this.find(sel + '-toggle').html(this.find(sel + '-toggle').data('closed') || this.find(sel + '-toggle').html());
+ this.find(sel + '-text').slideUp({ duration: 300, easing: 'easeOutQuart' });
+
+ }
+
+ function spoilerOpen(sel) {
+
+ this.toggleClass('opened', true);
+
+ this.find(sel + '-toggle').html(this.find(sel + '-toggle').data('opened') || this.find(sel + '-toggle').html());
+ this.find(sel + '-text').slideDown({ duration: 300, easing: 'easeOutQuart' });
+
+ }
+
+ }
+
+ function tabs(options) {
+
+ $(options.selector).each(function(){
+
+ var $wg = $(this),
+ $wrapper = $(this).find(options.selector + '-wrapper').filter(function() { return $wg[0] == $(this).closest(options.selector)[0]; }),
+ $currentLink = $(this).find(options.selector + '-toggle a.current');
+
+ if(!$currentLink.length) {
+ $(this).find(options.selector + '-toggle a:first').addClass('current');
+ }
+
+ var hash = $(this).find(options.selector + '-toggle a.current').attr('href'),
+
+ $pages = $wrapper.find(options.selector + '-page').filter(function() { return $wrapper[0] == $(this).closest(options.selector + '-wrapper')[0]; }),
+ $currentPage = $wrapper.find(options.selector + '-page' + hash).filter(function() { return $wrapper[0] == $(this).closest(options.selector + '-wrapper')[0]; });
+
+ $pages.toggleClass('visible', false);
+ $currentPage.toggleClass('visible', true);
+
+ $(this)
+ .find(options.selector + '-toggle')
+ .filter(function() { return $wg[0] == $(this).closest(options.selector)[0]; })
+ .find('a[href*="#"]')
+ .click(function(e) {
+
+ e.preventDefault();
+
+ $wrapper.css({ height: $currentPage.outerHeight(true) });
+
+ $(this).closest(options.selector + '-toggle').find('a').removeClass('current');
+ $(this).addClass('current');
+
+ $currentPage = $(this).closest(options.selector).find(options.selector + '-page' + $(this).attr('href'));
+ $pages.toggleClass('visible', false);
+
+ $currentPage.toggleClass('visible', true);
+
+ $wrapper.animate({ height: $currentPage.outerHeight(true) }, 500, 'easeOutQuart', function() {
+
+ $(this).css({ height: '' })
+
+ });
+
+ if(typeof options.onToggle != 'undefined' && options.onToggle) {
+ options.onToggle($(this), $(this).closest(options.selector).find(options.selector + '-page' + $(this).attr('href')));
+ }
+
+ return false;
+
+ });
+
+ });
+
+ }
+
+ function video(id) {
+
+ var support = !!document.createElement('video').canPlayType,
+ isTouchDevice = 'ontouchstart' in document.documentElement,
+
+ video = document.getElementById(id),
+
+ src, dotIndex, source;
+
+ if (!video) return;
+ if (!support || isTouchDevice) {
+
+ video.style.display = 'none';
+ video.parentNode.removeChild(video);
+
+ } else {
+
+ setTimeout(function() {
+
+ src = video.getAttribute('data-src');
+ dotIndex = src.lastIndexOf('.');
+
+ if (dotIndex != -1) {
+ src = src.substring(0, dotIndex);
+ }
+
+ source = document.createElement('source');
+
+ if (_supportsWebmVideo(video)) {
+
+ source.src = src + '.webm';
+ source.type = 'video/webm; codecs="vp8, vorbis';
+
+ } else if (_supportsMp4Video(video)) {
+
+ source.src = src + '.mp4';
+ source.type = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2';
+
+ } else if (_supportsOggVideo(video)) {
+
+ source.src = src + '.ogv';
+ source.type = 'video/ogg; codecs="theora, vorbis';
+
+ }
+
+ video.appendChild(source);
+
+ video.load();
+ video.play();
+
+ }, 0);
+
+ }
+
+ function _supportsWebmVideo(video) {
+ return video.canPlayType('video/webm; codecs="vp8, vorbis"');
+ }
+ function _supportsMp4Video(video) {
+ return video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');
+ }
+ function _supportsOggVideo(video) {
+ return video.canPlayType('video/ogg; codecs="theora, vorbis"');
+ }
+
+ }
+
+ return {
+ hashNav: hashNav,
+ spoilers: spoilers,
+ tabs: tabs,
+ video: video
+ };
+
+})(window);
+
+/*
+
+ Copyright (c) 2015 Loginov Artem http://loginov.biz
+ Dual licensed under the MIT license and GPL license
+
+*/
+
+var plugins = (function(window, undefined) {
+
+ 'use strict';
+
+ function sliders() {
+
+ if ($.isFunction($.fn.flexslider)) {
+
+ var selector = 'b-slider';
+
+ $('.' + selector).each( function() {
+
+ var $slider = $(this);
+
+ //if ($slider.find('.' + selector + '_inner > div').length > 1) {
+
+ $slider.flexslider({
+ namespace: selector + '_',
+ selector: '.' + selector + '_inner > div',
+ controlsContainer: $slider.parent(),
+
+ allowOneSlide: false,
+
+ animation: $slider.data('animation') || 'slide',
+ animationLoop: true,
+ animationSpeed: $slider.data('speed') || 400,
+
+ slideshow: $slider.data('auto') || false,
+ slideshowSpeed: /*$slider.data('interval') * 1000 ||*/ 5000,
+
+ showNearby: $slider.data('showNearby') || false,
+
+ directionNav: !!$slider.data('arrows') ? $slider.data('arrows') : false,
+ controlNav: $slider.data('control') || false,
+ controlNavLoop: $slider.data('controlLoop') || false,
+ progressLine: $slider.data('progress') || false,
+
+ thumbCaptions: $slider.data('controlCaptions') || false,
+ thumbBg: $slider.data('thumbsAsBg') || false,
+ thumbCount: !!$slider.data('thumbsCount') ? $slider.data('thumbsCount').split(',') : [1, 2, 2, 2],
+
+ pauseOnAction: true,
+ prevText: $slider.data('prevText') || '',
+ nextText: $slider.data('nextText') || '',
+
+ smoothHeight: true,
+
+ before: function() {
+
+ refresh();
+
+ },
+
+ after: function($slider) {
+
+ if (!$slider.playing && $slider.data('auto')) {
+ $slider.play();
+ }
+
+ }
+ });
+
+ //}
+
+ $(window).bind('resize.flexSlider', function() {
+
+ refresh();
+
+ });
+
+ function refresh() {
+
+ return $slider
+ .removeData('flexslider')
+ .css({ height: '' });
+
+ }
+
+ });
+
+ }
+
+ }
+
+ function parallax() {
+
+ var parallax = !!$('.b-section__parallax').length;
+
+ if (parallax) {
+
+ skrollr.init({
+ forceHeight: false,
+ //smoothScrolling: true,
+ //smoothScrollingDuration: 1000,
+ mobileCheck: function() {
+ return false;
+ }
+ });
+
+ }
+
+ }
+
+
+
+
+})(window);
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/validation.js b/deployed/trada/templates/trada/skins/light/js/plugin/validation.js
new file mode 100644
index 00000000..643837b9
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/validation.js
@@ -0,0 +1,4 @@
+/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
+ * http://jqueryvalidation.org/
+ * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a(" ").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+"")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})});
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/waypoints.min.js b/deployed/trada/templates/trada/skins/light/js/plugin/waypoints.min.js
new file mode 100644
index 00000000..2470db40
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/waypoints.min.js
@@ -0,0 +1,8 @@
+// Generated by CoffeeScript 1.6.2
+/*
+jQuery Waypoints - v2.0.3
+Copyright (c) 2011-2013 Caleb Troughton
+Dual licensed under the MIT license and GPL license.
+https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
+*/
+(function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(et.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/js/plugin/wow.min.js b/deployed/trada/templates/trada/skins/light/js/plugin/wow.min.js
new file mode 100644
index 00000000..a6922516
--- /dev/null
+++ b/deployed/trada/templates/trada/skins/light/js/plugin/wow.min.js
@@ -0,0 +1,2 @@
+/*! WOW - v1.1.2 - 2015-04-07
+* Copyright (c) 2015 Matthieu Aussaguel; Licensed MIT */(function(){var a,b,c,d,e,f=function(a,b){return function(){return a.apply(b,arguments)}},g=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.createEvent=function(a,b,c,d){var e;return null==b&&(b=!1),null==c&&(c=!1),null==d&&(d=null),null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e},a.prototype.emitEvent=function(a,b){return null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)?a["on"+b]():void 0},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.resetAnimation=f(this.resetAnimation,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),this.animationNameCache=new c,this.wowEvent=this.util().createEvent(this.config.boxClass)}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],c=0,d=b.length;d>c;c++)f=b[c],g.push(function(){var a,b,c,d;for(c=f.addedNodes||[],d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(this.doSync(e));return d}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototype.show=function(a){return this.applyStyle(a),a.className=a.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(a),this.util().emitEvent(a,this.wowEvent),this.util().addEvent(a,"animationend",this.resetAnimation),this.util().addEvent(a,"oanimationend",this.resetAnimation),this.util().addEvent(a,"webkitAnimationEnd",this.resetAnimation),this.util().addEvent(a,"MSAnimationEnd",this.resetAnimation),a},e.prototype.applyStyle=function(a,b){var c,d,e;return d=a.getAttribute("data-wow-duration"),c=a.getAttribute("data-wow-delay"),e=a.getAttribute("data-wow-iteration"),this.animate(function(f){return function(){return f.customStyle(a,b,d,c,e)}}(this))},e.prototype.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),e.prototype.resetStyle=function(){var a,b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(a.style.visibility="visible");return e},e.prototype.resetAnimation=function(a){var b;return a.type.toLowerCase().indexOf("animationend")>=0?(b=a.target||a.srcElement,b.className=b.className.replace(this.config.animateClass,"").trim()):void 0},e.prototype.customStyle=function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a},e.prototype.vendors=["moz","webkit"],e.prototype.vendorSet=function(a,b){var c,d,e,f;d=[];for(c in b)e=b[c],a[""+c]=e,d.push(function(){var b,d,g,h;for(g=this.vendors,h=[],b=0,d=g.length;d>b;b++)f=g[b],h.push(a[""+f+c.charAt(0).toUpperCase()+c.substr(1)]=e);return h}.call(this));return d},e.prototype.vendorCSS=function(a,b){var c,e,f,g,h,i;for(h=d(a),g=h.getPropertyCSSValue(b),f=this.vendors,c=0,e=f.length;e>c;c++)i=f[c],g=g||h.getPropertyCSSValue("-"+i+"-"+b);return g},e.prototype.animationName=function(a){var b;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=d(a).getPropertyValue("animation-name")}return"none"===b?"":b},e.prototype.cacheAnimationName=function(a){return this.animationNameCache.set(a,this.animationName(a))},e.prototype.cachedAnimationName=function(a){return this.animationNameCache.get(a)},e.prototype.scrollHandler=function(){return this.scrolled=!0},e.prototype.scrollCallback=function(){var a;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],a&&(this.isVisible(a)?this.show(a):e.push(a));return e}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},e.prototype.offsetTop=function(a){for(var b;void 0===a.offsetTop;)a=a.parentNode;for(b=a.offsetTop;a=a.offsetParent;)b+=a.offsetTop;return b},e.prototype.isVisible=function(a){var b,c,d,e,f;return c=a.getAttribute("data-wow-offset")||this.config.offset,f=window.pageYOffset,e=f+Math.min(this.element.clientHeight,this.util().innerHeight())-c,d=this.offsetTop(a),b=d+a.clientHeight,e>=d&&b>=f},e.prototype.util=function(){return null!=this._util?this._util:this._util=new b},e.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},e}()}).call(this);
\ No newline at end of file
diff --git a/deployed/trada/templates/trada/skins/light/media/video.jpg b/deployed/trada/templates/trada/skins/light/media/video.jpg
new file mode 100644
index 00000000..01d9c1e9
Binary files /dev/null and b/deployed/trada/templates/trada/skins/light/media/video.jpg differ
diff --git a/deployed/trada/templates/trada/templateDetails.xml b/deployed/trada/templates/trada/templateDetails.xml
new file mode 100644
index 00000000..140e2f35
--- /dev/null
+++ b/deployed/trada/templates/trada/templateDetails.xml
@@ -0,0 +1,97 @@
+
+
+
+ trada
+ 1.0
+ 27-10-2015
+ saihoai
+ dungroinhe@gmail.com
+ Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+
+
+ component.php
+ error.php
+ favicon.ico
+ index.php
+ templateDetails.xml
+ template_preview.png
+ template_thumbnail.png
+ fonts
+ html
+ images
+ language
+ skins
+
+
+ banner
+ debug
+ position-0
+ gx
+ position-1
+ position-2
+ position-3
+ position-4
+ position-5
+ position-6
+ position-7
+ position-8
+ position-9
+ position-10
+ position-11
+ position-12
+ position-13
+ position-14
+ footer
+
+
+ en-GB/en-GB.tpl_trada.ini
+ en-GB/en-GB.tpl_trada.sys.ini
+
+
+
+
+
+ TPL_TRADA_SKIN_LIGHT_LABEL
+ TPL_TRADA_SKIN_DARK_LABEL
+
+
+
+
+
+
+
+
+
+ JDEFAULT
+ TPL_TRADA_COLOR_BLUE_LABEL
+ TPL_TRADA_COLOR_GREENSEA_LABEL
+ TPL_TRADA_COLOR_MIDBLUE_LABEL
+ TPL_TRADA_COLOR_NEPHRITIS_LABEL
+ TPL_TRADA_COLOR_ORANGE_LABEL
+ TPL_TRADA_COLOR_PINK_LABEL
+ TPL_TRADA_COLOR_RED_LABEL
+ TPL_TRADA_COLOR_SADDLE_LABEL
+ TPL_TRADA_COLOR_YELLOW_LABEL
+
+
+
+
+
+
+
+
+
+
+
diff --git a/deployed/trada/templates/trada/template_preview.png b/deployed/trada/templates/trada/template_preview.png
new file mode 100644
index 00000000..a557ff7d
Binary files /dev/null and b/deployed/trada/templates/trada/template_preview.png differ
diff --git a/deployed/trada/templates/trada/template_thumbnail.png b/deployed/trada/templates/trada/template_thumbnail.png
new file mode 100644
index 00000000..a557ff7d
Binary files /dev/null and b/deployed/trada/templates/trada/template_thumbnail.png differ
+ item->numOfComments; ?> item->numOfComments>1) ? JText::_('K2_COMMENTS') : JText::_('K2_COMMENT'); ?> +
+ +userName); ?>
+ commentDate, JText::_('K2_DATE_FORMAT_LC2')); ?> +commentText; ?>
+