tribe.events=tribe.events||{};tribe.events.views=tribe.events.views||{};tribe.events.views.viewSelector={};(function($,obj){'use strict';var $document=$(document);obj.selectors={viewSelector:'[data-js="tribe-events-view-selector"]',viewSelectorTabsClass:'.tribe-events-c-view-selector--tabs',viewSelectorButton:'[data-js="tribe-events-view-selector-button"]',viewSelectorButtonActiveClass:'.tribe-events-c-view-selector__button--active',viewSelectorListContainer:'[data-js="tribe-events-view-selector-list-container"]',};obj.deinitAccordion=function($header,$content){tribe.events.views.accordion.deinitAccordion(0,$header);tribe.events.views.accordion.deinitAccordionA11yAttrs($header,$content);$content.css('display','');};obj.initAccordion=function($container,$header,$content){tribe.events.views.accordion.initAccordion($container)(0,$header);tribe.events.views.accordion.initAccordionA11yAttrs($header,$content);};obj.deinitViewSelectorAccordion=function($container){var $viewSelectorButton=$container.find(obj.selectors.viewSelectorButton);var $viewSelectorListContainer=$container.find(obj.selectors.viewSelectorListContainer);obj.deinitAccordion($viewSelectorButton,$viewSelectorListContainer);$viewSelectorButton.removeClass(obj.selectors.viewSelectorButtonActiveClass.className());};obj.initViewSelectorAccordion=function($container){var $viewSelectorButton=$container.find(obj.selectors.viewSelectorButton);var $viewSelectorListContainer=$container.find(obj.selectors.viewSelectorListContainer);obj.initAccordion($container,$viewSelectorButton,$viewSelectorListContainer);};obj.initState=function($container){var $viewSelector=$container.find(obj.selectors.viewSelector);var state={mobileInitialized:false,desktopInitialized:false,};$viewSelector.data('tribeEventsState',state);};obj.deinitViewSelector=function($container){obj.deinitViewSelectorAccordion($container);};obj.initViewSelector=function($container){var $viewSelector=$container.find(obj.selectors.viewSelector);if($viewSelector.length){var state=$viewSelector.data('tribeEventsState');var isTabs=$viewSelector.hasClass(obj.selectors.viewSelectorTabsClass.className());if(isTabs){var containerState=$container.data('tribeEventsState');var isMobile=containerState.isMobile;if(isMobile&&!state.mobileInitialized){obj.initViewSelectorAccordion($container);state.desktopInitialized=false;state.mobileInitialized=true;$viewSelector.data('tribeEventsState',state);}else if(!isMobile&&!state.desktopInitialized){obj.deinitViewSelectorAccordion($container);state.mobileInitialized=false;state.desktopInitialized=true;$viewSelector.data('tribeEventsState',state);}}else if(!state.mobileInitialized&&!state.desktopInitialized){obj.initViewSelectorAccordion($container);state.desktopInitialized=true;state.mobileInitialized=true;$viewSelector.data('tribeEventsState',state);}}};obj.handleViewSelectorButtonClick=function(event){event.data.target.toggleClass(obj.selectors.viewSelectorButtonActiveClass.className());};obj.handleClick=function(event){var isParentViewSelector=Boolean($(event.target).closest(obj.selectors.viewSelector).length);if(!isParentViewSelector){var $container=event.data.container;var $viewSelector=$container.find(obj.selectors.viewSelector);var $viewSelectorButton=$viewSelector.find(obj.selectors.viewSelectorButton);if($viewSelectorButton.hasClass(obj.selectors.viewSelectorButtonActiveClass.className())){var $viewSelectorListContainer=$viewSelector.find(obj.selectors.viewSelectorListContainer);$viewSelectorButton.removeClass(obj.selectors.viewSelectorButtonActiveClass.className());tribe.events.views.accordion.closeAccordion($viewSelectorButton,$viewSelectorListContainer);}}};obj.handleResize=function(event){obj.initViewSelector(event.data.container);};obj.unbindEvents=function($container){$document.off('click',obj.handleClick);$container.off('resize.tribeEvents',obj.handleResize).find(obj.selectors.viewSelectorButton).off('click',obj.handleViewSelectorButtonClick);};obj.bindEvents=function($container){var $viewSelectorButton=$container.find(obj.selectors.viewSelectorButton);$document.on('click',{container:$container},obj.handleClick);$container.on('resize.tribeEvents',{container:$container},obj.handleResize);$viewSelectorButton.on('click',{target:$viewSelectorButton},obj.handleViewSelectorButtonClick);};obj.deinit=function(event,jqXHR,settings){var $container=event.data.container;obj.deinitViewSelector($container);obj.unbindEvents($container);$container.off('beforeAjaxSuccess.tribeEvents',obj.deinit);};obj.init=function(event,index,$container,data){var $viewSelector=$container.find(obj.selectors.viewSelector);if(!$viewSelector.length){return;} obj.initState($container);obj.initViewSelector($container);obj.bindEvents($container);$container.on('beforeAjaxSuccess.tribeEvents',{container:$container},obj.deinit);};obj.ready=function(){$document.on('afterSetup.tribeEvents',tribe.events.views.manager.selectors.container,obj.init);};$(obj.ready);})(jQuery,tribe.events.views.viewSelector);