jQuery(document).ready(function($){if($('#recurrence-frequency').length>0){$('#recurrence-frequency').addClass('em-recurrence-frequency');$('.event-form-when .interval-desc').each(function(){this.classList.add(this.id);});$('.event-form-when .alternate-selector').each(function(){this.classList.add('em-'+this.id);});$('#recurrence-interval').addClass('em-recurrence-interval');}
$('#em-wrapper').addClass('em');$(document).on('keydown','span.em-icon[role="button"]',function(e){if(e.key==='Enter'||e.keyCode===13){e.preventDefault();$(this).trigger('click');}});$('#start-time').each(function(i,el){$(el).addClass('em-time-input em-time-start').next('#end-time').addClass('em-time-input em-time-end').parent().addClass('em-time-range');});$('.events-table').on('click','.em-event-delete',function(){if(!confirm("Are you sure you want to delete?")){return false;}
window.location.href=this.href;});$('#event-form #event-image-delete, #location-form #location-image-delete').on('click',function(){var el=$(this);if(el.is(':checked')){el.closest('.event-form-image, .location-form-image').find('#event-image-img, #location-image-img').hide();}else{el.closest('.event-form-image, .location-form-image').find('#event-image-img, #location-image-img').show();}});$(document).on('click','a.em-booking-button',function(e){e.preventDefault();var button=$(this);if(button.text()!=EM.bb_booked&&$(this).text()!=EM.bb_booking){button.text(EM.bb_booking);var button_data=button.attr('id').split('_');$.ajax({url:EM.ajaxurl,dataType:'jsonp',data:{event_id:button_data[1],_wpnonce:button_data[2],action:'booking_add_one'},success:function(response,statusText,xhr,$form){if(response.result){button.text(EM.bb_booked);button.addClass('disabled');}else{button.text(EM.bb_error);}
if(response.message!='')alert(response.message);$(document).triggerHandler('em_booking_button_response',[response,button]);},error:function(){button.text(EM.bb_error);}});}
return false;});$(document).on('click','a.em-cancel-button',function(e){e.preventDefault();var button=$(this);if(button.text()!=EM.bb_cancelled&&button.text()!=EM.bb_canceling){button.text(EM.bb_canceling);var button_data=button.attr('id').split('_');let button_ajax={};if(button_data.length<3||!('booking_id'in button[0].dataset)){button_ajax={booking_id:button_data[1],_wpnonce:button_data[2],action:'booking_cancel',};}
let ajax_data=Object.assign(button_ajax,button[0].dataset);$.ajax({url:EM.ajaxurl,dataType:'jsonp',data:ajax_data,success:function(response,statusText,xhr,$form){if(response.result){button.text(EM.bb_cancelled);button.addClass('disabled');}else{button.text(EM.bb_cancel_error);}},error:function(){button.text(EM.bb_cancel_error);}});}
return false;});$(document).on('click','a.em-booking-button-action',function(e){e.preventDefault();var button=$(this);var button_data={_wpnonce:button.attr('data-nonce'),action:button.attr('data-action'),}
if(button.attr('data-event-id'))button_data.event_id=button.attr('data-event-id');if(button.attr('data-booking-id'))button_data.booking_id=button.attr('data-booking-id');if(button.text()!=EM.bb_booked&&$(this).text()!=EM.bb_booking){if(button.attr('data-loading')){button.text(button.attr('data-loading'));}else{button.text(EM.bb_booking);}
$.ajax({url:EM.ajaxurl,dataType:'jsonp',data:button_data,success:function(response,statusText,xhr,$form){if(response.result){if(button.attr('data-success')){button.text(button.attr('data-success'));}else{button.text(EM.bb_booked);}
button.addClass('disabled');}else{if(button.attr('data-error')){button.text(button.attr('data-error'));}else{button.text(EM.bb_error);}}
if(response.message!='')alert(response.message);$(document).triggerHandler('em_booking_button_action_response',[response,button]);},error:function(){if(button.attr('data-error')){button.text(button.attr('data-error'));}else{button.text(EM.bb_error);}}});}
return false;});var load_ui_css;if($('.em-date-single, .em-date-range, #em-date-start').length>0){load_ui_css=true;}
if(load_ui_css)em_load_jquery_css();$('#em-wrapper input.select-all').on('change',function(){if($(this).is(':checked')){$('input.row-selector').prop('checked',true);$('input.select-all').prop('checked',true);}else{$('input.row-selector').prop('checked',false);$('input.select-all').prop('checked',false);}});if($('.em-location-map').length>0||$('.em-locations-map').length>0||$('#em-map').length>0||$('.em-search-geo').length>0){em_maps_load();}
$('.em-location-types .em-location-types-select').on('change',function(){let el=$(this);if(el.val()==0){$('.em-location-type').hide();}else{let location_type=el.find('option:selected').data('display-class');$('.em-location-type').hide();$('.em-location-type.'+location_type).show();if(location_type!='em-location-type-place'){jQuery('#em-location-reset a').trigger('click');}}
if(el.data('active')!==''&&el.val()!==el.data('active')){$('.em-location-type-delete-active-alert').hide();$('.em-location-type-delete-active-alert').show();}else{$('.em-location-type-delete-active-alert').hide();}}).trigger('change');if(jQuery('div.em-location-data [name="location_name"]').length>0){$('div.em-location-data [name="location_name"]').em_selectize({plugins:["restore_on_backspace"],valueField:"id",labelField:"label",searchField:"label",create:true,createOnBlur:true,maxItems:1,persist:false,addPrecedence:true,selectOnTab:true,diacritics:true,render:{item:function(item,escape){return"
');}}
var em_ajaxify=function(url){if(url.search('em_ajax=0')!=-1){url=url.replace('em_ajax=0','em_ajax=1');}else if(url.search(/\?/)!=-1){url=url+"&em_ajax=1";}else{url=url+"?em_ajax=1";}
return url;};var em_setup_scripts=function($container=false){let container=$container||document;if(EM&&'assets'in EM){let baseURL=EM.url+'/includes/external/';for(const[selector,assets]of Object.entries(EM.assets)){if(container.querySelector(selector)){if('css'in assets){for(const[id,value]of Object.entries(assets.css)){if(!document.getElementById(id+'-css')){const link=document.createElement('link');link.id=id+'-css';link.rel='stylesheet';link.href=value.match(/^http/)?value:baseURL+value;document.head.appendChild(link);}}}
if('js'in assets){let loaded={};let loadedListener=function(id){loaded[id]=false;if(Object.entries(loaded).length===Object.entries(assets.js).length){for(id of Object.keys(loaded)){loadAsset(id)}}};let loadAsset=function(id){if(!loaded[id]){let asset=assets.js[id];if(typeof asset==='object'&&'event'in asset){if(asset?.requires){loadAsset(asset.requires);}
document.dispatchEvent(new CustomEvent(asset.event,{detail:{container:container,}}));}
loaded[id]=true;}};for(const[id,value]of Object.entries(assets.js)){if(!document.getElementById(id+'-js')){const script=document.createElement('script');script.id=id+'-js';script.async=true;if(typeof value==='object'){if('locale'in value&&value.locale){script.dataset.locale=value.locale;}
script.src=value.url.match(/^http/g)?value.url:baseURL+value.url;}else{script.src=value.match(/^http/g)?value:baseURL+value;}
script.onload=()=>loadedListener(id);script.onerror=()=>loadedListener(id);document.head.appendChild(script);}}}}}}}
document.addEventListener('DOMContentLoaded',()=>em_setup_scripts(document));const setupListTable=function(listTable){const checkboxes=listTable.querySelectorAll('tbody .check-column input[type="checkbox"]');const listTableForm=listTable.querySelector('form.em-list-table-form');let lastChecked;listTable.querySelectorAll('.tablenav-pages a').forEach(el=>{el.addEventListener('click',function(e){e.preventDefault();let match=el.href.match(/#[0-9]+/);if(match!=null&&match.length>0){let pno=match[0].replace('#','');listTableForm.querySelector('input[name=pno]').val(pno);}else{let url=new URL(el.href);if(url.searchParams.has('paged')){listTableForm.querySelectorAll('input[name=pno], input[name=paged]').forEach(el=>el.value=url.searchParams.get('paged'));}else{listTableForm.querySelectorAll('input[name=pno], input[name=paged]').forEach(el=>el.value=1);}}
listTableForm.requestSubmit();return false;});});listTable.querySelectorAll('.tablenav-pages input[name=paged]').forEach(function(input){input.addEventListener('change',function(e){e.preventDefault();let last=listTableForm.querySelector('.tablenav-pages a.last-page');if(last){let url=new URL(last.href);if(url.searchParams.has('paged')){let lastPage=parseInt(url.searchParams.get('paged'));if(parseInt(input.value)>lastPage){input.value=lastPage;}}}else{let lastPage=listTableForm.querySelector('input[name=pno]');if(lastPage&&lastPage.value&&parseInt(input.value)>parseInt(lastPage.value)){input.value=lastPage.value;e.preventDefault();return false;}}
listTableForm.querySelectorAll('input[name=pno]').forEach(el=>el.value=input.value);listTableForm.requestSubmit();return false;});});listTable.addEventListener('click',function(e){if(e.target.matches('.manage-column.column-cb input')){listTable.querySelectorAll('.check-column input').forEach(function(checkbox){checkbox.checked=e.target.checked;checkbox.closest('tr').classList.toggle('selected',e.target.checked);listTable.querySelector('.tablenav .bulkactions-input').querySelectorAll('input,select,button').forEach(function(el){e.target.checked?el.removeAttribute('disabled'):el.setAttribute('disabled',true);e.target.checked?el.classList.remove('disabled'):el.classList.add('disabled',true);});});}else if(e.target.matches('tbody .check-column input[type="checkbox"]')){let inBetween=false;if(e.shiftKey){checkboxes.forEach(checkbox=>{if(checkbox===e.target||checkbox===lastChecked){inBetween=!inBetween;}
if(inBetween||checkbox===lastChecked){checkbox.checked=lastChecked.checked;}
checkbox.closest('tr').classList.toggle('selected',checkbox.checked);});}else{e.target.closest('tr').classList.toggle('selected',e.target.checked);}
let somethingSelected=e.target.checked||listTable.querySelectorAll('tbody .check-column input[type="checkbox"]:checked').length>0;listTable.querySelector('.tablenav .bulkactions-input').querySelectorAll('input,select,button').forEach(function(el){somethingSelected?el.removeAttribute('disabled'):el.setAttribute('disabled',true);somethingSelected?el.classList.remove('disabled'):el.classList.add('disabled',true);});lastChecked=e.target;}else if(e.target.closest('tbody td.column-primary')){if(e.target.matches('a[href],button:not(.toggle-row)'))return true;e.preventDefault();let rowExpandTrigger=e.target.closest('td.column-primary');let row=rowExpandTrigger.closest('tr');if(row.classList.contains('expanded')){row.classList.remove('expanded');row.classList.add('collapsed');rowExpandTrigger.querySelector('button.toggle-row').classList.remove('expanded');}else{row.classList.add('expanded');row.classList.remove('collapsed');rowExpandTrigger.querySelector('button.toggle-row').classList.add('expanded');}}});listTable.querySelectorAll('.tablenav .bulkactions-input').forEach((el)=>{el.querySelectorAll('input,select,button').forEach(function(el){el.setAttribute('disabled',true);el.classList.add('disabled',true);})});listTable.querySelector('thead').addEventListener('click',function(e){let th=e.target.tagName.toLowerCase()==='th'?e.target:e.target.closest('th');if(th&&(th.classList.contains('sorted')||th.classList.contains('sortable'))){e.preventDefault();let params=(new URL(th.querySelector('a').href)).searchParams;if(params.get('orderby')){listTableForm.querySelector('input[name="orderby"]').value=params.get('orderby');let order=params.get('order')?params.get('order'):'asc';listTableForm.querySelector('input[name="order"]').value=order;listTableForm.requestSubmit();}}});let filterTrigger=listTable.querySelector('button.filters-trigger');if(filterTrigger){filterTrigger.addEventListener('click',function(e){e.preventDefault();if(filterTrigger.classList.contains('hidden')){listTable.querySelectorAll('div.actions.filters').forEach(filter=>filter.classList.remove('hidden'));filterTrigger.classList.remove('hidden');filterTrigger.setAttribute('aria-label',filterTrigger.dataset.labelHide);if('_tippy'in filterTrigger){filterTrigger._tippy.setContent(filterTrigger.dataset.labelHide);}}else{listTable.querySelectorAll('div.actions.filters').forEach(filter=>filter.classList.add('hidden'));filterTrigger.classList.add('hidden');filterTrigger.setAttribute('aria-label',filterTrigger.dataset.labelShow);if('_tippy'in filterTrigger){filterTrigger._tippy.setContent(filterTrigger.dataset.labelShow);}}});listTable.addEventListener('em_resize',function(){if(listTable.classList.contains('size-small')){filterTrigger.classList.remove('hidden');filterTrigger.click();}});}
let expandTrigger=listTable.querySelector('button.small-expand-trigger');if(expandTrigger){expandTrigger.addEventListener('click',function(e){e.preventDefault();if(expandTrigger.classList.contains('expanded')){listTable.querySelectorAll('tbody tr.expanded, tbody button.toggle-row.expanded').forEach(el=>el.classList.remove('expanded'));listTable.classList.remove('expanded');expandTrigger.classList.remove('expanded');}else{listTable.querySelectorAll('tbody tr, tbody button.toggle-row').forEach(el=>{el.classList.add('expanded');el.classList.remove('collapsed');});listTable.classList.add('expanded');expandTrigger.classList.add('expanded');}});}
listTable.querySelectorAll('.tablenav .actions input[type="text"]').forEach(function(input){input.addEventListener('keypress',function(e){let keycode=(e.keyCode?e.keyCode:e.which);if(keycode===13){e.preventDefault();listTableForm.requestSubmit();}});});let breakpoints={'xsmall':465,'small':640,'medium':930,'large':false,}
EM_ResizeObserver(breakpoints,[listTable]);listTableForm.addEventListener('submit',function(e){e.preventDefault();listTable.classList.add('em-working');let loadingDiv=document.createElement('div');loadingDiv.id='em-loading';listTable.append(loadingDiv);listTable.querySelectorAll('.em-list-table-error-notice').forEach(el=>el.remove());fetch(EM.ajaxurl,{method:'POST',body:new FormData(listTableForm)}).then(function(response){if(response.ok){return response.text();}else{throw new Error('Network Response '+response.status);}}).then(function(data){if(!data){throw new Error('Empty string received');}
if(!listTable.classList.contains('frontend')){listTableForm.querySelectorAll('.em-list-table-trigger').forEach(function(trigger){let modal=document.querySelector(trigger.rel);if(modal){modal.remove();}});}
let wrapper=document.createElement('div');wrapper.innerHTML=data;let newListTable=wrapper.firstElementChild;listTable.replaceWith(newListTable);document.dispatchEvent(new CustomEvent('em_list_table_filtered',{detail:{prevListTable:listTable,listTable:newListTable,form:newListTable.firstElementChild,data:data}}));}).catch(function(error){let div=document.createElement('div');div.innerHTML='
There was an unexpected error retrieving table data with error '+error.message+', please try again or contact an administrator.
';div.setAttribute('class','em-warning error em-list-table-error-notice');listTable.querySelector('.table-wrap').before(div);loadingDiv.remove();listTable.classList.remove('em-working');});return false;});listTable.querySelectorAll('.em-list-table-trigger').forEach(trigger=>{trigger.addEventListener('click',function(e){e.preventDefault();let modal=document.querySelector(trigger.getAttribute('rel'));openModal(modal);});});listTable.querySelectorAll('.em-list-table-settings form').forEach(form=>{form.addEventListener('submit',function(e){e.preventDefault();let modal=form.closest('.em-modal');let match=listTableForm.querySelector("[name=cols]");match.value='';let tableCols=form.querySelectorAll('.em-list-table-cols-selected .item');tableCols.forEach(function(item_match){if(!item_match.classList.contains('hidden')){if(match.value!==''){match.value=match.value+','+item_match.getAttribute('data-value');}else{match.value=item_match.getAttribute('data-value');}}});let limit=form.querySelector('select[name="limit"]');if(limit){listTableForm.querySelector('[name="limit"]').value=limit.value;}
form.querySelectorAll('[data-setting]').forEach(function(input){listTableForm.querySelectorAll('[name="'+input.name+'"]').forEach(el=>el.remove());let persisted=input.cloneNode(true);persisted.classList.add('hidden')
listTableForm.appendChild(persisted);});closeModal(modal);modal.dispatchEvent(new CustomEvent('submitted'));listTable.dispatchEvent(new CustomEvent('em_list_table_settings_submitted',{detail:{listTableForm:listTableForm,form:form,modal:modal},bubbles:true}));listTableForm.requestSubmit();});});listTable.querySelectorAll('.em-list-table-export > form').forEach(function(exportForm){exportForm.addEventListener('submit',function(e){var formFilters=this.querySelector('.em-list-table-filters');if(formFilters){let filters=listTableForm.querySelectorAll('.em-list-table-filters [name]');formFilters.innerHTML='';if(filters){filters.forEach(function(filter){formFilters.appendChild(filter.cloneNode(true));});}
let peristentData=listTableForm.querySelectorAll('[data-persist]');if(peristentData){peristentData.forEach(function(filter){formFilters.appendChild(filter.cloneNode(true));});}}});});listTable.querySelectorAll(".em-list-table-cols-sortable").forEach(function(sortable){Sortable.create(sortable);});document.dispatchEvent(new CustomEvent('em_list_table_setup',{detail:{listTable:listTable,listTableForm:listTableForm}}));const actionMessages=JSON.parse(listTableForm.dataset.actionMessages);let isBulkAction=false;listTable.addEventListener('click',function(e){if(e.target.matches('a[data-row_action]')){e.preventDefault();let el=e.target;let tr=el.closest('tr');if(!isBulkAction){let confirmation=[]
if(el.dataset.confirmation&&el.dataset.confirmation in actionMessages){confirmation.push(actionMessages[el.dataset.confirmation]);}
if(el.dataset.row_action in actionMessages){confirmation.push(actionMessages[el.dataset.row_action]);}
if(confirmation.length>0){if(!confirm(confirmation.join("\n\n"))){return false;}}}
let dropdown=el.closest('[data-tippy-root], .em-tooltip-ddm-content');if(dropdown){if('_tippy'in dropdown){dropdown._tippy.hide();}}
if(el.dataset.upstream){listTable.querySelectorAll('tr[data-id="'+tr.dataset.id+'"]').forEach(tr=>tr.classList.add('loading'));}
let formData=new FormData(listTableForm);for(const[key,value]of Object.entries(el.dataset)){formData.set(key,value);}
formData.set('view',listTable.dataset.view);formData.set('action',listTable.dataset.basename+'_row');listTableRowAction(tr,formData);return false;}});listTable.addEventListener('click',function(e){if(e.target.matches('a[data-row_action]')){e.preventDefault();}});listTable.querySelectorAll('button.em-list-table-bulk-action').forEach(function(button){button.addEventListener('click',function(e){e.preventDefault();let actionSelector=listTableForm.querySelector('select.bulk-action-selector');let action=actionSelector.options[actionSelector.selectedIndex];if(action.dataset.confirm){if(!confirm(action.dataset.confirm)){isBulkAction=false;return false;}}
isBulkAction=true;let rows=listTableForm.querySelectorAll('tbody .check-column input:checked');rows.forEach(function(checkbox){let actionTrigger=checkbox.parentElement.querySelector('[data-row_action="'+action.value+'"]');if(actionTrigger){let tr=checkbox.closest('tr');if(actionTrigger.dataset.upstream){if(!tr.classList.contains('loading')){actionTrigger.click();}}else{actionTrigger.click();}}});isBulkAction=false;});});listTable.addEventListener('em_list_table_row_action_complete',function(e){if(e.detail.upstream){let currentRow=e.detail.currentRow;let formData=e.detail.formData;if(formData.get('row_action')==='delete'){let feedback=currentRow.querySelector('.column-primary span.em-icon-trash.em-tooltip');if(feedback){listTable.querySelectorAll('tr[data-id="'+formData.get('row_id')+'"]').forEach(function(tr){if(tr!==currentRow){let td=tr.querySelector('.column-primary');td.prepend(feedback.cloneNode(true));em_setup_tippy(td);}
tr.classList.remove('faded-out');tr.classList.remove('loading');});}}else if(formData.get('row_action')!=='refresh'){let feedback=currentRow.querySelector('.column-primary span.em-icon.em-tooltip').getAttribute('aria-label');formData.set('row_action','refresh');formData.set('feedback',feedback);listTable.querySelectorAll('tr[data-id="'+formData.get('row_id')+'"]').forEach(function(tr){if(tr!==currentRow){listTableRowAction(tr,formData);delete isUpstreamAction[e.detail.booking_id];if(Object.keys(isUpstreamAction).length){isUpstreamAction=false;}}});}}});listTable.querySelectorAll('td.column-actions a').forEach((action)=>{action.classList.add('em-tooltip');action.setAttribute('aria-label',action.innerText);});}
let listTableRowAction=function(tr,formData,upstream=false){let listTable=tr.closest('.em-list-table');tr.classList.add('loading');formData.set('row_id',tr.dataset.id);fetch(EM.ajaxurl,{method:'post',body:formData}).then(function(response){return response.text();}).then(function(html){tr.classList.add('faded-out');if(formData.get('row_action')==='delete'){tr.querySelectorAll('th.check-column input[type="checkbox"], .em-list-table-actions').forEach(el=>el.remove());let td=tr.querySelector('.column-primary');let wrapper=document.createElement('div');wrapper.innerHTML=html;let icon=wrapper.firstElementChild;em_setup_tippy(wrapper);td.prepend(icon);}else{tr.innerHTML=html
setupListTableExtras(tr);}
tr.classList.remove('faded-out');tr.classList.remove('loading');listTable.dispatchEvent(new CustomEvent('em_list_table_row_action_complete',{detail:{currentRow:tr,formData:formData,upstream:upstream}}));});}
const setupListTableExtras=function(listTable){listTable.querySelectorAll('td.column-actions a').forEach((action)=>{action.classList.add('em-tooltip');action.setAttribute('aria-label',action.innerText);});listTable.querySelectorAll('td .em-list-table-col-tooltip .em-list-table-col-tooltip').forEach((subtip)=>{subtip.querySelectorAll('.em-tooltip').forEach(el=>el.remove());subtip.querySelectorAll('.em-tooltip-content').forEach(el=>el.classList.remove('hidden'));});em_setup_tippy(listTable);em_setup_selectize(listTable);}
document.addEventListener('em_list_table_filtered',function(e){setupListTable(e.detail.listTable);setupListTableExtras(e.detail.listTable);});document.addEventListener('DOMContentLoaded',function(){document.querySelectorAll('.em_obj div.tablenav').forEach(function(tablenav){let em_obj=tablenav.closest('.em_obj');em_obj.classList.add('em-list-table','legacy','frontend');em_obj.querySelector('& > form').classList.add('em-list-table-form');});document.querySelectorAll('.em-list-table').forEach(listTable=>setupListTable(listTable));});document.addEventListener('em_list_table_setup',function(e){let listTable=e.detail.listTable;let listTableForm=e.detail.listTableForm;if(listTable.classList.contains('em-bookings-table')){listTable.addEventListener('em_list_table_settings_submitted',function(e){let form=e.detail.form;let listTableForm=e.detail.listTableForm;let views_select=form.querySelector('select[name="view"]');if(views_select){let view_radio=listTableForm.querySelector('[name="view"][value="'+views_select.value+'"]');if(view_radio){view_radio.checked=true;}
let view_option=listTableForm.querySelector('button.em-bookings-table-view-option[data-view]');if(view_option){view_option.setAttribute('data-view',views_select.value);view_option.innerText=views_select.options[views_select.selectedIndex].innerText;}}});let views_ddm_options={theme:'light-border',allowHTML:true,interactive:true,trigger:'manual',placement:'bottom',zIndex:1000000,touch:true,};let tooltip_vars={theme:'light-border',appendTo:'parent',touch:false,};listTable.querySelectorAll('.em-bookings-table-views-trigger').forEach(function(trigger){tooltip_vars.content=trigger.parentElement.getAttribute('aria-label');let views_tooltip=tippy(trigger.parentElement,tooltip_vars);let views_content=trigger.parentElement.querySelector('.em-bookings-table-views-options');let views_content_parent=views_content.parentElement;let tippy_content=document.createElement('div');views_ddm_options.content=tippy_content;let views_ddm=tippy(trigger,views_ddm_options);views_ddm.setProps({onShow(instance){views_tooltip.disable();tippy_content.append(views_content);},onShown(instance){views_content.querySelector('input:checked').focus();},onHidden(instance){views_tooltip.enable();if(views_content.parentElement!==views_content_parent){views_content_parent.append(views_content);}}});let tippy_listener=function(e){if(e.type==='keydown'&&!(e.which===13||e.which===40))return false;e.preventDefault();e.stopPropagation();trigger._tippy.show();views_tooltip.hide();}
trigger.addEventListener('click',tippy_listener);trigger.addEventListener('keydown',tippy_listener);trigger.firstElementChild.addEventListener('focus',function(e){views_ddm.hide();views_tooltip.enable();views_tooltip.show();});trigger.firstElementChild.addEventListener('blur',function(){views_tooltip.hide();});let $=jQuery;$views=$(listTable).find('.em-bookings-table-views');$views.on('focus blur','.em-bookings-table-views-options input',function(){if(document.activeElement===this){this.parentElement.classList.add('focused');}else{this.parentElement.classList.remove('focused');}});$views.on('keydown click','.em-bookings-table-views-options input',function(e){if(e.type==='keydown'&&e.which!==13){if([37,38,39,40].indexOf(e.which)!==-1){if(e.which===38){if(this.parentElement.previousElementSibling){this.parentElement.previousElementSibling.focus();}}else if(e.which===40){if(this.parentElement.nextElementSibling){this.parentElement.nextElementSibling.focus();}}
return false;}else if(e.which===9){views_ddm.hide();}
return true;}
this.checked=true;let input=$(this);input.closest('fieldset').find('label').removeClass('checked');input.parent().addClass('checked');let views_wrapper=$(this).closest('.em-bookings-table-views');let view_type=this.value;let trigger=views_wrapper.children('.em-bookings-table-views-trigger');let trigger_option=trigger.children('.em-search-view-option');if(view_type!==trigger_option.attr('data-view')){trigger_option.attr('data-view',this.value).text(this.parentElement.innerText);listTableForm.querySelector('input[name="cols"][type="hidden"]').value='';listTableForm.requestSubmit();}
views_ddm.hide();});});}});document.addEventListener('em_list_table_filtered',function(e){if(e.detail.listTable.classList.contains('em-bookings-table')&&window.jQuery){jQuery(document).triggerHandler('em_bookings_filtered',[jQuery(e.detail.data),e.detail.listTable,jQuery(e.detail.form)]);}})
function em_setup_datepicker(container){wrap=jQuery(container);let dateDivs=wrap.find('.em-date-single, .em-date-range');if(dateDivs.length>0){var datepicker_vals={dateFormat:"yy-mm-dd",changeMonth:true,changeYear:true,firstDay:EM.firstDay,yearRange:'c-100:c+15',beforeShow:function(el,inst){em_setup_jquery_ui_wrapper();inst.dpDiv.appendTo('#em-jquery-ui');}};if(EM.dateFormat)datepicker_vals.dateFormat=EM.dateFormat;if(EM.yearRange)datepicker_vals.yearRange=EM.yearRange;jQuery(document).triggerHandler('em_datepicker',datepicker_vals);dateDivs.find('input.em-date-input-loc').each(function(i,dateInput){var dateInput=jQuery(dateInput);var dateValue=dateInput.nextAll('input.em-date-input').first();var dateValue_value=dateValue.val();dateInput.datepicker(datepicker_vals);dateInput.datepicker('option','altField',dateValue);if(dateValue_value){var this_date_formatted=jQuery.datepicker.formatDate(EM.dateFormat,jQuery.datepicker.parseDate('yy-mm-dd',dateValue_value));dateInput.val(this_date_formatted);dateValue.val(dateValue_value);}
dateInput.on('change',function(){if(jQuery(this).val()==''){jQuery(this).nextAll('.em-date-input').first().val('');}});});dateDivs.filter('.em-date-range').find('input.em-date-input-loc[type="text"]').each(function(i,dateInput){dateInput=jQuery(dateInput);if(dateInput.hasClass('em-date-start')){dateInput.datepicker('option','onSelect',function(selectedDate){var startDate=jQuery(this);var endDate=startDate.parents('.em-date-range').find('.em-date-end').first();var startValue=startDate.nextAll('input.em-date-input').first().val();var endValue=endDate.nextAll('input.em-date-input').first().val();startDate.trigger('em_datepicker_change');if(startValue>endValue&&endValue!=''){endDate.datepicker("setDate",selectedDate);endDate.trigger('change').trigger('em_datepicker_change');}
endDate.datepicker("option",'minDate',selectedDate);});}else if(dateInput.hasClass('em-date-end')){var startInput=dateInput.parents('.em-date-range').find('.em-date-start').first();if(startInput.val()!=''){dateInput.datepicker('option','minDate',startInput.val());}}});}
let datePickerDivs=wrap.find('.em-datepicker, .em-datepicker-range');if(datePickerDivs.length>0){let datepicker_wrapper=jQuery('#em-flatpickr');if(datepicker_wrapper.length===0){datepicker_wrapper=jQuery('
').appendTo('body');}
if('locale'in EM.datepicker){flatpickr.localize(flatpickr.l10ns[EM.datepicker.locale]);flatpickr.l10ns.default.firstDayOfWeek=EM.firstDay;}
let datepicker_onChanging;let datepicker_options={appendTo:datepicker_wrapper[0],dateFormat:"Y-m-d",disableMoble:"true",allowInput:true,onChange:[function(selectedDates,dateStr,instance){if(datepicker_onChanging!==selectedDates){let wrapper=jQuery(instance.input).closest('.em-datepicker');let data_wrapper=wrapper.find('.em-datepicker-data');let inputs=data_wrapper.find('input');let dateFormat=function(d){let month=''+(d.getMonth()+1),day=''+d.getDate(),year=d.getFullYear();if(month.length<2)month='0'+month;if(day.length<2)day='0'+day;return[year,month,day].join('-');}
if(selectedDates.length===0){if(instance.config.mode==='single'&&wrapper.hasClass('em-datepicker-until')){let input=instance.input.classList.contains('em-date-input-start')?inputs[0]:inputs[1];input.setAttribute('value','');if(inputs.filter(input=>input.value!=='').length===0){wrapper.removeClass('has-value');}}else{wrapper.removeClass('has-value');inputs.attr('value','');if(instance.config.mode==='multiple'){let datesEl=instance.input.closest('.em-datepicker').querySelector('.em-datepicker-dates');if(datesEl){datesEl.querySelectorAll('.item:not(.clear-all)').forEach(el=>el.remove());datesEl.classList.remove('has-value');}}}}else{wrapper.addClass('has-value');if(instance.config.mode==='range'&&selectedDates[1]!==undefined){inputs[0].setAttribute('value',dateFormat(selectedDates[0]));inputs[1].setAttribute('value',dateFormat(selectedDates[1]));}else if(instance.config.mode==='single'&&wrapper.hasClass('em-datepicker-until')){if(instance.input.classList.contains('em-date-input-start')){inputs[0].setAttribute('value',dateFormat(selectedDates[0]));let fp;if(wrapper.attr('data-until-id')){let fp_inputData=jQuery('#'+wrapper.attr('data-until-id')+' .em-date-input-end');fp=fp_inputData[0]._flatpickr;}else{fp=wrapper.find('.em-date-input-end')[0]._flatpickr;}
if(fp.selectedDates[0]!==undefined&&fp.selectedDates[0]
el.remove());selectedDates.sort((a,b)=>a-b);let groups=[],currentGroup=[];selectedDates.forEach((date,i)=>{if(currentGroup.length===0){currentGroup.push(date);}else{let lastDate=currentGroup[currentGroup.length-1];let diffDays=(date-lastDate)/(1000*3600*24);if(diffDays===1){currentGroup.push(date);}else{groups.push(currentGroup);currentGroup=[date];}}
if(i===selectedDates.length-1)groups.push(currentGroup);});groups.forEach(group=>{let div=document.createElement('div');div.className='item';let formattedDates=group.map(date=>instance.formatDate(date,'Y-m-d'));div.dataset.date=formattedDates.join(',');let startText=instance.formatDate(group[0],instance.config.altFormat);let endText=instance.formatDate(group[group.length-1],instance.config.altFormat);div.innerHTML=`${group.length > 1 ? startText + ' - ' + endText : startText}×`;datesEl.insertBefore(div,datesEl.querySelector('.clear-all'));});}}else{inputs[0].setAttribute('value',dateFormat(selectedDates[0]));}}
inputs.trigger('change');let current_date=data_wrapper.attr('date-value');data_wrapper.attr('data-value',inputs.toArray().map(input=>input.value).filter(value=>value!=='').join(','));if(current_date===dateStr)data_wrapper.trigger('change');wrapper[0].dispatchEvent(new CustomEvent('datepicker-onChange',{detail:{selectedDates:selectedDates,dateStr:dateStr,instance:instance}}));}
datepicker_onChanging=null;}],onClose:function(selectedDates,dateStr,instance){if(instance.config.mode==='range'&&selectedDates[1]!==undefined){if(selectedDates.length===1){instance.setDate([selectedDates[0],selectedDates[0]],true);}}else{datepicker_options.onChange[0](selectedDates,dateStr,instance);datepicker_onChanging=selectedDates;}},locale:{},};if(EM.datepicker.format!==datepicker_options.dateFormat){datepicker_options.altFormat=EM.datepicker.format;datepicker_options.altInput=true;}
jQuery(document).triggerHandler('em_datepicker_options',datepicker_options);datePickerDivs.each(function(i,datePickerDiv){datePickerDiv=jQuery(datePickerDiv);datePickerDiv.find('.em-datepicker-data').addClass('hidden');let isRange=datePickerDiv.hasClass('em-datepicker-range');let altOptions={};if(datePickerDiv.attr('data-datepicker')){altOptions=JSON.parse(datePickerDiv.attr('data-datepicker'));if(typeof altOptions!=='object'){altOptions={};}}
let otherOptions={};if(datePickerDiv.find('script.datepicker-options').length>0){otherOptions=JSON.parse(datePickerDiv.find('script.datepicker-options').text());if(typeof altOptions!=='object'){otherOptions={};}}
let options=Object.assign({},datepicker_options,altOptions,otherOptions);options.mode=isRange?'range':'single';if(datePickerDiv.hasClass('em-datepicker-multiple')){options.mode='multiple';}
if(isRange&&'onClose'in options){options.onClose=[function(selectedDates,dateStr,instance){if(selectedDates.length===1){instance.setDate([selectedDates[0],selectedDates[0]],true);}}];}
if(datePickerDiv.attr('data-separator'))options.locale.rangeSeparator=datePickerDiv.attr('data-separator');if(datePickerDiv.attr('data-format'))options.altFormat=datePickerDiv.attr('data-format');let FPs=datePickerDiv.find('.em-date-input');if(FPs[0].tagName.toLowerCase()==='input'){FPs.attr('type','text');}else{options.wrap=true;FPs.find('input[type="hidden"]').attr('type','text');}
FPs.flatpickr(options);});em_setup_datepicker_dates(datePickerDivs);jQuery(document).triggerHandler('em_flatpickr_loaded',[wrap]);container.dispatchEvent(new CustomEvent('em_datepicker_loaded',{bubbles:true,detail:{container:wrap,datepickers:datePickerDivs}}));}}
function em_setup_datepicker_dates(container){let datePickerContainer=jQuery(container);let datePickerDivs=datePickerContainer.first().hasClass('em-datepicker')?datePickerContainer:datePickerContainer.find('.em-datepicker, .em-datepicker-range');datePickerDivs.each(function(i,datePickerDiv){datePickerDiv=jQuery(datePickerDiv);let FPs=datePickerDiv.find('.em-date-input');let inputs=datePickerDiv.find('.em-datepicker-data input');inputs.attr('type','hidden');if(datePickerDiv.hasClass('em-datepicker-until')){let start_fp=FPs.filter('.em-date-input-start')[0]._flatpickr;let end_fp;if(datePickerDiv.attr('data-until-id')){end_fp=jQuery('#'+datePickerDiv.attr('data-until-id')+' .em-date-input-end')[0]._flatpickr;}else{end_fp=FPs.filter('.em-date-input-end')[0]._flatpickr;if(inputs[1]&&inputs[1].value){end_fp.setDate(inputs[1].value,false,'Y-m-d');}}
if(inputs[0]&&inputs[0].value){start_fp.setDate(inputs[0].value,false,'Y-m-d');end_fp.set('minDate',inputs[0].value);}
start_fp._inputData=inputs[0]?[inputs[0]]:[];end_fp._inputData=inputs[1]?[inputs[1]]:[];}else if(datePickerDiv.hasClass('em-datepicker-multiple')){if(inputs[0]&&inputs[0].value){let datesArray=inputs[0].value.split(',');FPs[0]._flatpickr.setDate(datesArray,true,'Y-m-d');}
FPs[0]._flatpickr._inputData=[inputs[0]];}else{let dates=[];FPs[0]._flatpickr._inputData=[];inputs.each(function(i,input){if(input.value){dates.push(input.value);FPs[0]._flatpickr._inputData.push(input);}});FPs[0]._flatpickr.setDate(dates,false,'Y-m-d');}});}
function em_unsetup_datepicker(wrap){wrap.querySelectorAll(".em-datepicker .em-date-input.flatpickr-input").forEach(function(el){if('_flatpickr'in el){el._flatpickr.destroy();}});}
document.addEventListener('click',function(e){if(!e.target.closest('.em-datepicker-dates .item:not(.clear-all) .remove'))return;e.preventDefault();const pill=e.target.closest('.item');const datesContainer=pill.closest('.em-datepicker-dates');const datepickerContainer=datesContainer.closest('.em-datepicker');const dateInput=datepickerContainer.querySelector('.em-date-input');pill.remove();const newDates=[];datesContainer.querySelectorAll('.item:not(.clear-all)').forEach(item=>{const dates=item.dataset.date.split(',');dates.forEach(date=>newDates.push(date));});const fp=datepickerContainer.querySelector('.em-date-input')._flatpickr;if(fp)fp.setDate(newDates,true,'Y-m-d');const altInput=datepickerContainer.querySelector('.em-datepicker-data input');if(altInput){altInput.value=newDates.join(',');altInput.dispatchEvent(new Event('change'));}});document.addEventListener('click',function(e){if(!e.target.closest('.em-datepicker-dates .clear-all'))return;e.preventDefault();const datesContainer=e.target.closest('.em-datepicker-dates');const datepickerContainer=datesContainer.closest('.em-datepicker');const fp=datepickerContainer.querySelector('.em-date-input')._flatpickr;datesContainer.querySelectorAll('.item:not(.clear-all)').forEach(item=>item.remove());if(fp)fp.clear();const altInput=datepickerContainer.querySelector('.em-datepicker-data input');if(altInput){altInput.value='';altInput.dispatchEvent(new Event('change'));}});function em_setup_timepicker(container){wrap=jQuery(container);var timepicker_options={step:15}
timepicker_options.timeFormat=EM.show24hours==1?'G:i':'g:i A';jQuery(document).triggerHandler('em_timepicker_options',timepicker_options);wrap.find(".em-time-input").em_timepicker(timepicker_options).each(function(i,el){this.dataset.seconds=this.value?jQuery(this).em_timepicker('getSecondsFromMidnight'):'';});let retargetEvent=function(e){e.stopPropagation();const customEvent=new CustomEvent('change',{bubbles:true,cancelable:true,detail:{target:e.target}});Object.defineProperty(customEvent,'target',{configurable:true,get:()=>e.target,});e.target.closest('.em-time-range').dispatchEvent(customEvent);};wrap.find(".em-time-range input.em-time-start").each(function(i,el){var time=jQuery(el);time.data('oldTime',time.em_timepicker('getSecondsFromMidnight'));}).on('change',function(e){var start=jQuery(this);var wrapper=start.closest('.em-time-range');var end=wrapper.find('.em-time-end').first();if(end.val()){var oldTime=start.data('oldTime');var duration=(end.em_timepicker('getSecondsFromMidnight')-oldTime)*1000;var time=start.em_timepicker('getSecondsFromMidnight');if(this.value&&end.em_timepicker('getSecondsFromMidnight')>=oldTime){end.em_timepicker('setTime',new Date(start.em_timepicker('getTime').getTime()+duration));}
start.data('oldTime',time);}
if(start.val()||end.val()){wrapper.find('.em-time-all-day').prop('checked',false).prop('indeterminate',false);}
this.dataset.seconds=start.val()?start.em_timepicker('getSecondsFromMidnight'):'';retargetEvent(e);});container.querySelectorAll('.em-time-range').forEach(el=>el.addEventListener('change',function(e){if(e.target.matches('input.em-time-end')){let end=jQuery(e.target);e.target.dataset.seconds=end.val()?end.em_timepicker('getSecondsFromMidnight'):'';let start=end.prevAll('.em-time-start');let wrapper=e.target.closest('.event-form-when, .em-time-range');let start_date_element=wrapper.querySelector('.em-date-end');let end_date_element=wrapper.querySelector('.em-date-start');let start_date=start_date_element?start_date_element.value:'';let end_date=end_date_element?end_date_element.value:'';if(start.val()){let hasError=start.em_timepicker('getTime')>end.em_timepicker('getTime')&&(!end_date||start_date===end_date);e.target.classList.toggle('error',hasError);}
if(end_date_element){wrapper.querySelectorAll('.em-time-all-day').forEach(function(checkbox){checkbox.checked=false;checkbox.indeterminate=false;});}}else if(e.target.matches('.em-date-end')){jQuery(e.target.closest('.event-form-when')).find('.em-time-end').trigger('change');}else if(e.target.matches('input.em-time-all-day')){e.currentTarget.querySelectorAll('.em-time-input').forEach(function(input){input.readOnly=e.target.checked;});if(e.target.checked){e.currentTarget.querySelectorAll('.em-time-start').forEach(el=>jQuery(el).em_timepicker('setTime',new Date('2000-01-01 00:00:00')));e.currentTarget.querySelectorAll('.em-time-end').forEach(el=>jQuery(el).em_timepicker('setTime',new Date('2000-01-01 23:59:59')));}}}));wrap.find(".em-time-range input.em-time-end").on('change',retargetEvent);}
function em_unsetup_timepicker(container){jQuery(container).find('.em-time-range input.em-time-end, .em-time-range input.em-time-start').unbind(['click','focus','change']);}
let em_close_other_selectized=function(){let control=this.classList.contains('selectize-control')?this.closest('.em-selectize.selectize-control'):this;document.querySelectorAll('.em-selectize.dropdown-active').forEach(function(el){if(el!==control&&'selectize'in el.previousElementSibling){el.previousElementSibling.selectize.close();}});}
document.addEventListener('events_manager_js_loaded',function(){EM_Selectize.define('multidropdown',function(options){if(!this.$input.hasClass('multidropdown'))return;let s=this;let s_setup=s.setup;let s_refreshOptions=s.refreshOptions;let s_open=s.open;let s_close=s.close;let placeholder;let placeholder_text
let placeholder_default;let placeholder_label;let counter;let isClosing=false;this.changeFunction=function(){let items=s.getValue();let selected_text=this.$input.attr('data-selected-text')?this.$input.attr('data-selected-text'):'%d Selected';counter.children('span.selected-text').text(selected_text.replace('%d',items.length));if(items.length>0){counter.removeClass('hidden');placeholder_text.text(placeholder_label);s.$control_input.attr('placeholder',s.$input.attr('placeholder'));}else{counter.addClass('hidden');placeholder_text.text(placeholder_default);}}
this.setup=function(){s_setup.apply(s);s.isDropdownClosingPlaceholder=false;placeholder=jQuery('').prependTo(s.$wrapper);let clear_text=this.$input.attr('data-clear-text')?this.$input.attr('data-clear-text'):'Clear Selection';counter=jQuery('X'+clear_text+' ').prependTo(placeholder);placeholder_text=jQuery('