PageSourceSearch

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

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

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.