PageSourceSearch

https://chaingy.fr/wp-content/plugins/modern-events-calendar/assets/js/events.js?ver=7.2.2

js chaingy.fr collected 2026-10-02 20:18:38 UTC 32,196 bytes, 995 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                if(value !== i.lastVal)
237                {
238                    $("#mec_end_date").datepicker("option", "minDate", value);
239                }
240            }
241        });
242
243        $('#mec_end_date').datepicker(
244        {
245            changeYear: true,
246            changeMonth: true,
247            dateFormat: datepicker_format,
248            gotoCurrent: true,
249            yearRange: 'c-3:c+5',
250            onSelect: function(value, i)
251            {
252                if(value !== i.lastVal)
253                {
254                    $("#mec_start_date").datepicker("option", "maxDate", value);
255                }
256            }
257        });
258
259        $('#mec_date_repeat_end_at_date').datepicker(
260        {
261            changeYear: true,
262            changeMonth: true,
263            dateFormat: datepicker_format,
264            gotoCurrent: true,
265            yearRange: 'c-3:c+5',
266        });
267
268        $('.mec_date_picker_dynamic_format').datepicker(
269        {
270            changeYear: true,
271            changeMonth: true,
272            dateFormat: datepicker_format,
273            gotoCurrent: true,
274            yearRange: 'c-3:c+5',
275        });
276
277        $('.mec_date_picker').datepicker(
278        {
279            changeYear: true,
280            changeMonth: true,
281            dateFormat: 'yy-mm-dd',
282            gotoCurrent: true,
283            yearRange: 'c-3:c+5',
284        });
285
286        $('.mec_date_picker_dynamic_format_start').datepicker(
287        {
288            changeYear: true,
289            changeMonth: true,
290            dateFormat: datepicker_format,
291            gotoCurrent: true,
292            yearRange: 'c-1:c+5',
293            onSelect: function(date)
294            {
295                var selectedDate = new Date(date);
296                var endDate = new Date(selectedDate.getTime());
297
298                var $end_picker = $(this).next();
299                $end_picker.datepicker("option", "minDate", endDate);
300                $end_picker.datepicker("option", "maxDate", '+5y');
301            }
302        });
303
304        $('.mec_date_picker_dynamic_format_end').datepicker(
305        {
306            changeYear: true,
307            changeMonth: true,
308            dateFormat: datepicker_format,
309            gotoCurrent: true,
310            yearRange: 'c-1:c+5',
311        });
312    }
313
314    // Initialize WP Color Picker
315    if($.fn.wpColorPicker) jQuery('.mec-color-picker').wpColorPicker();
316
317    $('#mec_location_id').on('change', function()
318    {
319        mec_location_toggle();
320    });
321
322    $('#mec_organizer_id').on('change', function()
323    {
324        mec_organizer_toggle();
325        var mec_organizer_val = parseInt($(this).val());
326        var mec_additional_organizer = $(this).parent().parent().find('#mec-additional-organizer-wrap');
327
328        if(mec_organizer_val != 1) mec_additional_organizer.show();
329        else mec_additional_organizer.hide();
330    });
331
332    mec_location_toggle();
333    mec_organizer_toggle();
334
335    $('#mec_repeat').on('change', function()
336    {
337        mec_repeat_toggle();
338    });
339
340    mec_repeat_toggle();
341
342    $('#mec_repeat_type').on('change', function()
343    {
344        mec_repeat_type_toggle();
345    });
346
347    mec_repeat_type_toggle();
348
349    $('#mec_bookings_limit_unlimited').on('change', function()
350    {
351        mec_bookings_unlimited_toggle();
352    });
353
354    $('#mec_add_in_days').on('click', function()
355    {
356        var allday = $(this).data('allday');
357
358        var start = $('#mec_exceptions_in_days_start_date').val();
359        if(start === '') return false;
360
361        var end = $('#mec_exceptions_in_days_end_date').val();
362        if(end === '') return false;
363
364        var start_hour = $('#mec_exceptions_in_days_start_hour').val();
365        if(start_hour.length === 1) start_hour = '0'+start_hour;
366
367        var start_minutes = $('#mec_exceptions_in_days_start_minutes').val();
368        if(start_minutes.length === 1) start_minutes = '0'+start_minutes;
369
370        var start_ampm = $('#mec_exceptions_in_days_start_ampm').val();
371        if(typeof start_ampm === 'undefined') start_ampm = '';
372
373        var end_hour = $('#mec_exceptions_in_days_end_hour').val();
374        if(end_hour.length === 1) end_hour = '0'+end_hour;
375
376        var end_minutes = $('#mec_exceptions_in_days_end_minutes').val();
377        if(end_minutes.length === 1) end_minutes = '0'+end_minutes;
378
379        var end_ampm = $('#mec_exceptions_in_days_end_ampm').val();
380        if(typeof end_ampm === 'undefined') end_ampm = '';
381
382        var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm;
383        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>';
384
385        // Don't add exactly same occurrences
386        if($('#mec_in_days input[value="'+value+'"]').length > 0) return false;
387
388        var $key = $('#mec_new_in_days_key');
389
390        var key = $key.val();
391        var html = $('#mec_new_in_days_raw').html().replace(/:i:/g, key).replace(/:val:/g, value).replace(/:label:/g, label);
392
393        $('#mec_in_days').append(html);
394        $key.val(parseInt(key)+1);
395    });
396
397    $('#mec_edit_in_days').on('click', function()
398    {
399        // Form
400        const $form = $('#mec-in-days-form');
401
402        const modify_id = $form.data('modify');
403        const $row = $('#mec_in_days_row'+modify_id);
404
405        var allday = $(this).data('allday');
406
407        var start = $('#mec_exceptions_in_days_start_date').val();
408        if(start === '') return false;
409
410        var end = $('#mec_exceptions_in_days_end_date').val();
411        if(end === '') return false;
412
413        var start_hour = $('#mec_exceptions_in_days_start_hour').val();
414        if(start_hour.length === 1) start_hour = '0'+start_hour;
415
416        var start_minutes = $('#mec_exceptions_in_days_start_minutes').val();
417        if(start_minutes.length === 1) start_minutes = '0'+start_minutes;
418
419        var start_ampm = $('#mec_exceptions_in_days_start_ampm').val();
420        if(typeof start_ampm === 'undefined') start_ampm = '';
421
422        var end_hour = $('#mec_exceptions_in_days_end_hour').val();
423        if(end_hour.length === 1) end_hour = '0'+end_hour;
424
425        var end_minutes = $('#mec_exceptions_in_days_end_minutes').val();
426        if(end_minutes.length === 1) end_minutes = '0'+end_minutes;
427
428        var end_ampm = $('#mec_exceptions_in_days_end_ampm').val();
429        if(typeof end_ampm === 'undefined') end_ampm = '';
430
431        var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm;
432        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>';
433
434        $row.find($('input[type=hidden]')).val(value);
435        $row.find($('.mec-in-days-day')).html(label);
436
437        // Reset Dates
438        $form.parent().find($('input[type=text]')).val('');
439
440        // Modification Mode
441        $form.removeClass('mec-in-days-edit-mode').addClass('mec-in-days-add-mode').removeData('modify');
442    });
443
444    $('#mec_cancel_in_days').on('click', function()
445    {
446        // Form
447        let $form = $('#mec-in-days-form');
448
449        // Reset Dates
450        $form.parent().find($('input[type=text]')).val('');
451
452        // Modification Mode
453        $form.removeClass('mec-in-days-edit-mode').addClass('mec-in-days-add-mode').removeData('modify');
454    });
455
456    $('#mec_add_not_in_days').on('click', function()
457    {
458        var date = $('#mec_exceptions_not_in_days_date').val();
459        if(date === '') return false;
460
461        var key = $('#mec_new_not_in_days_key').val();
462        var html = $('#mec_new_not_in_days_raw').html().replace(/:i:/g, key).replace(/:val:/g, date);
463
464        $('#mec_not_in_days').append(html);
465        $('#mec_new_not_in_days_key').val(parseInt(key)+1);
466    });
467
468    $('#mec_add_ticket_button').on('click', function()
469    {
470        var key = $('#mec_new_ticket_key').val();
471        var html = $('#mec_new_ticket_raw').html().replace(/:i:/g, key);
472
473        $('#mec_tickets').append(html);
474        $('#mec_new_ticket_key').val(parseInt(key)+1);
475
476        $('.mec_add_price_date_button').off('click').on('click', function()
477        {
478            mec_handle_add_price_date_button(this);
479        });
480
481        $.each($(".mec-select2"), function(i,v){
482
483            if( $(v).attr('name').search(":i:") > 0 ){
484
485                return;
486            }
487
488            if( typeof $(v).data('select2-id') == 'undefined' ){
489
490                $(v).select2();
491            }
492        });
493    });
494
495    $('.mec_add_price_date_button').off('click').on('click', function()
496    {
497        mec_handle_add_price_date_button(this);
498    });
499
500    mec_hourly_schedule_add_day_listener();
501
502    $('#mec_add_fee_button').on('click', function()
503    {
504        var key = $('#mec_new_fee_key').val();
505        var html = $('#mec_new_fee_raw').html().replace(/:i:/g, key);
506
507        $('#mec_fees_list').append(html);
508        $('#mec_new_fee_key').val(parseInt(key)+1);
509    });
510
511    $('#mec_add_ticket_variation_button').on('click', function()
512    {
513        var key = $('#mec_new_ticket_variation_key').val();
514        var html = $('#mec_new_ticket_variation_raw').html().replace(/:i:/g, key);
515
516        $('#mec_ticket_variations_list').append(html);
517        $('#mec_new_ticket_variation_key').val(parseInt(key)+1);
518    });
519
520    $('.mec-form-row.mec-available-color-row span').on('click', function()
521    {
522        $('.mec-form-row.mec-available-color-row span').removeClass('color-selected');
523        $(this).addClass('color-selected');
524    });
525
526    $('#mec_reg_form_field_types button').on('click', function()
527    {
528        var type = $(this).data('type');
529
530        if (type == 'mec_email') {
531            if ($('#mec_reg_form_fields').find('input[value="mec_email"][type="hidden"]').length) {
532                return false;
533            }
534        }
535
536        if (type == 'name') {
537            if ($('#mec_reg_form_fields').find('input[value="name"][type="hidden"]').length) {
538                return false;
539            }
540        }
541
542        var key  = $('#mec_new_reg_field_key').val();
543        var html = $('#mec_reg_field_'+type).html().replace(/:i:/g, key);
544
545        $('#mec_reg_form_fields').append(html);
546        $('#mec_new_reg_field_key').val(parseInt(key)+1);
547
548        // Set onclick listener for add option fields
549        mec_reg_fields_option_listeners();
550    });
551
552    // Set onclick listener for add option fields
553    mec_reg_fields_option_listeners();
554
555    // Advanced Repeating
556    $('#mec-advanced-wraper ul > ul > li').click(function()
557    {
558        if($(this).attr('class') == '') $(this).attr('class', 'mec-active');
559        else $(this).attr('class', '');
560
561        $('#mec_date_repeat_advanced').val($('#mec-advanced-wraper div:first-child > ul').find('.mec-active').find('span').text().slice(0, -1));
562    });
563
564    $('#mec_event_form_field_types button').on('click', function()
565    {
566        var type = $(this).data('type');
567
568        var key  = $('#mec_new_event_field_key').val();
569        var html = $('#mec_event_field_'+type).html().replace(/:i:/g, key);
570
571        $('#mec_event_form_fields').append(html);
572        $('#mec_new_event_field_key').val(parseInt(key)+1);
573
574        // Set onclick listener for add option fields
575        mec_event_fields_option_listeners();
576    });
577
578    // Set onclick listener for add option fields
579    mec_event_fields_option_listeners();
580
581    $('#mec_bfixed_form_field_types button').on('click', function()
582    {
583        var type = $(this).data('type');
584
585        var key  = $('#mec_new_bfixed_field_key').val();
586        var html = $('#mec_bfixed_field_'+type).html().replace(/:i:/g, key);
587
588        $('#mec_bfixed_form_fields').append(html);
589        $('#mec_new_bfixed_field_key').val(parseInt(key)+1);
590
591        // Set onclick listener for add option fields
592        mec_bfixed_fields_option_listeners();
593    });
594
595    // Set onclick listener for add option fields
596    mec_bfixed_fields_option_listeners();
597
598    // Additional Organizers
599    mec_additional_organizers_listeners();
600
601    // Show / Hide Password
602    $('.mec-show-hide-password').on('click', function()
603    {
604        var $input = $(this).siblings("input");
605        var current = $input.attr('type');
606
607        if(current === 'password') $input.attr('type', 'text');
608        else $input.attr('type', 'password');
609    });
610
611    // FAQ
612    $('#mec_add_faq_button').on('click', function()
613    {
614        var key = $('#mec_new_faq_key').val();
615        var html = $('#mec_new_faq_raw').html().replace(/:i:/g, key);
616
617        $('#mec_faq_list').append(html);
618        $('#mec_new_faq_key').val(parseInt(key)+1);
619    });
620});
621
622function mec_location_toggle()
623{
624    if(jQuery('#mec_location_id').val() != '0') jQuery('#mec_location_new_container').hide();
625    else jQuery('#mec_location_new_container').show();
626}
627
628function mec_organizer_toggle()
629{
630    if(jQuery('#mec_organizer_id').val() != '0') jQuery('#mec_organizer_new_container').hide();
631    else jQuery('#mec_organizer_new_container').show();
632}
633
634function mec_repeat_toggle()
635{
636    if(jQuery('#mec_repeat').is(':checked')) jQuery('.mec-form-repeating-event-row').show();
637    else jQuery('.mec-form-repeating-event-row').hide();
638}
639
640function mec_repeat_type_toggle()
641{
642    var repeat_type = jQuery('#mec_repeat_type').val();
643
644    if(repeat_type == 'certain_weekdays')
645    {
646        jQuery('#mec_repeat_interval_container').hide();
647        jQuery('#mec_repeat_certain_weekdays_container').show();
648        jQuery('#mec_exceptions_in_days_container').hide();
649        jQuery('#mec_end_wrapper').show();
650        jQuery('#mec-advanced-wraper').hide();
651    }
652    else if(repeat_type == 'custom_days')
653    {
654        jQuery('#mec_repeat_interval_container').hide();
655        jQuery('#mec_repeat_certain_weekdays_container').hide();
656        jQuery('#mec_exceptions_in_days_container').show();
657        jQuery('#mec_end_wrapper').hide();
658        jQuery('#mec-advanced-wraper').hide();
659    }
660    else if(repeat_type == 'advanced')
661    {
662        jQuery('#mec_repeat_interval_container').hide();
663        jQuery('#mec_repeat_certain_weekdays_container').hide();
664        jQuery('#mec_exceptions_in_days_container').hide();
665        jQuery('#mec_end_wrapper').show();
666        jQuery('#mec-advanced-wraper').show();
667    }
668    else if(repeat_type != 'daily' && repeat_type != 'weekly' && repeat_type != 'monthly')
669    {
670        jQuery('#mec_repeat_interval_container').hide();
671        jQuery('#mec_repeat_certain_weekdays_container').hide();
672        jQuery('#mec_exceptions_in_days_container').hide();
673        jQuery('#mec_end_wrapper').show();
674        jQuery('#mec-advanced-wraper').hide();
675    }
676    else
677    {
678        jQuery('#mec_repeat_interval_container').show();
679        jQuery('#mec_repeat_certain_weekdays_container').hide();
680        jQuery('#mec_exceptions_in_days_container').hide();
681        jQuery('#mec_end_wrapper').show();
682        jQuery('#mec-advanced-wraper').hide();
683    }
684}
685
686function mec_in_days_remove(i)
687{
688    jQuery('#mec_in_days_row'+i).remove();
689}
690
691function mec_in_days_edit(i)
692{
693    // Date
694    let $row = jQuery('#mec_in_days_row'+i);
695    let value = $row.find(jQuery('input[type=hidden]')).val();
696
697    const values = value.split(':');
698    const start_times = values[2].split('-')
699    const end_times = values[3].split('-')
700
701    // Form
702    let $form = jQuery('#mec-in-days-form');
703
704    // Set Dates
705    jQuery('#mec_exceptions_in_days_start_date').val(values[0]);
706    jQuery('#mec_exceptions_in_days_end_date').val(values[1]);
707
708    // Set Times
709    jQuery('#mec_exceptions_in_days_start_hour').val(parseInt(start_times[0]));
710    jQuery('#mec_exceptions_in_days_start_minutes').val(parseInt(start_times[1]));
711    jQuery('#mec_exceptions_in_days_start_ampm').val(start_times[2]);
712
713    jQuery('#mec_exceptions_in_days_end_hour').val(parseInt(end_times[0]));
714    jQuery('#mec_exceptions_in_days_end_minutes').val(parseInt(end_times[1]));
715    jQuery('#mec_exceptions_in_days_end_ampm').val(end_times[2]);
716
717    // Modification Mode
718    $form.removeClass('mec-in-days-add-mode').addClass('mec-in-days-edit-mode').data('modify', i);
719}
720
721function mec_not_in_days_remove(i)
722{
723    jQuery('#mec_not_in_days_row'+i).remove();
724}
725
726function mec_bookings_unlimited_toggle()
727{
728    jQuery('#mec_bookings_limit').toggleClass('mec-util-hidden');
729}
730
731function mec_hourly_schedule_add_day_listener()
732{
733    jQuery('.mec-add-hourly-schedule-day-button').each(function()
734    {
735        jQuery(this).off('click').on('click', function()
736        {
737            var k = jQuery(this).data('key');
738            var raw = jQuery(this).data('raw');
739            var append = jQuery(this).data('append');
740
741            var key = jQuery(k).val();
742            var html = jQuery(raw).html().replace(/:d:/g, key).replace(/:dd:/g, parseInt(key)+1);
743
744            jQuery(append).append(html);
745            jQuery(k).val(parseInt(key)+1);
746
747            mec_hourly_schedule_listeners();
748        });
749
750        mec_hourly_schedule_listeners();
751    });
752}
753
754function mec_hourly_schedule_listeners()
755{
756    jQuery('.mec-add-hourly-schedule-button').off('click').on('click', function()
757    {
758        var prefix = jQuery(this).data('prefix');
759        var day = jQuery(this).data('day');
760        var $key = jQuery('#'+prefix+'mec_new_hourly_schedule_key'+day);
761
762        var key = $key.val();
763        var html = jQuery('#'+prefix+'mec_new_hourly_schedule_raw'+day).html().replace(/:i:/g, key).replace(/:d:/g, day).replace();
764        var g_field_id = prefix+"-hourly_schedules-"+day+"-schedules-:i:-description";
765        var field_id = prefix+"-hourly_schedules-"+day+"-schedules-"+key+"-description";
766        html = html.replace(g_field_id,field_id);
767        html = html.replace(':k:',key);
768        jQuery('#'+prefix+'mec_hourly_schedules'+day).append(html);
769        $key.val(parseInt(key)+1);
770
771        wp.editor.initialize("mec"+field_id,{
772            tinymce: {
773                wpautop: true,
774                plugins : 'charmap colorpicker compat3x directionality fullscreen hr image lists media paste tabfocus textcolor wordpress wpautoresize wpdialogs wpeditimage wpemoji wpgallery wplink wptextpattern wpview',
775                toolbar1: 'bold italic underline strikethrough | bullist numlist | blockquote hr wp_more | alignleft aligncenter alignright | link unlink | fullscreen | wp_adv',
776                toolbar2: 'formatselect alignjustify forecolor | pastetext removeformat charmap | outdent indent | undo redo | wp_help'
777            },
778            quicktags: true,
779            mediaButtons: false,
780          });
781    });
782}
783
784function mec_hourly_schedule_remove(day, i, prefix)
785{
786    jQuery("#"+prefix+"mec_hourly_schedule_row"+day+'_'+i).remove();
787}
788
789function mec_hourly_schedule_day_remove(day, prefix)
790{
791    jQuery("#"+prefix+"mec_meta_box_hourly_schedule_day_"+day).remove();
792}
793
794function mec_ticket_remove(i)
795{
796    jQuery("#mec_ticket_row"+i).remove();
797}
798
799function mec_set_event_color(color)
800{
801    try
802    {
803        jQuery("#mec_event_color").wpColorPicker('color', '#'+color);
804    }
805    catch(e)
806    {
807        jQuery("#mec_event_color").val(color);
808    }
809}
810
811function mec_remove_fee(key)
812{
813    jQuery("#mec_fee_row"+key).remove();
814}
815
816function mec_remove_ticket_variation(key, id_prefix)
817{
818    jQuery("#mec_"+id_prefix+"_row"+key).remove();
819}
820
821function add_variation_per_ticket(ticket_id)
822{
823    var $input = jQuery('#mec_new_variation_per_ticket_key');
824
825    var key = $input.val();
826    var html = jQuery('#mec_new_variation_per_ticket_raw'+ticket_id).html().replace(/:v:/g, key);
827
828    jQuery('#mec_ticket_variations_list'+ticket_id).append(html);
829    $input.val(parseInt(key)+1);
830}
831
832function mec_reg_fields_option_listeners()
833{
834    jQuery('button.mec-reg-field-add-option').off('click').on('click', function()
835    {
836        var field_id = jQuery(this).data('field-id');
837        var key = jQuery('#mec_new_reg_field_option_key_'+field_id).val();
838        var html = jQuery('#mec_reg_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id);
839
840        jQuery('#mec_reg_fields_'+field_id+'_options_container').append(html);
841        jQuery('#mec_new_reg_field_option_key_'+field_id).val(parseInt(key)+1);
842    });
843
844    if(typeof jQuery.fn.sortable !== 'undefined')
845    {
846        jQuery("#mec_reg_form_fields").sortable(
847        {
848            handle: '.mec_reg_field_sort'
849        });
850
851        jQuery(".mec_reg_fields_options_container").sortable(
852        {
853            handle: '.mec_reg_field_option_sort'
854        });
855    }
856}
857
858function mec_reg_fields_option_remove(field_key, key)
859{
860    jQuery("#mec_reg_fields_option_"+field_key+"_"+key).remove();
861}
862
863function mec_reg_fields_remove(key)
864{
865    jQuery("#mec_reg_fields_"+key).remove();
866}
867
868function mec_handle_add_price_date_button(e)
869{
870    var key = jQuery(e).data('key');
871    var p = jQuery('#mec_new_ticket_price_key_'+key).val();
872    var html = jQuery('#mec_new_ticket_price_raw_'+key).html().replace(/:i:/g, key).replace(/:j:/g, p);
873
874    jQuery('#mec-ticket-price-dates-'+key).append(html);
875    jQuery('#mec_new_ticket_price_key_'+key).val(parseInt(p)+1);
876    jQuery('#mec-ticket-price-dates-'+key+' .new_added').datepicker(
877    {
878        changeYear: true,
879        changeMonth: true,
880        dateFormat: datepicker_format,
881        gotoCurrent: true,
882        yearRange: 'c-3:c+5',
883    });
884}
885
886function mec_ticket_price_remove(ticket_key, price_key)
887{
888    jQuery("#mec_ticket_price_raw_"+ticket_key+"_"+price_key).remove();
889}
890
891function mec_event_fields_option_listeners()
892{
893    jQuery('button.mec-event-field-add-option').off('click').on('click', function()
894    {
895        var field_id = jQuery(this).data('field-id');
896        var key = jQuery('#mec_new_event_field_option_key_'+field_id).val();
897        var html = jQuery('#mec_event_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id);
898
899        jQuery('#mec_event_fields_'+field_id+'_options_container').append(html);
900        jQuery('#mec_new_event_field_option_key_'+field_id).val(parseInt(key)+1);
901    });
902
903    if(typeof jQuery.fn.sortable !== 'undefined')
904    {
905        jQuery("#mec_event_form_fields").sortable(
906        {
907            handle: '.mec_event_field_sort'
908        });
909
910        jQuery(".mec_event_fields_options_container").sortable(
911        {
912            handle: '.mec_event_field_option_sort'
913        });
914    }
915}
916
917function mec_event_fields_option_remove(field_key, key)
918{
919    jQuery("#mec_event_fields_option_"+field_key+"_"+key).remove();
920}
921
922function mec_event_fields_remove(key)
923{
924    jQuery("#mec_event_fields_"+key).remove();
925}
926
927function mec_bfixed_fields_option_listeners()
928{
929    jQuery('button.mec-bfixed-field-add-option').off('click').on('click', function()
930    {
931        var field_id = jQuery(this).data('field-id');
932        var key = jQuery('#mec_new_bfixed_field_option_key_'+field_id).val();
933        var html = jQuery('#mec_bfixed_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id);
934
935        jQuery('#mec_bfixed_fields_'+field_id+'_options_container').append(html);
936        jQuery('#mec_new_bfixed_field_option_key_'+field_id).val(parseInt(key)+1);
937    });
938
939    if(typeof jQuery.fn.sortable !== 'undefined')
940    {
941        jQuery("#mec_bfixed_form_fields").sortable(
942        {
943            handle: '.mec_bfixed_field_sort'
944        });
945
946        jQuery(".mec_bfixed_fields_options_container").sortable(
947        {
948            handle: '.mec_bfixed_field_option_sort'
949        });
950    }
951}
952
953function mec_bfixed_fields_option_remove(field_key, key)
954{
955    jQuery("#mec_bfixed_fields_option_"+field_key+"_"+key).remove();
956}
957
958function mec_bfixed_fields_remove(key)
959{
960    jQuery("#mec_bfixed_fields_"+key).remove();
961}
962
963function mec_additional_organizers_listeners()
964{
965    jQuery('#mec_additional_organizers_add').off('click').on('click', function()
966    {
967        var value = jQuery('.mec-additional-organizers select').val();
968        var text = jQuery('.mec-additional-organizers select option:selected').text();
969
970        var sortLabel = jQuery(this).data('sort-label');
971        var removeLabel = jQuery(this).data('remove-label');
972
973        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>');
974
975        mec_additional_organizers_listeners();
976    });
977
978    if(typeof jQuery.fn.sortable !== 'undefined')
979    {
980        jQuery(".mec-additional-organizers-list").sortable(
981        {
982            handle: '.mec-additional-organizer-sort'
983        });
984    }
985}
986
987function mec_additional_organizers_remove(element)
988{
989    jQuery(element).parent().remove();
990}
991
992function mec_faq_remove(key)
993{
994    jQuery("#mec_faq_row"+key).remove();
995}

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.