tribe.events=tribe.events||{};tribe.events.views=tribe.events.views||{};tribe.events.views.monthMobileEvents={};(function($,obj){'use strict';var $document=$(document);obj.selectors={calendar:'[data-js="tribe-events-month-grid"]',calendarDay:'[data-js="tribe-events-calendar-month-day-cell-mobile"]',calendarDaySelectedClass:'.tribe-events-calendar-month__day-cell--selected',mobileEvents:'[data-js="tribe-events-calendar-month-mobile-events"]',mobileEventsMobileDayShowClass:'.tribe-events-calendar-month-mobile-events__mobile-day--show',mobileEventsDefaultNotices:'.tribe-events-header__messages--mobile:not(.tribe-events-header__messages--day)',};obj.closeAllEvents=function($container){$container.find(obj.selectors.calendarDay).each(function(index,header){var $header=$(header);var contentId=$header.attr('aria-controls');var $content=$('');if(contentId){$content=$container.find('#'+contentId);tribe.events.views.accordion.closeAccordion($header,$content);} obj.closeMobileEvents($header,$content);});};obj.handleMobileDayClick=function($container,showDefaultNotices){var $defaultNotices=$container.find(obj.selectors.mobileEventsDefaultNotices);var daySelected=$container.find(obj.selectors.mobileEventsMobileDayShowClass).length>0;if(showDefaultNotices&&!daySelected){$defaultNotices.removeClass('tribe-common-a11y-hidden');}else{$defaultNotices.addClass('tribe-common-a11y-hidden');}};obj.openMobileEvents=function($header,$content){var contentId=$header.attr('aria-controls');if(contentId){tribe.events.views.accordion.openAccordion($header,$content);} $header.addClass(obj.selectors.calendarDaySelectedClass.className());$content.addClass(obj.selectors.mobileEventsMobileDayShowClass.className());};obj.closeMobileEvents=function($header,$content){var contentId=$header.attr('aria-controls');if(contentId){tribe.events.views.accordion.closeAccordion($header,$content);} $header.removeClass(obj.selectors.calendarDaySelectedClass.className());$content.removeClass(obj.selectors.mobileEventsMobileDayShowClass.className());};obj.toggleMobileEvents=function(event){var $container=event.data.container;var $header=$(event.data.target);var contentId=$header.attr('aria-controls');var $content=$('');if(contentId){$content=$container.find('#'+contentId);} if($header.hasClass(obj.selectors.calendarDaySelectedClass.className())){obj.closeMobileEvents($header,$content);obj.handleMobileDayClick($container,true);}else{obj.closeAllEvents($container);obj.handleMobileDayClick($container,false);obj.openMobileEvents($header,$content);}};obj.unbindCalendarEvents=function($container){var $calendar=$container.find(obj.selectors.calendar);$calendar.find(obj.selectors.calendarDay).each(function(index,day){$(day).off('click',obj.toggleMobileEvents);});};obj.bindCalendarEvents=function($container){var $calendar=$container.find(obj.selectors.calendar);$calendar.find(obj.selectors.calendarDay).each(function(index,day){$(day).on('click',{target:day,container:$container,calendar:$calendar,},obj.toggleMobileEvents);});};obj.initState=function($container){var $mobileEvents=$container.find(obj.selectors.mobileEvents);var containerState=$container.data('tribeEventsState');var isMobile=containerState.isMobile;var state={desktopInitialized:!isMobile,};$mobileEvents.data('tribeEventsState',state);};obj.handleResize=function(event){var $container=event.data.container;var $mobileEvents=$container.find(obj.selectors.mobileEvents);var state=$mobileEvents.data('tribeEventsState');var containerState=$container.data('tribeEventsState');var isMobile=containerState.isMobile;if(!isMobile){if(!state.desktopInitialized){obj.closeAllEvents($container);state.desktopInitialized=true;}}else{obj.handleMobileDayClick($container,true);if(state.desktopInitialized){state.desktopInitialized=false;}} $mobileEvents.data('tribeEventsState',state);};obj.deinit=function(event,jqXHR,settings){var $container=event.data.container;obj.unbindCalendarEvents($container);$container.off('resize.tribeEvents',obj.handleResize).off('beforeAjaxSuccess.tribeEvents',obj.deinit);};obj.init=function(event,index,$container,data){var $mobileEvents=$container.find(obj.selectors.mobileEvents);if(!$mobileEvents.length){return;} obj.handleMobileDayClick($container,true);obj.initState($container);obj.bindCalendarEvents($container);$container.on('resize.tribeEvents',{container:$container},obj.handleResize).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.monthMobileEvents);