!function(t){"use strict";var i={id:0,title:"",display:0,status:"",order:"default",orderby:"desc",direction:"left",spacing:20,speed:10,cloneItems:"yes",wrapItems:"yes",hoverPause:0,height:null,minHeight:null,maxHeight:null,heightEase:"easeInOutQuint",heightSpeed:1.5,scrollInit:"empty",scrollDelay:2,maxWidth:"",bgColor:"",padding:{},margin:{},borderColor:"",borderStyle:{},borderWidth:{},borderRadius:{},contentsBgColor:"",contentsPadding:{},contentsBorderColor:"",contentsBorderStyle:{},contentsBorderWidth:{},contentsBorderRadius:{},titleDisplay:"none",titleContentsSize:"stretch",titleContentsPosition:"start",titleElement:"h3",titleElementPosition:"start",titleElementVerticalPosition:"start",titleTypography:{},titleMinWidth:"",titleMaxWidth:"",titleMinHeight:"",titleMaxHeight:"",titleColor:"",titleLinkColor:"",titleBgColor:"",titleMargin:{},titlePadding:{},titleBorderColor:"",titleBorderStyle:{},titleBorderWidth:{},titleBorderRadius:{},itemTypography:{},itemTextColor:"",itemLinkColor:"",itemBgColor:"",itemBorderColor:"",itemBorderStyle:{},itemBorderWidth:{},itemBorderRadius:{},itemPadding:{},itemMaxWidth:"",itemElementsWrap:"wrap",item:0,shuffle:0,showEditor:0,items:[]},e=function(e,s){this.displayType="ticker",this.elmt=e,this.settings=t.extend({},i,t.ditty_ticker.defaults,s),this.nextItem=null,this.total=this.settings.items.length,this.$elmt=t(e),this.$title=null,this.$titleContents=null,this.$contents=null,this.$items=null,this.$currentItem=null,this.$lastItem=null,this.scrollPercent=.13,this.running=!1,this.interval=!1,this.firstItem=this.settings.item,this.currentHeight=this.settings.height,this.initItems=[...this.settings.items],this.visibleItems=[],this.finished=!1,this.scrollIncrement=0,this.settings.items=dittyOrderItems(this.initItems,this.settings),this._init()};e.prototype={_init:function(){var i,e,s=this;0===this.total&&this.$elmt.hide(),this.$elmt.removeClass("ditty--pre"),this.$elmt.addClass("ditty ditty-ticker"),this.$elmt.attr("data-id",this.settings.id),this.$elmt.attr("data-type",this.displayType),this.$elmt.attr("data-display",this.settings.display),i=t('
'),this.$contents=i,this.$title=t('
'),this.$titleContents=t('
'),this.$title.append(this.$titleContents),e=t('
'),this.$items=e,this.$items.height(this.currentHeight),i.append(e),this.$elmt.append(i),this._upgrades(),this._styleDisplay(),this._styleTitle(),this.$elmt.on("mouseenter",{self:this},this._mouseenter),this.$elmt.on("mouseleave",{self:this},this._mouseleave),this.settings.showEditor?dittyEditorInit(this):this.trigger("start_live_updates"),setTimeout((function(){s._initializeItems(),s.trigger("init")}),1)},_upgrades:function(){this.settings.titleFontSize&&(this.settings.titleTypography.fontSize=this.settings.titleFontSize,delete this.settings.titleFontSize),this.settings.titleLineHeight&&(this.settings.titleTypography.lineHeight=this.settings.titleLineHeight,delete this.settings.titleFontSize)},_initializeItems:function(){"filled"===this.settings.scrollInit?this._fillTicker():this.running||this._timerStart()},_preloadItem:function(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var s,n=this,r=i.find("img").length,h=0;i.find("img").each((function(){(s=new Image).src=t(this).attr("src"),s.complete&&0!==s.naturalHeight?(h++,r===h&&e&&n._setCurrentHeight()):s.onload=function(){h++,r===h&&e&&n._setCurrentHeight()}}))},_positionItems:function(i){var e=this;if(0===e.visibleItems.length){var s=e.firstItem;this._isItemEnabled(s)||(s=this._getNextItem(s)),e._initializeItem(s)}t.each(e.visibleItems,(function(t,s){if(s){var n=e.visibleItems[t].$item,r=e._calculateItemPosition(t,i);e.visibleItems[t].posX=r.posX,e.visibleItems[t].posY=r.posY,e._itemSetTransform(n,r),e._newItemShouldStart(n,r)&&e._initializeItem(parseInt(e.nextItem)),e._itemShouldTerminate(n,r)&&e._terminateItem(t)}}))},_timerStart:function(){var t=this;this.running=!0,this.trigger("start"),cancelAnimationFrame(this.interval),t.interval=requestAnimationFrame((function i(){t.scrollIncrement=parseFloat(t.settings.speed)*t.scrollPercent,t._positionItems(),t.running&&(t.interval=requestAnimationFrame(i))}))},_timerStop:function(){cancelAnimationFrame(this.interval),this.running=!1,this.trigger("stop")},_mouseenter:function(t){var i=t.data.self;i.settings.hoverPause&&i._timerStop()},_mouseleave:function(t){var i=t.data.self;i.settings.hoverPause&&i._timerStart()},_newItemShouldStart:function(t,i){if(this.$currentItem[0]!==t[0])return!1;var e=!1;switch(this.settings.direction){case"left":i.posX<=this.$items.outerWidth()-t.outerWidth()&&(e=!0);break;case"right":i.posX>=0&&(e=!0);break;case"down":i.posY>=0&&(e=!0);break;case"up":i.posY<=this.$items.outerHeight()-t.outerHeight()&&(e=!0)}return e},_initializeItem:function(i,e){if(void 0===this.settings.items[i])return!1;var s=this.$items.children(".ditty-item--"+this.settings.items[i].uniq_id);if("yes"!==this.settings.cloneItems&&s.length>0)return!1;if("yes"!==this.settings.cloneItems&&"yes"!==this.settings.wrapItems&&this.firstItem===parseInt(i)&&0!==parseInt(this.visibleItems.length))return!1;var n=t(this.settings.items[i].html);n.css({top:0,left:0}),this.$items.children(".ditty-item--"+this.settings.items[i].id).not(".ditty-item--clone").length>0&&n.addClass("ditty-item--clone"),this._styleItem(n),this.settings.items[i].css&&dittyLayoutCss(this.settings.items[i].css,this.settings.items[i].layout_id),this._itemSpacing(n),this._itemSetTransform(n,this._itemResetPosition(n)),this.$items.append(n),this._preloadItem(n,!0),n.css({display:"block",top:0,left:0,opacity:1}),n.addClass("ditty-item--current"),null!==this.$currentItem&&this.$currentItem.removeClass("ditty-item--current"),this.$currentItem=n,null===this.$lastItem&&(n.addClass("ditty-item--last"),this.$lastItem=n),this.settings.item=i,this.nextItem=this._getNextItem(i);var r=t(this.settings.items[this.nextItem].html);if(this._preloadItem(r),"custom"!==e){var h=this._itemResetPosition(n);this._itemSetTransform(n,h),this.visibleItems.push({$item:n,parentId:this.settings.items[i].parent_id,itemId:this.settings.items[i].id,itemUniqId:this.settings.items[i].uniq_id,posX:h.posX,posY:h.posY}),this._setCurrentHeight()}return this.trigger("active_items_update"),n},_getNextItem:function(t){var i,e=this,s=!1;if(null!==this.nextItem&&t!==this.nextItem){var n=parseInt(this.nextItem);n=0&&e._isItemEnabled(n)&&(s=parseInt(this.nextItem))}if(!s)for(i=t;ithis.$items.outerWidth()&&(e=!0);break;case"up":i.posY<-t.outerHeight()&&(e=!0);break;case"down":i.posY>this.$items.outerHeight()&&(e=!0)}return e},_terminateItem:function(t){var i=this.visibleItems[t].$item,e=i.next();const s=this.$items.outerHeight(),n=this.visibleItems[t];i.remove(),this.visibleItems.splice(t,1),e.length&&(e.addClass("ditty-item--last"),this.$lastItem=e,this._setCurrentHeight()),0===this.$items.children().length&&this.elmt.dispatchEvent(new CustomEvent("dittyTickerComplete",{detail:{lastItem:n,lastHeight:s}})),this.trigger("active_items_update")},_setCurrentHeight:function(){var i=this.currentHeight;"up"===this.settings.direction||"down"===this.settings.direction?(i=this.$items.outerHeight(),this.$items.css({height:"100%"})):(i=0,t.each(this.visibleItems,(function(t,e){var s=e.$item.outerHeight();s>i&&(i=s)})),i!==this.currentHeight&&this.$items.stop().animate({height:i+"px"},1e3*parseFloat(this.settings.heightSpeed),this.settings.heightEase,(function(){}))),i!==this.currentHeight&&(this.currentHeight=i,this.trigger("height_updated"))},_itemSpacing:function(t){switch(this.settings.direction){case"left":case"right":t.css({paddingLeft:this.settings.spacing/2+"px",paddingRight:this.settings.spacing/2+"px",paddingTop:0,paddingBottom:0});break;case"up":case"down":t.css({paddingLeft:0,paddingRight:0,paddingTop:this.settings.spacing/2+"px",paddingBottom:this.settings.spacing/2+"px"})}},_itemSetTransform:function(t,i){var e=i.posX,s=i.posY;0!==e&&(e+="px"),0!==s&&(s+="px"),t.css({transform:"translate( "+e+", "+s+" )"})},_calculateItemPosition:function(t,i){var e=0,s=0,n=this.scrollIncrement;switch(i&&(n=i),this.settings.direction){case"left":e=parseFloat(this.visibleItems[t].posX)-n;break;case"right":e=parseFloat(this.visibleItems[t].posX)+n;break;case"up":s=parseFloat(this.visibleItems[t].posY)-n;break;case"down":s=parseFloat(this.visibleItems[t].posY)+n}return{posX:e,posY:s}},_itemResetPosition:function(t){var i=0,e=0;switch(this.settings.direction){case"left":i=this.$items.outerWidth();break;case"right":i="-"+t.outerWidth();break;case"up":e=this.$items.outerHeight();break;case"down":e="-"+t.outerHeight()}return{posX:i,posY:e}},_reverseItems:function(){if(this.$currentItem===this.$lastItem)return!1;var t=this.$currentItem,i=this.$lastItem;this.$currentItem=i,this.$lastItem=t,this.$currentItem.removeClass("ditty-item--last").addClass("ditty-item--current"),this.$lastItem.removeClass("ditty-item--current").addClass("ditty-item--last");var e=this.$items.children(".ditty-item");this.$items.append(e.get().reverse())},_resetItems:function(){this.$items.empty(),this.visibleItems=[],this.trigger("active_items_update")},_fillTicker:function(){var t=this,i=parseFloat(this.$items.outerWidth()),e=parseFloat(this.$items.outerHeight()),s=0,n=0,r=!1,h=this.settings.item,o=null;this._isItemEnabled(h)||(h=this._getNextItem(h)),"right"===this.settings.direction?s=i:"down"===this.settings.direction&&(n=e),o=setInterval((function(){var a=t._initializeItem(h);if(a){var l=t._filledItemInit(h,a,s,n,i,e);s=l.posX,n=l.posY,r=l.filled,h=t._getNextItem(h)}else r=!0;r&&(clearInterval(o),t.trigger("active_items_update"),setTimeout((function(){t.running||t._timerStart()}),1e3*parseFloat(t.settings.scrollDelay)))}),100)},_filledItemInit:function(t,i,e,s,n,r){var h=i.data("id"),o=parseFloat(i.outerWidth()),a=parseFloat(i.outerHeight()),l=0,d=0,m=!1;switch(i.css({display:"block",opacity:0}),this.settings.direction){case"left":l=e,this._itemSetTransform(i,{posX:l,posY:s}),(e+=o)>n&&(m=!0);break;case"right":l=e-=o,this._itemSetTransform(i,{posX:l,posY:s}),e<0&&(m=!0);break;case"up":d=s,this._itemSetTransform(i,{posX:e,posY:d}),(s+=a)>r&&(m=!0);break;case"down":d=s-=a,this._itemSetTransform(i,{posX:e,posY:d}),s<0&&(m=!0)}return i.stop().animate({opacity:1},1e3,"linear",(function(){})),this.visibleItems.push({$item:i,itemId:h,posX:l,posY:d}),this._setCurrentHeight(),{posX:e,posY:s,filled:m}},_setDirection:function(i){return!!t.inArray(i,this.settings.directions)&&i!==this.settings.directions&&(this.settings.direction=i,this._timerStop(),this._resetItems(),this.settings.item=0,this._initializeItems(),void this.trigger("direction"))},_styleDisplay:function(){if(this.$elmt.css({maxWidth:this.settings.maxWidth,background:this.settings.bgColor,borderColor:this.settings.borderColor,borderStyle:this.settings.borderStyle}),this.$elmt.css(this.settings.borderRadius),this.$elmt.css(this.settings.borderWidth),this.$elmt.css(this.settings.margin),this.$elmt.css(this.settings.padding),this.$contents.css({background:this.settings.contentsBgColor,borderColor:this.settings.contentsBorderColor,borderStyle:this.settings.contentsBorderStyle}),this.$contents.css(this.settings.contentsPadding),this.$contents.css(this.settings.contentsBorderRadius),this.$contents.css(this.settings.contentsBorderWidth),"up"===this.settings.direction||"down"===this.settings.direction){var t=this.settings.minHeight?this.settings.minHeight:0,i=this.settings.maxHeight?this.settings.maxHeight:"none";this.$items.css({minHeight:t,maxHeight:i})}else this.$items.css({minHeight:"",maxHeight:""});dittyRenderDisplayCss(this.settings,this.settings.display)},_styleTitle:function(){this.$elmt.attr("data-title",this.settings.titleDisplay);const i=this.settings.titleContentsPosition?this.settings.titleContentsPosition:this.settings.titleElementPosition,e=this.settings.titleElementVerticalPosition?this.settings.titleElementVerticalPosition:this.settings.titleElementPosition;if(this.$elmt.attr("data-title_position",i),this.$elmt.attr("data-title_horizontal_position",this.settings.titleElementPosition),this.$elmt.attr("data-title_vertical_position",e),"none"===this.settings.titleDisplay)this.$title.remove();else{var s=t("<"+this.settings.titleElement+' class="ditty__title__element">'+this.settings.title+"");this.$titleContents.css({background:this.settings.titleBgColor,borderColor:this.settings.titleBorderColor,borderStyle:this.settings.titleBorderStyle,width:"auto"===this.settings.titleContentsSize?"auto":"100%",height:"auto"===this.settings.titleContentsSize?"auto":"100%",minWidth:this.settings.titleMinWidth,maxWidth:this.settings.titleMaxWidth,minHeight:this.settings.titleMinHeight,maxHeight:this.settings.titleMaxHeight}),this.$titleContents.css(this.settings.titleBorderRadius),this.$titleContents.css(this.settings.titleBorderWidth),this.$titleContents.css(this.settings.titlePadding),this.$title.css(this.settings.titleMargin),this.$titleContents.html(s),this.$elmt.prepend(this.$title)}},_styleItem:function(t){t.children(".ditty-item__elements").css({background:this.settings.itemBgColor,borderColor:this.settings.itemBorderColor,borderStyle:this.settings.itemBorderStyle}),t.children(".ditty-item__elements").css(this.settings.itemPadding),t.children(".ditty-item__elements").css(this.settings.itemBorderRadius),t.children(".ditty-item__elements").css(this.settings.itemBorderWidth),""!==this.settings.itemElementsWrap&&t.children(".ditty-item__elements").css({whiteSpace:this.settings.itemElementsWrap}),""!==this.settings.itemMaxWidth&&t.children(".ditty-item__elements").css({maxWidth:this.settings.itemMaxWidth})},_getOption:function(t){switch(t){case"ditty":return this;case"type":return this.displayType;case"display":return this.settings.display;case"items":return this.initItems;case"height":return this.currentHeight;default:return this.settings[t]}},_setOption:function(t,i){if(void 0===i)return!1;switch(t){case"items":this.updateItems(i);break;case"orderby":case"order":this.settings[t]=i,this.loadItems(this.initItems);break;case"direction":this.settings[t]=i,this._styleDisplay(),this._setDirection(i);break;case"title":case"titleDisplay":case"titleContentsSize":case"titleContentsPosition":case"titleElement":case"titleElementPosition":case"titleElementVerticalPosition":case"titleMinWidth":case"titleMaxWidth":case"titleMinHeight":case"titleMaxHeight":case"titleBgColor":case"titleMargin":case"titlePadding":case"titleBorderColor":case"titleBorderStyle":case"titleBorderWidth":case"titleBorderRadius":this.settings[t]=i,this._styleTitle();break;case"maxWidth":case"minHeight":case"maxHeight":case"bgColor":case"padding":case"borderColor":case"borderStyle":case"borderWidth":case"borderRadius":case"contentsBgColor":case"contentsPadding":case"contentsBorderRadius":case"titleTypography":case"titleColor":case"titleLinkColor":case"itemTypography":case"itemTextColor":case"itemLinkColor":this.settings[t]=i,this._styleDisplay(),this._setCurrentHeight();break;default:this.settings[t]=i}this.trigger("update")},shuffle:function(){for(var t,i,e=this.total-1;e>0;e--)i=Math.floor(Math.random()*(e+1)),t=this.settings.items[e],this.settings.items[e]=this.settings.items[i],this.settings.items[i]=t},play:function(){this.running||this._timerStart()},pause:function(){this.running&&this._timerStop()},direction:function(t){this._setDirection(t)},toggle:function(){this.running?this.pause():this.play()},running:function(){return this.running},current:function(){return this.$currentItem},_isItemEnabled:function(t){return!(void 0===this.settings.items[parseInt(t)]||void 0!==this.settings.items[parseInt(t)].is_disabled&&this.settings.items[parseInt(t)].is_disabled.length>0)},_disabledItemsStatus:function(){var i=this,e={};return t.each(this.settings.items,(function(t,s){i._isItemEnabled(t)?e[s.id]="enabled":e[s.id]="disabled"})),e},addItemDisabled:function(i,e){var s=this;t.each(this.settings.items,(function(t,n){String(n.id)===String(i)&&(Array.isArray(s.settings.items[t].is_disabled)||(s.settings.items[t].is_disabled=[]),s.settings.items[t].is_disabled.push(e))})),this.trigger("disabled_items_update")},removeItemDisabled:function(i,e){var s=this;t.each(this.settings.items,(function(n,r){String(r.id)===String(i)&&Array.isArray(s.settings.items[n].is_disabled)&&s.settings.items[n].is_disabled.length&&(s.settings.items[n].is_disabled=t.grep(s.settings.items[n].is_disabled,(function(t){return t!==e})))})),this.trigger("disabled_items_update")},showItem:function(i){var e=[];if(t.each(this.settings.items,(function(t,s){String(s.id)===String(i)&&e.push(t)})),0!==e.length)return this.nextItem=e[0],this.nextItem},addItem:function(t,i,e){var s=this.settings.items.slice(),n=!0;(i>=this.total||i<0)&&(n=!1),"replace"===e&&n?s.splice(i,1,t):null===i||""===i?s.splice(this.nextItem,0,t):i>=this.total?s.push(t):i<0?s.splice(0,0,t):s.splice(i,0,t),this.updateItems(s)},deleteItem:function(i){var e=[];t.each(this.settings.items,(function(t,s){String(s.id)!==String(i)&&e.push(s)})),this.updateItems(e)},resetItems:function(){this._resetItems()},loadItems:function(t){if(void 0===t)return!1;this.initItems=t,t=dittyOrderItems(t,this.settings);const{updatedItems:i}=dittyGetUpdatedItemData(this.settings.items,t);this.settings.items=i,this.total=i.length,0===this.total?this.$elmt.hide():this.$elmt.show(),this.nextItem>=this.total&&(this.nextItem=0),this.trigger("update")},updateItems:function(i,e,s,n){if(void 0===i)return!1;var r=[];if(e){var h=this.settings.items.slice(),o=[],a=!1;t.each(h,(function(n,h){String(h.id)===String(e)?"after"===s?(o.push(h),t.each(i,(function(t,i){o.push(i)})),a=!0):"before"===s?(t.each(i,(function(t,i){o.push(i)})),o.push(h),a=!0):a||(t.each(i,(function(t,i){o.push(i),r.push(String(i.uniq_id))})),a=!0):o.push(h)})),a||(t.each(this.settings.items,(function(t,i){o.push(i)})),a=!0),0!==this.total&&(i=o)}this.settings.items=i,this.total=i.length,0===this.total?this.$elmt.hide():this.$elmt.show(),this.nextItem>=this.total&&(this.nextItem=0),this.trigger("update")},getActiveItems:function(){var i=[];return t.each(this.visibleItems,(function(t,e){i.push({id:e.itemId})})),i},hide:function(){this.$elmt.hide(),this.pause()},show:function(){this.$elmt.show(),this.play()},trigger:function(i){var e=[];switch(i){case"active_items_update":e=[this,this.getActiveItems()];break;case"disabled_items_update":e=[this._disabledItemsStatus()];break;case"height_updated":e=[this.currentHeight,this.$elmt];break;case"start_live_updates":e=[this.settings.id];break;default:e=[this.settings,this.$elmt]}this.$elmt.trigger("ditty_"+i,e),"function"==typeof this.settings[i]&&this.settings[i].apply(this.$elmt,e),t("body").trigger("ditty_"+i,e)},options:function(i,e){var s=this;if("object"==typeof i)t.each(i,(function(t,i){s._setOption(t,i)}));else{if("string"!=typeof i)return s.settings;if(void 0===e)return s._getOption(i);s._setOption(i,e)}},destroy:function(){this.$elmt.off("mouseenter",{self:this},this._mouseenter),this.$elmt.off("mouseleave",{self:this},this._mouseleave),this._timerStop(),this.$elmt.removeClass("ditty ditty-ticker"),this.$elmt.removeAttr("data-id"),this.$elmt.removeAttr("data-type"),this.$elmt.removeAttr("data-display"),this.$elmt.removeAttr("style"),this.$elmt.empty(),this.elmt._ditty_ticker=null}},t.fn.ditty_ticker=function(t){var i,s=arguments,n=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_ticker||(this._ditty_ticker=new e(this,t))}));if("string"==typeof t){if(this.each((function(){var e=this._ditty_ticker;if(!e)throw new Error("No Ditty_Ticker applied to this element.");"function"==typeof e[t]&&"_"!==t[0]?i=e[t].apply(e,[].slice.call(s,1)):n=!0})),n)throw new Error('No method "'+t+'" in Ditty_Ticker.');return void 0!==i?i:this}},t.ditty_ticker={},t.ditty_ticker.defaults=i}(jQuery);