PageSourceSearch

https://alhudafoundation.org/wp-content/plugins/modern-events-calendar/assets/js/events.js?ver=7.9.0

js alhudafoundation.org collected 2026-10-08 06:12:14 UTC 33,802 bytes, 1,060 lines download raw bytes

1// Set datepicker default value.
2var datepicker_format = 'yy-mm-dd';
3
4jQuery(document).ready(function($)
5{
6    // Image picker on terms menu
7    $('.mec_upload_image_button').click(function(event)
8    {
9        event.preventDefault();
10
11        var real_ajax_url = wp.ajax.settings.url;
12        wp.ajax.settings.url = real_ajax_url + '?mec_fes=1';
13
14        var post_id = $(this).data('post-id');
15        if(post_id && post_id !== -1) wp.media.model.settings.post.id = post_id;
16        if(post_id === -1) wp.media.model.settings.post.id = null;
17
18        var preview_id = 'mec_thumbnail_img';
19        var input_id = 'mec_thumbnail';
20
21        if($(this).data('preview-id')) preview_id = $(this).data('preview-id');
22        if($(this).data('input-id')) input_id = $(this).data('input-id');
23
24        var frame;
25        if(frame)
26        {
27            frame.open();
28            return;
29        }
30
31        frame = wp.media();
32        console.log(frame);
33        frame.on('select', function()
34        {
35            // Grab the selected attachment.
36            var attachment = frame.state().get('selection').first();
37
38            $('#'+preview_id).html('<img src="'+attachment.attributes.url+'" style="max-width: 100%;" />');
39            $('#'+input_id).val(attachment.attributes.url);
40
41            $('.mec_remove_image_button').toggleClass('mec-util-hidden');
42
43            frame.close();
44        });
45
46        frame.open();
47    });
48
49    // Image remover on terms menu
50    $('.mec_remove_image_button').click(function(event)
51    {
52        event.preventDefault();
53
54        var preview_id = 'mec_thumbnail_img';
55        var input_id = 'mec_thumbnail';
56
57        if($(this).data('preview-id')) preview_id = $(this).data('preview-id');
58        if($(this).data('input-id')) input_id = $(this).data('input-id');
59
60        $('#'+preview_id).html('');
61        $('#'+input_id).val('');
62
63        $('.mec_remove_image_button').toggleClass('mec-util-hidden');
64    });
65
66    // Image picker on add event menu for location
67    $('.mec_location_upload_image_button').click(function(event)
68    {
69        event.preventDefault();
70
71        var frame;
72        if(frame)
73        {
74            frame.open();
75            return;
76        }
77
78        frame = wp.media();
79        frame.on('select', function()
80        {
81            // Grab the selected attachment.
82            var attachment = frame.state().get('selection').first();
83
84            $('#mec_location_thumbnail_img').html('<img src="'+attachment.attributes.url+'" />');
85            $('#mec_location_thumbnail').val(attachment.attributes.url);
86
87            $('.mec_location_remove_image_button').toggleClass('mec-util-hidden');
88
89            frame.close();
90        });
91
92        frame.open();
93    });
94
95    // Image remover on add event menu for location
96    $('.mec_location_remove_image_button').click(function(event)
97    {
98        event.preventDefault();
99
100        $('#mec_location_thumbnail_img').html('');
101        $('#mec_location_thumbnail').val('');
102
103        $('.mec_location_remove_image_button').toggleClass('mec-util-hidden');
104    });
105
106    // Image picker on add event menu for organizer
107    $('.mec_organizer_upload_image_button').click(function(event)
108    {
109        event.preventDefault();
110
111        var frame;
112        if(frame)
113        {
114            frame.open();
115            return;
116        }
117
118        frame = wp.media();
119        frame.on('select', function()
120        {
121            // Grab the selected attachment.
122            var attachment = frame.state().get('selection').first();
123
124            $('#mec_organizer_thumbnail_img').html('<img src="'+attachment.attributes.url+'" />');
125            $('#mec_organizer_thumbnail').val(attachment.attributes.url);
126
127            $('.mec_organizer_remove_image_button').toggleClass('mec-util-hidden');
128
129            frame.close();
130        });
131
132        frame.open();
133    });
134
135    // Image remover on add event menu for organizer
136    $('.mec_organizer_remove_image_button').click(function(event)
137    {
138        event.preventDefault();
139
140        $('#mec_organizer_thumbnail_img').html('');
141        $('#mec_organizer_thumbnail').val('');
142
143        $('.mec_organizer_remove_image_button').toggleClass('mec-util-hidden');
144    });
145
146    // Image remover on frontend event submission menu
147    $('#mec_fes_remove_image_button').click(function(event)
148    {
149        event.preventDefault();
150
151        $('#mec_fes_thumbnail_img').html('');
152        $('#mec_fes_thumbnail').val('');
153        $('#mec_featured_image_file').val('');
154
155        $('#mec_fes_remove_image_button').addClass('mec-util-hidden');
156    });
157
158    // Location Image remover on frontend event submission menu
159    $('#mec_fes_location_remove_image_button').click(function(event)
160    {
161        event.preventDefault();
162
163        $('#mec_fes_location_thumbnail_img').html('');
164        $('#mec_fes_location_thumbnail').val('');
165        $('#mec_fes_location_thumbnail_file').val('');
166
167        $('#mec_fes_location_remove_image_button').addClass('mec-util-hidden');
168    });
169
170    // Organizer Image remover on frontend event submission menu
171    $('#mec_fes_organizer_remove_image_button').click(function(event)
172    {
173        event.preventDefault();
174
175        $('#mec_fes_organizer_thumbnail_img').html('');
176        $('#mec_fes_organizer_thumbnail').val('');
177        $('#mec_fes_organizer_thumbnail_file').val('');
178
179        $('#mec_fes_organizer_remove_image_button').addClass('mec-util-hidden');
180    });
181
182    var date_splite;
183    if(typeof mec_admin_localize !== 'undefined')
184    {
185        date_splite = mec_admin_localize.datepicker_format.split('&');
186        if(date_splite[0] !== undefined && date_splite.length == 2) datepicker_format = date_splite[0];
187    }
188    else if(typeof mecdata !== 'undefined')
189    {
190        date_splite = mecdata.datepicker_format.split( '&' );
191        if(date_splite[0] !== undefined && date_splite.length == 2) datepicker_format = date_splite[0];
192    }
193
194    $('[id^="mec-book-form-btn-step"]').on('click',function()
195    {
196        setTimeout(function()
197        {
198            if($.fn.datepicker)
199            {
200                if('date' !== $('.mec-date-picker').prop('type'))
201                {
202                    $('.mec-date-picker').datepicker(
203                    {
204                        changeYear: true,
205                        changeMonth: true,
206                        dateFormat: datepicker_format,
207                        gotoCurrent: true,
208                        yearRange: 'c-3:c+5',
209                    });
210                }
211
212            }
213        }, 1000);
214    });
215
216    if($.fn.datepicker)
217    {
218        $('.mec-date-picker').datepicker(
219        {
220            changeYear: true,
221            changeMonth: true,
222            dateFormat: datepicker_format,
223            gotoCurrent: true,
224            yearRange: 'c-3:c+5',
225        });
226
227        $('#mec_start_date').datepicker(
228        {
229            changeYear: true,
230            changeMonth: true,
231            dateFormat: datepicker_format,
232            gotoCurrent: true,
233            yearRange: 'c-3:c+5',
234            onSelect: function(value, i)
235            {
236                const end = $("#mec_end_date");
237                if(value !== i.lastVal)
238                {
239                    end.datepicker("option", "minDate", value);
240                }
241
242                if(end.val() === '')
243                {
244                    end.val(value);
245                }
246            }
247        });
248
249        $('#mec_end_date').datepicker(
250        {
251            changeYear: true,
252            changeMonth: true,
253            dateFormat: datepicker_format,
254            gotoCurrent: true,
255            yearRange: 'c-3:c+5',
256            onSelect: function(value, i)
257            {
258                const start = $("#mec_start_date");
259                if(value !== i.lastVal)
260                {
261                    start.datepicker("option", "maxDate", value);
262                }
263
264                if(start.val() === '')
265                {
266                    start.val(value);
267                }
268            }
269        });
270
271        $('#mec_date_repeat_end_at_date').datepicker(
272        {
273            changeYear: true,
274            changeMonth: true,
275            dateFormat: datepicker_format,
276            gotoCurrent: true,
277            yearRange: 'c-3:c+5',
278        });
279
280        $('.mec_date_picker_dynamic_format').datepicker(
281        {
282            changeYear: true,
283            changeMonth: true,
284            dateFormat: datepicker_format,
285            gotoCurrent: true,
286            yearRange: 'c-3:c+5',
287        });
288
289        $('.mec_date_picker').datepicker(
290        {
291            changeYear: true,
292            changeMonth: true,
293            dateFormat: 'yy-mm-dd',
294            gotoCurrent: true,
295            yearRange: 'c-3:c+5',
296        });
297
298        $('.mec_date_picker_dynamic_format_start').datepicker(
299        {
300            changeYear: true,
301            changeMonth: true,
302            dateFormat: datepicker_format,
303            gotoCurrent: true,
304            yearRange: 'c-1:c+5',
305            onSelect: function(date)
306            {
307                var selectedDate = new Date(date);
308                var endDate = new Date(selectedDate.getTime());
309
310                var $end_picker = $(this).next();
311                $end_picker.datepicker("option", "minDate", endDate);
312                $end_picker.datepicker("option", "maxDate", '+5y');
313            }
314        });
315
316        $('.mec_date_picker_dynamic_format_end').datepicker(
317        {
318            changeYear: true,
319            changeMonth: true,
320            dateFormat: datepicker_format,
321            gotoCurrent: true,
322            yearRange: 'c-1:c+5',
323        });
324
325        trigger_period_picker();
326    }
327
328    // Initialize WP Color Picker
329    if($.fn.wpColorPicker) jQuery('.mec-color-picker').wpColorPicker();
330
331    $('#mec_location_id').on('change', function()
332    {
333        mec_location_toggle();
334    });
335
336    $('#mec_organizer_id').on('change', function()
337    {
338        mec_organizer_toggle();
339        var mec_organizer_val = parseInt($(this).val());
340        var mec_additional_organizer = $(this).parent().parent().find('#mec-additional-organizer-wrap');
341
342        if(mec_organizer_val != 1) mec_additional_organizer.show();
343        else mec_additional_organizer.hide();
344    });
345
346    mec_location_toggle();
347    mec_organizer_toggle();
348
349    $('#mec_repeat').on('change', function()
350    {
351        mec_repeat_toggle();
352    });
353
354    mec_repeat_toggle();
355
356    $('#mec_repeat_type').on('change', function()
357    {
358        mec_repeat_type_toggle();
359    });
360
361    mec_repeat_type_toggle();
362
363    $('#mec_bookings_limit_unlimited').on('change', function()
364    {
365        mec_bookings_unlimited_toggle();
366    });
367
368    $('#mec_add_in_days').on('click', function()
369    {
370        var allday = $(this).data('allday');
371
372        var start = $('#mec_exceptions_in_days_start_date').val();
373        if(start === '') return false;
374
375        var end = $('#mec_exceptions_in_days_end_date').val();
376        if(end === '') return false;
377
378        var start_hour = $('#mec_exceptions_in_days_start_hour').val();
379        if(start_hour.length === 1) start_hour = '0'+start_hour;
380
381        var start_minutes = $('#mec_exceptions_in_days_start_minutes').val();
382        if(start_minutes.length === 1) start_minutes = '0'+start_minutes;
383
384        var start_ampm = $('#mec_exceptions_in_days_start_ampm').val();
385        if(typeof start_ampm === 'undefined') start_ampm = '';
386
387        var end_hour = $('#mec_exceptions_in_days_end_hour').val();
388        if(end_hour.length === 1) end_hour = '0'+end_hour;
389
390        var end_minutes = $('#mec_exceptions_in_days_end_minutes').val();
391        if(end_minutes.length === 1) end_minutes = '0'+end_minutes;
392
393        var end_ampm = $('#mec_exceptions_in_days_end_ampm').val();
394        if(typeof end_ampm === 'undefined') end_ampm = '';
395
396        var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm;
397        var label = start + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + start_hour + ':' + start_minutes + ' ' + start_ampm + '</span> - ' + end + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + end_hour + ':' + end_minutes + ' ' + end_ampm + '</span>';
398
399        // Don't add exactly same occurrences
400        if($('#mec_in_days input[value="'+value+'"]').length > 0) return false;
401
402        var $key = $('#mec_new_in_days_key');
403
404        var key = $key.val();
405        var html = $('#mec_new_in_days_raw').html().replace(/:i:/g, key).replace(/:val:/g, value).replace(/:label:/g, label);
406
407        $('#mec_in_days').append(html);
408        $key.val(parseInt(key)+1);
409    });
410
411    $('#mec_edit_in_days').on('click', function()
412    {
413        // Form
414        const $form = $('#mec-in-days-form');
415
416        const modify_id = $form.data('modify');
417        const $row = $('#mec_in_days_row'+modify_id);
418
419        var allday = $(this).data('allday');
420
421        var start = $('#mec_exceptions_in_days_start_date').val();
422        if(start === '') return false;
423
424        var end = $('#mec_exceptions_in_days_end_date').val();
425        if(end === '') return false;
426
427        var start_hour = $('#mec_exceptions_in_days_start_hour').val();
428        if(start_hour.length === 1) start_hour = '0'+start_hour;
429
430        var start_minutes = $('#mec_exceptions_in_days_start_minutes').val();
431        if(start_minutes.length === 1) start_minutes = '0'+start_minutes;
432
433        var start_ampm = $('#mec_exceptions_in_days_start_ampm').val();
434        if(typeof start_ampm === 'undefined') start_ampm = '';
435
436        var end_hour = $('#mec_exceptions_in_days_end_hour').val();
437        if(end_hour.length === 1) end_hour = '0'+end_hour;
438
439        var end_minutes = $('#mec_exceptions_in_days_end_minutes').val();
440        if(end_minutes.length === 1) end_minutes = '0'+end_minutes;
441
442        var end_ampm = $('#mec_exceptions_in_days_end_ampm').val();
443        if(typeof end_ampm === 'undefined') end_ampm = '';
444
445        var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm;
446        var label = start + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + start_hour + ':' + start_minutes + ' ' + start_ampm + '</span> - ' + end + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + end_hour + ':' + end_minutes + ' ' + end_ampm + '</span>';
447
448        $row.find($('input[type=hidden]')).val(value);
449        $row.find($('.mec-in-days-day')).html(label);
450
451        // Reset Dates
452        $form.parent().find($('input[type=text]')).val('');
453
454        // Modification Mode
455        $form.removeClass('mec-in-days-edit-mode').addClass('mec-in-days-add-mode').removeData('modify');
456    });
457
458    $('#mec_cancel_in_days').on('click', function()
459    {
460        // Form
461        let $form = $('#mec-in-days-form');
462
463        // Reset Dates
464        $form.parent().find($('input[type=text]')).val('');
465
466        // Modification Mode
467        $form.removeClass('mec-in-days-edit-mode').addClass('mec-in-days-add-mode').removeData('modify');
468    });
469
470    $('#mec_add_not_in_days').on('click', function()
471    {
472        let date = $('#mec_exceptions_not_in_days_date').val();
473        if(date === '') return false;
474
475        let d = date.replaceAll('-', '');
476        d = d.replaceAll('/', '');
477        d = d.replaceAll('.', '');
478
479
480        let $wrapper = $('#mec_not_in_days');
481        let $key = $('#mec_new_not_in_days_key');
482
483        let c = 'mec-date-'+d;
484        if($wrapper.find($('.'+c)).length) return;
485
486        let key = $key.val();
487        let html = $('#mec_new_not_in_days_raw').html().replace(/:i:/g, key).replace(/:d:/g, d).replace(/:val:/g, date);
488
489        $wrapper.append(html);
490        $key.val(parseInt(key)+1);
491    });
492
493    $('#mec_add_ticket_button').on('click', function()
494    {
495        let $key = $('#mec_new_ticket_key');
496        let key = $key.val();
497        let html = $('#mec_new_ticket_raw').html().replace(/:i:/g, key);
498
499        $('#mec_tickets').append(html);
500        $key.val(parseInt(key)+1);
501
502        $('.mec_add_price_date_button').off('click').on('click', function()
503        {
504            mec_handle_add_price_date_button(this);
505        });
506
507        $.each($(".mec-select2"), function(i,v)
508        {
509            if($(v).attr('name').search(":i:") > 0)
510            {
511                return;
512            }
513
514            if(typeof $(v).data('select2-id') == 'undefined')
515            {
516                $(v).select2();
517            }
518        });
519
520        trigger_period_picker();
521    });
522
523    $('.mec_add_price_date_button').off('click').on('click', function()
524    {
525        mec_handle_add_price_date_button(this);
526    });
527
528    mec_hourly_schedule_add_day_listener();
529
530    $('#mec_add_fee_button').on('click', function()
531    {
532        var key = $('#mec_new_fee_key').val();
533        var html = $('#mec_new_fee_raw').html().replace(/:i:/g, key);
534
535        $('#mec_fees_list').append(html);
536        $('#mec_new_fee_key').val(parseInt(key)+1);
537    });
538
539    $('#mec_add_ticket_variation_button').on('click', function()
540    {
541        var key = $('#mec_new_ticket_variation_key').val();
542        var html = $('#mec_new_ticket_variation_raw').html().replace(/:i:/g, key);
543
544        $('#mec_ticket_variations_list').append(html);
545        $('#mec_new_ticket_variation_key').val(parseInt(key)+1);
546    });
547
548    $('.mec-form-row.mec-available-color-row span').on('click', function()
549    {
550        $('.mec-form-row.mec-available-color-row span').removeClass('color-selected');
551        $(this).addClass('color-selected');
552    });
553
554    $('#mec_reg_form_field_types button').on('click', function()
555    {
556        var type = $(this).data('type');
557
558        if (type == 'mec_email') {
559            if ($('#mec_reg_form_fields').find('input[value="mec_email"][type="hidden"]').length) {
560                return false;
561            }
562        }
563
564        if (type == 'name') {
565            if ($('#mec_reg_form_fields').find('input[value="name"][type="hidden"]').length) {
566                return false;
567            }
568        }
569
570        var key  = $('#mec_new_reg_field_key').val();
571        var html = $('#mec_reg_field_'+type).html().replace(/:i:/g, key);
572
573        $('#mec_reg_form_fields').append(html);
574        $('#mec_new_reg_field_key').val(parseInt(key)+1);
575
576        // Set onclick listener for add option fields
577        mec_reg_fields_option_listeners();
578    });
579
580    // Set onclick listener for add option fields
581    mec_reg_fields_option_listeners();
582
583    // Advanced Repeating
584    $('#mec-advanced-wraper ul > ul > li').click(function()
585    {
586        if($(this).attr('class') == '') $(this).attr('class', 'mec-active');
587        else $(this).attr('class', '');
588
589        $('#mec_date_repeat_advanced').val($('#mec-advanced-wraper div:first-child > ul').find('.mec-active').find('span').text().slice(0, -1));
590    });
591
592    $('#mec_event_form_field_types button').on('click', function()
593    {
594        var type = $(this).data('type');
595
596        var key  = $('#mec_new_event_field_key').val();
597        var html = $('#mec_event_field_'+type).html().replace(/:i:/g, key);
598
599        $('#mec_event_form_fields').append(html);
600        $('#mec_new_event_field_key').val(parseInt(key)+1);
601
602        // Set onclick listener for add option fields
603        mec_event_fields_option_listeners();
604    });
605
606    // Set onclick listener for add option fields
607    mec_event_fields_option_listeners();
608
609    $('#mec_bfixed_form_field_types button').on('click', function()
610    {
611        var type = $(this).data('type');
612
613        var key  = $('#mec_new_bfixed_field_key').val();
614        var html = $('#mec_bfixed_field_'+type).html().replace(/:i:/g, key);
615
616        $('#mec_bfixed_form_fields').append(html);
617        $('#mec_new_bfixed_field_key').val(parseInt(key)+1);
618
619        // Set onclick listener for add option fields
620        mec_bfixed_fields_option_listeners();
621    });
622
623    // Set onclick listener for add option fields
624    mec_bfixed_fields_option_listeners();
625
626    // Additional Organizers
627    mec_additional_organizers_listeners();
628
629    // Show / Hide Password
630    $('.mec-show-hide-password').on('click', function()
631    {
632        var $input = $(this).siblings("input");
633        var current = $input.attr('type');
634
635        if(current === 'password') $input.attr('type', 'text');
636        else $input.attr('type', 'password');
637    });
638
639    // FAQ
640    $('#mec_add_faq_button').on('click', function()
641    {
642        var key = $('#mec_new_faq_key').val();
643        var html = $('#mec_new_faq_raw').html().replace(/:i:/g, key);
644
645        $('#mec_faq_list').append(html);
646        $('#mec_new_faq_key').val(parseInt(key)+1);
647    });
648});
649
650function trigger_period_picker()
651{
652    jQuery('.mec-date-picker-start').datepicker(
653    {
654        changeYear: true,
655        changeMonth: true,
656        dateFormat: 'yy-mm-dd',
657        gotoCurrent: true,
658        yearRange: 'c-1:c+5',
659        onSelect: function(date)
660        {
661            const selectedDate = new Date(date);
662            const endDate = new Date(selectedDate.getTime());
663
664            const $end_picker = jQuery(this).next();
665            $end_picker.datepicker("option", "minDate", endDate);
666            $end_picker.datepicker("option", "maxDate", '+5y');
667        }
668    });
669
670    jQuery('.mec-date-picker-end').datepicker(
671    {
672        changeYear: true,
673        changeMonth: true,
674        dateFormat: 'yy-mm-dd',
675        gotoCurrent: true,
676        yearRange: 'c-1:c+5',
677    });
678}
679
680function mec_location_toggle()
681{
682    if(jQuery('#mec_location_id').val() != '0') jQuery('#mec_location_new_container').hide();
683    else jQuery('#mec_location_new_container').show();
684}
685
686function mec_organizer_toggle()
687{
688    if(jQuery('#mec_organizer_id').val() != '0') jQuery('#mec_organizer_new_container').hide();
689    else jQuery('#mec_organizer_new_container').show();
690}
691
692function mec_repeat_toggle()
693{
694    if(jQuery('#mec_repeat').is(':checked')) jQuery('.mec-form-repeating-event-row').show();
695    else jQuery('.mec-form-repeating-event-row').hide();
696}
697
698function mec_repeat_type_toggle()
699{
700    var repeat_type = jQuery('#mec_repeat_type').val();
701
702    if(repeat_type == 'certain_weekdays')
703    {
704        jQuery('#mec_repeat_interval_container').hide();
705        jQuery('#mec_repeat_certain_weekdays_container').show();
706        jQuery('#mec_exceptions_in_days_container').hide();
707        jQuery('#mec_end_wrapper').show();
708        jQuery('#mec-advanced-wraper').hide();
709    }
710    else if(repeat_type == 'custom_days')
711    {
712        jQuery('#mec_repeat_interval_container').hide();
713        jQuery('#mec_repeat_certain_weekdays_container').hide();
714        jQuery('#mec_exceptions_in_days_container').show();
715        jQuery('#mec_end_wrapper').hide();
716        jQuery('#mec-advanced-wraper').hide();
717    }
718    else if(repeat_type == 'advanced')
719    {
720        jQuery('#mec_repeat_interval_container').hide();
721        jQuery('#mec_repeat_certain_weekdays_container').hide();
722        jQuery('#mec_exceptions_in_days_container').hide();
723        jQuery('#mec_end_wrapper').show();
724        jQuery('#mec-advanced-wraper').show();
725    }
726    else if(repeat_type != 'daily' && repeat_type != 'weekly' && repeat_type != 'monthly')
727    {
728        jQuery('#mec_repeat_interval_container').hide();
729        jQuery('#mec_repeat_certain_weekdays_container').hide();
730        jQuery('#mec_exceptions_in_days_container').hide();
731        jQuery('#mec_end_wrapper').show();
732        jQuery('#mec-advanced-wraper').hide();
733    }
734    else
735    {
736        jQuery('#mec_repeat_interval_container').show();
737        jQuery('#mec_repeat_certain_weekdays_container').hide();
738        jQuery('#mec_exceptions_in_days_container').hide();
739        jQuery('#mec_end_wrapper').show();
740        jQuery('#mec-advanced-wraper').hide();
741    }
742}
743
744function mec_in_days_remove(i)
745{
746    jQuery('#mec_in_days_row'+i).remove();
747}
748
749function mec_in_days_edit(i)
750{
751    // Date
752    let $row = jQuery('#mec_in_days_row'+i);
753    let value = $row.find(jQuery('input[type=hidden]')).val();
754
755    const values = value.split(':');
756    const start_times = values[2].split('-')
757    const end_times = values[3].split('-')
758
759    // Form
760    let $form = jQuery('#mec-in-days-form');
761
762    // Set Dates
763    jQuery('#mec_exceptions_in_days_start_date').val(values[0]);
764    jQuery('#mec_exceptions_in_days_end_date').val(values[1]);
765
766    // Set Times
767    jQuery('#mec_exceptions_in_days_start_hour').val(parseInt(start_times[0]));
768    jQuery('#mec_exceptions_in_days_start_minutes').val(parseInt(start_times[1]));
769    jQuery('#mec_exceptions_in_days_start_ampm').val(start_times[2]);
770
771    jQuery('#mec_exceptions_in_days_end_hour').val(parseInt(end_times[0]));
772    jQuery('#mec_exceptions_in_days_end_minutes').val(parseInt(end_times[1]));
773    jQuery('#mec_exceptions_in_days_end_ampm').val(end_times[2]);
774
775    // Modification Mode
776    $form.removeClass('mec-in-days-add-mode').addClass('mec-in-days-edit-mode').data('modify', i);
777}
778
779function mec_not_in_days_remove(i)
780{
781    jQuery('#mec_not_in_days_row'+i).remove();
782}
783
784function mec_bookings_unlimited_toggle()
785{
786    jQuery('#mec_bookings_limit').toggleClass('mec-util-hidden');
787}
788
789function mec_hourly_schedule_add_day_listener()
790{
791    jQuery('.mec-add-hourly-schedule-day-button').each(function()
792    {
793        jQuery(this).off('click').on('click', function()
794        {
795            var k = jQuery(this).data('key');
796            var raw = jQuery(this).data('raw');
797            var append = jQuery(this).data('append');
798
799            var key = jQuery(k).val();
800            var html = jQuery(raw).html().replace(/:d:/g, key).replace(/:dd:/g, parseInt(key)+1);
801
802            jQuery(append).append(html);
803            jQuery(k).val(parseInt(key)+1);
804
805            mec_hourly_schedule_listeners();
806        });
807
808        mec_hourly_schedule_listeners();
809    });
810}
811
812function mec_hourly_schedule_listeners()
813{
814    jQuery('.mec-add-hourly-schedule-button').off('click').on('click', function()
815    {
816        var prefix = jQuery(this).data('prefix');
817        var day = jQuery(this).data('day');
818        var $key = jQuery('#'+prefix+'mec_new_hourly_schedule_key'+day);
819
820        var key = $key.val();
821        var html = jQuery('#'+prefix+'mec_new_hourly_schedule_raw'+day).html().replace(/:i:/g, key).replace(/:d:/g, day).replace();
822        var g_field_id = prefix+"-hourly_schedules-"+day+"-schedules-:i:-description";
823        var field_id = prefix+"-hourly_schedules-"+day+"-schedules-"+key+"-description";
824        html = html.replace(g_field_id,field_id);
825        html = html.replace(':k:',key);
826        jQuery('#'+prefix+'mec_hourly_schedules'+day).append(html);
827        $key.val(parseInt(key)+1);
828
829        wp.editor.initialize("mec"+field_id,{
830            tinymce: {
831                wpautop: true,
832                plugins : 'charmap colorpicker compat3x directionality fullscreen hr image lists media paste tabfocus textcolor wordpress wpautoresize wpdialogs wpeditimage wpemoji wpgallery wplink wptextpattern wpview',
833                toolbar1: 'bold italic underline strikethrough | bullist numlist | blockquote hr wp_more | alignleft aligncenter alignright | link unlink | fullscreen | wp_adv',
834                toolbar2: 'formatselect alignjustify forecolor | pastetext removeformat charmap | outdent indent | undo redo | wp_help'
835            },
836            quicktags: true,
837            mediaButtons: false,
838          });
839    });
840}
841
842function mec_hourly_schedule_remove(day, i, prefix)
843{
844    jQuery("#"+prefix+"mec_hourly_schedule_row"+day+'_'+i).remove();
845}
846
847function mec_hourly_schedule_day_remove(day, prefix)
848{
849    jQuery("#"+prefix+"mec_meta_box_hourly_schedule_day_"+day).remove();
850}
851
852function mec_ticket_remove(i)
853{
854    jQuery("#mec_ticket_row"+i).remove();
855}
856
857function mec_set_event_color(color)
858{
859    try
860    {
861        jQuery("#mec_event_color").wpColorPicker('color', '#'+color);
862    }
863    catch(e)
864    {
865        jQuery("#mec_event_color").val(color);
866    }
867}
868
869function mec_remove_fee(key)
870{
871    jQuery("#mec_fee_row"+key).remove();
872}
873
874function mec_remove_ticket_variation(key, id_prefix)
875{
876    jQuery("#mec_"+id_prefix+"_row"+key).remove();
877}
878
879function add_variation_per_ticket(ticket_id)
880{
881    var $input = jQuery('#mec_new_variation_per_ticket_key');
882
883    var key = $input.val();
884    var html = jQuery('#mec_new_variation_per_ticket_raw'+ticket_id).html().replace(/:v:/g, key);
885
886    jQuery('#mec_ticket_variations_list'+ticket_id).append(html);
887    $input.val(parseInt(key)+1);
888}
889
890function mec_reg_fields_option_listeners()
891{
892    jQuery('button.mec-reg-field-add-option').off('click').on('click', function()
893    {
894        var field_id = jQuery(this).data('field-id');
895        var key = jQuery('#mec_new_reg_field_option_key_'+field_id).val();
896        var html = jQuery('#mec_reg_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id);
897
898        jQuery('#mec_reg_fields_'+field_id+'_options_container').append(html);
899        jQuery('#mec_new_reg_field_option_key_'+field_id).val(parseInt(key)+1);
900    });
901
902    if(typeof jQuery.fn.sortable !== 'undefined')
903    {
904        jQuery("#mec_reg_form_fields").sortable(
905        {
906            handle: '.mec_reg_field_sort'
907        });
908
909        jQuery(".mec_reg_fields_options_container").sortable(
910        {
911            handle: '.mec_reg_field_option_sort'
912        });
913
914        jQuery(".mec-hourly-schedule-days").sortable(
915        {
916            handle: 'h4'
917        });
918
919        jQuery(".mec-hourly-schedule-schedules").sortable({});
920    }
921}
922
923function mec_reg_fields_option_remove(field_key, key)
924{
925    jQuery("#mec_reg_fields_option_"+field_key+"_"+key).remove();
926}
927
928function mec_reg_fields_remove(key)
929{
930    jQuery("#mec_reg_fields_"+key).remove();
931}
932
933function mec_handle_add_price_date_button(e)
934{
935    var key = jQuery(e).data('key');
936    var p = jQuery('#mec_new_ticket_price_key_'+key).val();
937    var html = jQuery('#mec_new_ticket_price_raw_'+key).html().replace(/:i:/g, key).replace(/:j:/g, p);
938
939    jQuery('#mec-ticket-price-dates-'+key).append(html);
940    jQuery('#mec_new_ticket_price_key_'+key).val(parseInt(p)+1);
941    jQuery('#mec-ticket-price-dates-'+key+' .new_added').datepicker(
942    {
943        changeYear: true,
944        changeMonth: true,
945        dateFormat: datepicker_format,
946        gotoCurrent: true,
947        yearRange: 'c-3:c+5',
948    });
949}
950
951function mec_ticket_price_remove(ticket_key, price_key)
952{
953    jQuery("#mec_ticket_price_raw_"+ticket_key+"_"+price_key).remove();
954}
955
956function mec_event_fields_option_listeners()
957{
958    jQuery('button.mec-event-field-add-option').off('click').on('click', function()
959    {
960        var field_id = jQuery(this).data('field-id');
961        var key = jQuery('#mec_new_event_field_option_key_'+field_id).val();
962        var html = jQuery('#mec_event_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id);
963
964        jQuery('#mec_event_fields_'+field_id+'_options_container').append(html);
965        jQuery('#mec_new_event_field_option_key_'+field_id).val(parseInt(key)+1);
966    });
967
968    if(typeof jQuery.fn.sortable !== 'undefined')
969    {
970        jQuery("#mec_event_form_fields").sortable(
971        {
972            handle: '.mec_event_field_sort'
973        });
974
975        jQuery(".mec_event_fields_options_container").sortable(
976        {
977            handle: '.mec_event_field_option_sort'
978        });
979    }
980}
981
982function mec_event_fields_option_remove(field_key, key)
983{
984    jQuery("#mec_event_fields_option_"+field_key+"_"+key).remove();
985}
986
987function mec_event_fields_remove(key)
988{
989    jQuery("#mec_event_fields_"+key).remove();
990}
991
992function mec_bfixed_fields_option_listeners()
993{
994    jQuery('button.mec-bfixed-field-add-option').off('click').on('click', function()
995    {
996        var field_id = jQuery(this).data('field-id');
997        var key = jQuery('#mec_new_bfixed_field_option_key_'+field_id).val();
998        var html = jQuery('#mec_bfixed_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id);
999
1000        jQuery('#mec_bfixed_fields_'+field_id+'_options_container').append(html);
1001        jQuery('#mec_new_bfixed_field_option_key_'+field_id).val(parseInt(key)+1);
1002    });
1003
1004    if(typeof jQuery.fn.sortable !== 'undefined')
1005    {
1006        jQuery("#mec_bfixed_form_fields").sortable(
1007        {
1008            handle: '.mec_bfixed_field_sort'
1009        });
1010
1011        jQuery(".mec_bfixed_fields_options_container").sortable(
1012        {
1013            handle: '.mec_bfixed_field_option_sort'
1014        });
1015    }
1016}
1017
1018function mec_bfixed_fields_option_remove(field_key, key)
1019{
1020    jQuery("#mec_bfixed_fields_option_"+field_key+"_"+key).remove();
1021}
1022
1023function mec_bfixed_fields_remove(key)
1024{
1025    jQuery("#mec_bfixed_fields_"+key).remove();
1026}
1027
1028function mec_additional_organizers_listeners()
1029{
1030    jQuery('#mec_additional_organizers_add').off('click').on('click', function()
1031    {
1032        var value = jQuery('.mec-additional-organizers select').val();
1033        var text = jQuery('.mec-additional-organizers select option:selected').text();
1034
1035        var sortLabel = jQuery(this).data('sort-label');
1036        var removeLabel = jQuery(this).data('remove-label');
1037
1038        jQuery('.mec-additional-organizers-list').append('<li><span class="mec-additional-organizer-sort">'+sortLabel+'</span> <span onclick="mec_additional_organizers_remove(this);" class="mec-additional-organizer-remove">'+removeLabel+'</span><input type="hidden" name="mec[additional_organizer_ids][]" value="'+value+'"><span class="mec_orgz_item_name">'+text+'</span></li>');
1039
1040        mec_additional_organizers_listeners();
1041    });
1042
1043    if(typeof jQuery.fn.sortable !== 'undefined')
1044    {
1045        jQuery(".mec-additional-organizers-list").sortable(
1046        {
1047            handle: '.mec-additional-organizer-sort'
1048        });
1049    }
1050}
1051
1052function mec_additional_organizers_remove(element)
1053{
1054    jQuery(element).parent().remove();
1055}
1056
1057function mec_faq_remove(key)
1058{
1059    jQuery("#mec_faq_row"+key).remove();
1060}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.