// Set datepicker default value. var datepicker_format = 'yy-mm-dd'; jQuery(document).ready(function($) { // Image picker on terms menu $('.mec_upload_image_button').click(function(event) { event.preventDefault(); var frame; if(frame) { frame.open(); return; } frame = wp.media(); frame.on('select', function() { // Grab the selected attachment. var attachment = frame.state().get('selection').first(); $('#mec_thumbnail_img').html(''); $('#mec_thumbnail').val(attachment.attributes.url); $('.mec_remove_image_button').toggleClass('mec-util-hidden'); frame.close(); }); frame.open(); }); // Image remover on terms menu $('.mec_remove_image_button').click(function(event) { event.preventDefault(); $('#mec_thumbnail_img').html(''); $('#mec_thumbnail').val(''); $('.mec_remove_image_button').toggleClass('mec-util-hidden'); }); // Image picker on add event menu for location $('.mec_location_upload_image_button').click(function(event) { event.preventDefault(); var frame; if(frame) { frame.open(); return; } frame = wp.media(); frame.on('select', function() { // Grab the selected attachment. var attachment = frame.state().get('selection').first(); $('#mec_location_thumbnail_img').html(''); $('#mec_location_thumbnail').val(attachment.attributes.url); $('.mec_location_remove_image_button').toggleClass('mec-util-hidden'); frame.close(); }); frame.open(); }); // Image remover on add event menu for location $('.mec_location_remove_image_button').click(function(event) { event.preventDefault(); $('#mec_location_thumbnail_img').html(''); $('#mec_location_thumbnail').val(''); $('.mec_location_remove_image_button').toggleClass('mec-util-hidden'); }); // Image picker on add event menu for organizer $('.mec_organizer_upload_image_button').click(function(event) { event.preventDefault(); var frame; if(frame) { frame.open(); return; } frame = wp.media(); frame.on('select', function() { // Grab the selected attachment. var attachment = frame.state().get('selection').first(); $('#mec_organizer_thumbnail_img').html(''); $('#mec_organizer_thumbnail').val(attachment.attributes.url); $('.mec_organizer_remove_image_button').toggleClass('mec-util-hidden'); frame.close(); }); frame.open(); }); // Image remover on add event menu for organizer $('.mec_organizer_remove_image_button').click(function(event) { event.preventDefault(); $('#mec_organizer_thumbnail_img').html(''); $('#mec_organizer_thumbnail').val(''); $('.mec_organizer_remove_image_button').toggleClass('mec-util-hidden'); }); // Image remover on frontend event submission menu $('#mec_fes_remove_image_button').click(function(event) { event.preventDefault(); $('#mec_fes_thumbnail_img').html(''); $('#mec_fes_thumbnail').val(''); $('#mec_featured_image_file').val(''); $('#mec_fes_remove_image_button').addClass('mec-util-hidden'); }); // Location Image remover on frontend event submission menu $('#mec_fes_location_remove_image_button').click(function(event) { event.preventDefault(); $('#mec_fes_location_thumbnail_img').html(''); $('#mec_fes_location_thumbnail').val(''); $('#mec_fes_location_thumbnail_file').val(''); $('#mec_fes_location_remove_image_button').addClass('mec-util-hidden'); }); // Organizer Image remover on frontend event submission menu $('#mec_fes_organizer_remove_image_button').click(function(event) { event.preventDefault(); $('#mec_fes_organizer_thumbnail_img').html(''); $('#mec_fes_organizer_thumbnail').val(''); $('#mec_fes_organizer_thumbnail_file').val(''); $('#mec_fes_organizer_remove_image_button').addClass('mec-util-hidden'); }); var date_splite; if(typeof mec_admin_localize !== 'undefined') { date_splite = mec_admin_localize.datepicker_format.split('&'); if(date_splite[0] !== undefined && date_splite.length == 2) datepicker_format = date_splite[0]; } else if(typeof mecdata !== 'undefined') { date_splite = mecdata.datepicker_format.split( '&' ); if(date_splite[0] !== undefined && date_splite.length == 2) datepicker_format = date_splite[0]; } $('[id^="mec-book-form-btn-step"]').on('click',function() { setTimeout(function() { if($.fn.datepicker) { if('date' !== $('.mec-date-picker').prop('type')) { $('.mec-date-picker').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); } } }, 1000); }); if($.fn.datepicker) { $('.mec-date-picker').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); $('#mec_start_date').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); $('#mec_end_date').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); $('#mec_date_repeat_end_at_date').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); $('.mec_date_picker_dynamic_format').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); $('.mec_date_picker').datepicker( { changeYear: true, changeMonth: true, dateFormat: 'yy-mm-dd', gotoCurrent: true, yearRange: 'c-3:c+5', }); $('.mec_date_picker_dynamic_format_start').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-1:c+5', onSelect: function(date) { var selectedDate = new Date(date); var endDate = new Date(selectedDate.getTime()); var $end_picker = $(this).next(); $end_picker.datepicker("option", "minDate", endDate); $end_picker.datepicker("option", "maxDate", '+5y'); } }); $('.mec_date_picker_dynamic_format_end').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-1:c+5', }); } $('#mec_location_id').on('change', function() { mec_location_toggle(); }); $('#mec_organizer_id').on('change', function() { mec_organizer_toggle(); var mec_organizer_val = parseInt($(this).val()); var mec_additional_organizer = $(this).parent().parent().find('#mec-additional-organizer-wrap'); if(mec_organizer_val != 1) mec_additional_organizer.show(); else mec_additional_organizer.hide(); }); mec_location_toggle(); mec_organizer_toggle(); $('#mec_repeat').on('change', function() { mec_repeat_toggle(); }); mec_repeat_toggle(); $('#mec_repeat_type').on('change', function() { mec_repeat_type_toggle(); }); mec_repeat_type_toggle(); $('#mec_bookings_limit_unlimited').on('change', function() { mec_bookings_unlimited_toggle(); }); $('#mec_add_in_days').on('click', function() { var allday = $(this).data('allday'); var start = $('#mec_exceptions_in_days_start_date').val(); if(start === '') return false; var end = $('#mec_exceptions_in_days_end_date').val(); if(end === '') return false; var start_hour = $('#mec_exceptions_in_days_start_hour').val(); if(start_hour.length === 1) start_hour = '0'+start_hour; var start_minutes = $('#mec_exceptions_in_days_start_minutes').val(); if(start_minutes.length === 1) start_minutes = '0'+start_minutes; var start_ampm = $('#mec_exceptions_in_days_start_ampm').val(); if(typeof start_ampm === 'undefined') start_ampm = ''; var end_hour = $('#mec_exceptions_in_days_end_hour').val(); if(end_hour.length === 1) end_hour = '0'+end_hour; var end_minutes = $('#mec_exceptions_in_days_end_minutes').val(); if(end_minutes.length === 1) end_minutes = '0'+end_minutes; var end_ampm = $('#mec_exceptions_in_days_end_ampm').val(); if(typeof end_ampm === 'undefined') end_ampm = ''; var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm; var label = start + ' ' + start_hour + ':' + start_minutes + ' ' + start_ampm + ' - ' + end + ' ' + end_hour + ':' + end_minutes + ' ' + end_ampm + ''; // Don't add exactly same occurrences if($('#mec_in_days input[value="'+value+'"]').length > 0) return false; var $key = $('#mec_new_in_days_key'); var key = $key.val(); var html = $('#mec_new_in_days_raw').html().replace(/:i:/g, key).replace(/:val:/g, value).replace(/:label:/g, label); $('#mec_in_days').append(html); $key.val(parseInt(key)+1); }); $('#mec_add_not_in_days').on('click', function() { var date = $('#mec_exceptions_not_in_days_date').val(); if(date === '') return false; var key = $('#mec_new_not_in_days_key').val(); var html = $('#mec_new_not_in_days_raw').html().replace(/:i:/g, key).replace(/:val:/g, date); $('#mec_not_in_days').append(html); $('#mec_new_not_in_days_key').val(parseInt(key)+1); }); $('#mec_add_ticket_button').on('click', function() { var key = $('#mec_new_ticket_key').val(); var html = $('#mec_new_ticket_raw').html().replace(/:i:/g, key); $('#mec_tickets').append(html); $('#mec_new_ticket_key').val(parseInt(key)+1); $('.mec_add_price_date_button').off('click').on('click', function() { mec_handle_add_price_date_button(this); }); $.each($(".mec-select2"), function(i,v){ if( $(v).attr('name').search(":i:") > 0 ){ return; } if( typeof $(v).data('select2-id') == 'undefined' ){ $(v).select2(); } }); }); $('.mec_add_price_date_button').off('click').on('click', function() { mec_handle_add_price_date_button(this); }); mec_hourly_schedule_add_day_listener(); $('#mec_add_fee_button').on('click', function() { var key = $('#mec_new_fee_key').val(); var html = $('#mec_new_fee_raw').html().replace(/:i:/g, key); $('#mec_fees_list').append(html); $('#mec_new_fee_key').val(parseInt(key)+1); }); $('#mec_add_ticket_variation_button').on('click', function() { var key = $('#mec_new_ticket_variation_key').val(); var html = $('#mec_new_ticket_variation_raw').html().replace(/:i:/g, key); $('#mec_ticket_variations_list').append(html); $('#mec_new_ticket_variation_key').val(parseInt(key)+1); }); $('.mec-form-row.mec-available-color-row span').on('click', function() { $('.mec-form-row.mec-available-color-row span').removeClass('color-selected'); $(this).addClass('color-selected'); }); $('#mec_reg_form_field_types button').on('click', function() { var type = $(this).data('type'); if (type == 'mec_email') { if ($('#mec_reg_form_fields').find('input[value="mec_email"][type="hidden"]').length) { return false; } } if (type == 'name') { if ($('#mec_reg_form_fields').find('input[value="name"][type="hidden"]').length) { return false; } } var key = $('#mec_new_reg_field_key').val(); var html = $('#mec_reg_field_'+type).html().replace(/:i:/g, key); $('#mec_reg_form_fields').append(html); $('#mec_new_reg_field_key').val(parseInt(key)+1); // Set onclick listener for add option fields mec_reg_fields_option_listeners(); }); // Set onclick listener for add option fields mec_reg_fields_option_listeners(); // Advanced Repeating $('#mec-advanced-wraper ul > ul > li').click(function() { if($(this).attr('class') == '') $(this).attr('class', 'mec-active'); else $(this).attr('class', ''); $('#mec_date_repeat_advanced').val($('#mec-advanced-wraper div:first-child > ul').find('.mec-active').find('span').text().slice(0, -1)); }); $('#mec_event_form_field_types button').on('click', function() { var type = $(this).data('type'); var key = $('#mec_new_event_field_key').val(); var html = $('#mec_event_field_'+type).html().replace(/:i:/g, key); $('#mec_event_form_fields').append(html); $('#mec_new_event_field_key').val(parseInt(key)+1); // Set onclick listener for add option fields mec_event_fields_option_listeners(); }); // Set onclick listener for add option fields mec_event_fields_option_listeners(); $('#mec_bfixed_form_field_types button').on('click', function() { var type = $(this).data('type'); var key = $('#mec_new_bfixed_field_key').val(); var html = $('#mec_bfixed_field_'+type).html().replace(/:i:/g, key); $('#mec_bfixed_form_fields').append(html); $('#mec_new_bfixed_field_key').val(parseInt(key)+1); // Set onclick listener for add option fields mec_bfixed_fields_option_listeners(); }); // Set onclick listener for add option fields mec_bfixed_fields_option_listeners(); // Additional Organizers mec_additional_organizers_listeners(); }); function mec_location_toggle() { if(jQuery('#mec_location_id').val() != '0') jQuery('#mec_location_new_container').hide(); else jQuery('#mec_location_new_container').show(); } function mec_organizer_toggle() { if(jQuery('#mec_organizer_id').val() != '0') jQuery('#mec_organizer_new_container').hide(); else jQuery('#mec_organizer_new_container').show(); } function mec_repeat_toggle() { if(jQuery('#mec_repeat').is(':checked')) jQuery('.mec-form-repeating-event-row').show(); else jQuery('.mec-form-repeating-event-row').hide(); } function mec_repeat_type_toggle() { var repeat_type = jQuery('#mec_repeat_type').val(); if(repeat_type == 'certain_weekdays') { jQuery('#mec_repeat_interval_container').hide(); jQuery('#mec_repeat_certain_weekdays_container').show(); jQuery('#mec_exceptions_in_days_container').hide(); jQuery('#mec_end_wrapper').show(); jQuery('#mec-advanced-wraper').hide(); } else if(repeat_type == 'custom_days') { jQuery('#mec_repeat_interval_container').hide(); jQuery('#mec_repeat_certain_weekdays_container').hide(); jQuery('#mec_exceptions_in_days_container').show(); jQuery('#mec_end_wrapper').hide(); jQuery('#mec-advanced-wraper').hide(); } else if(repeat_type == 'advanced') { jQuery('#mec_repeat_interval_container').hide(); jQuery('#mec_repeat_certain_weekdays_container').hide(); jQuery('#mec_exceptions_in_days_container').hide(); jQuery('#mec_end_wrapper').show(); jQuery('#mec-advanced-wraper').show(); } else if(repeat_type != 'daily' && repeat_type != 'weekly' && repeat_type != 'monthly') { jQuery('#mec_repeat_interval_container').hide(); jQuery('#mec_repeat_certain_weekdays_container').hide(); jQuery('#mec_exceptions_in_days_container').hide(); jQuery('#mec_end_wrapper').show(); jQuery('#mec-advanced-wraper').hide(); } else { jQuery('#mec_repeat_interval_container').show(); jQuery('#mec_repeat_certain_weekdays_container').hide(); jQuery('#mec_exceptions_in_days_container').hide(); jQuery('#mec_end_wrapper').show(); jQuery('#mec-advanced-wraper').hide(); } } function mec_in_days_remove(i) { jQuery('#mec_in_days_row'+i).remove(); } function mec_not_in_days_remove(i) { jQuery('#mec_not_in_days_row'+i).remove(); } function mec_bookings_unlimited_toggle() { jQuery('#mec_bookings_limit').toggleClass('mec-util-hidden'); } function mec_hourly_schedule_add_day_listener() { jQuery('.mec-add-hourly-schedule-day-button').each(function() { jQuery(this).off('click').on('click', function() { var k = jQuery(this).data('key'); var raw = jQuery(this).data('raw'); var append = jQuery(this).data('append'); var key = jQuery(k).val(); var html = jQuery(raw).html().replace(/:d:/g, key).replace(/:dd:/g, parseInt(key)+1); jQuery(append).append(html); jQuery(k).val(parseInt(key)+1); mec_hourly_schedule_listeners(); }); mec_hourly_schedule_listeners(); }); } function mec_hourly_schedule_listeners() { jQuery('.mec-add-hourly-schedule-button').off('click').on('click', function() { var prefix = jQuery(this).data('prefix'); var day = jQuery(this).data('day'); var $key = jQuery('#'+prefix+'mec_new_hourly_schedule_key'+day); var key = $key.val(); var html = jQuery('#'+prefix+'mec_new_hourly_schedule_raw'+day).html().replace(/:i:/g, key).replace(/:d:/g, day).replace(); var g_field_id = prefix+"-hourly_schedules-"+day+"-schedules-:i:-description"; var field_id = prefix+"-hourly_schedules-"+day+"-schedules-"+key+"-description"; html = html.replace(g_field_id,field_id); html = html.replace(':k:',key); jQuery('#'+prefix+'mec_hourly_schedules'+day).append(html); $key.val(parseInt(key)+1); wp.editor.initialize("mec"+field_id,{ tinymce: { wpautop: true, plugins : 'charmap colorpicker compat3x directionality fullscreen hr image lists media paste tabfocus textcolor wordpress wpautoresize wpdialogs wpeditimage wpemoji wpgallery wplink wptextpattern wpview', toolbar1: 'bold italic underline strikethrough | bullist numlist | blockquote hr wp_more | alignleft aligncenter alignright | link unlink | fullscreen | wp_adv', toolbar2: 'formatselect alignjustify forecolor | pastetext removeformat charmap | outdent indent | undo redo | wp_help' }, quicktags: true, mediaButtons: false, }); }); } function mec_hourly_schedule_remove(day, i, prefix) { jQuery("#"+prefix+"mec_hourly_schedule_row"+day+'_'+i).remove(); } function mec_hourly_schedule_day_remove(day, prefix) { jQuery("#"+prefix+"mec_meta_box_hourly_schedule_day_"+day).remove(); } function mec_ticket_remove(i) { jQuery("#mec_ticket_row"+i).remove(); } function mec_set_event_color(color) { try { jQuery("#mec_event_color").wpColorPicker('color', '#'+color); } catch(e) { jQuery("#mec_event_color").val(color); } } function mec_remove_fee(key) { jQuery("#mec_fee_row"+key).remove(); } function mec_remove_ticket_variation(key, id_prefix) { jQuery("#mec_"+id_prefix+"_row"+key).remove(); } function add_variation_per_ticket(ticket_id) { var $input = jQuery('#mec_new_variation_per_ticket_key'); var key = $input.val(); var html = jQuery('#mec_new_variation_per_ticket_raw'+ticket_id).html().replace(/:v:/g, key); jQuery('#mec_ticket_variations_list'+ticket_id).append(html); $input.val(parseInt(key)+1); } function mec_reg_fields_option_listeners() { jQuery('button.mec-reg-field-add-option').off('click').on('click', function() { var field_id = jQuery(this).data('field-id'); var key = jQuery('#mec_new_reg_field_option_key_'+field_id).val(); var html = jQuery('#mec_reg_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id); jQuery('#mec_reg_fields_'+field_id+'_options_container').append(html); jQuery('#mec_new_reg_field_option_key_'+field_id).val(parseInt(key)+1); }); if(typeof jQuery.fn.sortable !== 'undefined') { jQuery("#mec_reg_form_fields").sortable( { handle: '.mec_reg_field_sort' }); jQuery(".mec_reg_fields_options_container").sortable( { handle: '.mec_reg_field_option_sort' }); } } function mec_reg_fields_option_remove(field_key, key) { jQuery("#mec_reg_fields_option_"+field_key+"_"+key).remove(); } function mec_reg_fields_remove(key) { jQuery("#mec_reg_fields_"+key).remove(); } function mec_handle_add_price_date_button(e) { var key = jQuery(e).data('key'); var p = jQuery('#mec_new_ticket_price_key_'+key).val(); var html = jQuery('#mec_new_ticket_price_raw_'+key).html().replace(/:i:/g, key).replace(/:j:/g, p); jQuery('#mec-ticket-price-dates-'+key).append(html); jQuery('#mec_new_ticket_price_key_'+key).val(parseInt(p)+1); jQuery('#mec-ticket-price-dates-'+key+' .new_added').datepicker( { changeYear: true, changeMonth: true, dateFormat: datepicker_format, gotoCurrent: true, yearRange: 'c-3:c+5', }); } function mec_ticket_price_remove(ticket_key, price_key) { jQuery("#mec_ticket_price_raw_"+ticket_key+"_"+price_key).remove(); } function mec_event_fields_option_listeners() { jQuery('button.mec-event-field-add-option').off('click').on('click', function() { var field_id = jQuery(this).data('field-id'); var key = jQuery('#mec_new_event_field_option_key_'+field_id).val(); var html = jQuery('#mec_event_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id); jQuery('#mec_event_fields_'+field_id+'_options_container').append(html); jQuery('#mec_new_event_field_option_key_'+field_id).val(parseInt(key)+1); }); if(typeof jQuery.fn.sortable !== 'undefined') { jQuery("#mec_event_form_fields").sortable( { handle: '.mec_event_field_sort' }); jQuery(".mec_event_fields_options_container").sortable( { handle: '.mec_event_field_option_sort' }); } } function mec_event_fields_option_remove(field_key, key) { jQuery("#mec_event_fields_option_"+field_key+"_"+key).remove(); } function mec_event_fields_remove(key) { jQuery("#mec_event_fields_"+key).remove(); } function mec_bfixed_fields_option_listeners() { jQuery('button.mec-bfixed-field-add-option').off('click').on('click', function() { var field_id = jQuery(this).data('field-id'); var key = jQuery('#mec_new_bfixed_field_option_key_'+field_id).val(); var html = jQuery('#mec_bfixed_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id); jQuery('#mec_bfixed_fields_'+field_id+'_options_container').append(html); jQuery('#mec_new_bfixed_field_option_key_'+field_id).val(parseInt(key)+1); }); if(typeof jQuery.fn.sortable !== 'undefined') { jQuery("#mec_bfixed_form_fields").sortable( { handle: '.mec_bfixed_field_sort' }); jQuery(".mec_bfixed_fields_options_container").sortable( { handle: '.mec_bfixed_field_option_sort' }); } } function mec_bfixed_fields_option_remove(field_key, key) { jQuery("#mec_bfixed_fields_option_"+field_key+"_"+key).remove(); } function mec_bfixed_fields_remove(key) { jQuery("#mec_bfixed_fields_"+key).remove(); } function mec_additional_organizers_listeners() { jQuery('#mec_additional_organizers_add').off('click').on('click', function() { var value = jQuery('.mec-additional-organizers select').val(); var text = jQuery('.mec-additional-organizers select option:selected').text(); var sortLabel = jQuery(this).data('sort-label'); var removeLabel = jQuery(this).data('remove-label'); jQuery('.mec-additional-organizers-list').append('