1// MEC Single Event Displayer 2var mecSingleEventDisplayer = 3{ 4 getSinglePage: function (id, occurrence, time, ajaxurl, layout, image_popup) { 5 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 6 jQuery('.mec-modal-result').addClass('mec-modal-preloader'); 7 8 jQuery.ajax( 9 { 10 url: ajaxurl, 11 data: "action=mec_load_single_page&id=" + id + (occurrence != null ? "&occurrence=" + occurrence : "") + (time != null ? "&time=" + time : "") + "&layout=" + layout, 12 type: "get", 13 success: function (response) { 14 jQuery('.mec-modal-result').removeClass("mec-modal-preloader"); 15 jQuery.featherlight(response); 16 17 setTimeout(function () { 18 if (typeof grecaptcha !== 'undefined' && jQuery('#g-recaptcha').length > 0) { 19 grecaptcha.render("g-recaptcha", { 20 sitekey: mecdata.recapcha_key 21 }); 22 } 23 24 // Event Gallery 25 mec_init_event_gallery(); 26 27 // Number Spinner 28 mec_init_number_spinner(); 29 }, 1000); 30 31 if (image_popup != 0) { 32 if (jQuery('.featherlight-content .mec-events-content a img').length > 0) { 33 jQuery('.featherlight-content .mec-events-content a img').each(function () { 34 if (jQuery(this).attr('src') === jQuery(this).closest('a').attr('href')) { 35 jQuery(this).closest('a').attr('data-featherlight', 'image'); 36 } 37 }); 38 } 39 } 40 41 if (typeof mecdata.enableSingleFluent != 'undefined' && mecdata.enableSingleFluent) mecFluentSinglePage(); 42 }, 43 error: function () { } 44 }); 45 } 46}; 47 48var mec_search_callbacks = []; 49 50function mecApplySelect2Accessibility($select) 51{ 52 if(!$select || !$select.length) return; 53 54 var ariaLabel = $select.attr('aria-label') || $select.attr('title') || ''; 55 if(!ariaLabel || !$select.attr('id')) return; 56 57 var $selection = jQuery('#select2-' + $select.attr('id') + '-container').closest('.select2-selection'); 58 if(!$selection.length) return; 59 60 $selection.attr('aria-label', ariaLabel); 61} 62 63function mecFormatA11yString(template, replacements) 64{ 65 var output = String(template || ''); 66 67 jQuery.each(replacements || [], function (index, value) { 68 output = output.replace('%' + (index + 1) + '$s', value); 69 }); 70 71 return output; 72} 73 74// MEC SEARCH FORM PLUGIN 75(function ($) { 76 $.fn.mecSearchForm = function (options) { 77 78 // Default Options 79 var settings = $.extend({ 80 // These are the defaults. 81 id: 0, 82 refine: 0, 83 ajax_url: '', 84 search_form_element: '', 85 atts: '', 86 start_date: '', 87 callback: function () { } 88 }, options); 89 if (typeof mec_search_callbacks[settings.id] === 'undefined') mec_search_callbacks[settings.id] = []; 90 91 var callback_exists = false; 92 for (const callback of mec_search_callbacks[settings.id]) { 93 if (callback.toString() === settings.callback.toString()) callback_exists = true; 94 } 95 96 if (!callback_exists) mec_search_callbacks[settings.id].push(settings.callback); 97 98 $('#mec_search_form_' + settings.id).off('submit.mecSearchForm' + settings.id).on('submit.mecSearchForm' + settings.id, (e) => { 99 e.preventDefault(); 100 }); 101 102 var $event_cost_min = $("#mec_sf_event_cost_min_" + settings.id); 103 var $event_cost_max = $("#mec_sf_event_cost_max_" + settings.id); 104 var $time_start = $("#mec_sf_timepicker_start_" + settings.id); 105 var $time_end = $("#mec_sf_timepicker_end_" + settings.id); 106 var $s = $("#mec_sf_s_" + settings.id); 107 var $address = $("#mec_sf_address_s_" + settings.id); 108 var $address_radius = $("#mec_sf_address_radius_" + settings.id); 109 var $date_start = $('#mec_sf_date_start_' + settings.id); 110 var $date_end = $('#mec_sf_date_end_' + settings.id); 111 var $event_type = $('#mec_sf_event_type_' + settings.id); 112 var $event_type_2 = $('#mec_sf_event_type_2_' + settings.id); 113 var $attribute = $('#mec_sf_attribute_' + settings.id); 114 const $wrapper = $("#mec_search_form_" + settings.id); 115 var $custom_fields = $wrapper.find('.mec-custom-event-field'); 116 const $status = $("#mec_search_form_" + settings.id + "_status"); 117 var $reset = $("#mec_search_form_" + settings.id + '_reset'); 118 var $event_status = $(".mec_sf_event_status_" + settings.id); 119 var last_field; 120 121 // URL Sync option 122 var updateUrl = (typeof mecdata !== 'undefined' && parseInt(mecdata.sf_update_url) === 1); 123 var isApplyingFromURL = false; 124 var originalURL = window.location.href; 125 126 // Trigger 127 trigger(); 128 129 $(document).off('mec_search_init.mecSearchA11y' + settings.id).on('mec_search_init.mecSearchA11y' + settings.id, function (event, view, viewSettings, response) { 130 if (!viewSettings || String(viewSettings.id) !== String(settings.id)) return; 131 132 announceSearchResults(response); 133 }); 134 135 $custom_fields.off('change.mecSf' + settings.id).on('change.mecSf' + settings.id, function (e) { 136 last_field = $(this).data('field-id'); 137 search(); 138 }); 139 140 $s.off('change').on('change', function (e) { 141 last_field = 's'; 142 search(); 143 }); 144 145 $address.off('change').on('change', function (e) { 146 last_field = 'address'; 147 search(); 148 }); 149 $address_radius.off('change').on('change', function (e) { 150 last_field = 'address_radius'; 151 search(); 152 }); 153
154 $event_cost_min.off('change').on('change', function (e) { 155 last_field = 'cost-min'; 156 $event_cost_max.attr('min', $(this).val()); 157 search(); 158 }); 159 160 $event_cost_max.off('change').on('change', function (e) { 161 last_field = 'cost-max'; 162 $event_cost_min.attr('max', $(this).val()); 163 search(); 164 }); 165 166 // Timepicker 167 if ($time_start.length) { 168 var format = (($time_start.data('format') === 12) ? 'hh:mm p' : 'HH:mm'); 169 $time_start.timepicker( 170 { 171 timeFormat: format, 172 minTime: new Date(0, 0, 0, 0, 0, 0), 173 maxTime: new Date(0, 0, 0, 23, 55, 0), 174 interval: 5, 175 dropdown: false, 176 change: function () { 177 last_field = 'time-start'; 178 search(); 179 } 180 }); 181 182 $time_end.timepicker( 183 { 184 timeFormat: format, 185 minTime: new Date(0, 0, 0, 0, 0, 0), 186 maxTime: new Date(0, 0, 0, 23, 55, 0), 187 interval: 5, 188 dropdown: false, 189 change: function () { 190 last_field = 'time-end'; 191 search(); 192 } 193 }); 194 } 195 196 var $month = $("#mec_sf_month_" + settings.id); 197 var $year = $("#mec_sf_year_" + settings.id); 198 var $month_or_year = $("#mec_sf_month_" + settings.id + ', ' + "#mec_sf_year_" + settings.id); 199 200 $month_or_year.off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 201 last_field = 'date-dropdown'; 202 203 var mec_month_val = $month.val(); 204 var mec_year_val = $year.val(); 205 206 if ((mec_month_val !== 'none' && mec_year_val !== 'none') || ((mec_month_val === 'none' && mec_year_val === 'none'))) search(); 207 }); 208 209 $date_start.off('change').on('change', function () { 210 last_field = 'date-start'; 211 search(); 212 }); 213 214 $date_end.off('change').on('change', function () { 215 last_field = 'date-end'; 216 search(); 217 }); 218 219 $event_type.off('change').on('change', function (e) { 220 last_field = 'event-type'; 221 search(); 222 }); 223 224 $event_type_2.off('change').on('change', function (e) { 225 last_field = 'event-type-2'; 226 search(); 227 }); 228 229 $attribute.off('change').on('change', function (e) { 230 last_field = 'attribute'; 231 search(); 232 }); 233 234 if ($event_status.length > 0) { 235 $event_status.off('change').on('change', function (e) { 236 last_field = 'event_status'; 237 search(); 238 }); 239 } 240 241 if (settings.fields && settings.fields.length > 0) { 242 for (var k in settings.fields) { 243 $("#mec_sf_" + settings.fields[k] + '_' + settings.id).off('change').on('change', function (e) { 244 search(); 245 }); 246 } 247 } 248 249 // Reset 250 if ($reset.length) { 251 $reset.off('click').on('click', function (e) { 252 reset(); 253 }); 254 } 255 256 function get_fields() { 257 return [ 258 'state', 259 'city', 260 'region', 261 'region', 262 'street', 263 'postal_code', 264 ]; 265 } 266 267 function getSearchResultCount(response) { 268 if (response && typeof response.count !== 'undefined' && !isNaN(parseInt(response.count, 10))) { 269 return Math.max(parseInt(response.count, 10), 0); 270 } 271 272 var $noEvents = $("#mec_skin_no_events_" + settings.id); 273 if ($noEvents.length && !$noEvents.hasClass("mec-util-hidden")) return 0; 274 275 return $("#mec_skin_events_" + settings.id).find(".mec-event-article").length; 276 } 277 278 function getSearchContextSuffix() { 279 var query = $s.length ? $.trim($s.val()) : ''; 280 if (query) { 281 return mecFormatA11yString(mecdata.a11y_search_query || ' for "%s"', [query]).replace('%s', query); 282 } 283 284 var addressQuery = $address.length ? $.trim($address.val()) : ''; 285 if (addressQuery) { 286 return mecFormatA11yString(mecdata.a11y_search_address || ' near "%s"', [addressQuery]).replace('%s', addressQuery); 287 } 288 289 return ''; 290 } 291 292 function announceSearchResults(response) { 293 if (!$status.length) return; 294 295 var count = getSearchResultCount(response); 296 var suffix = getSearchContextSuffix(); 297 var template = count === 1 298 ? (mecdata.a11y_search_result || 'Search updated. %1$s event found%2$s.') 299 : (mecdata.a11y_search_results || 'Search updated. %1$s events found%2$s.'); 300 301 window.setTimeout(function () { 302 $status.text(mecFormatA11yString(template, [count, suffix])); 303 }, 0); 304 } 305 306 function trigger() { 307 if ($wrapper.hasClass('mec-dropdown-enhanced')) { 308 $wrapper.find($('select')).each(function () { 309 $(this).select2(); 310 mecApplySelect2Accessibility($(this)); 311 }); 312 } 313 314 $("#mec_sf_category_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 315 last_field = 'category'; 316 search(); 317 }); 318 319 $("#mec_sf_location_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 320 last_field = 'location'; 321 search(); 322 }); 323 324 $("#mec_sf_organizer_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 325 last_field = 'organizer'; 326 search(); 327 }); 328 329 $("#mec_sf_speaker_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 330 last_field = 'speaker'; 331 search(); 332 }); 333 334 $("#mec_sf_tag_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 335 last_field = 'tag'; 336 search(); 337 }); 338 339 $("#mec_sf_label_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 340 last_field = 'label'; 341 search(); 342 }); 343 344 var fields = get_fields(); 345 $.each(fields, function (i, field) { 346 $("#mec_sf_" + field + "_" + settings.id).off('change.mecSearchForm' + settings.id).on('change.mecSearchForm' + settings.id, function (e) { 347 last_field = field; 348 search(); 349 }); 350 }); 351 } 352 353 function getRawNonSfQuery() { 354 var search = window.location.search; 355 if (search.indexOf('?') === 0) search = search.substring(1); 356 if (!search) return ''; 357 var parts = search.split('&'); 358 var kept = []; 359 for (var i = 0; i < parts.length; i++) { 360 var p = parts[i];
361 if (!p) continue; 362 var key = p.split('=')[0] || ''; 363 if (key.indexOf('sf[') === 0 || key.indexOf('sf%5B') === 0) continue; 364 kept.push(p); 365 } 366 return kept.join('&'); 367 } 368 369 function encodeSfQuery(sfQS) { 370 if (!sfQS) return ''; 371 var out = []; 372 var parts = sfQS.split('&'); 373 for (var i = 0; i < parts.length; i++) { 374 var p = parts[i]; 375 if (!p) continue; 376 var eq = p.indexOf('='); 377 var key = eq > -1 ? p.substring(0, eq) : p; 378 var val = eq > -1 ? p.substring(eq + 1) : ''; 379 if (val === '') continue; 380 out.push(key + '=' + encodeURIComponent(val)); 381 } 382 return out.join('&'); 383 } 384 385 function pushFiltersToUrl(sfQS) { 386 if (!updateUrl) return; 387 try { 388 var base = window.location.origin + window.location.pathname; 389 var preserved = getRawNonSfQuery(); 390 var sfRaw = encodeSfQuery(sfQS); // keep keys as sf[...] 391 var qs = ''; 392 if (preserved) qs = preserved; 393 if (sfRaw) qs = qs ? (qs + '&' + sfRaw) : sfRaw; 394 var finalUrl = qs ? (base + '?' + qs + window.location.hash) : (base + window.location.hash); 395 window.history.pushState({ mec_sf: true, id: settings.id }, '', finalUrl); 396 } catch (e) { } 397 } 398 399 function extractSfFromRawSearch() { 400 var res = {}; 401 try { 402 var raw = window.location.search; 403 if (raw.indexOf('?') === 0) raw = raw.substring(1); 404 var regex = /(?:^|&)sf(?:%5B|\[)([^\]=%]+)(?:%5D|\])=([^&]*)/g; 405 var m; 406 while ((m = regex.exec(raw)) !== null) { 407 var k = m[1]; 408 var v = decodeURIComponent(m[2] || ''); 409 res[k] = v; 410 } 411 } catch (e) { } 412 return res; 413 } 414 415 function applyURLToFormAndSearch() { 416 if (!updateUrl) return; 417 try { 418 var sfObj = extractSfFromRawSearch(); 419 420 if (Object.keys(sfObj).length === 0) return; 421 422 isApplyingFromURL = true; 423 424 // Simple fields 425 if (typeof sfObj['s'] !== 'undefined' && $s.length) $s.val(sfObj['s']); 426 if (typeof sfObj['address'] !== 'undefined' && $address.length) $address.val(sfObj['address']); 427 if (typeof sfObj['address_radius'] !== 'undefined' && $address_radius.length) $address_radius.val(sfObj['address_radius']); 428 if (typeof sfObj['cost-min'] !== 'undefined' && $event_cost_min.length) $event_cost_min.val(sfObj['cost-min']); 429 if (typeof sfObj['cost-max'] !== 'undefined' && $event_cost_max.length) $event_cost_max.val(sfObj['cost-max']); 430 if (typeof sfObj['time-start'] !== 'undefined' && $time_start.length) $time_start.val(sfObj['time-start']); 431 if (typeof sfObj['time-end'] !== 'undefined' && $time_end.length) $time_end.val(sfObj['time-end']); 432 if (typeof sfObj['month'] !== 'undefined' && $month.length) $month.val(sfObj['month']); 433 if (typeof sfObj['year'] !== 'undefined' && $year.length) $year.val(sfObj['year']); 434 if (typeof sfObj['start'] !== 'undefined' && $date_start.length) $date_start.val(sfObj['start']); 435 if (typeof sfObj['end'] !== 'undefined' && $date_end.length) $date_end.val(sfObj['end']); 436 if (typeof sfObj['date_start'] !== 'undefined' && $date_start.length) $date_start.val(sfObj['date_start']); 437 if (typeof sfObj['date_end'] !== 'undefined' && $date_end.length) $date_end.val(sfObj['date_end']); 438 if (typeof sfObj['event_type'] !== 'undefined' && $event_type.length) $event_type.val(sfObj['event_type']); 439 if (typeof sfObj['event_type_2'] !== 'undefined' && $event_type_2.length) $event_type_2.val(sfObj['event_type_2']); 440 if (typeof sfObj['attribute'] !== 'undefined' && $attribute.length) $attribute.val(sfObj['attribute']); 441 442 // Event status (radio) 443 if (typeof sfObj['event_status'] !== 'undefined' && $event_status.length) { 444 $event_status.prop('checked', false); 445 $event_status.filter('[value="' + sfObj['event_status'] + '"]').prop('checked', true); 446 } 447 448 // Taxonomies: select/ul checkboxes 449 function applyTaxonomy($el, csv) { 450 if (!$el.length) return; 451 var vals = (csv || '').split(',').filter(function (x) { return x !== '' }); 452 var tag = ($el.prop('tagName') || '').toLowerCase(); 453 if (tag === 'select') { 454 $el.val(vals.length > 1 ? vals : (vals[0] || '')); 455 if ($wrapper.hasClass('mec-dropdown-enhanced') && jQuery().select2) { 456 $el.trigger('change.select2'); 457 } else if (jQuery().niceSelect) { 458 $el.niceSelect('update'); 459 } 460 } else if (tag === 'ul') { 461 var set = new Set(vals); 462 $el.find('input[type=checkbox]').each(function () { 463 var v = jQuery(this).val(); 464 jQuery(this).prop('checked', set.has(v)); 465 }); 466 } 467 } 468 469 applyTaxonomy($("#mec_sf_category_" + settings.id), sfObj['category']); 470 applyTaxonomy($("#mec_sf_location_" + settings.id), sfObj['location']); 471 applyTaxonomy($("#mec_sf_organizer_" + settings.id), sfObj['organizer']); 472 applyTaxonomy($("#mec_sf_speaker_" + settings.id), sfObj['speaker']); 473 applyTaxonomy($("#mec_sf_tag_" + settings.id), sfObj['tag']); 474 applyTaxonomy($("#mec_sf_label_" + settings.id), sfObj['label']); 475 476 // Update UI for simple selects in enhanced mode 477 function updateSelectUI($sel) { 478 if (!$sel || !$sel.length) return; 479 if ($wrapper.hasClass('mec-dropdown-enhanced') && jQuery().select2) { 480 $sel.trigger('change.select2'); 481 } else if (jQuery().niceSelect) { 482 $sel.niceSelect('update'); 483 } 484 } 485 486 updateSelectUI($month); 487 updateSelectUI($year); 488 updateSelectUI($event_type); 489 updateSelectUI($event_type_2); 490 updateSelectUI($attribute); 491 492 // Trigger a search with these values (skip once if server already applied them) 493 setTimeout(function () { 494 isApplyingFromURL = false; 495 var skipOnce = $wrapper.data('mec-skip-initial-search'); 496 if (skipOnce) { 497 $wrapper.removeAttr('data-mec-skip-initial-search'); 498 } else { 499 search(); 500 } 501 }, 50); 502 503 } catch (e) { } 504 } 505 506 // Handle browser back/forward to re-apply filters 507 if (updateUrl && !$wrapper.data('mec-popstate-bound')) { 508 jQuery(window).on('popstate', function () { 509 applyURLToFormAndSearch(); 510 }); 511 $wrapper.data('mec-popstate-bound', true); 512 } 513 // Apply URL filters immediately on init 514 applyURLToFormAndSearch(); 515 516 function search() { 517 var $category = $("#mec_sf_category_" + settings.id); 518 var $location = $("#mec_sf_location_" + settings.id); 519 var $organizer = $("#mec_sf_organizer_" + settings.id); 520 var $speaker = $("#mec_sf_speaker_" + settings.id); 521 var $tag = $("#mec_sf_tag_" + settings.id); 522 var $label = $("#mec_sf_label_" + settings.id); 523 524 var s = $s.length ? $s.val() : ''; 525 var address = $address.length ? $address.val() : ''; 526 var address_radius = $address_radius.length ? $address_radius.val() : ''; 527 var tag = $tag.length ? $tag.val() : '';
528 var month = $month.length ? $month.val() : ''; 529 var year = $year.length ? $year.val() : ''; 530 var event_type = $event_type.length ? $event_type.val() : ''; 531 var event_type_2 = $event_type_2.length ? $event_type_2.val() : ''; 532 var attribute = $attribute.length ? $attribute.val() : ''; 533 var event_status = $event_status.filter(':checked').length ? $event_status.filter(':checked').val() : 'all'; 534 535 if (month === null) month = ''; 536 537 var start = $date_start.length ? $date_start.val() : ''; 538 var end = $date_end.length ? $date_end.val() : ''; 539 540 var cost_min = $event_cost_min.length ? $event_cost_min.val() : ''; 541 var cost_max = $event_cost_max.length ? $event_cost_max.val() : ''; 542 543 var time_start = $time_start.length ? $time_start.val() : ''; 544 var time_end = $time_end.length ? $time_end.val() : ''; 545 546 var category; 547 if ($category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'div') { 548 category = []; 549 $category.find($('select')).each(function () { 550 category.push($(this).val()); 551 }); 552 category = category.join(','); 553 } 554 else if ($category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'ul') { 555 category = []; 556 $category.find($('input[type=checkbox]:checked')).each(function () { 557 category.push($(this).val()); 558 }); 559 category = category.join(','); 560 } 561 else category = $category.length ? $category.val() : ''; 562 563 var location; 564 if ($location.prop('tagName') && $location.prop('tagName').toLowerCase() === 'ul') { 565 location = []; 566 $location.find($('input[type=checkbox]:checked')).each(function () { 567 location.push($(this).val()); 568 }); 569 location = location.join(','); 570 } 571 else location = $location.length ? $location.val() : ''; 572 573 var organizer; 574 if ($organizer.prop('tagName') && $organizer.prop('tagName').toLowerCase() === 'ul') { 575 organizer = []; 576 $organizer.find($('input[type=checkbox]:checked')).each(function () { 577 organizer.push($(this).val()); 578 }); 579 organizer = organizer.join(','); 580 } 581 else organizer = $organizer.length ? $organizer.val() : ''; 582 583 var speaker; 584 if ($speaker.prop('tagName') && $speaker.prop('tagName').toLowerCase() === 'ul') { 585 speaker = []; 586 $speaker.find($('input[type=checkbox]:checked')).each(function () { 587 speaker.push($(this).val()); 588 }); 589 speaker = speaker.join(','); 590 } 591 else speaker = $speaker.length ? $speaker.val() : ''; 592 593 var label; 594 if ($label.prop('tagName') && $label.prop('tagName').toLowerCase() === 'ul') { 595 label = []; 596 $label.find($('input[type=checkbox]:checked')).each(function () { 597 label.push($(this).val()); 598 }); 599 label = label.join(','); 600 } 601 else label = $label.length ? $label.val() : ''; 602 603 if (year === 'none' && month === 'none') { 604 year = ''; 605 month = ''; 606 } 607 608 if (!year) year = ''; 609 610 var addation_attr = ''; 611 if (settings.fields && settings.fields.length > 0) { 612 for (var k in settings.fields) { 613 var field = '#mec_sf_' + settings.fields[k] + '_' + settings.id; 614 var val = $(field).length ? $(field).val() : ''; 615 616 addation_attr += '&sf[' + settings.fields[k] + ']=' + val; 617 } 618 } 619 620 // Search Parameters 621 var sf = 'sf[s]=' + s + '&sf[address]=' + address + '&sf[address_radius]=' + address_radius + '&sf[cost-min]=' + cost_min + '&sf[cost-max]=' + cost_max + '&sf[time-start]=' + time_start + '&sf[time-end]=' + time_end + '&sf[month]=' + month + '&sf[year]=' + year + '&sf[start]=' + start + '&sf[end]=' + end + '&sf[event_type]=' + event_type + '&sf[event_type_2]=' + event_type_2 + '&sf[event_status]=' + event_status + '&sf[attribute]=' + attribute + addation_attr; 622 623 if ($category.length) sf += '&sf[category]=' + category; 624 if ($location.length) sf += '&sf[location]=' + location; 625 if ($organizer.length) sf += '&sf[organizer]=' + organizer; 626 if ($speaker.length) sf += '&sf[speaker]=' + speaker; 627 if ($tag.length) sf += '&sf[tag]=' + tag; 628 if ($label.length) sf += '&sf[label]=' + label; 629 630 // Event Fields 631 $custom_fields.each(function () { 632 var custom_field_id = $(this).data('field-id'); 633 var custom_request_key = $(this).data('request-key'); 634 var custom_field_value = $(this).val(); 635 636 if (custom_request_key) sf += '&sf[fields][' + custom_field_id + '][' + custom_request_key + ']=' + custom_field_value; 637 else sf += '&sf[fields][' + custom_field_id + ']=' + custom_field_value; 638 }); 639 640 var fields = get_fields(); 641 $.each(fields, function (i, field) { 642 if ($("#mec_sf_" + field + "_" + settings.id).length) { 643 v = $("#mec_sf_" + field + "_" + settings.id).val(); 644 sf += '&sf[' + field + ']=' + v; 645 } 646 }); 647 648 // Refine Parameters 649 if (settings.refine) refine(sf); 650 651 // Attributes 652 var atts = settings.atts + '&' + sf; 653 654 // Search 655 if (typeof mec_search_callbacks[settings.id] !== 'undefined') { 656 for (const cb of mec_search_callbacks[settings.id]) cb(atts); 657 } 658 659 // Update URL after search so it can be shared 660 if (updateUrl && !isApplyingFromURL) { 661 pushFiltersToUrl(sf); 662 } 663 } 664 665 function reset() { 666 var $category = $("#mec_sf_category_" + settings.id); 667 var $location = $("#mec_sf_location_" + settings.id); 668 var $organizer = $("#mec_sf_organizer_" + settings.id); 669 var $speaker = $("#mec_sf_speaker_" + settings.id); 670 var $tag = $("#mec_sf_tag_" + settings.id); 671 var $label = $("#mec_sf_label_" + settings.id);
672 var isEnhanced = $wrapper.hasClass('mec-dropdown-enhanced'); 673 674 if ($category.length && $category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'div') { 675 $category.find('select').each(function () { 676 $(this).val(null).trigger('change'); 677 }); 678 if (isEnhanced && jQuery().select2) { 679 $category.find('select').select2(); 680 $category.find('select').each(function () { 681 mecApplySelect2Accessibility($(this)); 682 }); 683 } 684 else if (jQuery().niceSelect) $category.find('select').niceSelect('update'); 685 } 686 else if ($category.length && $category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'ul') { 687 $category.find($('input[type=checkbox]:checked')).each(function () { 688 $(this).prop('checked', false); 689 }); 690 } 691 else if ($category.length) { 692 $category.val(null); 693 if ($category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'select') { 694 if (isEnhanced && jQuery().select2) { 695 $category.select2(); 696 mecApplySelect2Accessibility($category); 697 } 698 else if (jQuery().niceSelect) $category.niceSelect('update'); 699 } 700 } 701 702 if ($location.length && $location.prop('tagName') && $location.prop('tagName').toLowerCase() === 'ul') { 703 $location.find($('input[type=checkbox]:checked')).each(function () { 704 $(this).prop('checked', false); 705 }); 706 } 707 else if ($location.length) { 708 $location.val(null); 709 if ($location.prop('tagName') && $location.prop('tagName').toLowerCase() === 'select') { 710 if (isEnhanced && jQuery().select2) { 711 $location.select2(); 712 mecApplySelect2Accessibility($location); 713 } 714 else if (jQuery().niceSelect) $location.niceSelect('update'); 715 } 716 } 717 718 if ($organizer.length && $organizer.prop('tagName') && $organizer.prop('tagName').toLowerCase() === 'ul') { 719 $organizer.find($('input[type=checkbox]:checked')).each(function () { 720 $(this).prop('checked', false); 721 }); 722 } 723 else if ($organizer.length) { 724 $organizer.val(null); 725 if ($organizer.prop('tagName') && $organizer.prop('tagName').toLowerCase() === 'select') { 726 if (isEnhanced && jQuery().select2) { 727 $organizer.select2(); 728 mecApplySelect2Accessibility($organizer); 729 } 730 else if (jQuery().niceSelect) $organizer.niceSelect('update'); 731 } 732 } 733 734 if ($speaker.length && $speaker.prop('tagName') && $speaker.prop('tagName').toLowerCase() === 'ul') { 735 $speaker.find($('input[type=checkbox]:checked')).each(function () { 736 $(this).prop('checked', false); 737 }); 738 } 739 else if ($speaker.length) { 740 $speaker.val(null); 741 if ($speaker.prop('tagName') && $speaker.prop('tagName').toLowerCase() === 'select') { 742 if (isEnhanced && jQuery().select2) { 743 $speaker.select2(); 744 mecApplySelect2Accessibility($speaker); 745 } 746 else if (jQuery().niceSelect) $speaker.niceSelect('update'); 747 } 748 } 749 750 if ($label.length && $label.prop('tagName') && $label.prop('tagName').toLowerCase() === 'ul') { 751 $label.find($('input[type=checkbox]:checked')).each(function () { 752 $(this).prop('checked', false); 753 }); 754 } 755 else if ($label.length) { 756 $label.val(null); 757 if ($label.prop('tagName') && $label.prop('tagName').toLowerCase() === 'select') { 758 if (isEnhanced && jQuery().select2) { 759 $label.select2(); 760 mecApplySelect2Accessibility($label); 761 } 762 else if (jQuery().niceSelect) $label.niceSelect('update'); 763 } 764 } 765 766 if ($tag.length) $tag.val(null); 767 if ($s.length) $s.val(null); 768 if ($address.length) $address.val(null); 769 if ($address_radius.length) $address_radius.val(null); 770 if ($month.length) $month.val(null); 771 if ($year.length) $year.val(null);
772 if ($event_cost_min.length) $event_cost_min.val(null); 773 if ($event_cost_max.length) $event_cost_max.val(null); 774 if ($date_start.length) $date_start.val(null); 775 if ($date_end.length) $date_end.val(null); 776 if ($time_start.length) $time_start.val(null); 777 if ($time_end.length) $time_end.val(null); 778 if ($event_status.length) { 779 $event_status.prop('checked', false); 780 $event_status.filter('[value="all"]').prop('checked', true); 781 } 782 783 // Reset map fields specifically 784 var mapFields = ['state', 'city', 'region', 'street', 'postal_code']; 785 $.each(mapFields, function (i, field) { 786 var $mapField = $("#mec_sf_" + field + "_" + settings.id); 787 if ($mapField.length) { 788 $mapField.val(null); 789 if ($mapField.is('select')) { 790 if (isEnhanced && jQuery().select2) { 791 $mapField.select2(); 792 mecApplySelect2Accessibility($mapField); 793 } 794 else if (jQuery().niceSelect) jQuery("#mec_sf_" + field + "_" + settings.id).niceSelect('update'); 795 } 796 } 797 }); 798 799 var fields = get_fields(); 800 $.each(fields, function (i, field) { 801 const $f = $("#mec_sf_" + field + "_" + settings.id); 802 if ($f.length) { 803 $f.val(null); 804 if ($f.is('select') && jQuery().niceSelect) { 805 jQuery("#mec_sf_" + field + "_" + settings.id).niceSelect('update'); 806 } 807 } 808 }); 809 810 if (jQuery().niceSelect) { 811 812 jQuery('.mec-fluent-wrap').find('.mec-filter-content').find('select:not([multiple])').niceSelect('update'); 813 } 814 815 // Clean URL query if enabled 816 if (updateUrl) { 817 try { 818 var url = new URL(window.location.href); 819 url = removeSfParamsFromUrl(url); 820 window.history.pushState({ mec_sf: true, id: settings.id }, '', url.toString()); 821 } catch (e) { } 822 } 823 824 // Search Again 825 setTimeout(function () { 826 search(); 827 }, 200); 828 } 829 830 function refine(sf) { 831 var $category = $("#mec_sf_category_" + settings.id); 832 var $location = $("#mec_sf_location_" + settings.id); 833 var $organizer = $("#mec_sf_organizer_" + settings.id); 834 var $speaker = $("#mec_sf_speaker_" + settings.id); 835 var $tag = $("#mec_sf_tag_" + settings.id); 836 var $label = $("#mec_sf_label_" + settings.id); 837 838 var category_type; 839 if ($category.length && $category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'div') category_type = 'checkboxes'; 840 else if ($category.length && $category.prop('tagName') && $category.prop('tagName').toLowerCase() === 'ul') category_type = 'simple-checkboxes'; 841 else if ($category.length) category_type = 'dropdown'; 842 843 var location_type; 844 if ($location.length && $location.prop('tagName') && $location.prop('tagName').toLowerCase() === 'ul') location_type = 'simple-checkboxes'; 845 else if ($location.length) location_type = 'dropdown'; 846 847 var organizer_type; 848 if ($organizer.length && $organizer.prop('tagName') && $organizer.prop('tagName').toLowerCase() === 'ul') organizer_type = 'simple-checkboxes'; 849 else if ($organizer.length) organizer_type = 'dropdown'; 850 851 var speaker_type; 852 if ($speaker.length && $speaker.prop('tagName') && $speaker.prop('tagName').toLowerCase() === 'ul') speaker_type = 'simple-checkboxes'; 853 else if ($organizer.length) speaker_type = 'dropdown'; 854 855 var label_type; 856 if ($label.length && $label.prop('tagName') && $label.prop('tagName').toLowerCase() === 'ul') label_type = 'simple-checkboxes'; 857 else if ($label.length) label_type = 'dropdown'; 858 859 $.ajax( 860 { 861 url: settings.ajax_url, 862 data: "action=mec_refine_search_items&mec_start_date=" + settings.start_date + "&" + sf + '&last_field=' + last_field + '&category_type=' + category_type + '&location_type=' + location_type + '&organizer_type=' + organizer_type + '&speaker_type=' + speaker_type + '&label_type=' + label_type + '&id=' + settings.id, 863 dataType: "json", 864 type: "post", 865 success: function (response) { 866 // Categories 867 if (typeof response.categories !== 'undefined' && response.categories !== '') { 868 // Multi Select 869 if ($category.length && category_type === 'checkboxes') { 870 $category.html(response.categories); 871 } 872 // Checkboxes 873 else if ($category.length && category_type === 'simple-checkboxes') { 874 $category.html(response.categories); 875 } 876 // Dropdown 877 else if ($category.length) { 878 $category.replaceWith(response.categories); 879 } 880 881 // Categories Search bar 882 if (jQuery(".mec-searchbar-category-wrap select").length > 0 && jQuery().niceSelect) jQuery(".mec-searchbar-category-wrap select").niceSelect(); 883 } 884 885 // Locations 886 if (typeof response.locations !== 'undefined' && response.locations !== '') { 887 // Checkboxes 888 if ($location.length && location_type === 'simple-checkboxes') { 889 $location.html(response.locations); 890 } 891 // Dropdown 892 else if ($location.length) { 893 $location.replaceWith(response.locations); 894 } 895 } 896 897 // Organizers 898 if (typeof response.organizers !== 'undefined' && response.organizers !== '') { 899 // Checkboxes 900 if ($organizer.length && organizer_type === 'simple-checkboxes') { 901 $organizer.html(response.organizers); 902 } 903 // Dropdown 904 else if ($organizer.length) { 905 $organizer.replaceWith(response.organizers); 906 } 907 } 908 909 // Speakers 910 if (typeof response.speakers !== 'undefined' && response.speakers !== '') { 911 // Checkboxes 912 if ($speaker.length && speaker_type === 'simple-checkboxes') { 913 $speaker.html(response.speakers); 914 } 915 // Dropdown 916 else if ($speaker.length) { 917 $speaker.replaceWith(response.speakers); 918 } 919 } 920 921 // Labels 922 if (typeof response.labels !== 'undefined' && response.labels !== '') { 923 // Checkboxes 924 if ($label.length && label_type === 'simple-checkboxes') { 925 $label.html(response.labels); 926 } 927 // Dropdown 928 else if ($label.length) { 929 $label.replaceWith(response.labels); 930 } 931 } 932 933 // Tags 934 if (typeof response.tags !== 'undefined' && response.tags !== '') { 935 $tag.replaceWith(response.tags); 936 } 937 938 // Trigger 939 trigger(); 940 }, 941 error: function () { } 942 }); 943 } 944 }; 945}(jQuery)); 946 947jQuery(document).ready(function ($) { 948 // Select2 949 if (jQuery(".mec-fes-form-cntt #mec-location select").length > 0) { 950 jQuery(".mec-fes-form-cntt #mec-location select").select2(); 951 jQuery(".mec-fes-form-cntt #mec-location select").each(function () { mecApplySelect2Accessibility(jQuery(this)); }); 952 } 953 if (jQuery(".mec-fes-form-cntt #mec-organizer select").length > 0) { 954 jQuery(".mec-fes-form-cntt #mec-organizer select").select2(); 955 jQuery(".mec-fes-form-cntt #mec-organizer select").each(function () { mecApplySelect2Accessibility(jQuery(this)); }); 956 } 957 // Location select2 958 if (jQuery("#mec_location_id").length > 0) { 959 jQuery("#mec_location_id").select2(); 960 mecApplySelect2Accessibility(jQuery("#mec_location_id")); 961 } 962 // Organizer Select2 963 if (jQuery("#mec_organizer_id").length > 0) { 964 jQuery("#mec_organizer_id").select2(); 965 mecApplySelect2Accessibility(jQuery("#mec_organizer_id")); 966 } 967 // Categories Search bar 968 if (jQuery(".mec-searchbar-category-wrap select").length > 0) { 969 jQuery(".mec-searchbar-category-wrap select").select2(); 970 jQuery(".mec-searchbar-category-wrap select").each(function () { mecApplySelect2Accessibility(jQuery(this)); }); 971 } 972 973 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-search-reset-button").parents().eq(2).addClass("mec-there-reset-button"); 974 975 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-minmax-event-cost").parent().find(".mec-text-address-search").addClass("with-mec-cost"); 976 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-text-address-search").parent().find(".mec-minmax-event-cost").addClass("with-mec-address"); 977 978 /** New Searchbar JS */
979 jQuery(".mec-full-calendar-search-ends").find(".mec-text-input-search").parent().find(".mec-tab-loader").removeClass("col-md-12").addClass("col-md-6"); 980 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-text-input-search").parent().find(".mec-date-search").parent().find(".mec-text-input-search").addClass("col-md-6"); 981 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-text-input-search").parent().find(".mec-time-picker-search").parent().find(".mec-text-input-search").addClass("col-md-6"); 982 jQuery(".mec-full-calendar-search-ends").find(".mec-text-input-search").addClass("col-md-12").parent().find(".mec-time-picker-search").addClass("col-md-6"); 983 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-date-search").parent().find(".mec-time-picker-search").addClass("with-mec-date-search"); 984 jQuery(".mec-search-form.mec-totalcal-box").find(".mec-time-picker-search").parent().find(".mec-date-search").addClass("with-mec-time-picker"); 985 986 jQuery('#mec-gCalendar-wrap .openMonthFilter').on('click', function (e) { 987 jQuery(this).toggleClass('open'); 988 }); 989 990 jQuery('body').on('click', function (e) { 991 jQuery('#mec-gCalendar-wrap .openMonthFilter').removeClass('open'); 992 }); 993 994 mec_init_number_spinner(); 995}); 996 997function mec_init_number_spinner() { 998 /* buttons functions */ 999 jQuery('.mec-booking .mec-event-tickets-list .mec-ticket-style-row div a').off('click').on('click', function () { 1000 var $input = jQuery(this).parents('.mec-ticket-style-row div').find(jQuery('input.in-num')); 1001 1002 var count = parseFloat($input.val()); 1003 if (jQuery(this).hasClass('minus')) { 1004 count = count - 1; 1005 count = count < 1 ? 0 : count; 1006 if (count < 1) { 1007 jQuery(this).addClass('dis'); 1008 } 1009 else { 1010 jQuery(this).removeClass('dis'); 1011 } 1012 $input.val(count); 1013 } 1014 else { 1015 count = count + 1; 1016 $input.val(count); 1017 if (count > 1) { 1018 jQuery(this).parents('.mec-ticket-style-row div').find(('.minus')).removeClass('dis'); 1019 } 1020 } 1021 1022 $input.change(); 1023 return false; 1024 }); 1025} 1026 1027jQuery(window).on('load', function () { 1028 jQuery(".single-mec-events").find(".mejs-controls button").addClass("mejs") 1029}); 1030 1031// MEC FULL CALENDAR PLUGIN 1032(function ($) { 1033 $.fn.mecFullCalendar = function (options) { 1034 // Default Options 1035 var settings = $.extend({ 1036 // These are the defaults. 1037 id: 0, 1038 atts: '', 1039 ajax_url: '', 1040 sf: {}, 1041 skin: '', 1042 }, options); 1043 1044 // Set onclick Listeners 1045 setListeners(); 1046 1047 $(document).trigger('mec_full_calendar_before_init', $("#mec_full_calendar_container_" + settings.id)); 1048 1049 mecFluentCurrentTimePosition(); 1050 mecFluentCustomScrollbar(); 1051 1052 var sf; 1053 1054 function setListeners() { 1055 // Search Widget 1056 if (settings.sf.container !== '' && false == $(settings.sf.container).hasClass('mec-skin-search-init')) { 1057 sf = $(settings.sf.container).mecSearchForm({ 1058 id: settings.id, 1059 refine: settings.sf.refine, 1060 ajax_url: settings.ajax_url, 1061 start_date: settings.start_date, 1062 atts: settings.atts, 1063 callback: function (atts) { 1064 settings.atts = atts; 1065 if (false == $("#mec_skin_" + settings.id).hasClass('mec-fluent-wrap') && false == $("#mec_skin_" + settings.id).hasClass('mec-liquid-wrap')) { 1066 1067 search(); 1068 } 1069 } 1070 }); 1071 1072 $(settings.sf.container).addClass('mec-skin-search-init'); 1073 } 1074 1075 $('.mec-subscribe-to-calendar-btn').off('click').on('click', function () { 1076 $(this).parent().find('>.mec-subscribe-to-calendar-items').toggle(); 1077 }); 1078 1079 // Add the onclick event 1080 $("#mec_skin_" + settings.id + " .mec-totalcal-box .mec-totalcal-view span:not(.mec-fluent-more-views-icon):not(.mec-fluent-more-views-content)").on('click', function (e) { 1081 e.preventDefault(); 1082 var skin = $(this).data('skin'); 1083 var mec_month_select = $('#mec_sf_month_' + settings.id); 1084 var mec_year_select = $('#mec_sf_year_' + settings.id); 1085 1086 if (mec_year_select.val() == 'none') { 1087 mec_year_select.find('option').each(function () { 1088 var option_val = $(this).val(); 1089 if (option_val == mecdata.current_year) mec_year_select.val(option_val); 1090 }); 1091 } 1092 1093 if (mec_month_select.val() == 'none') { 1094 mec_month_select.find('option').each(function () { 1095 var option_val = $(this).val(); 1096 if (option_val == mecdata.current_month) mec_month_select.val(option_val); 1097 }); 1098 } 1099 1100 if (skin == 'list' || skin == 'grid' || skin == 'agenda') { 1101 var mec_filter_none = '<option class="mec-none-item" value="none">' + $('#mec-filter-none').val() + '</option>'; 1102 if (mec_month_select.find('.mec-none-item').length == 0) mec_month_select.prepe
1102nd(mec_filter_none); 1103 if (mec_year_select.find('.mec-none-item').length == 0) mec_year_select.prepend(mec_filter_none); 1104 } 1105 else { 1106 if (mec_month_select.find('.mec-none-item').length != 0) mec_month_select.find('.mec-none-item').remove(); 1107 if (mec_year_select.find('.mec-none-item').length != 0) mec_year_select.find('.mec-none-item').remove(); 1108 } 1109 1110 $("#mec_skin_" + settings.id + " .mec-totalcal-box .mec-totalcal-view span").removeClass('mec-totalcalview-selected') 1111 $(this).addClass('mec-totalcalview-selected'); 1112 if ($(this).closest('.mec-fluent-more-views-content').length > 0) { 1113 $('.mec-fluent-more-views-icon').addClass('active'); 1114 $('.mec-fluent-more-views-content').removeClass('active'); 1115 } else { 1116 $('.mec-fluent-more-views-icon').removeClass('active'); 1117 } 1118 1119 loadSkin(skin); 1120 }); 1121 } 1122 1123 function loadSkin(skin) { 1124 // Set new Skin 1125 settings.skin = skin; 1126 1127 // Add Loading Class 1128 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1129 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1130 1131 var $month_picker = $("#mec_sf_month_" + settings.id); 1132 var $year_picker = $("#mec_sf_year_" + settings.id); 1133 1134 // Add Month & Year 1135 if (settings.atts.indexOf('sf[month]') <= -1 && $month_picker.length && $year_picker.length) { 1136 settings.atts += '&sf[month]=' + $month_picker.val() + '&sf[year]=' + $year_picker.val(); 1137 } 1138 1139 $.ajax({
1140 url: settings.ajax_url, 1141 data: "action=mec_full_calendar_switch_skin&skin=" + skin + "&" + settings.atts + "&apply_sf_date=1&sed=" + settings.sed_method, 1142 type: "post", 1143 success: function (response) { 1144 1145 jQuery(document).trigger('mec_before_load_skin_success', [$("#mec_full_calendar_container_" + settings.id), settings.id]); 1146 1147 $("#mec_full_calendar_container_" + settings.id).html(response); 1148 1149 // Remove loader 1150 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1151 1152 // Focus First Active Day 1153 mecFocusDay(settings); 1154 1155 mecFluentCurrentTimePosition(); 1156 mecFluentCustomScrollbar(); 1157 1158 jQuery(document).trigger('mec_load_skin_success', $("#mec_full_calendar_container_" + settings.id)); 1159 }, 1160 error: function () { } 1161 }); 1162 } 1163 1164 function search() { 1165 // Add Loading Class 1166 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1167 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1168 1169 $.ajax({
1170 url: settings.ajax_url, 1171 data: "action=mec_full_calendar_switch_skin&skin=" + settings.skin + "&" + settings.atts + "&apply_sf_date=1", 1172 type: "post", 1173 success: function (response) { 1174 $("#mec_full_calendar_container_" + settings.id).html(response); 1175 1176 // Remove loader 1177 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1178 1179 // Focus First Active Day 1180 mecFocusDay(settings); 1181 1182 // Focus First Active Week 1183 mec_focus_week(settings.id); 1184 1185 mecFluentCurrentTimePosition(); 1186 mecFluentCustomScrollbar(); 1187 1188 jQuery(document).trigger('mec_search_success', $("#mec_full_calendar_container_" + settings.id)); 1189 }, 1190 error: function () { } 1191 }); 1192 } 1193 }; 1194 1195}(jQuery)); 1196 1197// MEC YEARLY VIEW PLUGIN 1198(function ($) { 1199 $.fn.mecYearlyView = function (options) { 1200 var active_year; 1201 1202 // Default Options 1203 var settings = $.extend({ 1204 // These are the defaults. 1205 today: null, 1206 id: 0, 1207 events_label: 'Events', 1208 event_label: 'Event', 1209 year_navigator: 0, 1210 atts: '', 1211 next_year: {}, 1212 sf: {}, 1213 ajax_url: '', 1214 }, options); 1215 1216 mecFluentYearlyUI(settings.id, settings.year_id); 1217 1218 // Initialize Year Navigator 1219 if (settings.year_navigator) initYearNavigator(); 1220 1221 // Set onclick Listeners 1222 setListeners(); 1223 1224 // load more 1225 $(document).on("click", "#mec_skin_events_" + settings.id + " .mec-load-more-button", function () { 1226 var year = $(this).parent().parent().parent().data('year-id'); 1227 loadMoreButton(year); 1228 }); 1229 1230 // Search Widget 1231 if (settings.sf.container !== '') { 1232 sf = $(settings.sf.container).mecSearchForm({ 1233 id: settings.id, 1234 refine: settings.sf.refine, 1235 ajax_url: settings.ajax_url, 1236 start_date: settings.start_date, 1237 atts: settings.atts, 1238 callback: function (atts) { 1239 settings.atts = atts; 1240 active_year = $('.mec-yearly-view-wrap .mec-year-navigator').filter(function () { 1241 return $(this).css('display') == "block"; 1242 }); 1243 active_year = parseInt(active_year.find('h2').text()); 1244 search(active_year); 1245 } 1246 }); 1247 1248 $(settings.sf.container).addClass('mec-skin-search-init'); 1249 } 1250 1251 function initYearNavigator() { 1252 // Add onclick event 1253 $("#mec_skin_" + settings.id + " .mec-load-year").off("click").on("click", function () { 1254 var year = $(this).data("mec-year"); 1255 setYear(year); 1256 }); 1257 } 1258 1259 function search(year) { 1260 // Add Loading Class 1261 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1262 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1263 1264 $.ajax({
1265 url: settings.ajax_url, 1266 data: "action=mec_yearly_view_load_year&mec_year=" + year + "&" + settings.atts + "&apply_sf_date=1", 1267 dataType: "json", 1268 type: "post", 1269 success: function (response) { 1270 active_year = response.current_year.year; 1271 1272 // Append Year 1273 $("#mec_skin_events_" + settings.id).html('<div class="mec-year-container" id="mec_yearly_view_year_' + settings.id + '_' + response.current_year.id + '" data-year-id="' + response.current_year.id + '">' + response.year + '</div>'); 1274 1275 // Append Year Navigator 1276 $("#mec_skin_" + settings.id + " .mec-yearly-title-sec").append('<div class="mec-year-navigator" id="mec_year_navigator_' + settings.id + '_' + response.current_year.id + '">' + response.navigator + '</div>'); 1277 1278 // Re-initialize Year Navigator 1279 initYearNavigator(); 1280 1281 // Set onclick Listeners 1282 setListeners(); 1283 1284 // Toggle Year 1285 toggleYear(response.current_year.id); 1286 1287 // Remove loading Class 1288 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1289 1290 mecFluentYearlyUI(settings.id, active_year); 1291 mecFluentCustomScrollbar(); 1292 1293 $(document).trigger('mec_search_init', ['yearly_view', settings, response]); 1294 1295 }, 1296 error: function () { } 1297 }); 1298 } 1299 1300 function setYear(year, do_in_background) { 1301 if (typeof do_in_background === "undefined") do_in_background = false; 1302 1303 var year_id = year; 1304 active_year = year; 1305 1306 // Year exists so we just show it 1307 if ($("#mec_yearly_view_year_" + settings.id + "_" + year_id).length) { 1308 // Toggle Year 1309 toggleYear(year_id); 1310 mecFluentCustomScrollbar(); 1311 } else { 1312 if (!do_in_background) { 1313 // Add Loading Class 1314 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1315 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1316 } 1317 1318 $.ajax({
1319 url: settings.ajax_url, 1320 data: "action=mec_yearly_view_load_year&mec_year=" + year + "&" + settings.atts + "&apply_sf_date=0", 1321 dataType: "json", 1322 type: "post", 1323 success: function (response) { 1324 // Append Year 1325 $("#mec_skin_events_" + settings.id).append('<div class="mec-year-container" id="mec_yearly_view_year_' + settings.id + '_' + response.current_year.id + '" data-year-id="' + response.current_year.id + '">' + response.year + '</div>'); 1326 1327 // Append Year Navigator 1328 $("#mec_skin_" + settings.id + " .mec-yearly-title-sec").append('<div class="mec-year-navigator" id="mec_year_navigator_' + settings.id + '_' + response.current_year.id + '">' + response.navigator + '</div>'); 1329 1330 // Re-initialize Year Navigator 1331 initYearNavigator(); 1332 1333 // Set onclick Listeners 1334 setListeners(); 1335 1336 if (!do_in_background) { 1337 // Toggle Year 1338 toggleYear(response.current_year.id); 1339 1340 // Remove loading Class 1341 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1342 1343 // Set Year Filter values in search widget 1344 $("#mec_sf_year_" + settings.id).val(year); 1345 } else { 1346 $("#mec_yearly_view_year_" + settings.id + "_" + response.current_year.id).hide(); 1347 $("#mec_year_navigator_" + settings.id + "_" + response.current_year.id).hide(); 1348 } 1349 mecFluentYearlyUI(settings.id, year); 1350 if (!do_in_background) { 1351 mecFluentCustomScrollbar(); 1352 } 1353 }, 1354 error: function () { } 1355 }); 1356 } 1357 } 1358 1359 function toggleYear(year_id) { 1360 // Toggle Year Navigator 1361 $("#mec_skin_" + settings.id + " .mec-year-navigator").hide(); 1362 $("#mec_year_navigator_" + settings.id + "_" + year_id).show(); 1363 1364 // Toggle Year 1365 $("#mec_skin_" + settings.id + " .mec-year-container").hide(); 1366 $("#mec_yearly_view_year_" + settings.id + "_" + year_id).show(); 1367 } 1368 1369 var sf; 1370 1371 function setListeners() { 1372 // Single Event Method 1373 if (settings.sed_method != '0') { 1374 sed(); 1375 } 1376 1377 $('.mec-subscribe-to-calendar-btn').off('click').on('click', function () { 1378 $(this).parent().find('>.mec-subscribe-to-calendar-items').toggle(); 1379 }); 1380 1381 // Yearly view 1382 $("#mec_skin_" + settings.id + " .mec-has-event a").on('click', function (e) { 1383 e.preventDefault(); 1384 1385 var des = $(this).attr('href'); 1386 var visible = $(des).is(':visible'); 1387 if (!visible) { 1388 var year = $(des).parents('.mec-year-container').data('year-id'); 1389 if (year) { 1390 1391 while (!visible) { 1392 loadMoreButton(year); 1393 1394 visible = $(des).is(':visible'); 1395 } 1396 } 1397 } 1398 1399 $('.mec-events-agenda').removeClass('mec-selected'); 1400 $(des).closest('.mec-events-agenda').addClass('mec-selected'); 1401 1402 var scrollTopVal = $(des).closest('.mec-events-agenda').offset().top - 35; 1403 if ($(this).closest('.mec-fluent-wrap').length > 0) { 1404 var parent = jQuery(this).closest('.mec-fluent-wrap').find('.mec-yearly-agenda-sec'); 1405 scrollTopVal = parent.scrollTop() + ($(des).closest('.mec-events-agenda').offset().top - parent.offset().top); 1406 jQuery(this).closest('.mec-fluent-wrap').find('.mec-yearly-agenda-sec').getNiceScroll(0).doScrollTop(scrollTopVal - 15, 120); 1407 } 1408 else { 1409 $('html, body').animate({ 1410 scrollTop: scrollTopVal 1411 }, 300); 1412 } 1413 }); 1414 } 1415 1416 function sed() { 1417 // Single Event Display 1418 $("#mec_skin_" + settings.id + " .mec-agenda-event-title a").off('click').on('click', function (e) { 1419 var sed_method = $(this).attr('target'); 1420 if ('_blank' === sed_method) { 1421 1422 return; 1423 } 1424 e.preventDefault(); 1425 var href = $(this).attr('href'); 1426 1427 var id = $(this).data('event-id'); 1428 var occurrence = get_parameter_by_name('occurrence', href); 1429 var time = get_parameter_by_name('time', href); 1430 1431 if ('undefined' == typeof id) { 1432 return; 1433 } 1434 1435 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 1436 }); 1437 } 1438 1439 function loadMoreButton(year) { 1440 var $max_count, $current_count = 0; 1441 $max_count = $("#mec_yearly_view_year_" + settings.id + "_" + year + " .mec-yearly-max").data('count'); 1442 $current_count = $("#mec_yearly_view_year_" + settings.id + "_" + year + " .mec-util-hidden").length; 1443 1444 if ($current_count > 10) { 1445 for (var i = 0; i < 10; i++) { 1446 $("#mec_yearly_view_year_" + settings.id + "_" + year + " .mec-util-hidden").slice(0, 2).each(function () { 1447 $(this).removeClass('mec-util-hidden'); 1448 }); 1449 } 1450 } 1451 1452 if ($current_count < 10 && $current_count != 0) { 1453 for (var j = 0; j < $current_count; j++) { 1454 $("#mec_yearly_view_year_" + settings.id + "_" + year + " .mec-util-hidden").slice(0, 2).each(function () { 1455 $(this).removeClass('mec-util-hidden'); 1456 $("#mec_yearly_view_year_" + settings.id + "_" + year + " .mec-load-more-wrap").css('display', 'none'); 1457 }); 1458 } 1459 } 1460 } 1461 }; 1462 1463}(jQuery)); 1464 1465 1466// MEC GENERAL CALENDAR VIEW PLUGIN 1467(function ($) { 1468 $.fn.mecGeneralCalendarView = function (options) { 1469 // Default Options 1470 var settings = $.extend({ 1471 // These are the defaults. 1472 id: 0, 1473 atts: '', 1474 ajax_url: '', 1475 sf: {}, 1476 }, options); 1477 1478 // Set onclick Listeners 1479 setListeners(); 1480 1481 function setListeners() { 1482 // Single Event Method 1483 if (settings.sed_method != '0') { 1484 sed(); 1485 } 1486 } 1487 function sed() { 1488 // Single Event Display
1489 $("#mec_skin_" + settings.id + " .fc-daygrid-event").off('click').on('click', function (e) { 1490 e.preventDefault(); 1491 var sed_method = $(this).attr('target'); 1492 if ('_blank' === sed_method || '_self' === sed_method || 'no' === sed_method) { 1493 1494 return; 1495 } 1496 e.preventDefault(); 1497 var href = $(this).attr('href'); 1498 1499 var id = $(this).data('event-id'); 1500 var occurrence = get_parameter_by_name('occurrence', href); 1501 var time = get_parameter_by_name('time', href); 1502 1503 if ('undefined' == typeof id) { 1504 return; 1505 } 1506 1507 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 1508 }); 1509 } 1510 }; 1511 1512}(jQuery)); 1513 1514// MEC MONTHLY VIEW PLUGIN 1515(function ($) { 1516 $.fn.mecMonthlyView = function (options) { 1517 var active_month; 1518 var active_year; 1519 1520 // Default Options 1521 var settings = $.extend({ 1522 // These are the defaults. 1523 today: null, 1524 id: 0, 1525 events_label: 'Events', 1526 event_label: 'Event', 1527 month_navigator: 0, 1528 atts: '', 1529 active_month: {}, 1530 next_month: {}, 1531 sf: {}, 1532 ajax_url: '', 1533 }, options); 1534 1535 // Initialize Month Navigator 1536 if (settings.month_navigator) initMonthNavigator(); 1537 1538 active_month = settings.active_month.month; 1539 active_year = settings.active_month.year; 1540 1541 // Set onclick Listeners 1542 setListeners(); 1543 1544 // Search Widget 1545 if (settings.sf.container !== '') { 1546 sf = $(settings.sf.container).mecSearchForm({ 1547 id: settings.id, 1548 refine: settings.sf.refine, 1549 ajax_url: settings.ajax_url, 1550 start_date: settings.start_date, 1551 atts: settings.atts, 1552 callback: function (atts) { 1553 settings.atts = atts; 1554 search(active_year, active_month); 1555 } 1556 }); 1557 1558 $(settings.sf.container).addClass('mec-skin-search-init'); 1559 } 1560 1561 function initMonthNavigator() { 1562 // Remove the onclick event 1563 $("#mec_skin_" + settings.id + " .mec-load-month").off("click"); 1564 1565 // Add onclick event 1566 $("#mec_skin_" + settings.id + " .mec-load-month").on("click", function () { 1567 var year = $(this).data("mec-year"); 1568 var month = $(this).data("mec-month"); 1569 1570 setMonth(year, month, false, true); 1571 }); 1572 } 1573 1574 function search(year, month) { 1575 // Modal 1576 var $modal = jQuery('.mec-modal-result'); 1577 1578 // Add Loading Class 1579 if ($modal.length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1580 $modal.addClass('mec-month-navigator-loading'); 1581 1582 $.ajax( 1583 { 1584 url: settings.ajax_url, 1585 data: "action=mec_monthly_view_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=1", 1586 dataType: "json", 1587 type: "post", 1588 success: function (response) { 1589 // Append Month 1590 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_monthly_view_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 1591 1592 // Append Month Navigator 1593 $("#mec_skin_" + settings.id + " .mec-skin-monthly-view-month-navigator-container").html('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 1594 1595 // Append Events Side 1596 $("#mec_skin_" + settings.id + " .mec-calendar-events-side").html('<div class="mec-month-side" id="mec_month_side_' + settings.id + '_' + response.current_month.id + '">' + response.events_side + '</div>'); 1597 1598 // Re-initialize Month Navigator 1599 initMonthNavigator(); 1600 1601 // Set onclick Listeners 1602 setListeners(); 1603 1604 // Toggle Month 1605 toggleMonth(response.current_month.id); 1606 1607 jQuery(document).trigger('load_calendar_data'); 1608 1609 // Remove loading Class 1610 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1611 1612 $(document).trigger('mec_search_init', ['monthly_view', settings, response]); 1613 1614 }, 1615 error: function () { } 1616 }); 1617 } 1618 1619 function setMonth(year, month, do_in_background, navigator_click) { 1620 if (typeof do_in_background === "undefined") do_in_background = false; 1621 navigator_click = navigator_click || false;
1622 var month_id = year + "" + month; 1623 1624 if (!do_in_background) { 1625 active_month = month; 1626 active_year = year; 1627 } 1628 1629 // Month exists so we just show it 1630 if ($("#mec_monthly_view_month_" + settings.id + "_" + month_id).length) { 1631 // Set Month Filter values in search widget 1632 $("#mec_sf_month_" + settings.id).val(month); 1633 $("#mec_sf_year_" + settings.id).val(year); 1634 1635 // Toggle Month 1636 toggleMonth(month_id); 1637 } else { 1638 if (!do_in_background) { 1639 1640 // Add Loading Class 1641 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1642 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1643 } 1644 1645 $.ajax({ 1646 url: settings.ajax_url, 1647 data: "action=mec_monthly_view_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=0" + "&navigator_click=" + navigator_click, 1648 dataType: "json", 1649 type: "post", 1650 success: function (response) { 1651 // Append Month 1652 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_monthly_view_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 1653 1654 // Append Month Navigator 1655 $("#mec_skin_" + settings.id + " .mec-skin-monthly-view-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 1656 1657 // Append Events Side 1658 $("#mec_skin_" + settings.id + " .mec-calendar-events-side").append('<div class="mec-month-side" id="mec_month_side_' + settings.id + '_' + response.current_month.id + '">' + response.events_side + '</div>'); 1659 1660 // Re-initialize Month Navigator 1661 initMonthNavigator(); 1662 1663 // Set onclick Listeners 1664 setListeners(); 1665 1666 if (!do_in_background) { 1667 // Toggle Month 1668 toggleMonth(response.current_month.id); 1669 1670 // Remove loading Class 1671 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1672 1673 // Set Month Filter values in search widget 1674 $("#mec_sf_month_" + settings.id).val(month); 1675 $("#mec_sf_year_" + settings.id).val(year); 1676 } else { 1677 $("#mec_monthly_view_month_" + settings.id + "_" + response.current_month.id).hide(); 1678 $("#mec_month_navigator_" + settings.id + "_" + response.current_month.id).hide(); 1679 $("#mec_month_side_" + settings.id + "_" + response.current_month.id).hide(); 1680 } 1681 if (typeof custom_month !== undefined) var custom_month; 1682 if (typeof custom_month != undefined) { 1683 if (custom_month == 'true') { 1684 $(".mec-month-container .mec-calendar-day").removeClass('mec-has-event'); 1685 $(".mec-month-container .mec-calendar-day").removeClass('mec-selected-day'); 1686 $('.mec-calendar-day').off('click'); 1687 } 1688 } 1689 1690 jQuery(document).trigger('load_calendar_data'); 1691 1692 }, 1693 error: function () { } 1694 }); 1695 } 1696 } 1697 1698 function toggleMonth(month_id) {
1699 var active_month = $("#mec_skin_" + settings.id + " .mec-month-container-selected").data("month-id"); 1700 var active_day = $("#mec_monthly_view_month_" + settings.id + "_" + active_month + " .mec-selected-day").data("day"); 1701 1702 if (active_day <= 9) active_day = "0" + active_day; 1703 1704 // Toggle Month Navigator 1705 $("#mec_skin_" + settings.id + " .mec-month-navigator").hide(); 1706 $("#mec_month_navigator_" + settings.id + "_" + month_id).show(); 1707 1708 // Toggle Month 1709 $("#mec_skin_" + settings.id + " .mec-month-container").hide(); 1710 $("#mec_monthly_view_month_" + settings.id + "_" + month_id).show(); 1711 1712 // Add selected class 1713 $("#mec_skin_" + settings.id + " .mec-month-container").removeClass("mec-month-container-selected"); 1714 $("#mec_monthly_view_month_" + settings.id + "_" + month_id).addClass("mec-month-container-selected"); 1715 1716 // Toggle Events Side 1717 $("#mec_skin_" + settings.id + " .mec-month-side").hide(); 1718 $("#mec_month_side_" + settings.id + "_" + month_id).show(); 1719 1720 jQuery(document).trigger('mec_toggle_month', [settings, month_id]); 1721 } 1722 1723 var sf; 1724 1725 function setListeners() { 1726 // Remove the onclick event 1727 $("#mec_skin_" + settings.id + " .mec-has-event").off("click"); 1728 1729 // Add the onclick event 1730 $("#mec_skin_" + settings.id + " .mec-has-event").on('click', function (e) { 1731 // define variables 1732 var $this = $(this), 1733 data_mec_cell = $this.data('mec-cell'), 1734 month_id = $this.data('month'); 1735 1736 if (settings.display_all == 0) { 1737 e.preventDefault(); 1738 1739 $("#mec_monthly_view_month_" + settings.id + "_" + month_id + " .mec-calendar-day").removeClass('mec-selected-day'); 1740 $this.addClass('mec-selected-day'); 1741 1742 $('#mec_month_side_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec:not([data-mec-cell=' + data_mec_cell + '])').slideUp(); 1743 $('#mec_month_side_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec[data-mec-cell=' + data_mec_cell + ']').slideDown(); 1744 1745 $('#mec_monthly_view_month_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec:not([data-mec-cell=' + data_mec_cell + '])').slideUp(); 1746 $('#mec_monthly_view_month_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec[data-mec-cell=' + data_mec_cell + ']').slideDown(); 1747 } 1748 else { 1749 $("#mec_monthly_view_month_" + settings.id + "_" + month_id + " .mec-calendar-day").removeClass('mec-selected-day'); 1750 $this.addClass('mec-selected-day'); 1751 } 1752 }); 1753 1754 $('.mec-subscribe-to-calendar-btn').off('click').on('click', function () { 1755 $(this).parent().find('>.mec-subscribe-to-calendar-items').toggle(); 1756 }); 1757 1758 mec_tooltip(); 1759 1760 // Single Event Method 1761 if (settings.sed_method != '0') { 1762 sed(); 1763 } 1764 1765 if (settings.style == 'novel') { 1766 if ($('.mec-single-event-novel').length > 0) { 1767 $('.mec-single-event-novel').colourBrightness(); 1768 $('.mec-single-event-novel').each(function () { 1769 $(this).colourBrightness() 1770 }); 1771 } 1772 } 1773 } 1774 1775 function sed() { 1776 // Single Event Display 1777 $("#mec_skin_" + settings.id + " .mec-event-title a,#mec_skin_" + settings.id + " .event-single-link-novel,#mec_skin_" + settings.id + " .mec-monthly-tooltip").off('click').on('click', function (e) { 1778 var sed_method = $(this).attr('target'); 1779 if ('_blank' === sed_method) { 1780 1781 return; 1782 } 1783 e.preventDefault(); 1784 var href = $(this).attr('href'); 1785 1786 var id = $(this).data('event-id'); 1787 var occurrence = get_parameter_by_name('occurrence', href); 1788 var time = get_parameter_by_name('time', href); 1789 1790 if ('undefined' == typeof id) { 1791 return; 1792 } 1793 1794 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 1795 }); 1796 1797 } 1798 1799 function mec_tooltip() { 1800 if ($('.mec-monthly-tooltip').length >= 1) { 1801 if (Math.max(document.documentElement.clientWidth, window.innerWidth || 0) > 768) { 1802 $('.mec-monthly-tooltip').tooltipster({ 1803 theme: 'tooltipster-shadow', 1804 interactive: true, 1805 delay: 100, 1806 minWidth: 350, 1807 maxWidth: 350 1808 }); 1809 if (settings.sed_method != '0') { 1810 sed(); 1811 } 1812 } else { 1813 var touchtime = 0; 1814 $(".mec-monthly-tooltip").on("click", function (event) { 1815 event.preventDefault(); 1816 if (touchtime == 0) { 1817 $('.mec-monthly-tooltip').tooltipster({ 1818 theme: 'tooltipster-shadow', 1819 interactive: true, 1820 delay: 100, 1821 minWidth: 350, 1822 maxWidth: 350, 1823 trigger: "custom", 1824 triggerOpen: { 1825 click: true, 1826 tap: true 1827 }, 1828 triggerClose: { 1829 click: true, 1830 tap: true 1831 } 1832 }); 1833 touchtime = new Date().getTime(); 1834 } else { 1835 if (((new Date().getTime()) - touchtime) < 200) { 1836 var el = $(this); 1837 var link = el.attr("href"); 1838 window.location = link; 1839 touchtime = 0; 1840 } else { 1841 touchtime = new Date().getTime(); 1842 } 1843 } 1844 }); 1845 } 1846 } 1847 } 1848 }; 1849 1850}(jQuery)); 1851 1852// MEC WEEKLY VIEW PLUGIN 1853(function ($) {
1854 $.fn.mecWeeklyView = function (options) { 1855 var active_year; 1856 var active_month; 1857 var active_week; 1858 var active_week_number; 1859 1860 // Default Options 1861 var settings = $.extend({ 1862 // These are the defaults. 1863 today: null, 1864 week: 1, 1865 id: 0, 1866 current_year: null, 1867 current_month: null, 1868 changeWeekElement: '.mec-load-week', 1869 month_navigator: 0, 1870 atts: '', 1871 ajax_url: '', 1872 sf: {} 1873 }, options); 1874 1875 // Set Active Time 1876 active_year = settings.current_year; 1877 active_month = settings.current_month; 1878 1879 // Search Widget 1880 if (settings.sf.container !== '') { 1881 $(settings.sf.container).mecSearchForm({ 1882 id: settings.id, 1883 refine: settings.sf.refine, 1884 ajax_url: settings.ajax_url, 1885 start_date: settings.start_date, 1886 atts: settings.atts, 1887 callback: function (atts) { 1888 settings.atts = atts; 1889 search(active_year, active_month, active_week); 1890 } 1891 }); 1892 1893 $(settings.sf.container).addClass('mec-skin-search-init'); 1894 } 1895 1896 // Set The Week 1897 setThisWeek(settings.month_id + settings.week); 1898 1899 // Set Listeners 1900 setListeners(); 1901 1902 // Initialize Month Navigator 1903 if (settings.month_navigator) initMonthNavigator(settings.month_id); 1904 1905 function setListeners() { 1906 $(settings.changeWeekElement).off('click').on('click', function (e) { 1907 var week = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active').data('week-id'); 1908 var max_weeks = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active').data('max-weeks'); 1909 var new_week_number = active_week_number; 1910 1911 if ($(this).hasClass('mec-previous-month')) { 1912 week = parseInt(week) - 1; 1913 new_week_number--; 1914 } else { 1915 week = parseInt(week) + 1; 1916 new_week_number++; 1917 } 1918 1919 if (new_week_number <= 1 || new_week_number >= max_weeks) { 1920 // Disable Next/Previous Button 1921 $(this).css({ 1922 'opacity': .6, 1923 'cursor': 'default' 1924 }); 1925 $(this).find('i').css({ 1926 'opacity': .6, 1927 'cursor': 'default' 1928 }); 1929 } else { 1930 // Enable Next/Previous Buttons 1931 $('#mec_skin_' + settings.id + ' .mec-load-week, #mec_skin_' + settings.id + ' .mec-load-week i').css({ 1932 'opacity': 1, 1933 'cursor': 'pointer' 1934 }); 1935 } 1936 1937 // Week is not in valid range 1938 if (new_week_number === 0 || new_week_number > max_weeks) { } else { 1939 setThisWeek(week); 1940 } 1941 }); 1942 1943 $('.mec-subscribe-to-calendar-btn').off('click').on('click', function () { 1944 $(this).parent().find('>.mec-subscribe-to-calendar-items').toggle(); 1945 }); 1946 1947 // Single Event Method 1948 if (settings.sed_method != '0') { 1949 sed(); 1950 } 1951 } 1952 1953 function setThisWeek(week, auto_focus) { 1954 if (typeof auto_focus === 'undefined') auto_focus = false; 1955 1956 // Week is not exists 1957 if (!$('#mec_weekly_view_week_' + settings.id + '_' + week).length) { 1958 return setThisWeek((parseInt(week) - 1)); 1959 } 1960 1961 // Set week to active in week list 1962 $('#mec_skin_' + settings.id + ' .mec-weekly-view-week').removeClass('mec-weekly-view-week-active'); 1963 $('#mec_weekly_view_week_' + settings.id + '_' + week).addClass('mec-weekly-view-week-active'); 1964 $('#mec_weekly_view_top_week_' + settings.id + '_' + week).addClass('mec-weekly-view-week-active'); 1965 1966 // Show related events 1967 $('#mec_skin_' + settings.id + ' .mec-weekly-view-date-events').addClass('mec-util-hidden'); 1968 $('.mec-weekly-view-week-' + settings.id + '-' + week).removeClass('mec-util-hidden'); 1969 $('#mec_skin_' + settings.id + ' .mec-calendar-row').addClass('mec-util-hidden'); 1970 $('#mec_skin_' + settings.id + ' .mec-calendar-row[data-week=' + week % 10 + ']').removeClass('mec-util-hidden'); 1971 1972 active_week = week; 1973 active_week_number = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active').data('week-number'); 1974 1975 $('#mec_skin_' + settings.id + ' .mec-calendar-d-top').find('.mec-current-week').find('span').remove(); 1976 $('#mec_skin_' + settings.id + ' .mec-calendar-d-top').find('.mec-current-week').append('<span>' + active_week_number + '</span>'); 1977 1978 if (active_week_number === 1) { 1979 // Disable Previous Button 1980 $('#mec_skin_' + settings.id + ' .mec-previous-month.mec-load-week').css({ 1981 'opacity': .6, 1982 'cursor': 'default' 1983 }); 1984 $('#mec_skin_' + settings.id + ' .mec-previous-month.mec-load-week').find('i').css({ 1985 'opacity': .6, 1986 'cursor': 'default' 1987 }); 1988 } 1989 1990 // Go To Event Week
1991 if (auto_focus) mec_focus_week(settings.id); 1992 1993 mecFluentCustomScrollbar(); 1994 } 1995 1996 function initMonthNavigator(month_id) { 1997 $('#mec_month_navigator' + settings.id + '_' + month_id + ' .mec-load-month').off('click').on('click', function () { 1998 var year = $(this).data('mec-year'); 1999 var month = $(this).data('mec-month'); 2000 2001 setMonth(year, month, active_week, true); 2002 }); 2003 } 2004 2005 function search(year, month, week, navigation_click) { 2006 var week_number = (String(week).slice(-1)); 2007 2008 // Add Loading Class 2009 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2010 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2011 2012 $.ajax({ 2013 url: settings.ajax_url, 2014 data: "action=mec_weekly_view_load_month&mec_year=" + year + "&mec_month=" + month + "&mec_week=" + week_number + "&" + settings.atts + "&apply_sf_date=1", 2015 dataType: "json", 2016 type: "post", 2017 success: function (response) { 2018 // Remove Loading Class 2019 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2020 2021 // Append Month 2022 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_weekly_view_month_' + settings.id + '_' + response.current_month.id + '">' + response.month + '</div>'); 2023 2024 // Append Month Navigator 2025 $("#mec_skin_" + settings.id + " .mec-skin-weekly-view-month-navigator-container").html('<div class="mec-month-navigator" id="mec_month_navigator' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 2026 2027 // Set Listeners 2028 setListeners(); 2029 2030 // Toggle Month 2031 toggleMonth(response.current_month.id); 2032 2033 // Set active week 2034 setThisWeek(response.week_id, true); 2035 mecFluentCustomScrollbar(); 2036 2037 $(document).trigger('mec_search_init', ['weekly_view', settings, response]); 2038 }, 2039 error: function () { } 2040 }); 2041 } 2042 2043 function setMonth(year, month, week, navigation_click) { 2044 var month_id = '' + year + month; 2045 var week_number = (String(week).slice(-1)); 2046 2047 active_month = month; 2048 active_year = year; 2049 navigation_click = navigation_click || false; 2050 2051 // Month exists so we just show it 2052 if ($("#mec_weekly_view_month_" + settings.id + "_" + month_id).length) { 2053 // Set Month Filter values in search widget 2054 $("#mec_sf_month_" + settings.id).val(month); 2055 $("#mec_sf_year_" + settings.id).val(year); 2056 2057 // Toggle Month 2058 toggleMonth(month_id); 2059 2060 // Set active week 2061 setThisWeek('' + month_id + week_number, true); 2062 mecFluentCustomScrollbar(); 2063 } else { 2064 // Add Loading Class 2065 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2066 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2067 2068 $.ajax({
2069 url: settings.ajax_url, 2070 data: "action=mec_weekly_view_load_month&mec_year=" + year + "&mec_month=" + month + "&mec_week=" + week_number + "&" + settings.atts + "&apply_sf_date=0" + "&navigator_click=" + navigation_click, 2071 dataType: "json", 2072 type: "post", 2073 success: function (response) { 2074 // Remove Loading Class 2075 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2076 2077 $('#mec_skin_' + settings.id + ' .mec-calendar-d-top h3').after(response.topWeeks); 2078 2079 // Append Month 2080 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_weekly_view_month_' + settings.id + '_' + response.current_month.id + '">' + response.month + '</div>'); 2081 2082 // Append Month Navigator 2083 $("#mec_skin_" + settings.id + " .mec-skin-weekly-view-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 2084 2085 // Set Listeners 2086 setListeners(); 2087 2088 // Toggle Month 2089 toggleMonth(response.current_month.id); 2090 2091 // Set active week 2092 setThisWeek(response.week_id, true); 2093 2094 // Set Month Filter values in search widget 2095 $("#mec_sf_month_" + settings.id).val(month); 2096 $("#mec_sf_year_" + settings.id).val(year); 2097 mecFluentCustomScrollbar(); 2098 }, 2099 error: function () { } 2100 }); 2101 } 2102 } 2103 2104 function toggleMonth(month_id) { 2105 // Show related events 2106 $('#mec_skin_' + settings.id + ' .mec-month-container').addClass('mec-util-hidden'); 2107 $('#mec_weekly_view_month_' + settings.id + '_' + month_id).removeClass('mec-util-hidden'); 2108 2109 $('#mec_skin_' + settings.id + ' .mec-month-navigator').addClass('mec-util-hidden'); 2110 $('#mec_month_navigator' + settings.id + '_' + month_id).removeClass('mec-util-hidden'); 2111 2112 // Initialize Month Navigator 2113 if (settings.month_navigator) initMonthNavigator(month_id); 2114 2115 jQuery(document).trigger('mec_toggle_month', [settings, month_id]); 2116 } 2117 2118 function sed() { 2119 // Single Event Display 2120 $("#mec_skin_" + settings.id + " .mec-event-title a").off('click').on('click', function (e) { 2121 var sed_method = $(this).attr('target'); 2122 if ('_blank' === sed_method) { 2123 return; 2124 } 2125 2126 e.preventDefault(); 2127 var href = $(this).attr('href'); 2128 2129 var id = $(this).data('event-id'); 2130 var occurrence = get_parameter_by_name('occurrence', href); 2131 var time = get_parameter_by_name('time', href); 2132 2133 if ('undefined' == typeof id) { 2134 return; 2135 } 2136 2137 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 2138 }); 2139 } 2140 }; 2141 2142}(jQuery)); 2143 2144// MEC DAILY VIEW PLUGIN 2145(function ($) { 2146 $.fn.mecDailyView = function (options) { 2147 var active_month; 2148 var active_year; 2149 var active_day; 2150 2151 // Default Options 2152 var settings = $.extend({ 2153 // These are the defaults. 2154 today: null, 2155 id: 0, 2156 changeDayElement: '.mec-daily-view-day', 2157 events_label: 'Events', 2158 event_label: 'Event', 2159 month_navigator: 0, 2160 atts: '', 2161 ajax_url: '', 2162 sf: {}, 2163 }, options); 2164 2165 active_month = settings.month; 2166 active_year = settings.year; 2167 active_day = settings.day; 2168 2169 mecFluentCustomScrollbar(); 2170 2171 // Set Today 2172 setToday(settings.today); 2173 2174 // Set Listeners 2175 setListeners(); 2176 2177 // Initialize Month Navigator 2178 if (settings.month_navigator) initMonthNavigator(settings.month_i
2178d); 2179 2180 // Initialize Days Slider 2181 initDaysSlider(settings.month_id); 2182 2183 // Slider first event day focus when page load. 2184 mecFocusDay(settings); 2185 2186 // Search Widget 2187 if (settings.sf.container !== '') { 2188 $(settings.sf.container).mecSearchForm({ 2189 id: settings.id, 2190 refine: settings.sf.refine, 2191 ajax_url: settings.ajax_url, 2192 start_date: settings.start_date, 2193 atts: settings.atts, 2194 callback: function (atts) { 2195 settings.atts = atts; 2196 search(active_year, active_month, active_day); 2197 } 2198 }); 2199 2200 $(settings.sf.container).addClass('mec-skin-search-init'); 2201 } 2202 2203 function setListeners() { 2204 $(settings.changeDayElement).on('click', function () { 2205 var today = $(this).data('day-id'); 2206 setToday(today); 2207 mecFluentCustomScrollbar(); 2208 }); 2209 2210 $('.mec-subscribe-to-calendar-btn').off('click').on('click', function () { 2211 $(this).parent().find('>.mec-subscribe-to-calendar-items').toggle(); 2212 }); 2213 2214 // Single Event Method 2215 if (settings.sed_method != '0') { 2216 sed(); 2217 } 2218 } 2219 2220 var current_monthday; 2221 2222 function setToday(today) { 2223 // For caring about 31st, 30th and 29th of some months 2224 if (!$('#mec_daily_view_day' + settings.id + '_' + today).length) { 2225 setToday(parseInt(today) - 1); 2226 return false; 2227 } 2228 2229 // Set day to active in day list 2230 $('.mec-daily-view-day').removeClass('mec-daily-view-day-active mec-color'); 2231 $('#mec_daily_view_day' + settings.id + '_' + today).addClass('mec-daily-view-day-active mec-color'); 2232 2233 // Show related events 2234 $('.mec-daily-view-date-events').addClass('mec-util-hidden'); 2235 $('#mec_daily_view_date_events' + settings.id + '_' + today).removeClass('mec-util-hidden'); 2236 $('.mec-daily-view-events').addClass('mec-util-hidden'); 2237 $('#mec-daily-view-events' + settings.id + '_' + today).removeClass('mec-util-hidden'); 2238 2239 // Set today label 2240 var weekday = $('#mec_daily_view_day' + settings.id + '_' + today).data('day-weekday'); 2241 var monthday = $('#mec_daily_view_day' + settings.id + '_' + today).data('day-monthday'); 2242 var count = $('#mec_daily_view_day' + settings.id + '_' + today).data('events-count'); 2243 var month_id = $('#mec_daily_view_day' + settings.id + '_' + today).data('month-id'); 2244 2245 $('#mec_today_container' + settings.id + '_' + month_id).html('<h2>' + monthday + '</h2><h3>' + weekday + '</h3><div class="mec-today-count">' + count + ' ' + (count > 1 ? settings.events_label : settings.event_label) + '</div>'); 2246 2247 if (monthday <= 9) current_monthday = '0' + monthday; 2248 else current_monthday = monthday; 2249 } 2250 2251 function initMonthNavigator(month_id) { 2252 $('#mec_month_navigator' + settings.id + '_' + month_id + ' .mec-load-month').off('click'); 2253 $('#mec_month_navigator' + settings.id + '_' + month_id + ' .mec-load-month').on('click', function () { 2254 var year = $(this).data('mec-year'); 2255 var month = $(this).data('mec-month'); 2256 2257 setMonth(year, month, current_monthday, true); 2258 }); 2259 } 2260 2261 function initDaysSlider(month_id, day_id) { 2262 // Set Global Month ID
2263 mec_g_month_id = month_id; 2264 2265 // Check RTL website 2266 var owl_rtl = $('body').hasClass('rtl') ? true : false; 2267 2268 // Init Days slider 2269 var owl = $("#mec-owl-calendar-d-table-" + settings.id + "-" + month_id); 2270 if (owl.hasClass('owl-loaded')) { 2271 owl.trigger('destroy.owl.carousel'); 2272 owl.removeClass('owl-loaded'); 2273 owl.find('.owl-stage-outer').children().unwrap(); 2274 } 2275 2276 // Check if carousel is in a narrow container (like sidebar) 2277 var parentWidth = owl.parent().width(); 2278 var isNarrowContainer = parentWidth < 500; 2279 2280 var responsiveConfig = { 2281 0: { 2282 items: owl.closest('.mec-fluent-wrap,.mec-liquid-wrap').length > 0 ? 3 : 2, 2283 }, 2284 479: { 2285 items: isNarrowContainer ? 3 : 4, 2286 }, 2287 767: { 2288 items: isNarrowContainer ? 4 : 7, 2289 }, 2290 960: { 2291 items: isNarrowContainer ? 5 : 14, 2292 }, 2293 1000: { 2294 items: isNarrowContainer ? 6 : 19, 2295 }, 2296 1200: { 2297 items: isNarrowContainer ? 7 : 22, 2298 } 2299 }; 2300 2301 owl.owlCarousel({ 2302 responsiveClass: true, 2303 responsive: responsiveConfig, 2304 dots: false, 2305 loop: false, 2306 rtl: owl_rtl, 2307 navElement: 'button type="button" role="button"', 2308 }); 2309 2310 $(document).trigger('mec_daily_slider_init', [owl, owl_rtl]); 2311 2312 // Custom Navigation Events 2313 $("#mec_daily_view_month_" + settings.id + "_" + month_id + " .mec-table-d-next").click(function (e) { 2314 e.preventDefault(); 2315 owl.trigger('next.owl.carousel'); 2316 }); 2317 2318 $("#mec_daily_view_month_" + settings.id + "_" + month_id + " .mec-table-d-prev").click(function (e) { 2319 e.preventDefault(); 2320 owl.trigger('prev.owl.carousel'); 2321 }); 2322 2323 if (typeof day_id === 'undefined') day_id = $('.mec-daily-view-day-active').data('day-id'); 2324 2325 var today_str = day_id.toString().substring(6, 8); 2326 var today_int = parseInt(today_str); 2327 2328 owl.trigger('owl.goTo', [today_int]); 2329 2330 owl.removeClass('owl-hidden'); 2331 } 2332 2333 function search(year, month, day) { 2334 // Add Loading Class 2335 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2336 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2337 2338 $.ajax({
2339 url: settings.ajax_url, 2340 data: "action=mec_daily_view_load_month&mec_year=" + year + "&mec_month=" + month + "&mec_day=" + day + "&" + settings.atts + "&apply_sf_date=1", 2341 dataType: "json", 2342 type: "post", 2343 success: function (response) { 2344 // Remove Loading Class 2345 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2346 2347 // Append Month 2348 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_daily_view_month_' + settings.id + '_' + response.current_month.id + '">' + response.month + '</div>'); 2349 2350 // Append Month Navigator 2351 $("#mec_skin_" + settings.id + " .mec-calendar-a-month.mec-clear").html('<div class="mec-month-navigator" id="mec_month_navigator' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 2352 2353 // Set Listeners 2354 setListeners(); 2355 2356 active_year = response.current_month.year; 2357 active_month = response.current_month.month; 2358 2359 // Toggle Month 2360 toggleMonth(response.current_month.id, '' + active_year + active_month + active_day); 2361 2362 // Set Today 2363 setToday('' + active_year + active_month + active_day); 2364 2365 // Focus First Active Day 2366 mecFocusDay(settings); 2367 mecFluentCustomScrollbar(); 2368 2369 $(document).trigger('mec_search_init', ['daily_view', settings, response]); 2370 }, 2371 error: function () { } 2372 }); 2373 } 2374 2375 function setMonth(year, month, day, navigation_click) { 2376 var month_id = '' + year + month; 2377 2378 active_month = month; 2379 active_year = year; 2380 active_day = day; 2381 navigation_click = navigation_click || false; 2382 2383 // Month exists so we just show it 2384 if ($("#mec_daily_view_month_" + settings.id + "_" + month_id).length) { 2385 // Set Month Filter values in search widget 2386 $("#mec_sf_month_" + settings.id).val(month); 2387 $("#mec_sf_year_" + settings.id).val(year); 2388 2389 // Toggle Month 2390 toggleMonth(month_id); 2391 2392 // Set Today 2393 setToday('' + month_id + day); 2394 } else { 2395 // Add Loading Class 2396 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2397 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2398 2399 $.ajax({
2400 url: settings.ajax_url, 2401 data: "action=mec_daily_view_load_month&mec_year=" + year + "&mec_month=" + month + "&mec_day=" + day + "&" + settings.atts + "&apply_sf_date=0" + "&navigator_click=" + navigation_click, 2402 dataType: "json", 2403 type: "post", 2404 success: function (response) { 2405 // Remove Loading Class 2406 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2407 2408 // Append Month 2409 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_daily_view_month_' + settings.id + '_' + response.current_month.id + '">' + response.month + '</div>'); 2410 2411 // Append Month Navigator 2412 $("#mec_skin_" + settings.id + " .mec-calendar-a-month.mec-clear").append('<div class="mec-month-navigator" id="mec_month_navigator' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 2413 2414 // Set Listeners 2415 setListeners(); 2416 2417 // Toggle Month 2418 toggleMonth(response.current_month.id, '' + year + month + '01'); 2419 2420 // Set Today 2421 setToday('' + year + month + '01'); 2422 2423 // Set Month Filter values in search widget 2424 $("#mec_sf_month_" + settings.id).val(month); 2425 $("#mec_sf_year_" + settings.id).val(year); 2426 mecFluentCustomScrollbar(); 2427 }, 2428 error: function () { } 2429 }); 2430 } 2431 } 2432 2433 function toggleMonth(month_id, day_id) { 2434 // Show related events 2435 $('#mec_skin_' + settings.id + ' .mec-month-container').addClass('mec-util-hidden'); 2436 $('#mec_daily_view_month_' + settings.id + '_' + month_id).removeClass('mec-util-hidden'); 2437 2438 $('#mec_skin_' + settings.id + ' .mec-month-navigator').addClass('mec-util-hidden'); 2439 $('#mec_month_navigator' + settings.id + '_' + month_id).removeClass('mec-util-hidden'); 2440 2441 // Initialize Month Navigator 2442 if (settings.month_navigator) initMonthNavigator(month_id); 2443 2444 // Initialize Days Slider 2445 initDaysSlider(month_id, day_id); 2446 2447 // Focus First Active Day 2448 mecFocusDay(settings); 2449 2450 jQuery(document).trigger('mec_toggle_month', [settings, month_id]); 2451 } 2452 2453 function sed() { 2454 // Single Event Display 2455 $("#mec_skin_" + settings.id + " .mec-event-title a").off('click').on('click', function (e) { 2456 var sed_method = $(this).attr('target'); 2457 if ('_blank' === sed_method) { 2458 2459 return; 2460 } 2461 e.preventDefault(); 2462 var href = $(this).attr('href'); 2463 2464 var id = $(this).data('event-id'); 2465 var occurrence = get_parameter_by_name('occurrence', href); 2466 var time = get_parameter_by_name('time', href); 2467 2468 if ('undefined' == typeof id) { 2469 return; 2470 } 2471 2472 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 2473 }); 2474 } 2475 }; 2476 2477}(jQuery)); 2478 2479// MEC TIMETABLE PLUGIN 2480(function ($) { 2481 $.fn.mecTimeTable = function (options) { 2482 var active_year; 2483 var active_month; 2484 var active_week; 2485 var active_week_number; 2486 var active_day; 2487 2488 // Default Options 2489 var settings = $.extend({ 2490 // These are the defaults. 2491 today: null, 2492 week: 1, 2493 active_day: 1, 2494 id: 0, 2495 changeWeekElement: '.mec-load-week', 2496 month_navigator: 0, 2497 atts: '', 2498 ajax_url: '', 2499 sf: {} 2500 }, options); 2501 2502 // Search Widget 2503 if (settings.sf.container !== '') { 2504 $(settings.sf.container).mecSearchForm({ 2505 id: settings.id, 2506 refine: settings.sf.refine, 2507 ajax_url: settings.ajax_url, 2508 start_date: settings.start_date, 2509 atts: settings.atts, 2510 callback: function (atts) { 2511 settings.atts = atts; 2512 search(active_year, active_month, active_week, active_day); 2513 } 2514 }); 2515 2516 $(settings.sf.container).addClass('mec-skin-search-init'); 2517 } 2518 2519 // Set The Week
2520 setThisWeek(settings.month_id + settings.week, settings.active_day); 2521 2522 // Set Listeners 2523 setListeners(); 2524 2525 // Initialize Month Navigator 2526 if (settings.month_navigator) initMonthNavigator(settings.month_id); 2527 2528 function setListeners() { 2529 // Change Week Listener 2530 $(settings.changeWeekElement).off('click').on('click', function () { 2531 var week = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active').data('week-id'); 2532 var max_weeks = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active').data('max-weeks'); 2533 var new_week_number = active_week_number; 2534 2535 if ($(this).hasClass('mec-previous-month')) { 2536 week = parseInt(week) - 1; 2537 new_week_number--; 2538 } else { 2539 week = parseInt(week) + 1; 2540 new_week_number++; 2541 } 2542 2543 if (new_week_number <= 1 || new_week_number >= max_weeks) { 2544 // Disable Next/Previous Button 2545 $(this).css({ 2546 'opacity': .6, 2547 'cursor': 'default' 2548 }); 2549 $(this).find('i').css({ 2550 'opacity': .6, 2551 'cursor': 'default' 2552 }); 2553 } else { 2554 // Enable Next/Previous Buttons 2555 $('#mec_skin_' + settings.id + ' .mec-load-week, #mec_skin_' + settings.id + ' .mec-load-week i').css({ 2556 'opacity': 1, 2557 'cursor': 'pointer' 2558 }); 2559 } 2560 2561 // Week is not in valid range 2562 if (new_week_number === 0 || new_week_number > max_weeks) { } else { 2563 setThisWeek(week); 2564 } 2565 }); 2566 2567 // Change Day Listener 2568 $('#mec_skin_' + settings.id + ' .mec-weekly-view-week dt').not('.mec-timetable-has-no-event').off('click').on('click', function () { 2569 var day = $(this).data('date-id'); 2570 setDay(day); 2571 }); 2572 2573 // Single Event Method 2574 if (settings.sed_method != '0') { 2575 sed(); 2576 } 2577 } 2578 2579 function setThisWeek(week, day) { 2580 // Week is not exists 2581 if (!$('#mec_weekly_view_week_' + settings.id + '_' + week).length) { 2582 return setThisWeek((parseInt(week) - 1), day); 2583 } 2584 2585 // Set week to active in week list 2586 $('#mec_skin_' + settings.id + ' .mec-weekly-view-week').removeClass('mec-weekly-view-week-active'); 2587 $('#mec_weekly_view_week_' + settings.id + '_' + week).addClass('mec-weekly-view-week-active'); 2588 2589 setDay(day); 2590 2591 active_week = week; 2592 active_week_number = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active').data('week-number'); 2593 2594 $('#mec_skin_' + settings.id + ' .mec-calendar-d-top').find('.mec-current-week').find('span').remove(); 2595 $('#mec_skin_' + settings.id + ' .mec-calendar-d-top').find('.mec-current-week').append('<span>' + active_week_number + '</span>'); 2596 2597 if (active_week_number === 1) { 2598 // Disable Previous Button 2599 $('#mec_skin_' + settings.id + ' .mec-previous-month.mec-load-week').css({ 2600 'opacity': .6, 2601 'cursor': 'default' 2602 }); 2603 $('#mec_skin_' + settings.id + ' .mec-previous-month.mec-load-week').find('i').css({ 2604 'opacity': .6, 2605 'cursor': 'default' 2606 }); 2607 } 2608 } 2609 2610 function setDay(day) { 2611 // Find the date automatically 2612 if (typeof day === 'undefined') { 2613 day = $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active dt').not('.mec-timetable-has-no-event').first().data('date-id'); 2614 } 2615 2616 // Activate the date element 2617 $('#mec_skin_' + settings.id + ' dt').removeClass('mec-timetable-day-active'); 2618 $('#mec_skin_' + settings.id + ' .mec-weekly-view-week-active dt[data-date-id="' + day + '"]').addClass('mec-timetable-day-active'); 2619 2620 // Show related events 2621 $('#mec_skin_' + settings.id + ' .mec-weekly-view-date-events').addClass('mec-util-hidden'); 2622 $('.mec_weekly_view_date_events' + settings.id + '_' + day).removeClass('mec-util-hidden').show(); 2623 } 2624 2625 function initMonthNavigator(month_id) { 2626 $('#mec_month_navigator' + settings.id + '_' + month_id + ' .mec-load-month').off('click').on('click', function () { 2627 var year = $(this).data('mec-year');
2628 var month = $(this).data('mec-month'); 2629 2630 setMonth(year, month, active_week); 2631 }); 2632 } 2633 2634 function search(year, month, week) { 2635 var week_number = (String(week).slice(-1)); 2636 2637 // Add Loading Class 2638 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2639 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2640 2641 // Set MEC Year And Month If Undefined 2642 year = typeof year == 'undefined' ? '' : year; 2643 month = typeof month == 'undefined' ? '' : month; 2644 2645 // Append current week to data body for used after filter. 2646 $('body').data('currentweek', $("#mec_skin_events_" + settings.id).find('.mec-current-week > span').html()); 2647 2648 $.ajax({ 2649 url: settings.ajax_url, 2650 data: "action=mec_timetable_load_month&mec_year=" + year + "&mec_month=" + month + "&mec_week=" + week_number + "&" + settings.atts + "&apply_sf_date=1", 2651 dataType: "json", 2652 type: "post", 2653 success: function (response) { 2654 // Remove Loading Class 2655 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2656 2657 // Append Month 2658 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_timetable_month_' + settings.id + '_' + response.current_month.id + '">' + response.month + '</div>'); 2659 2660 // Append Month Navigator 2661 $("#mec_skin_" + settings.id + " .mec-skin-weekly-view-month-navigator-container").html('<div class="mec-month-navigator" id="mec_month_navigator' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 2662 2663 // Set Listeners 2664 setListeners(); 2665 2666 // Toggle Month 2667 toggleMonth(response.current_month.id); 2668 2669 // Set active week 2670 setThisWeek(response.week_id); 2671 2672 // Focus First Active Week 2673 mec_focus_week(settings.id, 'timetable'); 2674 2675 mecFluentCustomScrollbar(); 2676 2677 $(document).trigger('mec_search_init', ['timetable', settings, response]); 2678 }, 2679 error: function () { } 2680 }); 2681 } 2682 2683 function setMonth(year, month, week) { 2684 var month_id = '' + year + month; 2685 var week_number = (String(week).slice(-1)); 2686 2687 active_month = month; 2688 active_year = year; 2689 2690 // Month exists so we just show it 2691 if ($("#mec_timetable_month_" + settings.id + "_" + month_id).length) { 2692 // Toggle Month 2693 toggleMonth(month_id); 2694 2695 // Set active week 2696 setThisWeek('' + month_id + week_number); 2697 } else { 2698 // Add Loading Class 2699 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2700 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2701 2702 $.ajax({
2703 url: settings.ajax_url, 2704 data: "action=mec_timetable_load_month&mec_year=" + year + "&mec_month=" + month + "&mec_week=" + week_number + "&" + settings.atts + "&apply_sf_date=0", 2705 dataType: "json", 2706 type: "post", 2707 success: function (response) { 2708 // Remove Loading Class 2709 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2710 2711 // Append Month 2712 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_timetable_month_' + settings.id + '_' + response.current_month.id + '">' + response.month + '</div>'); 2713 2714 // Append Month Navigator 2715 $("#mec_skin_" + settings.id + " .mec-skin-weekly-view-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 2716 2717 // Set Listeners 2718 setListeners(); 2719 2720 // Toggle Month 2721 toggleMonth(response.current_month.id); 2722 2723 // Set active week 2724 setThisWeek(response.week_id); 2725 2726 // Set Month Filter values in search widget 2727 $("#mec_sf_month_" + settings.id).val(month); 2728 $("#mec_sf_year_" + settings.id).val(year); 2729 }, 2730 error: function () { } 2731 }); 2732 } 2733 } 2734 2735 function toggleMonth(month_id) { 2736 // Show related events 2737 $('#mec_skin_' + settings.id + ' .mec-month-container').addClass('mec-util-hidden'); 2738 $('#mec_timetable_month_' + settings.id + '_' + month_id).removeClass('mec-util-hidden'); 2739 2740 $('#mec_skin_' + settings.id + ' .mec-month-navigator').addClass('mec-util-hidden'); 2741 $('#mec_month_navigator' + settings.id + '_' + month_id).removeClass('mec-util-hidden'); 2742 2743 // Initialize Month Navigator 2744 if (settings.month_navigator) initMonthNavigator(month_id); 2745 2746 jQuery(document).trigger('mec_toggle_month', [settings, month_id]); 2747 } 2748 2749 function sed() { 2750 // Single Event Display 2751 $("#mec_skin_" + settings.id + " .mec-timetable-event-title a").off('click').on('click', function (e) { 2752 e.preventDefault(); 2753 var href = $(this).attr('href'); 2754 2755 var id = $(this).data('event-id'); 2756 var occurrence = get_parameter_by_name('occurrence', href); 2757 var time = get_parameter_by_name('time', href); 2758 2759 if ('undefined' == typeof id) { 2760 return; 2761 } 2762 2763 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 2764 }); 2765 } 2766 }; 2767 2768}(jQuery)); 2769 2770// MEC WEEKLY PROGRAM PLUGIN 2771(function ($) { 2772 $.fn.mecWeeklyProgram = function (options) { 2773 // Default Options 2774 var settings = $.extend({ 2775 // These are the defaults. 2776 id: 0, 2777 atts: '', 2778 sf: {} 2779 }, options); 2780 var currentStartDate = settings.start_date; 2781 2782 // Search Widget 2783 if (settings.sf.container !== '') { 2784 $(settings.sf.container).mecSearchForm({ 2785 id: settings.id, 2786 refine: settings.sf.refine, 2787 ajax_url: settings.ajax_url, 2788 start_date: settings.start_date, 2789 atts: settings.atts, 2790 callback: function (atts) { 2791 settings.atts = atts; 2792 search(); 2793 } 2794 }); 2795 2796 $(settings.sf.container).addClass('mec-skin-search-init'); 2797 } 2798 2799 // Set Listeners 2800 setListeners(); 2801 2802 function setListeners() { 2803 if (settings.week_navigator) { 2804 $('#mec_skin_' + settings.id + ' .mec-timetable-week-navigator .mec-load-week').off('click').on('click', function (e) { 2805 e.preventDefault(); 2806 loadWeek($(this).data('mec-start-date')); 2807 }); 2808 } 2809 2810 // Single Event Method 2811 if (settings.sed_method != '0') { 2812 sed(); 2813 } 2814 } 2815 2816 function search() { 2817 var $modal = $('.mec-modal-result'); 2818 2819 // Add Loading Class 2820 if ($modal.length === 0) $('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2821 $modal.addClass('mec-month-navigator-loading'); 2822 2823 $.ajax({
2824 url: settings.ajax_url, 2825 data: "action=mec_weeklyprogram_load&mec_start_date=" + encodeURIComponent(currentStartDate) + "&" + settings.atts + "&apply_sf_date=1", 2826 dataType: "json", 2827 type: "post", 2828 success: function (response) { 2829 // Remove Loading Class 2830 $modal.removeClass("mec-month-navigator-loading"); 2831 2832 // Append Month 2833 $("#mec_skin_events_" + settings.id).html(response.date_events); 2834 2835 // Set Listeners 2836 setListeners(); 2837 2838 $(document).trigger('mec_search_init', ['weeklyprogram', settings, response]); 2839 }, 2840 error: function () { } 2841 }); 2842 } 2843 2844 function loadWeek(startDate) { 2845 if (!startDate) return; 2846 2847 var $modal = $('.mec-modal-result'); 2848 if ($modal.length === 0) $('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2849 $('.mec-modal-result').addClass('mec-month-navigator-loading'); 2850 2851 $.ajax({
2852 url: settings.ajax_url, 2853 data: "action=mec_weeklyprogram_load&mec_start_date=" + encodeURIComponent(startDate) + "&" + settings.atts + "&apply_sf_date=0", 2854 dataType: "json", 2855 type: "post", 2856 success: function (response) { 2857 $('.mec-modal-result').removeClass('mec-month-navigator-loading'); 2858 currentStartDate = startDate; 2859 $('#mec_skin_events_' + settings.id).html(response.date_events); 2860 $('#mec_skin_' + settings.id + ' .mec-timetable-week-navigator').html(response.navigator); 2861 setListeners(); 2862 }, 2863 error: function () { 2864 $('.mec-modal-result').removeClass('mec-month-navigator-loading'); 2865 } 2866 }); 2867 } 2868 2869 function sed() { 2870 // Single Event Display 2871 $("#mec_skin_" + settings.id + " .mec-event-title a").off('click').on('click', function (e) { 2872 var sed_method = $(this).attr('target'); 2873 if ('_blank' === sed_method) { 2874 2875 return; 2876 } 2877 e.preventDefault(); 2878 var href = $(this).attr('href'); 2879 2880 var id = $(this).data('event-id'); 2881 var occurrence = get_parameter_by_name('occurrence', href); 2882 var time = get_parameter_by_name('time', href); 2883 2884 if ('undefined' == typeof id) { 2885 return; 2886 } 2887 2888 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 2889 }); 2890 } 2891 }; 2892 2893}(jQuery)); 2894 2895// MEC MASONRY VIEW PLUGIN 2896(function ($) { 2897 $.fn.mecMasonryView = function (options) { 2898 // Default Options 2899 var settings = $.extend({ 2900 // These are the defaults. 2901 id: 0, 2902 atts: '', 2903 ajax_url: '', 2904 sf: {}, 2905 end_date: '', 2906 offset: 0, 2907 start_date: '', 2908 pagination: '0', 2909 infinite_locked: false, 2910 }, options); 2911 2912 let history = []; 2913 const $next = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-next-button'); 2914 const $prev = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-prev-button'); 2915 2916 // Set onclick Listeners 2917 setListeners(); 2918 2919 // Init Masonry 2920 initMasonry(); 2921 if (typeof custom_dev !== undefined) var custom_dev; 2922 if (custom_dev == 'yes') { 2923 $(".mec-wrap").css("height", "1550"); 2924 if (Math.max(document.documentElement.clientWidth, window.innerWidth || 0) < 768) { 2925 $(".mec-wrap").css("height", "5500"); 2926 } 2927 if (Math.max(document.documentElement.clientWidth, window.innerWidth || 0) < 480) { 2928 $(".mec-wrap").css("height", "5000"); 2929 } 2930 $(".mec-event-masonry .mec-masonry-item-wrap:nth-child(n+20)").css("display", "none"); 2931 $(".mec-load-more-button").on("click", function () { 2932 $(".mec-event-masonry .mec-masonry-item-wrap:nth-child(n+20)").css("display", "block"); 2933 $(".mec-wrap").css("height", "auto"); 2934 initMasonry(); 2935 $(".mec-load-more-button").hide(); 2936 }) 2937 $(".mec-events-masonry-cats a:first-child").on("click", function () { 2938 $(".mec-wrap").css("height", "auto"); 2939 $(".mec-event-masonry .mec-masonry-item-wrap:nth-child(n+20)").css("display", "block"); 2940 $(".mec-load-more-button").hide(); 2941 initMasonry(); 2942 }) 2943 $(".mec-events-masonry-cats a:not(:first-child)").on("click", function () { 2944 $(".mec-load-more-button").hide(); 2945 $(".mec-wrap").css("height", "auto"); 2946 $(".mec-wrap").css("min-height", "400"); 2947 $(".mec-event-masonry .mec-masonry-item-wrap").css("display", "block"); 2948 var element = document.querySelector("#mec_skin_" + settings.id + " .mec-event-masonry"); 2949 var selector = $(this).attr('data-group'); 2950 var CustomShuffle = new Shuffle(element, { 2951 itemSelector: '.mec-masonry-item-wrap', 2952 }); 2953 CustomShuffle.sort({ 2954 by: element.getAttribute('data-created'), 2955 }); 2956 CustomShuffle.filter(selector != '*' ? selector : Shuffle.ALL_ITEMS); 2957 $(".mec-event-masonry .mec-masonry-item-wrap").css("visibility", "visible"); 2958 }) 2959 } 2960 2961 // Fix Elementor Masonry 2962 if (mecdata.elementor_edit_mode != 'no') elementorFrontend.hooks.addAction('frontend/element_ready/global', initMasonry()); 2963 2964 function initMasonry() { 2965 var $container = $("#mec_skin_" + settings.id + " .mec-event-masonry"); 2966 var data_sortAscending = $("#mec_skin_" + settings.id).data('sortascending'); 2967 $container.imagesLoaded(function () { 2968 var $grid = $container.isotope({ 2969 filter: '*', 2970 itemSelector: '.mec-masonry-item-wrap', 2971 getSortData: { 2972 date: '[data-sort-masonry]', 2973 }, 2974 sortBy: 'date', 2975 sortAscending: data_sortAscending, 2976 animationOptions: { 2977 duration: 750, 2978 easing: 'linear', 2979 queue: false 2980 }, 2981 }); 2982 if (settings.fit_to_row == 1) $grid.isotope({ 2983 layoutMode: 'fitRows', 2984 sortAscending: data_sortAscending, 2985 }); 2986 // Fix Elementor tab 2987 $('.elementor-tabs').find('.elementor-tab-title').click(function () { 2988 $grid.isotope({ 2989 sortBy: 'date', 2990 sortAscending: data_sortAscending, 2991 }); 2992 }); 2993 }) 2994 2995 $("#mec_skin_" + settings.id + " .mec-events-masonry-cats a").click(function () { 2996 var selector = $(this).attr('data-filter'); 2997 var $grid_cat = $container.isotope({ 2998 filter: selector, 2999 itemSelector: '.mec-masonry-item-wrap', 3000 getSortData: { 3001 date: '[data-sort-masonry]', 3002 }, 3003 sortBy: 'date', 3004 sortAscending: data_sortAscending, 3005 animationOptions: { 3006 duration: 750, 3007 easing: 'linear', 3008 queue: false 3009 }, 3010 }); 3011 if (settings.masonry_like_grid == 1) $grid_cat.isotope({ 3012 sortBy: 'date', 3013 sortAscending: data_sortAscending, 3014 }); 3015 return false; 3016 }); 3017 3018 var $optionSets = $("#mec_skin_" + settings.id + " .mec-events-masonry-cats"), 3019 $optionLinks = $optionSets.find('a'); 3020 3021 $optionLinks.click(function () { 3022 var $this = $(this); 3023 3024 // don't proceed if already selected 3025 if ($this.hasClass('selected')) return false; 3026 3027 var $optionSet = $this.parents('.mec-events-masonry-cats'); 3028 $optionSet.find('.mec-masonry-cat-selected').removeClass('mec-masonry-cat-selected'); 3029 $this.addClass('mec-masonry-cat-selected'); 3030 }); 3031 } 3032 3033 function setListeners() { 3034 $("#mec_skin_" + settings.id + " .mec-events-masonry-cats > a").click(function () { 3035 var mec_load_more_btn = $("#mec_skin_" + settings.id + " .mec-load-more-button"); 3036 var mec_filter_value = $(this).data('filter').replace('.mec-t', ''); 3037 3038 if (mec_load_more_btn.hasClass('mec-load-more-loading')) mec_load_more_btn.removeClass('mec-load-more-loading'); 3039 if (mec_load_more_btn.hasClass("mec-hidden-" + mec_filter_value)) mec_load_more_btn.addClass("mec-util-hidden"); 3040 else mec_load_more_btn.removeClass("mec-util-hidden"); 3041 }); 3042 3043 // Load More 3044 $("#mec_skin_" + settings.id + " .mec-load-more-button").on("click", function () {
3045 loadMore(); 3046 }); 3047 3048 // Scroll 3049 if (settings.pagination === 'scroll') { 3050 $(window).on("scroll", function (event) { 3051 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 3052 3053 var finished = $target.data('page-finished'); 3054 if (finished) return; 3055 3056 var hT = $target.offset().top, 3057 hH = $target.outerHeight(), 3058 wH = $(window).height(), 3059 wS = $(this).scrollTop(); 3060 3061 if (wS + 100 > hT + hH - wH && !settings.infinite_locked) { 3062 settings.infinite_locked = true; 3063 $target.addClass('mec-load-more-scroll-loading'); 3064 loadMore(); 3065 } 3066 }); 3067 } 3068 3069 // Next Prev Pagination 3070 if (settings.pagination === 'nextprev') { 3071 // Events Wrapper 3072 const $EW = $("#mec_skin_" + settings.id + " .mec-event-masonry"); 3073 3074 let next_disabled = false; 3075 3076 // Previous Button 3077 $prev.on('click', function () { 3078 if (history.length) { 3079 let page = history.pop(); 3080 3081 var oldItems = $EW.find('.mec-masonry-item-wrap'); 3082 $EW.isotope('remove', oldItems); 3083 3084 // Display Events 3085 var newItems = $('<div>' + page.html + '</div>').find('.mec-masonry-item-wrap'); 3086 newItems.each(function (index) { 3087 $EW.isotope() 3088 .append(newItems[index]) 3089 .isotope('appended', newItems[index]); 3090 }); 3091 3092 // Update the variables 3093 settings.end_date = page.end_date; 3094 settings.offset = page.offset; 3095 settings.current_month_divider = page.current_month_divider; 3096 3097 // Display Next Button 3098 $next.removeClass('mec-util-hidden'); 3099 } 3100 3101 // Hide Previous Button 3102 if (!history.length) $prev.addClass('mec-util-hidden'); 3103 }); 3104 3105 // Next Button 3106 $next.on('click', function (e) { 3107 // Prevent Redirect 3108 e.preventDefault(); 3109 3110 // Currently Disabled 3111 if (next_disabled) return; 3112 3113 // Disable Button 3114 next_disabled = true; 3115 3116 // Add Loading Style 3117 $EW.addClass('mec-loading-events'); 3118 3119 // Push to History 3120 history.push({ 3121 end_date: settings.end_date, 3122 offset: settings.offset, 3123 current_month_divider: settings.current_month_divider, 3124 html: $EW.html() 3125 }); 3126 3127 loadMore(function (response) { 3128 // Display New Events 3129 if (response.count) { 3130 var oldItems = $EW.find('.mec-masonry-item-wrap'); 3131 $EW.isotope('remove', oldItems); 3132 3133 var newItems = $(response.html).find('.mec-masonry-item-wrap'); 3134 newItems.each(function (index) { 3135 $EW.isotope() 3136 .append(newItems[index]) 3137 .isotope('appended', newItems[index]); 3138 }); 3139 } 3140 // Remove Last Page 3141 else history.pop(); 3142 3143 // Enable Button 3144 next_disabled = false; 3145 3146 // Remove Loading Style 3147 $EW.removeClass('mec-loading-events'); 3148 3149 // Display Previous Button 3150 if (history.length) $prev.removeClass('mec-util-hidden'); 3151 // Hide Next Button 3152 if (response.count === 0 || (typeof response.has_more_event !== 'undefined' && !response.has_more_event)) $next.addClass('mec-util-hidden'); 3153 }); 3154 }); 3155 } 3156 3157 if (settings.sed_method != '0') { 3158 sed(); 3159 } 3160 } 3161 3162 function sed() { 3163 // Single Event Display 3164 $("#mec_skin_" + settings.id + " .mec-masonry-img a, #mec_skin_" + settings.id + " .mec-event-title a, #mec_skin_" + settings.id + " .mec-booking-button").off('click').on('click', function (e) { 3165 var sed_method = $(this).attr('target'); 3166 if ('_blank' === sed_method) { 3167 3168 return; 3169 } 3170 e.preventDefault(); 3171 var href = $(this).attr('href'); 3172 3173 var id = $(this).data('event-id'); 3174 var occurrence = get_parameter_by_name('occurrence', href); 3175 var time = get_parameter_by_name('time', href); 3176 3177 if ('undefined' == typeof id) { 3178 return; 3179 } 3180 3181 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 3182 }); 3183 } 3184 3185 function loadMore(callback) { 3186 // Add loading Class 3187 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-load-more-loading"); 3188 var mec_cat_elem = $('#mec_skin_' + settings.id).find('.mec-masonry-cat-selected'); 3189 var mec_filter_value = (mec_cat_elem && mec_cat_elem.data('filter') != undefined) ? mec_cat_elem.data('filter').replace('.mec-t', '') : ''; 3190 var mec_filter_by = $('#mec_skin_' + settings.id).data('filterby'); 3191 3192 $.ajax({
3193 url: settings.ajax_url, 3194 data: "action=mec_masonry_load_more&mec_filter_by=" + mec_filter_by + "&mec_filter_value=" + mec_filter_value + "&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "&apply_sf_date=0", 3195 dataType: "json", 3196 type: "post", 3197 success: function (response) { 3198 if (response.count === 0) { 3199 // Remove loading Class 3200 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading").addClass("mec-util-hidden mec-hidden-" + mec_filter_value); 3201 3202 // Release Lock of Infinite Scroll 3203 settings.infinite_locked = false; 3204 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").data('page-finished', true).removeClass('mec-load-more-scroll-loading'); 3205 3206 // Run Callback 3207 if (typeof callback === 'function') callback(response); 3208 } else { 3209 // Show load more button 3210 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 3211 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 3212 3213 // Run Callback 3214 if (typeof callback === 'function') callback(response); 3215 // Append Items 3216 else { 3217 var node = $("#mec_skin_" + settings.id + " .mec-event-masonry"); 3218 var newItems = $(response.html).find('.mec-masonry-item-wrap'); 3219 3220 newItems.each(function (index) { 3221 node.isotope() 3222 .append(newItems[index]) 3223 .isotope('appended', newItems[index]); 3224 }); 3225 } 3226 3227 // Remove loading Class 3228 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 3229 3230 // Update the variables 3231 settings.end_date = response.end_date; 3232 settings.offset = response.offset; 3233 3234 // Single Event Method 3235 if (settings.sed_method != '0') { 3236 sed(); 3237 } 3238 3239 // Release Lock of Infinite Scroll 3240 settings.infinite_locked = false; 3241 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 3242 3243 $(document).trigger('mec_load_more_init', ['masonry', settings]); 3244 } 3245 }, 3246 error: function () { } 3247 }); 3248 } 3249 }; 3250}(jQuery)); 3251 3252// MEC LIST VIEW PLUGIN 3253(function ($) { 3254 $.fn.mecListView = function (options) { 3255 // Default Options 3256 var settings = $.extend({ 3257 // These are the defaults. 3258 id: 0, 3259 atts: '', 3260 ajax_url: '', 3261 sf: {}, 3262 current_month_divider: '', 3263 end_date: '', 3264 offset: 0, 3265 limit: 0, 3266 pagination: '0', 3267 infinite_locked: false, 3268 }, options); 3269 3270 var sf; 3271 3272 let history = []; 3273 const $next = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-next-button'); 3274 const $prev = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-prev-button'); 3275 3276 // Set onclick Listeners 3277 setListeners(); 3278 3279 function setListeners() { 3280 // Search Widget 3281 if (settings.sf.container !== '') { 3282 sf = $(settings.sf.container).mecSearchForm({ 3283 id: settings.id, 3284 refine: settings.sf.refine, 3285 ajax_url: settings.ajax_url, 3286 start_date: settings.start_date, 3287 atts: settings.atts, 3288 callback: function (atts) { 3289 settings.atts = atts; 3290 search(); 3291 } 3292 }); 3293 3294 $(settings.sf.container).addClass('mec-skin-search-init'); 3295 } 3296 3297 // Load More 3298 $("#mec_skin_" + settings.id + " .mec-load-more-button").on("click", function () {
3299 loadMore(); 3300 }); 3301 3302 // Scroll 3303 if (settings.pagination === 'scroll') { 3304 $(window).on("scroll", function (event) { 3305 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 3306 3307 // Check if target element exists 3308 if ($target.length === 0) return; 3309 3310 var finished = $target.data('page-finished'); 3311 if (finished) return; 3312 3313 var hT = $target.offset().top, 3314 hH = $target.outerHeight(), 3315 wH = $(window).height(), 3316 wS = $(this).scrollTop(); 3317 3318 if (wS + 100 > hT + hH - wH && !settings.infinite_locked) { 3319 settings.infinite_locked = true; 3320 $target.addClass('mec-load-more-scroll-loading'); 3321 loadMore(); 3322 } 3323 }); 3324 } 3325 3326 // Next Prev Pagination 3327 if (settings.pagination === 'nextprev') { 3328 // Events Wrapper 3329 const $EW = $("#mec_skin_events_" + settings.id); 3330 3331 let next_disabled = false; 3332 3333 // Previous Button 3334 $prev.on('click', function () { 3335 if (history.length) { 3336 let page = history.pop(); 3337 3338 // Display Events 3339 $EW.html(page.html); 3340 3341 // Update the variables 3342 settings.end_date = page.end_date; 3343 settings.offset = page.offset; 3344 settings.current_month_divider = page.current_month_divider; 3345 3346 // Display Next Button 3347 $next.removeClass('mec-util-hidden'); 3348 } 3349 3350 // Hide Previous Button 3351 if (!history.length) $prev.addClass('mec-util-hidden'); 3352 }); 3353 3354 // Next Button 3355 $next.on('click', function (e) { 3356 // Prevent Redirect 3357 e.preventDefault(); 3358 3359 // Currently Disabled 3360 if (next_disabled) return; 3361 3362 // Disable Button 3363 next_disabled = true; 3364 3365 // Add Loading Style 3366 $EW.addClass('mec-loading-events'); 3367 3368 // Push to History 3369 history.push({ 3370 end_date: settings.end_date, 3371 offset: settings.offset, 3372 current_month_divider: settings.current_month_divider, 3373 html: $EW.html() 3374 }); 3375 3376 loadMore(function (response) { 3377 // Display New Events 3378 if (response.count) $EW.html(response.html); 3379 // Remove Last Page 3380 else history.pop(); 3381 3382 // Enable Button 3383 next_disabled = false; 3384 3385 // Remove Loading Style 3386 $EW.removeClass('mec-loading-events'); 3387 3388 // Display Previous Button 3389 if (history.length) $prev.removeClass('mec-util-hidden'); 3390 3391 // Hide Next Button 3392 if (response.count === 0 || (typeof response.has_more_event !== 'undefined' && !response.has_more_event)) $next.addClass('mec-util-hidden'); 3393 }); 3394 }); 3395 } 3396 3397 // Accordion Toggle 3398 if (settings.style === 'accordion') { 3399 if (settings.toggle_month_divider) { 3400 $('#mec_skin_' + settings.id + ' .mec-month-divider:first-of-type').addClass('active'); 3401 $('#mec_skin_' + settings.id + ' .mec-month-divider:first-of-type').find('i').removeClass('mec-sl-arrow-down').addClass('mec-sl-arrow-up'); 3402 3403 toggle(); 3404 } 3405 3406 accordion(); 3407 } 3408 3409 // Single Event Method 3410 if (settings.sed_method != '0') { 3411 sed(); 3412 } 3413 } 3414
3415 function toggle() { 3416 $('#mec_skin_' + settings.id + ' .mec-month-divider').off("click").on("click", function (event) { 3417 event.preventDefault(); 3418 3419 var status = $(this).hasClass('active'); 3420 3421 // Remove Active Style of Month Divider 3422 $('#mec_skin_' + settings.id + ' .mec-month-divider').removeClass('active'); 3423 3424 // Hide All Events 3425 $('#mec_skin_' + settings.id + ' .mec-divider-toggle').slideUp('fast'); 3426 3427 if (status) { 3428 $(this).removeClass('active'); 3429 $('.mec-month-divider').find('i').removeClass('mec-sl-arrow-up').addClass('mec-sl-arrow-down'); 3430 } else { 3431 $(this).addClass('active'); 3432 $('.mec-month-divider').find('i').removeClass('mec-sl-arrow-up').addClass('mec-sl-arrow-down') 3433 $(this).find('i').removeClass('mec-sl-arrow-down').addClass('mec-sl-arrow-up'); 3434 3435 var month = $(this).data('toggle-divider'); 3436 $('#mec_skin_' + settings.id + ' .' + month).slideDown('fast'); 3437 } 3438 }); 3439 } 3440 3441 function toggleLoadmore() { 3442 $('#mec_skin_' + settings.id + ' .mec-month-divider:not(:last)').each(function () { 3443 if ($(this).hasClass('active')) $(this).removeClass('active'); 3444 var month = $(this).data('toggle-divider'); 3445 $('#mec_skin_' + settings.id + ' .' + month).slideUp('fast'); 3446 }); 3447 3448 // Set Active Class For Last Article 3449 $('#mec_skin_' + settings.id + ' .mec-month-divider:last').addClass('active'); 3450 3451 // Register Listeners 3452 toggle(); 3453 } 3454 3455 function accordion() { 3456 // Accordion Toggle 3457 $("#mec_skin_" + settings.id + " .mec-toggle-item-inner").off("click").on("click", function (event) { 3458 event.preventDefault(); 3459 3460 var $this = $(this); 3461 $(this).parent().find(".mec-content-toggle").slideToggle("fast", function () { 3462 $this.children("i").toggleClass("mec-sl-arrow-down mec-sl-arrow-up"); 3463 }); 3464 3465 // Trigger Google Map 3466 var unique_id = $(this).parent().find(".mec-modal-wrap").data('unique-id'); 3467 3468 if (typeof window['mec_init_gmap' + unique_id] === 'function') window['mec_init_gmap' + unique_id](); 3469 }); 3470 3471 $(document).trigger('mec_skin_accordion_init', settings); 3472 } 3473 3474 function sed() { 3475 // Single Event Display 3476 $("#mec_skin_" + settings.id + " .mec-event-title > a, #mec_skin_" + settings.id + " .mec-booking-button, #mec_skin_" + settings.id + " .mec-detail-button").off('click').on('click', function (e) { 3477 e.preventDefault(); 3478 var href = $(this).attr('href'); 3479 3480 var id = $(this).data('event-id'); 3481 var occurrence = get_parameter_by_name('occurrence', href); 3482 var time = get_parameter_by_name('time', href); 3483 3484 if ('undefined' == typeof id) { 3485 return; 3486 } 3487 3488 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 3489 }); 3490 3491 $("#mec_skin_" + settings.id + " .mec-event-image a img").off('click').on('click', function (e) { 3492 e.preventDefault(); 3493 var href = $(this).parent().attr('href'); 3494 3495 var id = $(this).parent().data('event-id'); 3496 var occurrence = get_parameter_by_name('occurrence', href); 3497 var time = get_parameter_by_name('time', href); 3498 3499 if ('undefined' == typeof id) { 3500 return; 3501 } 3502 3503 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 3504 }); 3505 } 3506 3507 function loadMore(callback) { 3508 // Add loading Class 3509 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-load-more-loading"); 3510 3511 $.ajax({
3512 url: settings.ajax_url, 3513 data: "action=mec_list_load_more&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "¤t_month_divider=" + settings.current_month_divider + "&apply_sf_date=0", 3514 dataType: "json", 3515 type: "post", 3516 success: function (response) { 3517 if (response.count === 0) { 3518 // Remove loading Class 3519 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 3520 3521 // Release Lock of Infinite Scroll 3522 settings.infinite_locked = false; 3523 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 3524 3525 // Hide Pagination 3526 mec_toggle_shortcode_pagination(settings.id, 'hide'); 3527 3528 // Run Callback 3529 if (typeof callback === 'function') callback(response); 3530 } else { 3531 // Show load more button 3532 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) mec_toggle_shortcode_pagination(settings.id, 'show'); 3533 else mec_toggle_shortcode_pagination(settings.id, 'hide'); 3534 3535 // Run Callback 3536 if (typeof callback === 'function') callback(response); 3537 // Append Items 3538 else $("#mec_skin_events_" + settings.id).append(response.html); 3539 3540 // Remove loading Class 3541 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 3542 3543 // Update the variables 3544 settings.end_date = response.end_date; 3545 settings.offset = response.offset; 3546 settings.current_month_divider = response.current_month_divider; 3547 3548 // Single Event Method 3549 if (settings.sed_method != '0') { 3550 sed(); 3551 } 3552 3553 // Accordion Toggle 3554 if (settings.style === 'accordion') { 3555 if (settings.toggle_month_divider) toggleLoadmore(); 3556 3557 accordion(); 3558 } 3559 3560 // Release Lock of Infinite Scroll 3561 settings.infinite_locked = false; 3562 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 3563 } 3564 3565 $(document).trigger('mec_load_more_init', ['list', settings]); 3566 }, 3567 error: function () { } 3568 }); 3569 } 3570 3571 function search() { 3572 // Hide no event message 3573 $("#mec_skin_no_events_" + settings.id).addClass("mec-util-hidden"); 3574 3575 var $skinRoot = jQuery("#mec_skin_" + settings.id); 3576 var $loading_element = $skinRoot.find('.mec-modal-result'); 3577 3578 // Add loading Class 3579 if ($loading_element.length === 0) { 3580 $skinRoot.append('<div class="mec-modal-result"></div>'); 3581 $loading_element = $skinRoot.find('.mec-modal-result'); 3582 } 3583 3584 $loading_element.addClass('mec-month-navigator-loading'); 3585 3586 jQuery("#gmap-data-" + settings.id).val(""); 3587 history = []; 3588 $prev.addClass('mec-util-hidden'); 3589 3590 $.ajax({
3591 url: settings.ajax_url, 3592 data: "action=mec_list_load_more&mec_start_date=" + settings.start_date + "&" + settings.atts + "¤t_month_divider=0&apply_sf_date=1", 3593 dataType: "json", 3594 type: "post", 3595 success: function (response) { 3596 if (response.count === 0) { 3597 // Append Items 3598 $("#mec_skin_events_" + settings.id).html(''); 3599 3600 // Remove loading Class 3601 $loading_element.removeClass("mec-month-navigator-loading"); 3602 3603 // Hide Map 3604 $skinRoot.find('.mec-skin-map-container').addClass("mec-util-hidden"); 3605 3606 // Hide pagination 3607 mec_toggle_shortcode_pagination(settings.id, 'hide'); 3608 3609 // Show no event message 3610 $("#mec_skin_no_events_" + settings.id).removeClass("mec-util-hidden"); 3611 } else { 3612 // Append Items 3613 $("#mec_skin_events_" + settings.id).html(response.html); 3614 3615 // Remove loading Class 3616 $loading_element.removeClass("mec-month-navigator-loading"); 3617 3618 // Show Map 3619 $skinRoot.find('.mec-skin-map-container').removeClass("mec-util-hidden"); 3620 3621 // Show load more button 3622 if (response.count >= settings.limit) mec_toggle_shortcode_pagination(settings.id, 'show'); 3623 // Hide load more button 3624 else mec_toggle_shortcode_pagination(settings.id, 'hide'); 3625 3626 // Update the variables 3627 settings.end_date = response.end_date; 3628 settings.offset = response.offset; 3629 settings.current_month_divider = response.current_month_divider; 3630 3631 // Single Event Method 3632 if (settings.sed_method != '0') { 3633 sed(); 3634 } 3635 3636 // Accordion Toggle 3637 if (settings.style === 'accordion') { 3638 if (settings.toggle_month_divider) toggle(); 3639 3640 accordion(); 3641 } 3642 } 3643 3644 $(document).trigger('mec_search_init', ['list', settings, response]); 3645 }, 3646 error: function () { } 3647 }); 3648 } 3649 }; 3650 3651}(jQuery)); 3652 3653// MEC GRID VIEW PLUGIN 3654(function ($) { 3655 $.fn.mecGridView = function (options) { 3656 // Default Options 3657 var settings = $.extend({ 3658 // These are the defaults. 3659 id: 0, 3660 atts: '', 3661 ajax_url: '', 3662 sf: {}, 3663 end_date: '', 3664 offset: 0, 3665 start_date: '', 3666 pagination: '0', 3667 infinite_locked: false, 3668 }, options); 3669 3670 var sf; 3671 3672 let history = []; 3673 const $next = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-next-button'); 3674 const $prev = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-prev-button'); 3675 3676 // Set onclick Listeners 3677 setListeners(); 3678 3679 function setListeners() { 3680 // Search Widget 3681 if (settings.sf.container !== '') { 3682 sf = $(settings.sf.container).mecSearchForm({ 3683 id: settings.id, 3684 refine: settings.sf.refine, 3685 ajax_url: settings.ajax_url, 3686 start_date: settings.start_date, 3687 atts: settings.atts, 3688 callback: function (atts) { 3689 settings.atts = atts; 3690 search(); 3691 } 3692 }); 3693 3694 $(settings.sf.container).addClass('mec-skin-search-init'); 3695 } 3696 3697 // Load More 3698 $("#mec_skin_" + settings.id + " .mec-load-more-button").on("click", function () {
3699 loadMore(); 3700 }); 3701 3702 // Scroll 3703 if (settings.pagination === 'scroll') { 3704 $(window).on("scroll", function (event) { 3705 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 3706 3707 var finished = $target.data('page-finished'); 3708 if (finished) return; 3709 3710 var hT = $target.offset().top, 3711 hH = $target.outerHeight(), 3712 wH = $(window).height(), 3713 wS = $(this).scrollTop(); 3714 3715 if (wS + 100 > hT + hH - wH && !settings.infinite_locked) { 3716 settings.infinite_locked = true; 3717 $target.addClass('mec-load-more-scroll-loading'); 3718 loadMore(); 3719 } 3720 }); 3721 } 3722 3723 // Next Prev Pagination 3724 if (settings.pagination === 'nextprev') { 3725 // Events Wrapper 3726 const $EW = $("#mec_skin_events_" + settings.id); 3727 3728 let next_disabled = false; 3729 3730 // Previous Button 3731 $prev.on('click', function () { 3732 if (history.length) { 3733 let page = history.pop(); 3734 3735 // Display Events 3736 $EW.html(page.html); 3737 3738 // Update the variables 3739 settings.end_date = page.end_date; 3740 settings.offset = page.offset; 3741 settings.current_month_divider = page.current_month_divider; 3742 3743 // Display Next Button 3744 $next.removeClass('mec-util-hidden'); 3745 } 3746 3747 // Hide Previous Button 3748 if (!history.length) $prev.addClass('mec-util-hidden'); 3749 }); 3750 3751 // Next Button 3752 $next.on('click', function (e) { 3753 // Prevent Redirect 3754 e.preventDefault(); 3755 3756 // Currently Disabled 3757 if (next_disabled) return; 3758 3759 // Disable Button 3760 next_disabled = true; 3761 3762 // Add Loading Style 3763 $EW.addClass('mec-loading-events'); 3764 3765 // Push to History 3766 history.push({ 3767 end_date: settings.end_date, 3768 offset: settings.offset, 3769 current_month_divider: settings.current_month_divider, 3770 html: $EW.html() 3771 }); 3772 3773 loadMore(function (response) { 3774 // Display New Events 3775 if (response.count) $EW.html(response.html); 3776 // Remove Last Page 3777 else history.pop(); 3778 3779 // Enable Button 3780 next_disabled = false; 3781 3782 // Remove Loading Style 3783 $EW.removeClass('mec-loading-events'); 3784 3785 // Display Previous Button 3786 if (history.length) $prev.removeClass('mec-util-hidden'); 3787 // Hide Next Button 3788 if (response.count === 0 || (typeof response.has_more_event !== 'undefined' && !response.has_more_event)) $next.addClass('mec-util-hidden'); 3789 }); 3790 }); 3791 } 3792 3793 // Single Event Method 3794 if (settings.sed_method != '0') { 3795 sed(); 3796 } 3797 } 3798 3799 function sed() { 3800 // Single Event Display 3801 $("#mec_skin_" + settings.id + " .mec-event-title a, #mec_skin_" + settings.id + " .mec-booking-button").off('click').on('click', function (e) { 3802 e.preventDefault(); 3803 var href = $(this).attr('href'); 3804 3805 var id = $(this).data('event-id'); 3806 var occurrence = get_parameter_by_name('occurrence', href); 3807 var time = get_parameter_by_name('time', href); 3808 3809 if ('undefined' == typeof id) { 3810 return; 3811 } 3812 3813 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 3814 }); 3815 $("#mec_skin_" + settings.id + " .mec-event-image a img").off('click').on('click', function (e) { 3816 e.preventDefault(); 3817 var href = $(this).parent().attr('href'); 3818 3819 var id = $(this).parent().data('event-id'); 3820 var occurrence = get_parameter_by_name('occurrence', href); 3821 var time = get_parameter_by_name('time', href); 3822 3823 if ('undefined' == typeof id) { 3824 return; 3825 } 3826 3827 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 3828 }); 3829 } 3830 3831 function loadMore(callback) { 3832 // Add loading Class 3833 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-load-more-loading"); 3834 3835 $.ajax({
3836 url: settings.ajax_url, 3837 data: "action=mec_grid_load_more&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "&apply_sf_date=0", 3838 dataType: "json", 3839 type: "post", 3840 success: function (response) { 3841 if (response.count === 0) { 3842 // Remove loading Class 3843 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading").addClass("mec-util-hidden"); 3844 3845 // Release Lock of Infinite Scroll 3846 settings.infinite_locked = false; 3847 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").data('page-finished', true).removeClass('mec-load-more-scroll-loading'); 3848 3849 // Run Callback 3850 if (typeof callback === 'function') callback(response); 3851 } else { 3852 // Show load more button 3853 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 3854 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 3855 3856 // Run Callback 3857 if (typeof callback === 'function') callback(response); 3858 // Append Items 3859 else $("#mec_skin_events_" + settings.id).append(response.html); 3860 3861 // Remove loading Class 3862 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 3863 3864 // Update the variables 3865 settings.end_date = response.end_date; 3866 settings.offset = response.offset; 3867 3868 // Single Event Method 3869 if (settings.sed_method != '0') { 3870 sed(); 3871 } 3872 3873 // Release Lock of Infinite Scroll 3874 settings.infinite_locked = false; 3875 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 3876 } 3877 3878 $(document).trigger('mec_load_more_init', ['grid', settings]); 3879 }, 3880 error: function () { } 3881 }); 3882 } 3883 3884 function search() { 3885 // Hide no event message 3886 $("#mec_skin_no_events_" + settings.id).addClass("mec-util-hidden"); 3887 3888 var $skinRoot = jQuery("#mec_skin_" + settings.id); 3889 var $loading_element = $skinRoot.find('.mec-modal-result'); 3890 if ($loading_element.length === 0) { 3891 $skinRoot.append('<div class="mec-modal-result"></div>'); 3892 $loading_element = $skinRoot.find('.mec-modal-result'); 3893 } 3894 $loading_element.addClass('mec-month-navigator-loading'); 3895 jQuery("#gmap-data-" + settings.id).val(""); 3896 3897 $.ajax({
3898 url: settings.ajax_url, 3899 data: "action=mec_grid_load_more&mec_start_date=" + settings.start_date + "&" + settings.atts + "&apply_sf_date=1", 3900 dataType: "json", 3901 type: "post", 3902 success: function (response) { 3903 if (response.count === 0) { 3904 // Append Items 3905 $("#mec_skin_events_" + settings.id).html(''); 3906 3907 // Remove loading Class 3908 $loading_element.removeClass("mec-month-navigator-loading"); 3909 3910 // Hide Map 3911 $skinRoot.find('.mec-skin-map-container').addClass("mec-util-hidden"); 3912 3913 // Hide it 3914 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 3915 3916 // Show no event message 3917 $("#mec_skin_no_events_" + settings.id).removeClass("mec-util-hidden"); 3918 } else { 3919 // Append Items 3920 $("#mec_skin_events_" + settings.id).html(response.html); 3921 3922 // Remove loading Class 3923 $loading_element.removeClass("mec-month-navigator-loading"); 3924 3925 // Show Map 3926 $skinRoot.find('.mec-skin-map-container').removeClass("mec-util-hidden"); 3927 3928 // Show load more button 3929 if (response.count >= settings.limit) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 3930 // Hide load more button 3931 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 3932 3933 // Update the variables 3934 settings.end_date = response.end_date; 3935 settings.offset = response.offset; 3936 3937 // Single Event Method 3938 if (settings.sed_method != '0') { 3939 sed(); 3940 } 3941 } 3942 3943 $(document).trigger('mec_search_init', ['grid', settings, response]); 3944 }, 3945 error: function () { } 3946 }); 3947 } 3948 }; 3949 3950}(jQuery)); 3951 3952// MEC CUSTOM VIEW PLUGIN 3953(function ($) { 3954 $.fn.mecCustomView = function (options) { 3955 // Default Options 3956 var settings = $.extend({ 3957 // These are the defaults. 3958 id: 0, 3959 atts: '', 3960 ajax_url: '', 3961 sf: {}, 3962 end_date: '', 3963 offset: 0, 3964 start_date: '', 3965 pagination: '0', 3966 infinite_locked: false, 3967 }, options); 3968 3969 // Set onclick Listeners 3970 setListeners(); 3971 3972 var sf; 3973 3974 function setListeners() { 3975 // Search Widget 3976 if (settings.sf.container !== '') { 3977 sf = $(settings.sf.container).mecSearchForm({ 3978 id: settings.id, 3979 refine: settings.sf.refine, 3980 ajax_url: settings.ajax_url, 3981 start_date: settings.start_date, 3982 atts: settings.atts, 3983 callback: function (atts) { 3984 settings.atts = atts; 3985 search(); 3986 } 3987 }); 3988 3989 $(settings.sf.container).addClass('mec-skin-search-init'); 3990 } 3991 3992 // Load More 3993 $("#mec_skin_" + settings.id + " .mec-load-more-button").on("click", function () { 3994 loadMore(); 3995 }); 3996 3997 // Scroll 3998 if (settings.pagination === 'scroll') { 3999 $(window).on("scroll", function (event) { 4000 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 4001 4002 var finished = $target.data('page-finished'); 4003 if (finished) return; 4004 4005 var hT = $target.offset().top, 4006 hH = $target.outerHeight(), 4007 wH = $(window).height(), 4008 wS = $(this).scrollTop(); 4009 4010 if (wS + 100 >
4010 hT + hH - wH && !settings.infinite_locked) { 4011 settings.infinite_locked = true; 4012 $target.addClass('mec-load-more-scroll-loading'); 4013 loadMore(); 4014 } 4015 }); 4016 } 4017 4018 // Single Event Method 4019 if (settings.sed_method != '0') { 4020 sed(); 4021 } 4022 } 4023 4024 function sed() { 4025 // Single Event Display 4026 $("#mec_skin_" + settings.id + " .mec-event-title a, #mec_skin_" + settings.id + " .mec-booking-button").off('click').on('click', function (e) { 4027 e.preventDefault(); 4028 var href = $(this).attr('href'); 4029 4030 var id = $(this).data('event-id'); 4031 var occurrence = get_parameter_by_name('occurrence', href); 4032 var time = get_parameter_by_name('time', href); 4033 4034 if ('undefined' == typeof id) { 4035 return; 4036 } 4037 4038 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 4039 }); 4040 $("#mec_skin_" + settings.id + " .mec-event-image a img").off('click').on('click', function (e) { 4041 e.preventDefault(); 4042 var href = $(this).parent().attr('href'); 4043 4044 var id = $(this).parent().data('event-id'); 4045 var occurrence = get_parameter_by_name('occurrence', href); 4046 var time = get_parameter_by_name('time', href); 4047 4048 if ('undefined' == typeof id) { 4049 return; 4050 } 4051 4052 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 4053 }); 4054 } 4055 4056 function loadMore() { 4057 // Add loading Class 4058 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-load-more-loading"); 4059 4060 $.ajax({
4061 url: settings.ajax_url, 4062 data: "action=mec_custom_load_more&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "&apply_sf_date=0", 4063 dataType: "json", 4064 type: "post", 4065 success: function (response) { 4066 if (response.count === 0) { 4067 // Remove loading Class 4068 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading").addClass("mec-util-hidden"); 4069 4070 // Release Lock of Infinite Scroll 4071 settings.infinite_locked = false; 4072 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").data('page-finished', true).removeClass('mec-load-more-scroll-loading'); 4073 } else { 4074 // Show load more button 4075 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 4076 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4077 4078 var html = $(response.html); 4079 if ($('.mec-month-divider', html).length) { 4080 var df = $('.mec-month-divider:first', html).data('toggle-divider'); 4081 var dl = $("#mec_skin_events_" + settings.id + " .mec-month-divider:last").data('toggle-divider'); 4082 4083 if (df == dl) { 4084 $(html).find('.mec-month-divider:first').remove(); 4085 response.html = html; 4086 } 4087 4088 } 4089 4090 // Append Items 4091 $("#mec_skin_events_" + settings.id).append(response.html); 4092 4093 // Remove loading Class 4094 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 4095 4096 // Update the variables 4097 settings.end_date = response.end_date; 4098 settings.offset = response.offset; 4099 4100 if ($('.mec-event-sd-countdown').length > 0) { 4101 $('.mec-event-sd-countdown').each(function (event) { 4102 var dc = $(this).attr('data-date-custom'); 4103 $(this).mecCountDown( 4104 { 4105 date: dc, 4106 format: "off" 4107 }, 4108 function () { 4109 }); 4110 }) 4111 } 4112 // Single Event Method 4113 if (settings.sed_method != '0') { 4114 sed(); 4115 } 4116 4117 // Release Lock of Infinite Scroll 4118 settings.infinite_locked = false; 4119 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 4120 4121 } 4122 4123 $(document).trigger('mec_load_more_init', ['custom', settings]); 4124 }, 4125 error: function () { } 4126 }); 4127 } 4128 4129 function search() { 4130 // Hide no event message 4131 $("#mec_skin_no_events_" + settings.id).addClass("mec-util-hidden"); 4132 4133 var $skinRoot = jQuery("#mec_skin_" + settings.id); 4134 var $loading_element = $skinRoot.find('.mec-modal-result'); 4135 if ($loading_element.length === 0) { 4136 $skinRoot.append('<div class="mec-modal-result"></div>'); 4137 $loading_element = $skinRoot.find('.mec-modal-result'); 4138 } 4139 $loading_element.addClass('mec-month-navigator-loading'); 4140 jQuery("#gmap-data-" + settings.id).val(""); 4141 4142 $.ajax({
4143 url: settings.ajax_url, 4144 data: "action=mec_custom_load_more&mec_start_date=" + settings.start_date + "&" + settings.atts + "&apply_sf_date=1", 4145 dataType: "json", 4146 type: "post", 4147 success: function (response) { 4148 if (response.count === 0) { 4149 // Append Items 4150 $("#mec_skin_events_" + settings.id).html(''); 4151 4152 // Remove loading Class 4153 $loading_element.removeClass("mec-month-navigator-loading"); 4154 4155 // Hide Map 4156 $skinRoot.find('.mec-skin-map-container').addClass("mec-util-hidden"); 4157 4158 // Hide it 4159 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4160 4161 // Show no event message 4162 $("#mec_skin_no_events_" + settings.id).removeClass("mec-util-hidden"); 4163 } else { 4164 // Append Items 4165 $("#mec_skin_events_" + settings.id).html(response.html); 4166 4167 // Remove loading Class 4168 $loading_element.removeClass("mec-month-navigator-loading"); 4169 4170 // Show Map 4171 $skinRoot.find('.mec-skin-map-container').removeClass("mec-util-hidden"); 4172 4173 // Show load more button 4174 if (response.count >= settings.limit) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 4175 // Hide load more button 4176 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4177 4178 // Update the variables 4179 settings.end_date = response.end_date; 4180 settings.offset = response.offset; 4181 4182 // Single Event Method 4183 if (settings.sed_method != '0') { 4184 sed(); 4185 } 4186 } 4187 4188 $(document).trigger('mec_search_init', ['custom', settings, response]); 4189 }, 4190 error: function () { } 4191 }); 4192 } 4193 }; 4194 4195}(jQuery)); 4196 4197// MEC TIMELINE VIEW PLUGIN 4198(function ($) { 4199 $.fn.mecTimelineView = function (options) { 4200 // Default Options 4201 var settings = $.extend({ 4202 // These are the defaults. 4203 id: 0, 4204 atts: '', 4205 ajax_url: '', 4206 sf: {}, 4207 end_date: '', 4208 offset: 0, 4209 start_date: '', 4210 pagination: '0', 4211 infinite_locked: false, 4212 }, options); 4213 4214 var sf; 4215 4216 let history = []; 4217 const $next = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-next-button'); 4218 const $prev = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-prev-button'); 4219 4220 // Set onclick Listeners 4221 setListeners(); 4222 4223 function setListeners() { 4224 // Search Widget 4225 if (settings.sf.container !== '') { 4226 sf = $(settings.sf.container).mecSearchForm({ 4227 id: settings.id, 4228 refine: settings.sf.refine, 4229 ajax_url: settings.ajax_url, 4230 start_date: settings.start_date, 4231 atts: settings.atts, 4232 callback: function (atts) { 4233 settings.atts = atts; 4234 search(); 4235 } 4236 }); 4237 4238 $(settings.sf.container).addClass('mec-skin-search-init'); 4239 } 4240 4241 // Load More 4242 $("#mec_skin_" + settings.id + " .mec-load-more-button").on("click", function () { 4243 loadMore(); 4244 }); 4245 4246 // Scroll 4247 if (settings.pagination === 'scroll') { 4248 $(window).on("scroll", function (event) { 4249 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 4250 4251 var finished = $target.data('page-finished'); 4252 if (finished) return; 4253 4254 var hT = $target.offset().top, 4255 hH = $target.outerHeight(), 4256 wH = $(window).height(), 4257 wS = $(this).scrollTop(); 4258 4259 if (wS + 100 >
4259 hT + hH - wH && !settings.infinite_locked) { 4260 settings.infinite_locked = true; 4261 $target.addClass('mec-load-more-scroll-loading'); 4262 loadMore(); 4263 } 4264 }); 4265 } 4266 4267 // Next Prev Pagination 4268 if (settings.pagination === 'nextprev') { 4269 // Events Wrapper 4270 const $EW = $("#mec_skin_events_" + settings.id); 4271 4272 let next_disabled = false; 4273 4274 // Previous Button 4275 $prev.on('click', function () { 4276 if (history.length) { 4277 let page = history.pop(); 4278 4279 // Display Events 4280 $EW.html(page.html); 4281 4282 // Update the variables 4283 settings.end_date = page.end_date; 4284 settings.offset = page.offset; 4285 settings.current_month_divider = page.current_month_divider; 4286 4287 // Display Next Button 4288 $next.removeClass('mec-util-hidden'); 4289 } 4290 4291 // Hide Previous Button 4292 if (!history.length) $prev.addClass('mec-util-hidden'); 4293 }); 4294 4295 // Next Button 4296 $next.on('click', function (e) { 4297 // Prevent Redirect 4298 e.preventDefault(); 4299 4300 // Currently Disabled 4301 if (next_disabled) return; 4302 4303 // Disable Button 4304 next_disabled = true; 4305 4306 // Add Loading Style 4307 $EW.addClass('mec-loading-events'); 4308 4309 // Push to History 4310 history.push({ 4311 end_date: settings.end_date, 4312 offset: settings.offset, 4313 current_month_divider: settings.current_month_divider, 4314 html: $EW.html() 4315 }); 4316 4317 loadMore(function (response) { 4318 // Display New Events 4319 if (response.count) $EW.html(response.html); 4320 // Remove Last Page 4321 else history.pop(); 4322 4323 // Enable Button 4324 next_disabled = false; 4325 4326 // Remove Loading Style 4327 $EW.removeClass('mec-loading-events'); 4328 4329 // Display Previous Button 4330 if (history.length) $prev.removeClass('mec-util-hidden'); 4331 // Hide Next Button 4332 if (response.count === 0 || (typeof response.has_more_event !== 'undefined' && !response.has_more_event)) $next.addClass('mec-util-hidden'); 4333 }); 4334 }); 4335 } 4336 4337 // Single Event Method 4338 if (settings.sed_method != '0') { 4339 sed(); 4340 } 4341 } 4342 4343 function sed() { 4344 // Single Event Display 4345 $("#mec_skin_" + settings.id + " .mec-timeline-event-image a, #mec_skin_" + settings.id + " .mec-event-title a, #mec_skin_" + settings.id + " .mec-booking-button").off('click').on('click', function (e) { 4346 e.preventDefault(); 4347 var href = $(this).attr('href'); 4348 4349 var id = $(this).data('event-id'); 4350 var occurrence = get_parameter_by_name('occurrence', href); 4351 var time = get_parameter_by_name('time', href); 4352 4353 if ('undefined' == typeof id) { 4354 return; 4355 } 4356 4357 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 4358 }); 4359 $("#mec_skin_" + settings.id + " .mec-event-image a img").off('click').on('click', function (e) { 4360 e.preventDefault(); 4361 var href = $(this).parent().attr('href'); 4362 4363 var id = $(this).parent().data('event-id'); 4364 var occurrence = get_parameter_by_name('occurrence', href); 4365 var time = get_parameter_by_name('time', href); 4366 4367 if ('undefined' == typeof id) { 4368 return; 4369 } 4370 4371 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 4372 }); 4373 } 4374 4375 function loadMore(callback) { 4376 // Add loading Class 4377 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-load-more-loading"); 4378 4379 $.ajax({
4380 url: settings.ajax_url, 4381 data: "action=mec_timeline_load_more&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "&apply_sf_date=0", 4382 dataType: "json", 4383 type: "post", 4384 success: function (response) { 4385 if (response.count === 0) { 4386 // Remove loading Class 4387 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading").addClass("mec-util-hidden"); 4388 4389 // Release Lock of Infinite Scroll 4390 settings.infinite_locked = false; 4391 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").data('page-finished', true).removeClass('mec-load-more-scroll-loading'); 4392 4393 // Run Callback 4394 if (typeof callback === 'function') callback(response); 4395 } else { 4396 // Show load more button 4397 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 4398 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4399 4400 // Run Callback 4401 if (typeof callback === 'function') callback(response); 4402 // Append Items 4403 else $("#mec_skin_events_" + settings.id).append(response.html); 4404 4405 // Remove loading Class 4406 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 4407 4408 // Update the variables 4409 settings.end_date = response.end_date; 4410 settings.offset = response.offset; 4411 4412 // Single Event Method 4413 if (settings.sed_method != '0') { 4414 sed(); 4415 } 4416 4417 // Release Lock of Infinite Scroll 4418 settings.infinite_locked = false; 4419 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 4420 } 4421 4422 $(document).trigger('mec_load_more_init', ['timeline', settings]); 4423 }, 4424 error: function () { } 4425 }); 4426 } 4427 4428 function search() { 4429 // Hide no event message 4430 $("#mec_skin_no_events_" + settings.id).addClass("mec-util-hidden"); 4431 4432 var $skinRoot = jQuery("#mec_skin_" + settings.id); 4433 var $loading_element = $skinRoot.find('.mec-modal-result'); 4434 if ($loading_element.length === 0) { 4435 $skinRoot.append('<div class="mec-modal-result"></div>'); 4436 $loading_element = $skinRoot.find('.mec-modal-result'); 4437 } 4438 $loading_element.addClass('mec-month-navigator-loading'); 4439 4440 $.ajax({
4441 url: settings.ajax_url, 4442 data: "action=mec_timeline_load_more&mec_start_date=" + settings.start_date + "&" + settings.atts + "&apply_sf_date=1", 4443 dataType: "json", 4444 type: "post", 4445 success: function (response) { 4446 if (response.count === 0) { 4447 // Append Items 4448 $("#mec_skin_events_" + settings.id).html(''); 4449 4450 // Remove loading Class 4451 $loading_element.removeClass("mec-month-navigator-loading"); 4452 4453 // Hide Map 4454 $skinRoot.find('.mec-skin-map-container').addClass("mec-util-hidden"); 4455 4456 // Hide it 4457 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4458 4459 // Show no event message 4460 $("#mec_skin_no_events_" + settings.id).removeClass("mec-util-hidden"); 4461 } else { 4462 // Append Items 4463 $("#mec_skin_events_" + settings.id).html(response.html); 4464 4465 // Remove loading Class 4466 $loading_element.removeClass("mec-month-navigator-loading"); 4467 4468 // Show Map 4469 $skinRoot.find('.mec-skin-map-container').removeClass("mec-util-hidden"); 4470 4471 // Show load more button 4472 if (response.count >= settings.limit) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 4473 // Hide load more button 4474 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4475 4476 // Update the variables 4477 settings.end_date = response.end_date; 4478 settings.offset = response.offset; 4479 4480 // Single Event Method 4481 if (settings.sed_method != '0') { 4482 sed(); 4483 } 4484 } 4485 4486 $(document).trigger('mec_search_init', ['timeline', settings, response]); 4487 }, 4488 error: function () { } 4489 }); 4490 } 4491 }; 4492 4493}(jQuery)); 4494 4495// MEC AGENDA VIEW PLUGIN 4496(function ($) { 4497 $.fn.mecAgendaView = function (options) { 4498 // Default Options 4499 var settings = $.extend({ 4500 // These are the defaults. 4501 id: 0, 4502 atts: '', 4503 ajax_url: '', 4504 sf: {}, 4505 current_month_divider: '', 4506 end_date: '', 4507 offset: 0, 4508 pagination: '0', 4509 infinite_locked: false, 4510 }, options); 4511 4512 var sf; 4513 4514 let history = []; 4515 const $next = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-next-button'); 4516 const $prev = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-prev-button'); 4517 4518 // Set onclick Listeners 4519 setListeners(); 4520 4521 function setListeners() { 4522 // Search Widget 4523 if (settings.sf.container !== '') { 4524 sf = $(settings.sf.container).mecSearchForm({ 4525 id: settings.id, 4526 refine: settings.sf.refine, 4527 ajax_url: settings.ajax_url, 4528 start_date: settings.start_date, 4529 atts: settings.atts, 4530 callback: function (atts) { 4531 settings.atts = atts; 4532 search(); 4533 } 4534 }); 4535 4536 $(settings.sf.container).addClass('mec-skin-search-init'); 4537 } 4538 4539 // Load More 4540 $("#mec_skin_" + settings.id + " .mec-load-more-button").on("click", function () { 4541 loadMore(); 4542 }); 4543 4544 // Scroll 4545 if (settings.pagination === 'scroll') { 4546 $(window).on("scroll", function (event) { 4547 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 4548 4549 var finished = $target.data('page-finished'); 4550 if (finished) return; 4551 4552 var hT = $target.offset().top, 4553 hH = $target.outerHeight(), 4554 wH = $(window).height(), 4555 wS = $(this).scrollTop(); 4556 4557 if (wS + 100 >
4557 hT + hH - wH && !settings.infinite_locked) { 4558 settings.infinite_locked = true; 4559 $target.addClass('mec-load-more-scroll-loading'); 4560 loadMore(); 4561 } 4562 }); 4563 } 4564 4565 // Next Prev Pagination 4566 if (settings.pagination === 'nextprev') { 4567 // Events Wrapper 4568 const $EW = $("#mec_skin_events_" + settings.id + " .mec-events-agenda-container"); 4569 4570 let next_disabled = false; 4571 4572 // Previous Button 4573 $prev.on('click', function () { 4574 if (history.length) { 4575 let page = history.pop(); 4576 4577 // Display Events 4578 $EW.html(page.html); 4579 4580 // Update the variables 4581 settings.end_date = page.end_date; 4582 settings.offset = page.offset; 4583 settings.current_month_divider = page.current_month_divider; 4584 4585 // Display Next Button 4586 $next.removeClass('mec-util-hidden'); 4587 } 4588 4589 // Hide Previous Button 4590 if (!history.length) $prev.addClass('mec-util-hidden'); 4591 }); 4592 4593 // Next Button 4594 $next.on('click', function (e) { 4595 // Prevent Redirect 4596 e.preventDefault(); 4597 4598 // Currently Disabled 4599 if (next_disabled) return; 4600 4601 // Disable Button 4602 next_disabled = true; 4603 4604 // Add Loading Style 4605 $EW.addClass('mec-loading-events'); 4606 4607 // Push to History 4608 history.push({ 4609 end_date: settings.end_date, 4610 offset: settings.offset, 4611 current_month_divider: settings.current_month_divider, 4612 html: $EW.html() 4613 }); 4614 4615 loadMore(function (response) { 4616 // Display New Events 4617 if (response.count) $EW.html(response.html); 4618 // Remove Last Page 4619 else history.pop(); 4620 4621 // Enable Button 4622 next_disabled = false; 4623 4624 // Remove Loading Style 4625 $EW.removeClass('mec-loading-events'); 4626 4627 // Display Previous Button 4628 if (history.length) $prev.removeClass('mec-util-hidden'); 4629 // Hide Next Button 4630 if (response.count === 0 || (typeof response.has_more_event !== 'undefined' && !response.has_more_event)) $next.addClass('mec-util-hidden'); 4631 }); 4632 }); 4633 } 4634 4635 // Single Event Method 4636 if (settings.sed_method != '0') { 4637 sed(); 4638 } 4639 } 4640 4641 function sed() { 4642 // Single Event Display 4643 $("#mec_skin_" + settings.id + " .mec-agenda-event-title a").off('click').on('click', function (e) { 4644 var sed_method = $(this).attr('target'); 4645 if ('_blank' === sed_method) { 4646 4647 return; 4648 } 4649 e.preventDefault(); 4650 var href = $(this).attr('href'); 4651 4652 var id = $(this).data('event-id'); 4653 var occurrence = get_parameter_by_name('occurrence', href); 4654 var time = get_parameter_by_name('time', href); 4655 4656 if ('undefined' == typeof id) { 4657 return; 4658 } 4659 4660 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 4661 }); 4662 } 4663 4664 function loadMore(callback) { 4665 // Add loading Class 4666 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-load-more-loading"); 4667 4668 $.ajax({
4669 url: settings.ajax_url, 4670 data: "action=mec_agenda_load_more&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "¤t_month_divider=" + settings.current_month_divider + "&apply_sf_date=0", 4671 dataType: "json", 4672 type: "post", 4673 success: function (response) { 4674 if (response.count === 0) { 4675 // Remove loading Class 4676 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading").addClass("mec-util-hidden"); 4677 4678 // Release Lock of Infinite Scroll 4679 settings.infinite_locked = false; 4680 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").data('page-finished', true).removeClass('mec-load-more-scroll-loading'); 4681 4682 // Run Callback 4683 if (typeof callback === 'function') callback(response); 4684 } else { 4685 // Show load more button 4686 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 4687 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4688 4689 // Run Callback 4690 if (typeof callback === 'function') callback(response); 4691 // Append Items 4692 else $("#mec_skin_events_" + settings.id + " .mec-events-agenda-container").append(response.html); 4693 4694 // Remove loading Class 4695 $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-load-more-loading"); 4696 4697 // Update the variables 4698 settings.end_date = response.end_date; 4699 settings.offset = response.offset; 4700 settings.current_month_divider = response.current_month_divider; 4701 4702 // Single Event Method 4703 if (settings.sed_method != '0') { 4704 sed(); 4705 } 4706 mecFluentCustomScrollbar(); 4707 4708 // Release Lock of Infinite Scroll 4709 settings.infinite_locked = false; 4710 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 4711 } 4712 4713 $(document).trigger('mec_load_more_init', ['agenda', settings]); 4714 }, 4715 error: function () { } 4716 }); 4717 } 4718 4719 function search() { 4720 // Hide no event message 4721 $("#mec_skin_no_events_" + settings.id).addClass("mec-util-hidden"); 4722 4723 // Add loading Class 4724 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 4725 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 4726 mecFluentCustomScrollbar(); 4727 4728 $.ajax({
4729 url: settings.ajax_url, 4730 data: "action=mec_agenda_load_more&mec_start_date=" + settings.start_date + "&" + settings.atts + "¤t_month_divider=0&apply_sf_date=1", 4731 dataType: "json", 4732 type: "post", 4733 success: function (response) { 4734 if (response.count === 0) { 4735 // Append Items 4736 $("#mec_skin_events_" + settings.id + " .mec-events-agenda-container").html(''); 4737 4738 // Remove loading Class 4739 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 4740 4741 // Hide it 4742 $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4743 4744 // Show no event message 4745 $("#mec_skin_no_events_" + settings.id).removeClass("mec-util-hidden"); 4746 } else { 4747 // Append Items 4748 $("#mec_skin_events_" + settings.id + " .mec-events-agenda-container").html(response.html); 4749 4750 // Remove loading Class 4751 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 4752 4753 // Show load more button 4754 if (response.count >= settings.limit) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 4755 // Hide load more button 4756 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 4757 4758 // Update the variables 4759 settings.end_date = response.end_date; 4760 settings.offset = response.offset; 4761 settings.current_month_divider = response.current_month_divider; 4762 4763 // Single Event Method 4764 if (settings.sed_method != '0') { 4765 sed(); 4766 } 4767 } 4768 mecFluentCustomScrollbar(); 4769 4770 $(document).trigger('mec_search_init', ['agenda', settings, response]); 4771 }, 4772 error: function () { } 4773 }); 4774 } 4775 }; 4776}(jQuery)); 4777 4778// MEC CAROUSEL VIEW PLUGIN 4779(function ($) { 4780 $.fn.mecCarouselView = function (options) { 4781 // Default Options 4782 var settings = $.extend({ 4783 // These are the defaults. 4784 id: 0, 4785 atts: '', 4786 ajax_url: '', 4787 sf: {}, 4788 items: 3, 4789 items_mobile: 1, 4790 items_tablet: 2, 4791 loop: true, 4792 autoplay_status: true, 4793 autoplay: '', 4794 style: 'type1', 4795 start_date: '' 4796 }, options); 4797 4798 // Init Sliders 4799 initSlider(settings); 4800 4801 // Single Event Method 4802 if (settings.sed_method != '0') { 4803 sed(settings); 4804 } 4805 4806 function initSlider(settings) { 4807 // Check RTL website 4808 if ($('body').hasClass('rtl')) { 4809 var owl_rtl = true; 4810 } else { 4811 var owl_rtl = false; 4812 } 4813 4814 if (settings.style === 'type1') { 4815 // Start carousel skin 4816 var owl = $("#mec_skin_" + settings.id + " .mec-event-carousel-type1 .mec-owl-carousel"); 4817 4818 owl.owlCarousel({ 4819 autoplay: settings.autoplay_status, 4820 autoplayTimeout: settings.autoplay, // Set AutoPlay to 3 seconds 4821 loop: settings.loop, 4822 items: settings.items, 4823 dots: true, 4824 nav: false, 4825 autoplayHoverPause: settings.autoplay_status, 4826 rtl: owl_rtl, 4827 navElement: 'button type="button" role="button"', 4828 responsiveClass: true, 4829 responsive: { 4830 0: { 4831 items: settings.items_mobile, 4832 }, 4833 768: { 4834 items: settings.items_tablet, 4835 }, 4836 1199: { 4837 items: settings.items, 4838 } 4839 }, 4840 }); 4841 4842 if (settings.autoplay_status) { 4843 owl.on( 4844 "mouseleave", 4845 function (event) { 4846 $("#mec_skin_" + settings.id + " .mec-owl-carousel").trigger('play.owl.autoplay'); 4847 } 4848 ); 4849 } 4850 } else if (settings.style === 'type4') { 4851 $("#mec_skin_" + settings.id + " .mec-owl-carousel").owlCarousel({ 4852 autoplay: settings.autoplay_status, 4853 loop: settings.loop, 4854 autoplayTimeout: settings.autoplay, 4855 items: settings.items, 4856 dots: false, 4857 nav: true, 4858 autoplayHoverPause: settings.autoplay_status, 4859 navText: ["<i class='mec-sl-arrow-left' aria-label='Previous'></i>", " <i class='mec-sl-arrow-right' aria-label='Next'></i>"], 4860 navElement: 'button type="button" role="button"', 4861 rtl: owl_rtl, 4862 responsiveClass: true, 4863 responsive: { 4864 0: { 4865 items: settings.items_mobile, 4866 }, 4867 768: { 4868 items: settings.items_tablet, 4869 }, 4870 1199: { 4871 items: settings.items, 4872 } 4873 }, 4874 }); 4875 4876 if (settings.autoplay_status) { 4877 $("#mec_skin_" + settings.id + " .mec-owl-carousel").on( 4878 "mouseleave", 4879 function (event) { 4880 $("#mec_skin_" + settings.id + " .mec-owl-carousel").trigger('play.owl.autoplay'); 4881 } 4882 ); 4883 } 4884 } else { 4885 $("#mec_skin_" + settings.id + " .mec-owl-carousel").owlCarousel({ 4886 autoplay: settings.autoplay_status, 4887 loop: settings.loop, 4888 autoplayTimeout: settings.autoplay, 4889 items: settings.items, 4890 dots: typeof settings.dots_navigation != 'undefined' ? settings.dots_navigation : false, 4891 nav: typeof settings.navigation != 'undefined' ? settings.navigation : true, 4892 autoplayHoverPause: settings.autoplay_status, 4893 navText: typeof settings.navText != 'undefined' ? settings.navText : ["<i class='mec-sl-arrow-left' aria-label='Previous'></i>", " <i class='mec-sl-arrow-right' aria-label='Next'></i>"], 4894 navElement: 'button type="button" role="button"', 4895 rtl: owl_rtl, 4896 responsiveClass: true, 4897 responsive: { 4898 0: { 4899 items: settings.items_mobile, 4900 }, 4901 768: { 4902 items: settings.items_tablet, 4903 }, 4904 1199: { 4905 items: settings.items, 4906 } 4907 }, 4908 }); 4909 4910 if (settings.autoplay_status) { 4911 $("#mec_skin_" + settings.id + " .mec-owl-carousel").on( 4912 "mouseleave", 4913 function (event) { 4914 $("#mec_skin_" + settings.id + " .mec-owl-carousel").trigger('play.owl.autoplay'); 4915 } 4916 ); 4917 } 4918 } 4919 } 4920 }; 4921 4922 function sed(settings) { 4923 // Single Event Display
4924 $("#mec_skin_" + settings.id + " .mec-event-carousel-title a, #mec_skin_" + settings.id + " .mec-event-image a, #mec_skin_" + settings.id + " .mec-booking-button, #mec_skin_" + settings.id + " .mec-event-button").off('click').on('click', function (e) { 4925 var sed_method = $(this).attr('target'); 4926 if ('_blank' === sed_method) { 4927 4928 return; 4929 } 4930 e.preventDefault(); 4931 var href = $(this).attr('href'); 4932 4933 var id = $(this).data('event-id'); 4934 var occurrence = get_parameter_by_name('occurrence', href); 4935 var time = get_parameter_by_name('time', href); 4936 4937 if ('undefined' == typeof id) { 4938 return; 4939 } 4940 4941 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 4942 }); 4943 } 4944}(jQuery)); 4945 4946// MEC SLIDER VIEW PLUGIN 4947(function ($) { 4948 $.fn.mecSliderView = function (options) { 4949 // Default Options 4950 var settings = $.extend({ 4951 // These are the defaults. 4952 id: 0, 4953 atts: '', 4954 transition_time: 250, 4955 autoplay: false, 4956 ajax_url: '', 4957 sf: {}, 4958 start_date: '' 4959 }, options); 4960 4961 var rtl = false; 4962 4963 // Init Sliders 4964 initSlider(); 4965 4966 function initSlider() { 4967 // Check RTL website 4968 if ($('body').hasClass('rtl')) rtl = true; 4969 4970 $("#mec_skin_" + settings.id + " .mec-owl-carousel").owlCarousel( 4971 { 4972 autoplay: true, 4973 smartSpeed: settings.transition_time, 4974 autoplayTimeout: settings.autoplay, 4975 loop: true, 4976 items: 1, 4977 responsiveClass: true, 4978 responsive: { 4979 0: { 4980 items: 1, 4981 }, 4982 960: { 4983 items: 1, 4984 }, 4985 1200: { 4986 items: 1, 4987 } 4988 }, 4989 dots: false, 4990 nav: true, 4991 autoplayHoverPause: true, 4992 navText: typeof settings.navText != 'undefined' ? settings.navText : ["<i class='mec-sl-arrow-left' aria-label='Previous'></i>", " <i class='mec-sl-arrow-right' aria-label='Next'></i>"], 4993 navElement: 'button type="button" role="button"', 4994 rtl: rtl, 4995 }); 4996 } 4997 }; 4998}(jQuery)); 4999 5000// MEC COUNTDOWN MODULE 5001(function ($) { 5002 $.fn.mecCountDown = function (options, callBack) { 5003 // Default Options 5004 var settings = $.extend({ 5005 // These are the defaults. 5006 date: null, 5007 format: null 5008 }, options); 5009 5010 var callback = callBack; 5011 var selector = $(this); 5012 5013 startCountdown(); 5014 var interval = setInterval(startCountdown, 1000); 5015 5016 function startCountdown() { 5017 var eventDate = Date.parse(settings.date) / 1000; 5018 var currentDate = Math.floor($.now() / 1000); 5019 5020 if (eventDate <= currentDate) { 5021 selector.find(".mec-days").text("00"); 5022 selector.find(".mec-hours").text("00"); 5023 selector.find(".mec-minutes").text("00"); 5024 selector.find(".mec-seconds").text("00"); 5025 5026 callback.call(this); 5027 clearInterval(interval); 5028 return; 5029 } 5030 5031 var seconds = eventDate - currentDate; 5032 5033 var days = Math.floor(seconds / (60 * 60 * 24)); 5034 seconds -= days * 60 * 60 * 24; 5035 5036 var hours = Math.floor(seconds / (60 * 60)); 5037 seconds -= hours * 60 * 60; 5038 5039 var minutes = Math.floor(seconds / 60); 5040 seconds -= minutes * 60; 5041 5042 if (days == 1) selector.find(".mec-timeRefDays").text(mecdata.day); 5043 else selector.find(".mec-timeRefDays").text(mecdata.days); 5044 5045 if (hours == 1) selector.find(".mec-timeRefHours").text(mecdata.hour); 5046 else selector.find(".mec-timeRefHours").text(mecdata.hours); 5047 5048 if (minutes == 1) selector.find(".mec-timeRefMinutes").text(mecdata.minute); 5049 else selector.find(".mec-timeRefMinutes").text(mecdata.minutes); 5050 5051 if (seconds == 1) selector.find(".mec-timeRefSeconds").text(mecdata.second); 5052 else selector.find(".mec-timeRefSeconds").text(mecdata.seconds); 5053 5054 if (settings.format === "on") { 5055 days = (String(days).length >= 2) ? days : "0" + days; 5056 hours = (String(hours).length >= 2) ? hours : "0" + hours; 5057 minutes = (String(minutes).length >= 2) ? minutes : "0" + minutes; 5058 seconds = (String(seconds).length >= 2) ? seconds : "0" + seconds; 5059 } 5060 5061 if (!isNaN(eventDate)) { 5062 selector.find(".mec-days").text(days);
5063 selector.find(".mec-hours").text(hours); 5064 selector.find(".mec-minutes").text(minutes); 5065 selector.find(".mec-seconds").text(seconds); 5066 } else { 5067 clearInterval(interval); 5068 } 5069 } 5070 }; 5071 5072}(jQuery)); 5073 5074// MEC TILE VIEW PLUGIN 5075(function ($) { 5076 $.fn.mecTileView = function (options) { 5077 var active_month; 5078 var active_year; 5079 5080 // Default Options 5081 var settings = $.extend({ 5082 // These are the defaults. 5083 today: null, 5084 id: 0, 5085 events_label: 'Events', 5086 event_label: 'Event', 5087 month_navigator: 0, 5088 atts: '', 5089 active_month: {}, 5090 next_month: {}, 5091 sf: {}, 5092 ajax_url: '', 5093 pagination: '0', 5094 infinite_locked: false, 5095 }, options); 5096 5097 // Initialize Month Navigator 5098 if (settings.month_navigator) initMonthNavigator(); 5099 5100 // Load Next Month in background 5101 if (settings.load_method === 'month') setMonth(settings.next_month.year, settings.next_month.month, true); 5102 5103 active_month = settings.active_month.month; 5104 active_year = settings.active_month.year; 5105 5106 let history = []; 5107 const $next = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-next-button'); 5108 const $prev = $('#mec-nextprev-wrap-' + settings.id + ' .mec-nextprev-prev-button'); 5109 5110 // Set onclick Listeners 5111 setListeners(); 5112 5113 // Search Widget 5114 if (settings.sf.container !== '') { 5115 $(settings.sf.container).mecSearchForm( 5116 { 5117 id: settings.id, 5118 refine: settings.sf.refine, 5119 ajax_url: settings.ajax_url, 5120 atts: settings.atts, 5121 callback: function (atts) { 5122 settings.atts = atts; 5123 search(active_year, active_month); 5124 } 5125 }); 5126 5127 $(settings.sf.container).addClass('mec-skin-search-init'); 5128 } 5129 5130 function initMonthNavigator() { 5131 $("#mec_skin_" + settings.id + " .mec-load-month").off("click").on("click", function () { 5132 var year = $(this).data("mec-year"); 5133 var month = $(this).data("mec-month"); 5134 5135 setMonth(year, month, false, true); 5136 }); 5137 } 5138 5139 function search(year, month) { 5140 // Add Loading Class 5141 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 5142 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 5143 5144 $.ajax( 5145 { 5146 url: settings.ajax_url, 5147 data: "action=mec_tile_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=1", 5148 dataType: "json", 5149 type: "post", 5150 success: function (response) { 5151 if (settings.load_method === 'month') { 5152 active_month = response.current_month.month; 5153 active_year = response.current_month.year; 5154 5155 // Append Month 5156 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_tile_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 5157 5158 // Append Month Navigator 5159 $("#mec_skin_" + settings.id + " .mec-skin-tile-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 5160 5161 // Re-initialize Month Navigator 5162 initMonthNavigator(); 5163 5164 // Set onclick Listeners 5165 setListeners(); 5166 5167 // Toggle Month 5168 toggleMonth(response.current_month.id); 5169 } 5170 else { 5171 // Append Items 5172 $("#mec_skin_events_" + settings.id).html(response.html); 5173 5174 // Show load more button 5175 if (response.count >= settings.limit) $("#mec_skin_" + settings.id + " .mec-load-more-button").removeClass("mec-util-hidden"); 5176 // Hide load more button 5177 else $("#mec_skin_" + settings.id + " .mec-load-more-button").addClass("mec-util-hidden"); 5178 5179 // Update the variables 5180 settings.end_date = response.end_date; 5181 settings.offset = response.offset; 5182 5183 // Set onclick Listeners 5184 setListeners(); 5185 } 5186 5187 // Remove loading Class 5188 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 5189 5190 $(document).trigger('mec_search_init', ['tile', settings, response]); 5191 }, 5192 error: function () { } 5193 }); 5194 } 5195 5196 function setMonth(year, month, do_in_background, navigator_click) { 5197 if (typeof do_in_background === "undefined") do_in_background = false; 5198 navigator_click = navigator_click || false; 5199
5200 var month_id = year + "" + month; 5201 5202 if (!do_in_background) { 5203 active_month = month; 5204 active_year = year; 5205 } 5206 5207 // Month exists so we just show it 5208 if ($("#mec_tile_month_" + settings.id + "_" + month_id).length) { 5209 // Toggle Month 5210 toggleMonth(month_id); 5211 } 5212 else { 5213 if (!do_in_background) { 5214 // Add Loading Class 5215 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 5216 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 5217 } 5218 5219 $.ajax( 5220 { 5221 url: settings.ajax_url, 5222 data: "action=mec_tile_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=0" + "&navigator_click=" + navigator_click, 5223 dataType: "json", 5224 type: "post", 5225 success: function (response) { 5226 // Append Month 5227 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_tile_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 5228 5229 // Append Month Navigator 5230 $("#mec_skin_" + settings.id + " .mec-skin-tile-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 5231 5232 // Re-initialize Month Navigator 5233 initMonthNavigator(); 5234 5235 // Set onclick Listeners 5236 setListeners(); 5237 5238 if (!do_in_background) { 5239 // Toggle Month 5240 toggleMonth(response.current_month.id); 5241 5242 // Remove loading Class 5243 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 5244 5245 // Set Month Filter values in search widget 5246 $("#mec_sf_month_" + settings.id).val(month); 5247 $("#mec_sf_year_" + settings.id).val(year); 5248 } 5249 else { 5250 $("#mec_tile_month_" + settings.id + "_" + response.current_month.id).hide(); 5251 $("#mec_month_navigator_" + settings.id + "_" + response.current_month.id).hide(); 5252 } 5253 }, 5254 error: function () { } 5255 }); 5256 } 5257 } 5258 5259 function toggleMonth(month_id) { 5260 var active_month = $("#mec_skin_" + settings.id + " .mec-month-container-selected").data("month-id"); 5261 var active_day = $("#mec_tile_month_" + settings.id + "_" + active_month + " .mec-selected-day").data("day"); 5262 5263 if (active_day <= 9) active_day = "0" + active_day; 5264 5265 // Toggle Month Navigator 5266 $("#mec_skin_" + settings.id + " .mec-month-navigator").hide(); 5267 $("#mec_month_navigator_" + settings.id + "_" + month_id).show(); 5268 5269 // Toggle Month 5270 $("#mec_skin_" + settings.id + " .mec-month-container").hide().removeClass("mec-month-container-selected"); 5271 $("#mec_tile_month_" + settings.id + "_" + month_id).show().addClass("mec-month-container-selected"); 5272 5273 jQuery(document).trigger('mec_toggle_month', [settings, month_id]); 5274 } 5275 5276 var sf; 5277 5278 function setListeners() { 5279 // Load More 5280 $("#mec_skin_" + settings.id + " .mec-load-more-button").off("click").on("click", function () {
5281 loadMore(); 5282 }); 5283 5284 // Scroll 5285 if (settings.pagination === 'scroll') { 5286 $(window).on("scroll", function (event) { 5287 var $target = $("#mec_skin_" + settings.id + " .mec-load-more-wrap"); 5288 5289 var finished = $target.data('page-finished'); 5290 if (finished) return; 5291 5292 var hT = $target.offset().top, 5293 hH = $target.outerHeight(), 5294 wH = $(window).height(), 5295 wS = $(this).scrollTop(); 5296 5297 if (wS + 100 > hT + hH - wH && !settings.infinite_locked) { 5298 settings.infinite_locked = true; 5299 $target.addClass('mec-load-more-scroll-loading'); 5300 loadMore(); 5301 } 5302 }); 5303 } 5304 5305 // Next Prev Pagination 5306 if (settings.pagination === 'nextprev') { 5307 // Events Wrapper 5308 const $EW = $("#mec_skin_events_" + settings.id); 5309 5310 let next_disabled = false; 5311 5312 // Previous Button 5313 $prev.on('click', function () { 5314 if (history.length) { 5315 let page = history.pop(); 5316 5317 // Display Events 5318 $EW.html(page.html); 5319 5320 // Update the variables 5321 settings.end_date = page.end_date; 5322 settings.offset = page.offset; 5323 settings.current_month_divider = page.current_month_divider; 5324 5325 // Display Next Button 5326 $next.removeClass('mec-util-hidden'); 5327 } 5328 5329 // Hide Previous Button 5330 if (!history.length) $prev.addClass('mec-util-hidden'); 5331 }); 5332 5333 // Next Button 5334 $next.on('click', function (e) { 5335 // Prevent Redirect 5336 e.preventDefault(); 5337 5338 // Currently Disabled 5339 if (next_disabled) return; 5340 5341 // Disable Button 5342 next_disabled = true; 5343 5344 // Add Loading Style 5345 $EW.addClass('mec-loading-events'); 5346 5347 // Push to History 5348 history.push({ 5349 end_date: settings.end_date, 5350 offset: settings.offset, 5351 current_month_divider: settings.current_month_divider, 5352 html: $EW.html() 5353 }); 5354 5355 loadMore(function (response) { 5356 // Display New Events 5357 if (response.count) $EW.html(response.html); 5358 // Remove Last Page 5359 else history.pop(); 5360 5361 // Enable Button 5362 next_disabled = false; 5363 5364 // Remove Loading Style 5365 $EW.removeClass('mec-loading-events'); 5366 5367 // Display Previous Button 5368 if (history.length) $prev.removeClass('mec-util-hidden'); 5369 // Hide Next Button 5370 if (response.count === 0 || (typeof response.has_more_event !== 'undefined' && !response.has_more_event)) $next.addClass('mec-util-hidden'); 5371 }); 5372 }); 5373 } 5374 5375 $("#mec_skin_" + settings.id + " article").off("click").on("click", function (e) { 5376 // Link Clicked 5377 if (e.target.nodeName.toLowerCase() === 'a') return; 5378 5379 var href = $(this).data('href'); 5380 if (!href) return; 5381 5382 var target = $(this).data('target'); 5383 5384 if (target === 'blank') window.open(href, '_blank'); 5385 else if (target !== 'm1') document.location.href = href; 5386 }); 5387 5388 // Add the onclick event 5389 $("#mec_skin_" + settings.id + " .mec-has-event").off("click").on('click', function (e) { 5390 e.preventDefault(); 5391 5392 // define variables 5393 var $this = $(this), 5394 data_mec_cell = $this.data('mec-cell'),
5395 month_id = $this.data('month'); 5396 5397 $("#mec_monthly_view_month_" + settings.id + "_" + month_id + " .mec-calendar-day").removeClass('mec-selected-day'); 5398 $this.addClass('mec-selected-day'); 5399 5400 $('#mec_month_side_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec:not([data-mec-cell=' + data_mec_cell + '])').slideUp(); 5401 $('#mec_month_side_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec[data-mec-cell=' + data_mec_cell + ']').slideDown(); 5402 5403 $('#mec_monthly_view_month_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec:not([data-mec-cell=' + data_mec_cell + '])').slideUp(); 5404 $('#mec_monthly_view_month_' + settings.id + '_' + month_id + ' .mec-calendar-events-sec[data-mec-cell=' + data_mec_cell + ']').slideDown(); 5405 }); 5406 5407 // Single Event Method 5408 if (settings.sed_method != '0') { 5409 sed(); 5410 } 5411 } 5412 5413 function sed() { 5414 // Single Event Display 5415 $("#mec_skin_" + settings.id + " .mec-event-content .mec-tile-into-content-link,#mec_skin_" + settings.id + " .mec-event-content .mec-event-title a").off('click').on('click', function (e) { 5416 5417 var sed_method = $(this).closest('.mec-event-article.mec-tile-item').data('target'); 5418 if ('_blank' === sed_method) { 5419 return; 5420 } 5421 e.preventDefault(); 5422 var href = $(this).closest('.mec-event-article.mec-tile-item').data('href'); 5423 5424 var id = $(this).closest('.mec-event-article.mec-tile-item').find('.mec-event-title a').data('event-id'); 5425 var occurrence = get_parameter_by_name('occurrence', href); 5426 var time = get_parameter_by_name('time', href); 5427 5428 if ('undefined' == typeof id) { 5429 return; 5430 } 5431 5432 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 5433 }); 5434 } 5435 5436 function loadMore(callback) { 5437 // Load More Button 5438 var $load_more_button = $("#mec_skin_" + settings.id + " .mec-load-more-button"); 5439 5440 // Add loading Class 5441 $load_more_button.addClass("mec-load-more-loading"); 5442 5443 $.ajax( 5444 { 5445 url: settings.ajax_url, 5446 data: "action=mec_tile_load_more&mec_start_date=" + settings.end_date + "&mec_offset=" + settings.offset + "&" + settings.atts + "¤t_month_divider=" + settings.current_month_divider + "&apply_sf_date=0", 5447 dataType: "json", 5448 type: "post", 5449 success: function (response) { 5450 if (response.count == '0') { 5451 // Remove loading Class 5452 $load_more_button.removeClass("mec-load-more-loading"); 5453 5454 // Hide load more button 5455 $load_more_button.addClass("mec-util-hidden"); 5456 5457 // Release Lock of Infinite Scroll 5458 settings.infinite_locked = false; 5459 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").data('page-finished', true).removeClass('mec-load-more-scroll-loading'); 5460 5461 // Run Callback 5462 if (typeof callback === 'function') callback(response); 5463 } 5464 else { 5465 // Show load more button 5466 if (typeof response.has_more_event === 'undefined' || (typeof response.has_more_event !== 'undefined' && response.has_more_event)) $load_more_button.removeClass("mec-util-hidden"); 5467 else $load_more_button.addClass("mec-util-hidden"); 5468 5469 // Run Callback 5470 if (typeof callback === 'function') callback(response); 5471 // Append Items 5472 else $("#mec_skin_events_" + settings.id).append(response.html); 5473 5474 // Remove loading Class 5475 $load_more_button.removeClass("mec-load-more-loading"); 5476 5477 // Update the variables 5478 settings.end_date = response.end_date; 5479 settings.offset = response.offset; 5480 settings.current_month_divider = response.current_month_divider; 5481 5482 // Single Event Method 5483 if (settings.sed_method != '0') { 5484 sed(); 5485 } 5486 5487 // Release Lock of Infinite Scroll 5488 settings.infinite_locked = false; 5489 $("#mec_skin_" + settings.id + " .mec-load-more-wrap").removeClass('mec-load-more-scroll-loading'); 5490 } 5491 5492 $(document).trigger('mec_load_more_init', ['tile', settings]); 5493 }, 5494 error: function () { } 5495 }); 5496 } 5497 }; 5498}(jQuery)); 5499 5500function mec_gateway_selected(gateway_id) { 5501 // Hide all gateway forms 5502 jQuery('.mec-book-form-gateway-checkout').addClass('mec-util-hidden'); 5503 5504 // Show selected gateway form 5505 jQuery('#mec_book_form_gateway_checkout' + gateway_id).removeClass('mec-util-hidden'); 5506} 5507 5508function mec_wrap_resize() { 5509 var $mec_wrap = jQuery('.mec-wrap'), 5510 mec_width = $mec_wrap.width(); 5511 if (mec_width < 959) { 5512 $mec_wrap.addClass('mec-sm959'); 5513 } else { 5514 $mec_wrap.removeClass('mec-sm959'); 5515 } 5516} 5517 5518function get_parameter_by_name(name, url) { 5519 if (!url) { 5520 url = window.location.href; 5521 } 5522 5523 name = name.replace(/[\[\]]/g, "\\$&"); 5524 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 5525 results = regex.exec(url); 5526 5527 if (!results) return null; 5528 if (!results[2]) return ''; 5529 5530 return decodeURIComponent(results[2].replace(/\+/g, " "));
5531} 5532 5533// Focus events day 5534var mec_g_month_id = null; 5535 5536function mecFocusDay(settings) { 5537 if (mec_g_month_id != null) { 5538 setTimeout(function () { 5539 var id = settings.id, 5540 date = new Date(), 5541 mec_owl_year = mec_g_month_id.substr(0, 4), 5542 mec_current_year = date.getFullYear(), 5543 mec_owl_month = mec_g_month_id.substr(4, 6), 5544 mec_current_month = date.getMonth() + 1, 5545 mec_current_day = date.getDate(), 5546 mec_owl_go = jQuery("#mec-owl-calendar-d-table-" + id + "-" + mec_g_month_id), 5547 mec_day_exist = false; 5548 mec_owl_go.find('.owl-stage > div').each(function (index) { 5549 if (parseInt(jQuery(this).children('div').data("events-count")) > 0) { 5550 if ((((mec_owl_year != mec_current_year) && (mec_owl_month != mec_current_month)) || (mec_owl_year == mec_current_year) && (mec_owl_month != mec_current_month)) || parseInt(jQuery(this).children('div').text()) > mec_current_day) { 5551 var index_plus = index + 1; 5552 jQuery('#mec_daily_view_day' + id + '_' + mec_g_month_i
5552d + (index < 10 ? '0' + index_plus : index_plus)).trigger('click'); 5553 mec_owl_go.trigger('to.owl.carousel', index_plus); 5554 mec_day_exist = true; 5555 return false; 5556 } 5557 else { 5558 jQuery('#mec_daily_view_day' + id + '_' + mec_g_month_id + mec_current_day).trigger('click'); 5559 mec_owl_go.trigger('to.owl.carousel', mec_current_day); 5560 mec_day_exist = true; 5561 return false; 5562 } 5563 } 5564 }); 5565 5566 if (!mec_day_exist && ((mec_owl_year == mec_current_year) && (mec_owl_month == mec_current_month))) { 5567 jQuery('#mec_daily_view_day' + id + '_' + mec_g_month_id + mec_current_day).trigger('click'); 5568 mec_owl_go.trigger('to.owl.carousel', mec_current_day); 5569 } 5570 }, 1000); 5571 } 5572} 5573 5574// Focus events week 5575function mec_focus_week(id, skin) { 5576 skin = skin || 'weekly'; 5577 var wrap_elem = jQuery('.mec-weeks-container .mec-weekly-view-week-active').parent(); 5578 var days = wrap_elem.find('dt'); 5579 var week = wrap_elem.find('dl').length; 5580 var focus_week = false; 5581 var i = j = 1; 5582 5583 for (i = 1; i < week; i++) { 5584 setTimeout(function () { 5585 var event = new Event('click'); 5586 jQuery('#mec_skin_' + id + ' .mec-previous-month.mec-load-week')[0].dispatchEvent(event); 5587 }, 33); 5588 } 5589 5590 days.each(function (i) { 5591 if (jQuery(this).data('events-count') > 0) { 5592 if (focus_week === false) { 5593 focus_week = parseInt(jQuery(this).parent().data('week-number')); 5594 } 5595 5596 if (skin == 'timetable') { 5597 if (parseInt(jQuery(this).parent().data('week-number')) == parseInt(jQuery('body').data('currentweek'))) { 5598 focus_week = parseInt(jQuery(this).parent().data('week-number')); 5599 return false; 5600 } 5601 } 5602 else { 5603 return false; 5604 } 5605 } 5606 }); 5607 5608 if (focus_week !== false) { 5609 for (j = 1; j < focus_week; j++) { 5610 setTimeout(function () { 5611 var event = new Event('click'); 5612 jQuery('#mec_skin_' + id + ' .mec-next-month.mec-load-week')[0].dispatchEvent(event); 5613 }, 33); 5614 } 5615 } 5616} 5617 5618// TODO must be cleaned JS codes 5619(function ($) { 5620 $(document).ready(function () { 5621 // Check RTL website 5622 if ($('body').hasClass('rtl')) { 5623 var owl_rtl = true; 5624 } else { 5625 var owl_rtl = false; 5626 } 5627 5628 // MEC WIDGET CAROUSEL 5629 $(".mec-widget .mec-event-grid-classic").each(function () { 5630 var loop_status = $(this).data('widget-loop'); 5631 if (typeof loop_status === 'undefined') loop_status = 1; 5632 5633 var autoplay_status = $(this).data('widget-autoplay'); 5634 if (typeof autoplay_status === 'undefined') autoplay_status = 1; 5635 5636 var autoplay_time = $(this).data('widget-autoplay-time'); 5637 if (typeof autoplay_time === 'undefined') autoplay_time = 3000; 5638 5639 $(this).addClass('mec-owl-carousel mec-owl-theme'); 5640 $(this).owlCarousel( 5641 { 5642 autoplay: (autoplay_status ? true : false), 5643 autoplayTimeout: autoplay_time, 5644 autoplayHoverPause: (autoplay_status ? true : false), 5645 loop: (loop_status ? true : false), 5646 dots: false, 5647 nav: true, 5648 navText: ["<i class='mec-sl-arrow-left' aria-label='Previous'></i>", " <i class='mec-sl-arrow-right' aria-label='Next'></i>"], 5649 navElement: 'button type="button" role="button"', 5650 items: 1, 5651 autoHeight: true, 5652 responsiveClass: true, 5653 rtl: owl_rtl, 5654 }); 5655 }); 5656 5657 // add mec-sm959 class if mec-wrap div size < 959 5658 mec_wrap_resize(); 5659 5660 jQuery(window).on('resize', function () { 5661 mec_wrap_resize(); 5662 }); 5663 5664 // Fixed: social hover in iphone 5665 $('.mec-event-sharing-wrap').hover(function () { 5666 $(this).find('.mec-event-sharing').show(0); 5667 }, 5668 function () { 5669 $(this).find('.mec-event-sharing').hide(0); 5670 }); 5671 5672 // Register Booking Smooth Scroll 5673 $('a.simple-booking[href^="#mec-events-meta-group-booking"]').click(function () {
5674 if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 5675 var target = $(this.hash); 5676 target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); 5677 5678 if (target.length) { 5679 var scrollTopVal = target.offset().top - 30; 5680 5681 if ($('body[class^="mec-events-template"]').length > 0) { 5682 $('html, body').animate({ 5683 scrollTop: scrollTopVal 5684 }, 600); 5685 5686 return false; 5687 5688 } else { 5689 5690 return true; 5691 5692 } 5693 } 5694 } 5695 }); 5696 5697 // Load Information widget under title in mobile/tablet 5698 if ($('.single-mec-events .mec-single-event:not(.mec-single-modern)').length > 0) { 5699 if ($('.single-mec-events .mec-event-info-desktop.mec-event-meta.mec-color-before.mec-frontbox').length > 0) { 5700 var html = $('.single-mec-events .mec-event-info-desktop.mec-event-meta.mec-color-before.mec-frontbox')[0].outerHTML; 5701 if (Math.max(document.documentElement.clientWidth, window.innerWidth || 0) < 960) { 5702 $('.single-mec-events .col-md-4 .mec-event-info-desktop.mec-event-meta.mec-color-before.mec-frontbox').remove(); 5703 $('.single-mec-events .mec-event-info-mobile').html(html) 5704 } 5705 } 5706 } 5707 5708 // FAQ 5709 $(document).on('click', '.mec-faq-toggle-icon', function () { 5710 $(this).parent().toggleClass('close'); 5711 }); 5712 }); 5713})(jQuery); 5714 5715// Weather 5716(function ($) { 5717 // Convart fahrenheit to centigrade 5718 function convertToC(value) { 5719 return Math.round(((parseFloat(value) - 32) * 5 / 9)); 5720 } 5721 5722 // Convert centigrade to fahrenheit 5723 function convertToF(value) { 5724 return Math.round(((1.8 * parseFloat(value)) + 32)); 5725 } 5726 5727 // Convert miles to kilometers 5728 function MPHToKPH(value) { 5729 return Math.round(1.609344 * parseFloat(value)); 5730 } 5731 5732 // Convert kilometers to miles 5733 function KPHToMPH(value) { 5734 return Math.round((0.6214 * parseFloat(value))); 5735 } 5736 5737 $(document).ready(function ($) { 5738 var degree = $('.mec-weather-summary-temp'); 5739 var weather_extra = $('.mec-weather-extras'); 5740 var wind = weather_extra.children('.mec-weather-wind'); 5741 var visibility = weather_extra.children('.mec-weather-visibility'); 5742 var feelslike = weather_extra.children('.mec-weather-feels-like'); 5743 5744 // Events 5745 $('.degrees-mode').on('click', function () { 5746 var degree_mode = degree.children('var').text().trim(); 5747 var wind_text = wind.text().substring(5); 5748 var visibility_text = visibility.text().substring(11); 5749 var feelslike_text = feelslike.text().substring(12); 5750 5751 if (degree_mode == degree.data('c').trim()) { 5752 degree.html(convertToF(parseInt(degree.text())) + ' <var>' + degree.data('f') + '</var>'); 5753 feelslike.html('<span>Feels Like:</span> ' + convertToF(parseInt(feelslike_text)) + ' <var>' + feelslike.data('f') + '</var>'); 5754 wind.html('<span>Wind:</span> ' + KPHToMPH(parseInt(wind_text)) + '<var>' + wind.data('mph') + '</var>'); 5755 visibility.html('<span>Visibility:</span> ' + KPHToMPH(parseInt(visibility_text)) + '<var>' + visibility.data('mph') + '</var>'); 5756 $(this).text($(this).data('metric')); 5757 } 5758 else if (degree_mode == degree.data('f').trim()) { 5759 degree.html(convertToC(parseInt(degree.text())) + ' <var>' + degree.data('c') + '</var>'); 5760 feelslike.html('<span>Feels Like:</span> ' + convertToC(parseInt(feelslike_text)) + ' <var>' + feelslike.data('c') + '</var>'); 5761 wind.html('<span>Wind:</span> ' + MPHToKPH(parseInt(wind_text)) + '<var>' + wind.data('kph') + '</var>'); 5762 visibility.html('<span>Visibility:</span> ' + MPHToKPH(parseInt(visibility_text)) + '<var>' + visibility.data('kph') + '</var>'); 5763 $(this).text($(this).data('imperial')); 5764 } 5765 }); 5766 5767 $('a').on('click', function () { });
5768 5769 // FES Speakers Adding - Name Only 5770 $('#mec_add_speaker_button').on('click', function () { 5771 const $this = this; 5772 const content = $($this).parent().find('input'); 5773 const list = $('#mec-fes-speakers-list'); 5774 const key = list.find('.mec-error').length; 5775 5776 $($this).prop("disabled", true).css('cursor', 'wait'); 5777 $.post(ajaxurl, { 5778 action: "mec_speaker_adding", 5779 content: content.val(), 5780 fes_nonce: mecdata.fes_nonce, 5781 key: key 5782 }) 5783 .done(function (data) { 5784 if ($(data).hasClass('mec-error')) { 5785 list.prepend(data); 5786 setTimeout(function () { 5787 $('#mec-speaker-error-${key}').remove(); 5788 }, 1500); 5789 } else { 5790 list.html(data); 5791 content.val(''); 5792 } 5793 5794 $($this).prop("disabled", false).css('cursor', 'pointer'); 5795 }); 5796 }); 5797 5798 // FES Speaker Adding - Full Details 5799 $('#mec_add_full_speaker_button').on('click', function () { 5800 const $this = this; 5801 const list = $('#mec-fes-speakers-list'); 5802 const name = $('#mec_speaker_full_info_name'); 5803 const type = $('#mec_speaker_full_info_type'); 5804 const job_title = $('#mec_speaker_full_info_job_title'); 5805 const tel = $('#mec_speaker_full_info_tel'); 5806 const email = $('#mec_speaker_full_info_email'); 5807 const website = $('#mec_speaker_full_info_website'); 5808 const facebook = $('#mec_speaker_full_info_facebook'); 5809 const instagram = $('#mec_speaker_full_info_instagram'); 5810 const linkedin = $('#mec_speaker_full_info_linkedin'); 5811 const twitter = $('#mec_speaker_full_info_twitter'); 5812 const image = $('#mec_fes_speaker_thumbnail'); 5813 const key = list.find('.mec-error').length; 5814 5815 $($this).prop("disabled", true).css('cursor', 'wait'); 5816 $.post(ajaxurl, { 5817 action: "mec_speaker_adding", 5818 name: name.val(), 5819 type: type.val(), 5820 job_title: job_title.val(), 5821 tel: tel.val(), 5822 email: email.val(), 5823 website: website.val(), 5824 facebook: facebook.val(), 5825 instagram: instagram.val(), 5826 linkedin: linkedin.val(), 5827 twitter: twitter.val(), 5828 image: image.val(), 5829 fes_nonce: mecdata.fes_nonce, 5830 key: key 5831 }) 5832 .done(function (data) { 5833 if ($(data).hasClass('mec-error')) { 5834 list.prepend(data); 5835 setTimeout(function () { 5836 $('#mec-speaker-error-${key}').remove(); 5837 }, 1500); 5838 } else { 5839 list.html(data); 5840 name.val(''); 5841 type.val(''); 5842 job_title.val(''); 5843 tel.val(''); 5844 email.val(''); 5845 website.val(''); 5846 facebook.val(''); 5847 instagram.val(''); 5848 linkedin.val(''); 5849 twitter.val(''); 5850 5851 $('#mec_fes_speaker_remove_image_button').trigger('click'); 5852 } 5853 5854 $($this).prop("disabled", false).css('cursor', 'pointer'); 5855 }); 5856 }); 5857 5858 // FES Sponsor Adding - Name Only 5859 $('#mec_add_sponsor_button').on('click', function () { 5860 const $this = this; 5861 const content = $($this).parent().find('input'); 5862 const list = $('#mec-fes-sponsors-list'); 5863 const key = list.find('.mec-error').length; 5864 5865 $($this).prop("disabled", true).css('cursor', 'wait'); 5866 $.post(ajaxurl, { 5867 action: "mec_sponsor_adding", 5868 content: content.val(), 5869 fes_nonce: mecdata.fes_nonce, 5870 key: key 5871 }) 5872 .done(function (data) { 5873 if ($(data).hasClass('mec-error')) { 5874 list.prepend(data); 5875 setTimeout(function () { 5876 $('#mec-sponsor-error-${key}').remove(); 5877 }, 1500); 5878 } else { 5879 list.html(data); 5880 content.val(''); 5881 } 5882 5883 $($this).prop("disabled", false).css('cursor', 'pointer'); 5884 }); 5885 }); 5886 5887 // FES Sponsor Adding - Full Details 5888 $('#mec_add_full_sponsor_button').on('click', function () { 5889 const $this = this; 5890 const list = $('#mec-fes-sponsors-list'); 5891 const name = $('#mec_sponsor_full_info_name'); 5892 const url = $('#mec_sponsor_full_info_url'); 5893 const image = $('#mec_fes_sponsor_thumbnail');
5894 const key = list.find('.mec-error').length; 5895 5896 $($this).prop("disabled", true).css('cursor', 'wait'); 5897 $.post(ajaxurl, { 5898 action: "mec_sponsor_adding", 5899 name: name.val(), 5900 url: url.val(), 5901 image: image.val(), 5902 fes_nonce: mecdata.fes_nonce, 5903 key: key 5904 }) 5905 .done(function (data) { 5906 if ($(data).hasClass('mec-error')) { 5907 list.prepend(data); 5908 setTimeout(function () { 5909 $('#mec-sponsor-error-${key}').remove(); 5910 }, 1500); 5911 } else { 5912 list.html(data); 5913 name.val(''); 5914 url.val(''); 5915 5916 $('#mec_fes_sponsor_remove_image_button').trigger('click'); 5917 } 5918 5919 $($this).prop("disabled", false).css('cursor', 'pointer'); 5920 }); 5921 }); 5922 5923 // Check RTL website 5924 var owl_rtl = $('body').hasClass('rtl') ? true : false; 5925 5926 // MEC FES Date Item Event 5927 $(document).on('click', '.mec-export-list-wrapper .mec-export-list-item', function () { 5928 $('.mec-export-list-item').removeClass('fes-export-date-active'); 5929 $(this).addClass('fes-export-date-active'); 5930 }); 5931 5932 // MEC BuddyPress Integration Attendees Modules 5933 var mec_bd_attendees_modules = $('.mec-attendees-list-details > ul > li'); 5934 mec_bd_attendees_modules.click(function () { 5935 $(this).find('.mec-attendees-toggle').toggle(); 5936 }); 5937 5938 // MEC FES export csv 5939 $(document).on('click', '.mec-event-export-csv, .mec-event-export-excel', function () { 5940 var mec_event_id = $(this).parent().parent().data('event-id'); 5941 5942 var time = $(this).parent().parent().find($('.fes-export-date-active')).data('time'); 5943 if (typeof time === 'undefined') time = 0; 5944 5945 var type = $(this).hasClass('mec-event-export-excel') ? 'ms-excel' : 'csv'; 5946 5947 var url = mecdata.ajax_url + "?action=mec_fes_csv_export&fes_nonce=" + mecdata.fes_nonce + "&mec_event_id=" + mec_event_id + "×tamp=" + time + "&type=" + type; 5948 5949 window.location = url; 5950 }); 5951 }); 5952})(jQuery); 5953 5954function mec_book_form_submit(event, unique_id) { 5955 event.preventDefault(); 5956 window["mec_book_form_submit" + unique_id](); 5957} 5958 5959function mec_book_form_back_btn_cache(context, unique_id) { 5960 var id = jQuery(context).attr('id'); 5961 var mec_form_data = jQuery('#mec_book_form' + unique_id).serializeArray(); 5962 5963 if (id == "mec-book-form-btn-step-1") jQuery('body').data('mec-book-form-step-1', jQuery('#mec_booking' + unique_id).html()).data('unique-id', unique_id).data('mec-book-form-data-step-1', mec_form_data); 5964 else if (id == "mec-book-form-btn-step-2") jQuery('body').data('mec-book-form-step-2', jQuery('#mec_booking' + unique_id).html()).data('mec-book-form-data-step-2', mec_form_data); 5965} 5966 5967function mec_agreement_change(context) { 5968 var status = jQuery(context).is(":checked"); 5969 5970 if (status) jQuery(context).prop("checked", "checked"); 5971 else jQuery(context).removeProp("checked"); 5972} 5973 5974function mec_book_form_back_btn_click(context, unique_id) { 5975 var id = jQuery(context).attr('id'); 5976 unique_id = jQuery('body').data('unique-id'); 5977 5978 jQuery('#mec_booking_message' + unique_id).hide(); 5979 if (id == "mec-book-form-back-btn-step-2") { 5980 var mec_form_data_step_1 = jQuery('body').data('mec-book-form-data-step-1'); 5981 5982 jQuery('#mec_booking' + unique_id).html(jQuery('body').data('mec-book-form-step-1')); 5983 jQuery.each(mec_form_data_step_1, function (index, object_item) { 5984 if (object_item.name === 'book[date][]') { 5985 jQuery('[value="' + object_item.value + '"]').prop('checked', true); 5986 } 5987 else jQuery('[name="' + object_item.name + '"]').val(object_item.value); 5988 }); 5989 5990 // Booking Refresh Recaptcha When Back Button Click.
5991 var recaptcha_check = jQuery('#mec_booking' + unique_id).find('#g-recaptcha').length; 5992 if (recaptcha_check != 0) { 5993 jQuery('#g-recaptcha').html(''); 5994 grecaptcha.render("g-recaptcha", { 5995 sitekey: mecdata.recapcha_key 5996 }); 5997 } 5998 5999 mec_init_number_spinner(); 6000 6001 var event_id = jQuery('input[name="event_id"]').val(); 6002 var date = jQuery('#mec_book_form_date' + unique_id).val(); 6003 6004 // Update Availability 6005 window['mec_get_tickets_availability' + unique_id](event_id, date); 6006 } 6007 else if (id == "mec-book-form-back-btn-step-3") { 6008 var mec_form_data_step_2 = jQuery('body').data('mec-book-form-data-step-2'); 6009 6010 jQuery('#mec_booking' + unique_id).html(jQuery('body').data('mec-book-form-step-2')); 6011 jQuery.each(mec_form_data_step_2, function (index, object_item) { 6012 var mec_elem = jQuery('[name="' + object_item.name + '"]'); 6013 var mec_type = mec_elem.attr('type'); 6014 6015 if ((mec_type == 'checkbox' || mec_type == 'radio')) { 6016 var mec_elem_len = jQuery('[name="' + object_item.name + '"]').length; 6017 6018 if (mec_elem_len > 1) { 6019 var id = '#' + mec_elem.attr('id').match(/mec_book_reg_field_reg.*_/g) + object_item.value.toLowerCase(); 6020 jQuery(id).prop('checked', true); 6021 } 6022 else { 6023 mec_elem.prop('checked', true); 6024 } 6025 } 6026 6027 mec_elem.val(object_item.value); 6028 }); 6029 } 6030} 6031 6032// Google map Skin 6033function gmapSkin(NewJson, id) { 6034 var gmap_temp = jQuery("#gmap-data-" + id); 6035 var beforeJson = gmap_temp.val(); 6036 if (typeof beforeJson === 'undefined') beforeJson = ''; 6037 6038 var newJson = NewJson; 6039 let jsonPush = (typeof beforeJson != 'undefined' && beforeJson.trim() == "") ? [] : JSON.parse(beforeJson); 6040 var pushState = jsonPush.length < 1 ? false : true; 6041 6042 for (var key in newJson) { 6043 if (pushState) {
6044 jsonPush.forEach(function (Item, Index) { 6045 var render_location = jsonPush[Index].latitude + "," + jsonPush[Index].longitude; 6046 if (key.trim() == render_location.trim()) { 6047 // LightBox Count Update 6048 newJson[key].count = newJson[key].count + jsonPush[Index].count; 6049 6050 // LightBox Ids Update 6051 newJson[key].event_ids = newJson[key].event_ids.concat(jsonPush[Index].event_ids); 6052 6053 // LightBox Initialize 6054 var dom = jQuery(newJson[key].lightbox).find("div:nth-child(2)"); 6055 var main_items = dom.html(); 6056 var new_items = jQuery(jsonPush[Index].lightbox).find("div:nth-child(2)").html(); 6057 6058 var render_items = dom.html(main_items + new_items).html(); 6059 var new_info_lightbox = '<div><div class="mec-event-detail mec-map-view-event-detail"><i class="mec-sl-map-marker"></i> ' + newJson[key].name + '</div><div>' + render_items + '</div></div>'; 6060 newJson[key].lightbox = new_info_lightbox; 6061 6062 // LightBox info 6063 var new_info_window = '<div class="mec-marker-infowindow-wp"><div class="mec-marker-infowindow-count">' + newJson[key].count + '</div><div class="mec-marker-infowindow-content"><span>Event at this location</span><span>' + newJson[key].name + '</span></div></div>'; 6064 newJson[key].infowindow = new_info_window; 6065 6066 // Remove before values of this location 6067 jsonPush.splice(Index, 1); 6068 } 6069 }); 6070 } 6071 6072 jsonPush.push(newJson[key]); 6073 } 6074 6075 gmap_temp.val(JSON.stringify(jsonPush)); 6076 return jsonPush; 6077} 6078 6079// Fluent Scripts 6080jQuery(document).ready(function () { 6081 if (jQuery('.mec-fluent-wrap').length < 0) { 6082 return; 6083 } 6084 // Events 6085 jQuery(window).on('resize', mecFluentToggoleDisplayValueFilterContent); 6086 jQuery(document).on('click', '.mec-fluent-wrap .mec-filter-icon', mecFluentToggleFilterContent); 6087 jQuery(document).on('click', '.mec-fluent-wrap .mec-more-events-icon', mecFluentToggleMoreEvents); 6088 jQuery(document).on('click', '.mec-fluent-wrap .mec-yearly-calendar', mecFluentYearlyCalendar); 6089 jQuery(document).on('click', mecFluentOutsideEvent); 6090 jQuery(document).on('click', '.mec-fluent-more-views-icon', mecFluentMoreViewsContent); 6091 jQuery(document).on('change', '.mec-fluent-wrap .mec-filter-content select, .mec-fluent-wrap .mec-filter-content input', mecFluentSmartFilterIcon); 6092 // Run 6093 mecFluentTimeTableUI(); 6094 mecFluentUI(); 6095 mecFluentNiceSelect(); 6096 mecFluentWrapperFullScreenWidth(); 6097 jQuery(window).on('load', mecFluentWrapperFullScreenWidth); 6098 jQuery(window).on('load', mecFluentCurrentTimePosition); 6099 jQuery(window).on('resize', mecFluentWrapperFullScreenWidth); 6100 jQuery(window).on('resize', mecFluentTimeTableUI); 6101 mecFluentSliderUI(); 6102 mecFluentFullCalendar(); 6103 jQuery(window).on('resize', mecFluentFullCalendar); 6104 mecFluentCustomScrollbar(); 6105}); 6106 6107function mecFluentSinglePage() { 6108 if (jQuery().niceScroll) { 6109 jQuery('.mec-single-fluent-body .featherlight .mec-single-fluent-wrap').niceScroll({ 6110 horizrailenabled: false, 6111 cursorcolor: '#C1C5C9', 6112 cursorwidth: '4px', 6113 cursorborderradius: '4px', 6114 cursorborder: 'none', 6115 railoffset: { 6116 left: 10, 6117 } 6118 }); 6119 } 6120} 6121 6122function mecFluentFullCalendar() { 6123 if (jQuery('.mec-fluent-wrap.mec-skin-full-calendar-container').length > 0) { 6124 var widowWidth = jQuery(window).innerWidth(); 6125 if (widowWidth <= 767) { 6126 jQuery('.mec-fluent-wrap.mec-skin-full-calendar-container .mec-skin-monthly-view-month-navigator-container, .mec-fluent-wrap.mec-skin-full-calendar-container .mec-calendar-a-month, .mec-fluent-wrap.mec-skin-full-calendar-container .mec-yearly-title-sec').css({ 6127 paddingTop: jQuery('.mec-fluent-wrap.mec-skin-full-calendar-container').children('.mec-totalcal-box').height() + 40, 6128 }); 6129 } else { 6130 jQuery('.mec-fluent-wrap.mec-skin-full-calendar-container .mec-skin-monthly-view-month-navigator-container, .mec-fluent-wrap.mec-skin-full-calendar-container .mec-calendar-a-month, .mec-fluent-wrap.mec-skin-full-calendar-container .mec-yearly-title-sec').css({ 6131 paddingTop: 32, 6132 }); 6133 } 6134 } 6135} 6136 6137function mecFluentSmartFilterIcon() { 6138 var filterContent = jQuery(this).closest('.mec-filter-content'); 6139 var hasValue = false; 6140 if (jQuery(this).closest('.mec-date-search').length > 0) { 6141 var yearValue = jQuery(this).closest('.mec-date-search').find('select[id*="mec_sf_year"]').val(); 6142 var monthValue = jQuery(this).closest('.mec-date-search').find('select[id*="mec_sf_month"]').val(); 6143 if ((yearValue == 'none' && monthValue == 'none') || (yearValue != 'none' && monthValue != 'none')) { 6144 filterContent.hide(); 6145 if ((yearValue != 'none' && monthValue != 'none')) { 6146 hasValue = true; 6147 } else { 6148 hasValue = false; 6149 } 6150 } else { 6151 return false; 6152 } 6153 } else { 6154 filterContent.hide(); 6155 } 6156 if (!hasValue) { 6157 filterContent.find(':not(.mec-date-search)').find('select, input:not([type="hidden"])').each(function () { 6158 if (jQuery(this).val()) { 6159 hasValue = true; 6160 return false; 6161 } 6162 }); 6163 } 6164 if (hasValue) { 6165 jQuery(this).closest('.mec-search-form').find('.mec-filter-icon').addClass('active'); 6166 } else { 6167 jQuery(this).closest('.mec-search-form').find('.mec-filter-icon').removeClass('active'); 6168 } 6169} 6170 6171function mecFluentMoreViewsContent() { 6172 jQuery(this).find('.mec-fluent-more-views-content').toggleClass('active'); 6173} 6174 6175function mecFluentWrapperFullScreenWidth() { 6176 if (jQuery('.mec-fluent-bg-wrap').length > 0) { 6177 jQuery('.mec-fluent-bg-wrap').css({ 6178 maxWidth: jQuery('body').width() + 8, 6179 }); 6180 } 6181} 6182 6183function mecFluentUI() { 6184 if (typeof mecdata != 'undefined' && typeof mecdata.enableSingleFluent != 'undefined' && mecdata.enableSingleFluent) { 6185 jQuery('body').addClass('mec-single-fluent-body'); 6186 } 6187 // Set filter content position 6188 jQuery(window).on('load resize', function () { 6189 if (jQuery('.mec-filter-content').length > 0) { 6190 jQuery('.mec-filter-content').css({ 6191 right: -(jQuery('.mec-calendar').width() - jQuery('.mec-search-form.mec-totalcal-box').position().left - jQuery('.mec-search-form.mec-totalcal-box').width() + 40), 6192 left: -jQuery('.mec-search-form.mec-totalcal-box').position().left + 40, 6193 }); 6194 } 6195 if (jQuery('.mec-filter-icon').is(':visible')) {
6196 var filterIconLeftPosition = parseInt(jQuery('.mec-search-form.mec-totalcal-box').position().left) + parseInt(jQuery('.mec-filter-icon').position().left) - 25; 6197 jQuery('head').find('style[title="mecFluentFilterContentStyle"]').remove().end().append('<style title="mecFluentFilterContentStyle">.mec-fluent-wrap .mec-filter-content:before{left: ' + filterIconLeftPosition + 'px;}.mec-fluent-wrap .mec-filter-content:after{left: ' + (filterIconLeftPosition + 1) + 'px;}</style>'); 6198 } 6199 }); 6200 // Hide empty filter content 6201 if (jQuery('.mec-filter-content').is(':empty')) { 6202 jQuery('.mec-filter-icon').hide(); 6203 } 6204 // Prevend Default For Event Share Icon 6205 jQuery(document).on('click keydown', '.mec-event-share-icon', function (e) { 6206 if (e.type === 'keydown' && e.key !== 'Enter' && e.key !== ' ') return; 6207 e.preventDefault(); 6208 6209 var $wrap = jQuery(this).closest('.mec-event-sharing-wrap'); 6210 var isOpen = $wrap.hasClass('active'); 6211 6212 // Close all other share popups 6213 jQuery('.mec-event-sharing-wrap.active').not($wrap).removeClass('active').find('.mec-event-share-icon').attr('aria-expanded', 'false'); 6214 6215 // Toggle current 6216 $wrap.toggleClass('active'); 6217 jQuery(this).attr('aria-expanded', !isOpen); 6218 }); 6219 6220 // Close share popup on Escape 6221 jQuery(document).on('keydown', '.mec-event-sharing-wrap.active .mec-event-share-icon', function (e) { 6222 if (e.key === 'Escape') { 6223 var $wrap = jQuery(this).closest('.mec-event-sharing-wrap'); 6224 $wrap.removeClass('active'); 6225 jQuery(this).attr('aria-expanded', 'false').focus(); 6226 } 6227 }); 6228 6229 // Close share popup when clicking outside 6230 jQuery(document).on('click', function (e) { 6231 if (!jQuery(e.target).closest('.mec-event-sharing-wrap').length) { 6232 jQuery('.mec-event-sharing-wrap.active').removeClass('active').find('.mec-event-share-icon').attr('aria-expanded', 'false'); 6233 } 6234 }); 6235} 6236 6237function mecFluentCurrentTimePosition() { 6238 if (jQuery('.mec-fluent-wrap').length > 0) { 6239 jQuery('.mec-fluent-current-time').each(function () { 6240 var currentTimeMinutes = jQuery(this).data('time'); 6241 var height = jQuery(this).closest('.mec-fluent-current-time-cell').height(); 6242 jQuery(this).css({ 6243 top: (currentTimeMinutes / 60) * height, 6244 }); 6245 }); 6246 } 6247} 6248 6249function mecFluentNiceSelect() { 6250 if (jQuery('.mec-fluent-wrap').length < 0) { 6251 return; 6252 } 6253 6254 if (jQuery().niceSelect) { 6255 jQuery('.mec-fluent-wrap').find('.mec-filter-content').find('select').niceSelect(); 6256 } 6257} 6258 6259function mecFluentCustomScrollbar(y) { 6260 6261 jQuery(document).trigger('mec_custom_scrollbar_init', [y]); 6262 6263 if (jQuery('.mec-fluent-wrap').length < 0) { 6264 return; 6265 } 6266 6267 if (jQuery().niceScroll) { 6268 jQuery('.mec-custom-scrollbar').niceScroll({ 6269 cursorcolor: '#C7EBFB', 6270 cursorwidth: '4px', 6271 cursorborderradius: '4px', 6272 cursorborder: 'none', 6273 railoffset: { 6274 left: -2, 6275 } 6276 }); 6277 jQuery('.mec-custom-scrollbar').getNiceScroll().resize(); 6278 jQuery('.mec-custom-scrollbar').each(function () { 6279 if (jQuery(this).find('.mec-fluent-current-time-cell').length > 0) { 6280 var parentTopOffset = jQuery(this).offset().top; 6281 var currentTimeCellOffset = jQuery(this).find('.mec-fluent-current-time-cell').offset().top; 6282 jQuery(this).getNiceScroll(0).doScrollTop(currentTimeCellOffset - parentTopOffset - 16, 120); 6283 jQuery(this).on('scroll', function () { 6284 if (jQuery(this).getNiceScroll(0).scroll.y != 0) { 6285 jQuery(this).addClass('mec-scrolling'); 6286 } else { 6287 jQuery(this).removeClass('mec-scrolling'); 6288 } 6289 }); 6290 } 6291 if (typeof y != 'undefined') { 6292 if (jQuery(this).closest('.mec-skin-list-wrap').length > 0 || jQuery(this).closest('.mec-skin-grid-wrap').length > 0) { 6293 jQuery(this).getNiceScroll(0).doScrollTop(0, 120); 6294 } 6295 } 6296 }); 6297 } 6298} 6299 6300function mecFluentTimeTableUI() { 6301 jQuery('.mec-fluent-wrap.mec-timetable-wrap .mec-cell').css('min-height', 0); 6302 var maxHeight = Math.max.apply(null, jQuery('.mec-fluent-wrap.mec-timetable-wrap .mec-cell').map(function () { 6303 return jQuery(this).height(); 6304 }).get()); 6305 maxHeight = maxHeight > 87 ? maxHeight : 87; 6306 jQuery('.mec-fluent-wrap.mec-timetable-wrap .mec-cell').css('min-height', maxHeight + 2); 6307} 6308 6309function mecFluentSliderUI() { 6310 jQuery(window).on('load', function () { 6311 if (typeof mecdata === 'undefined') return; 6312 6313 jQuery('.mec-fluent-wrap.mec-skin-slider-container .owl-next').prepend('<span>' + mecdata.next + '</span>'); 6314 jQuery('.mec-fluent-wrap.mec-skin-slider-container .owl-prev').append('<span>' + mecdata.prev + '</span>'); 6315 });
6316} 6317 6318function mecFluentToggleFilterContent(e) { 6319 e.preventDefault(); 6320 if (jQuery('.mec-filter-content').is(':visible')) { 6321 jQuery('.mec-filter-content').css({ 6322 display: 'none', 6323 }); 6324 } else { 6325 const displayValue = jQuery(window).width() <= 790 ? 'block' : 'flex'; 6326 jQuery('.mec-filter-content').css({ 6327 display: displayValue, 6328 }); 6329 } 6330} 6331 6332function mecFluentToggoleDisplayValueFilterContent() { 6333 const displayValue = jQuery(window).width() <= 767 ? 'block' : 'flex'; 6334 if (jQuery('.mec-filter-content').is(':visible')) { 6335 jQuery('.mec-filter-content').css({ 6336 display: displayValue, 6337 }); 6338 } 6339} 6340 6341function mecFluentToggleMoreEvents(e) { 6342 e.preventDefault(); 6343 const moreEventsWrap = jQuery(this).siblings('.mec-more-events-wrap'); 6344 const moreEvents = moreEventsWrap.children('.mec-more-events'); 6345 jQuery('.mec-more-events-wrap').removeClass('active'); 6346 moreEventsWrap.addClass('active'); 6347 jQuery('.mec-more-events-wrap:not(.active)').hide(); 6348 if (moreEventsWrap.is(':visible')) { 6349 moreEventsWrap.hide(); 6350 } else { 6351 topElement = moreEventsWrap.closest('.mec-more-events-inner-controller').length > 0 ? moreEventsWrap.closest('.mec-more-events-inner-controller') : moreEventsWrap.closest('.mec-more-events-controller'); 6352 moreEventsWrap.show().css({ 6353 top: topElement.offset().top - window.scrollY, 6354 left: moreEventsWrap.closest('.mec-more-events-controller').offset().left, 6355 width: moreEventsWrap.closest('.mec-more-events-controller').width(), 6356 }); 6357 if (moreEventsWrap.width() > 400) { 6358 moreEvents.css({ 6359 left: (moreEventsWrap.width() / 2) - (moreEvents.width() / 2), 6360 width: 400, 6361 }); 6362 } else { 6363 moreEvents.css({ 6364 width: moreEventsWrap.width(), 6365 left: 0, 6366 }); 6367 } 6368 } 6369} 6370 6371function mecFluentOutsideEvent(e) { 6372 if (!jQuery(e.target).is('.mec-more-events-icon') && !jQuery(e.target).closest('.mec-more-events-wrap').length) { 6373 jQuery('.mec-more-events-wrap').hide(); 6374 } 6375 if (!jQuery(e.target).is('.mec-filter-icon') && !jQuery(e.target).closest('.mec-filter-content').length) { 6376 jQuery('.mec-filter-content').hide(); 6377 } 6378 if (!jQuery(e.target).is('.mec-fluent-more-views-icon') && !jQuery(e.target).closest('.mec-fluent-more-views-content').length) { 6379 jQuery('.mec-fluent-more-views-content').removeClass('active'); 6380 } 6381} 6382 6383function mecFluentYearlyCalendar() { 6384 const monthNum = jQuery(this).data('month'); 6385 const monthName = jQuery(this).find('.mec-calendar-table-title').text(); 6386 jQuery('.mec-fluent-wrap').find('.mec-yearly-calendar').removeClass('active'); 6387 jQuery(this).addClass('active') 6388 .closest('.mec-year-container') 6389 .find('.mec-yearly-agenda-sec-title span').text(monthName).end() 6390 .find('.mec-events-agenda').addClass('mec-util-hidden').end() 6391 .find('.mec-events-agenda[data-month=' + monthNum + ']').removeClass('mec-util-hidden'); 6392 mecFluentCustomScrollbar(); 6393} 6394 6395function mecFluentYearlyUI(eventID, yearID) { 6396 var fluentWrap = jQuery('#mec_skin_' + eventID + '.mec-fluent-wrap'); 6397 if (fluentWrap.length < 0) { 6398 return; 6399 } 6400 var monthNum = fluentWrap.find('.mec-year-container[data-year-id=' + yearID + ']').find('.mec-events-agenda:not(.mec-util-hidden)').data('month'); 6401 var activeMonth = fluentWrap.find('.mec-year-container[data-year-id=' + yearID + ']').find('.mec-yearly-calendar[data-month=' + monthNum + ']'); 6402 var activeMonthName = activeMonth.find('.mec-calendar-table-title').text(); 6403 activeMonth.addClass('active'); 6404} 6405 6406// MEC LIST VIEW Fluent PLUGIN 6407(function ($) { 6408 $.fn.mecListViewFluent = function (options) { 6409 var active_month; 6410 var active_year; 6411 6412 // Default Options 6413 var settings = $.extend({ 6414 // These are the defaults. 6415 today: null, 6416 id: 0, 6417 events_label: 'Events', 6418 event_label: 'Event', 6419 month_navigator: 0, 6420 atts: '', 6421 active_month: {}, 6422 next_month: {}, 6423 sf: {}, 6424 ajax_url: '', 6425 }, options); 6426 6427 mecFluentCustomScrollbar(); 6428 6429 initLoadMore('#mec_list_view_month_' + settings.id + '_' + settings.month_i
6429d); 6430 6431 function initLoadMore(monthID) { 6432 $(monthID).off().on('click', '.mec-load-more-button', function () { 6433 loadMore(this); 6434 }); 6435 } 6436 6437 function loadMore(This) { 6438 // Add loading Class 6439 var currentLoadMore = $(This); 6440 currentLoadMore.addClass("mec-load-more-loading"); 6441 var endDate = currentLoadMore.data('end-date'); 6442 var maximumDate = currentLoadMore.data('maximum-date'); 6443 var nextOffset = currentLoadMore.data('next-offset'); 6444 var year = currentLoadMore.data('year'); 6445 var month = currentLoadMore.data('month'); 6446 6447 $.ajax({ 6448 url: settings.ajax_url, 6449 data: "action=mec_list_load_more&mec_year=" + year + "&mec_month=" + month + "&mec_maximum_date=" + maximumDate + "&mec_start_date=" + endDate + "&mec_offset=" + nextOffset + "&" + settings.atts + "¤t_month_divider=0&apply_sf_date=0", 6450 dataType: "json", 6451 type: "post", 6452 success: function (response) { 6453 currentLoadMore.parent().remove(); 6454 if (response.count != '0') { 6455 // Append Items 6456 $('#mec_list_view_month_' + settings.id + '_' + response.current_month.id).append(response.month); 6457 6458 // Single Event Method 6459 if (settings.sed_method != '0') { 6460 sed(); 6461 } 6462 6463 mecFluentCustomScrollbar(); 6464 initLoadMore('#mec_list_view_month_' + settings.id + '_' + response.current_month.id); 6465 } 6466 6467 $(document).trigger('mec_load_more_init', ['list', settings]); 6468 }, 6469 error: function () { } 6470 }); 6471 } 6472 6473 // Initialize Month Navigator 6474 if (settings.month_navigator) initMonthNavigator(); 6475 6476 // Load Next Month in background 6477 setMonth(settings.next_month.year, settings.next_month.month, true); 6478 6479 var initMonth; 6480 var initYear; 6481 active_month = initMonth = settings.active_month.month; 6482 active_year = initYear = settings.active_month.year; 6483 6484 // Search Widget 6485 if (settings.sf.container !== '') { 6486 sf = $(settings.sf.container).mecSearchForm({ 6487 id: settings.id, 6488 refine: settings.sf.refine, 6489 ajax_url: settings.ajax_url, 6490 start_date: settings.start_date, 6491 atts: settings.atts, 6492 callback: function (atts) { 6493 settings.atts = atts; 6494 search(active_year, active_month); 6495 } 6496 }); 6497 6498 $(settings.sf.container).addClass('mec-skin-search-init'); 6499 } 6500 6501 // Single Event Method 6502 if (settings.sed_method != '0') { 6503 sed(); 6504 } 6505 6506 function initMonthNavigator() { 6507 $("#mec_skin_" + settings.id + " .mec-load-month").off().on("click", function () { 6508 var year = $(this).data("mec-year"); 6509 var month = $(this).data("mec-month"); 6510 setMonth(year, month, false, true); 6511 }); 6512 } 6513 6514 function parseQuery(queryString) { 6515 var query = {}; 6516 var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&'); 6517 for (var i = 0; i < pairs.length; i++) { 6518 var pair = pairs[i].split('='); 6519 query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ''); 6520 } 6521 return query; 6522 } 6523 6524 function updateQueryStringParameter(uri, key, val) { 6525 return uri 6526 .replace(RegExp("([?&]" + key + "(?=[=&#]|$)[^#&]*|(?=#|$))"), "&" + key + "=" + encodeURIComponent(val)); 6527 } 6528 6529 function search(year, month) { 6530 // Add Loading Class 6531 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 6532 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 6533 6534 var ObjAtts = parseQuery(settings.atts); 6535 if (!(ObjAtts['sf[month'] || ObjAtts['sf[year]'])) { 6536 settings.atts = updateQueryStringParameter(settings.atts.trim(), 'sf[year]', initYear); 6537 settings.atts = updateQueryStringParameter(settings.atts.trim(), 'sf[month]', initMonth); 6538 } 6539 6540 $.ajax({
6541 url: settings.ajax_url, 6542 data: "action=mec_list_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=1", 6543 dataType: "json", 6544 type: "post", 6545 success: function (response) { 6546 active_month = response.current_month.month; 6547 active_year = response.current_month.year; 6548 6549 // Append Month 6550 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_list_view_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 6551 6552 // Append Month Navigator 6553 $("#mec_skin_" + settings.id + " .mec-skin-list-view-month-navigator-container").html('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 6554 6555 // Re-initialize Month Navigator 6556 initMonthNavigator(); 6557 6558 // Toggle Month 6559 toggleMonth(response.current_month.id); 6560 6561 initLoadMore('#mec_list_view_month_' + settings.id + '_' + response.current_month.id); 6562 6563 // Remove loading Class 6564 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 6565 6566 mecFluentCustomScrollbar(); 6567 6568 $(document).trigger('mec_search_process_end', { r: response, settings_id: settings.id }); 6569 6570 $(document).trigger('mec_search_init', ['list', settings, response]); 6571 }, 6572 error: function () { } 6573 }); 6574 } 6575 6576 function setMonth(year, month, do_in_background, navigator_click) { 6577 if (typeof do_in_background === "undefined") do_in_background = false; 6578 navigator_click = navigator_click || false; 6579 var month_id = year + "" + month; 6580 6581 if (!do_in_background) { 6582 active_month = month; 6583 active_year = year; 6584 } 6585 6586 // Month exists so we just show it 6587 if ($("#mec_list_view_month_" + settings.id + "_" + month_id).length) { 6588 // Toggle Month 6589 toggleMonth(month_id); 6590 mecFluentCustomScrollbar(0); 6591 } else { 6592 if (!do_in_background) { 6593 // Add Loading Class 6594 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 6595 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 6596 } 6597 6598 $.ajax({
6599 url: settings.ajax_url, 6600 data: "action=mec_list_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=0" + "&navigator_click=" + navigator_click, 6601 dataType: "json", 6602 type: "post", 6603 success: function (response) { 6604 // Append Month 6605 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_list_view_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 6606 6607 // Append Month Navigator 6608 $("#mec_skin_" + settings.id + " .mec-skin-list-view-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 6609 6610 // Re-initialize Month Navigator 6611 initMonthNavigator(); 6612 initLoadMore('#mec_list_view_month_' + settings.id + '_' + response.current_month.id); 6613 6614 if (!do_in_background) { 6615 // Toggle Month 6616 toggleMonth(response.current_month.id); 6617 6618 // Remove loading Class 6619 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 6620 6621 6622 // Set Month Filter values in search widget 6623 $("#mec_sf_month_" + settings.id).val(month); 6624 $("#mec_sf_year_" + settings.id).val(year); 6625 } else { 6626 $("#mec_list_view_month_" + settings.id + "_" + response.current_month.id).hide(); 6627 $("#mec_month_navigator_" + settings.id + "_" + response.current_month.id).hide(); 6628 } 6629 if (typeof custom_month !== undefined) var custom_month; 6630 if (typeof custom_month != undefined) { 6631 if (custom_month == 'true') { 6632 $(".mec-month-container .mec-calendar-day").removeClass('mec-has-event'); 6633 $(".mec-month-container .mec-calendar-day").removeClass('mec-selected-day'); 6634 $('.mec-calendar-day').off('click'); 6635 } 6636 } 6637 if (!do_in_background) { 6638 mecFluentCustomScrollbar(0); 6639 } 6640 6641 if (jQuery().niceSelect) jQuery('.mec-fluent-wrap').find('.mec-filter-content').find('select').niceSelect(); 6642 6643 $(document).trigger('mec_set_month_process_end', { r: response, settings_id: settings.id }); 6644 }, 6645 error: function () { } 6646 }); 6647 } 6648 } 6649 6650 function toggleMonth(month_id) { 6651 var active_month = $("#mec_skin_" + settings.id + " .mec-month-container-selected").data("month-id"); 6652 var active_day = $("#mec_list_view_month_" + settings.id + "_" + active_month + " .mec-selected-day").data("day"); 6653 6654 if (active_day <= 9) active_day = "0" + active_day; 6655 6656 // Toggle Month Navigator 6657 $("#mec_skin_" + settings.id + " .mec-month-navigator").hide(); 6658 $("#mec_month_navigator_" + settings.id + "_" + month_id).show(); 6659 6660 // Toggle Month 6661 $("#mec_skin_" + settings.id + " .mec-month-container").hide(); 6662 $("#mec_list_view_month_" + settings.id + "_" + month_id).show(); 6663 6664 // Add selected class 6665 $("#mec_skin_" + settings.id + " .mec-month-container").removeClass("mec-month-container-selected"); 6666 $("#mec_list_view_month_" + settings.id + "_" + month_id).addClass("mec-month-container-selected"); 6667 6668 jQuery(document).trigger('mec_toggle_month', [settings, month_i
6668d]); 6669 } 6670 6671 var sf; 6672 6673 function sed() { 6674 // Single Event Display 6675 $(".mec-skin-list-wrap#mec_skin_" + settings.id).off('click').on('click', '[data-event-id]', function (e) { 6676 e.preventDefault(); 6677 var href = $(this).attr('href'); 6678 6679 var id = $(this).data('event-id'); 6680 var occurrence = get_parameter_by_name('occurrence', href); 6681 var time = get_parameter_by_name('time', href); 6682 6683 if ('undefined' == typeof id) { 6684 return; 6685 } 6686 6687 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 6688 }); 6689 } 6690 }; 6691}(jQuery)); 6692 6693// MEC Grid VIEW Fluent PLUGIN 6694(function ($) { 6695 $.fn.mecGridViewFluent = function (options) { 6696 var active_month; 6697 var active_year; 6698 6699 // Default Options 6700 var settings = $.extend({ 6701 // These are the defaults. 6702 today: null, 6703 id: 0, 6704 events_label: 'Events', 6705 event_label: 'Event', 6706 month_navigator: 0, 6707 atts: '', 6708 active_month: {}, 6709 next_month: {}, 6710 sf: {}, 6711 ajax_url: '', 6712 }, options); 6713 6714 initLoadMore('#mec_grid_view_month_' + settings.id + '_' + settings.month_id); 6715 6716 function initLoadMore(monthID) { 6717 $(monthID).off().on('click', '.mec-load-more-button', function () { 6718 loadMore(this); 6719 }); 6720 } 6721 6722 function loadMore(This) { 6723 // Add loading Class 6724 var currentLoadMore = $(This); 6725 currentLoadMore.addClass("mec-load-more-loading"); 6726 var endDate = currentLoadMore.data('end-date'); 6727 var maximumDate = currentLoadMore.data('maximum-date'); 6728 var nextOffset = currentLoadMore.data('next-offset'); 6729 var year = currentLoadMore.data('year'); 6730 var month = currentLoadMore.data('month'); 6731 6732 $.ajax({
6733 url: settings.ajax_url, 6734 data: "action=mec_grid_load_more&mec_year=" + year + "&mec_month=" + month + "&mec_maximum_date=" + maximumDate + "&mec_start_date=" + endDate + "&mec_offset=" + nextOffset + "&" + settings.atts + "¤t_month_divider=0&apply_sf_date=0", 6735 dataType: "json", 6736 type: "post", 6737 success: function (response) { 6738 currentLoadMore.parent().remove(); 6739 if (response.count != '0') { 6740 // Append Items 6741 $('#mec_grid_view_month_' + settings.id + '_' + response.current_month.id).append(response.month); 6742 6743 // Single Event Method 6744 if (settings.sed_method != '0') { 6745 sed(); 6746 } 6747 6748 mecFluentCustomScrollbar(); 6749 initLoadMore('#mec_grid_view_month_' + settings.id + '_' + response.current_month.id); 6750 } 6751 6752 $(document).trigger('mec_load_more_init', ['grid', settings]); 6753 }, 6754 error: function () { } 6755 }); 6756 } 6757 6758 // Initialize Month Navigator 6759 if (settings.month_navigator) initMonthNavigator(); 6760 6761 // Load Next Month in background 6762 setMonth(settings.next_month.year, settings.next_month.month, true); 6763 6764 var initMonth; 6765 var initYear; 6766 active_month = initMonth = settings.active_month.month; 6767 active_year = initYear = settings.active_month.year; 6768 6769 // Search Widget 6770 if (settings.sf.container !== '') { 6771 sf = $(settings.sf.container).mecSearchForm({ 6772 id: settings.id, 6773 refine: settings.sf.refine, 6774 ajax_url: settings.ajax_url, 6775 start_date: settings.start_date, 6776 atts: settings.atts, 6777 callback: function (atts) { 6778 settings.atts = atts; 6779 search(active_year, active_month); 6780 } 6781 }); 6782 6783 $(settings.sf.container).addClass('mec-skin-search-init'); 6784 } 6785 6786 // Single Event Method 6787 if (settings.sed_method != '0') { 6788 sed(); 6789 } 6790 6791 function initMonthNavigator() { 6792 $("#mec_skin_" + settings.id + " .mec-load-month").off().on("click", function () { 6793 var year = $(this).data("mec-year"); 6794 var month = $(this).data("mec-month"); 6795 setMonth(year, month, false, true); 6796 }); 6797 } 6798 6799 function parseQuery(queryString) { 6800 var query = {}; 6801 var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&'); 6802 for (var i = 0; i < pairs.length; i++) { 6803 var pair = pairs[i].split('='); 6804 query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ''); 6805 } 6806 return query; 6807 } 6808 6809 function updateQueryStringParameter(uri, key, val) { 6810 return uri 6811 .replace(RegExp("([?&]" + key + "(?=[=&#]|$)[^#&]*|(?=#|$))"), "&" + key + "=" + encodeURIComponent(val)); 6812 } 6813 6814 function search(year, month) { 6815 // Add Loading Class 6816 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 6817 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 6818 6819 var ObjAtts = parseQuery(settings.atts); 6820 if (!(ObjAtts['sf[month'] || ObjAtts['sf[year]'])) { 6821 settings.atts = updateQueryStringParameter(settings.atts.trim(), 'sf[year]', initYear); 6822 settings.atts = updateQueryStringParameter(settings.atts.trim(), 'sf[month]', initMonth); 6823 } 6824 6825 $.ajax({
6826 url: settings.ajax_url, 6827 data: "action=mec_grid_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=1", 6828 dataType: "json", 6829 type: "post", 6830 success: function (response) { 6831 active_month = response.current_month.month; 6832 active_year = response.current_month.year; 6833 6834 // Append Month 6835 $("#mec_skin_events_" + settings.id).html('<div class="mec-month-container" id="mec_grid_view_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 6836 6837 // Append Month Navigator 6838 $("#mec_skin_" + settings.id + " .mec-skin-grid-view-month-navigator-container").html('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 6839 6840 // Re-initialize Month Navigator 6841 initMonthNavigator(); 6842 6843 // Toggle Month 6844 toggleMonth(response.current_month.id); 6845 6846 initLoadMore('#mec_grid_view_month_' + settings.id + '_' + response.current_month.id); 6847 6848 // Remove loading Class 6849 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 6850 6851 mecFluentCustomScrollbar(); 6852 6853 $(document).trigger('mec_search_init', ['grid', settings, response]); 6854 }, 6855 error: function () { } 6856 }); 6857 } 6858 6859 function setMonth(year, month, do_in_background, navigator_click) { 6860 if (typeof do_in_background === "undefined") do_in_background = false; 6861 navigator_click = navigator_click || false; 6862 var month_id = year + "" + month; 6863 6864 if (!do_in_background) { 6865 active_month = month; 6866 active_year = year; 6867 } 6868 6869 // Month exists so we just show it 6870 if ($("#mec_grid_view_month_" + settings.id + "_" + month_id).length) { 6871 // Toggle Month 6872 toggleMonth(month_id); 6873 mecFluentCustomScrollbar(); 6874 } else { 6875 if (!do_in_background) { 6876 // Add Loading Class 6877 if (jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 6878 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 6879 } 6880 6881 $.ajax({
6882 url: settings.ajax_url, 6883 data: "action=mec_grid_load_month&mec_year=" + year + "&mec_month=" + month + "&" + settings.atts + "&apply_sf_date=0" + "&navigator_click=" + navigator_click, 6884 dataType: "json", 6885 type: "post", 6886 success: function (response) { 6887 // Append Month 6888 $("#mec_skin_events_" + settings.id).append('<div class="mec-month-container" id="mec_grid_view_month_' + settings.id + '_' + response.current_month.id + '" data-month-id="' + response.current_month.id + '">' + response.month + '</div>'); 6889 6890 // Append Month Navigator 6891 $("#mec_skin_" + settings.id + " .mec-skin-grid-view-month-navigator-container").append('<div class="mec-month-navigator" id="mec_month_navigator_' + settings.id + '_' + response.current_month.id + '">' + response.navigator + '</div>'); 6892 6893 // Re-initialize Month Navigator 6894 initMonthNavigator(); 6895 initLoadMore('#mec_grid_view_month_' + settings.id + '_' + response.current_month.id); 6896 6897 if (!do_in_background) { 6898 // Toggle Month 6899 toggleMonth(response.current_month.id); 6900 6901 // Remove loading Class 6902 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 6903 6904 6905 // Set Month Filter values in search widget 6906 $("#mec_sf_month_" + settings.id).val(month); 6907 $("#mec_sf_year_" + settings.id).val(year); 6908 } else { 6909 $("#mec_grid_view_month_" + settings.id + "_" + response.current_month.id).hide(); 6910 $("#mec_month_navigator_" + settings.id + "_" + response.current_month.id).hide(); 6911 } 6912 if (typeof custom_month !== undefined) var custom_month; 6913 if (typeof custom_month != undefined) { 6914 if (custom_month == 'true') { 6915 $(".mec-month-container .mec-calendar-day").removeClass('mec-has-event'); 6916 $(".mec-month-container .mec-calendar-day").removeClass('mec-selected-day'); 6917 $('.mec-calendar-day').off('click'); 6918 } 6919 } 6920 if (!do_in_background) { 6921 mecFluentCustomScrollbar(); 6922 } 6923 }, 6924 error: function () { } 6925 }); 6926 } 6927 } 6928 6929 function toggleMonth(month_id) { 6930 var active_month = $("#mec_skin_" + settings.id + " .mec-month-container-selected").data("month-id"); 6931 var active_day = $("#mec_grid_view_month_" + settings.id + "_" + active_month + " .mec-selected-day").data("day"); 6932 6933 if (active_day <= 9) active_day = "0" + active_day; 6934 6935 // Toggle Month Navigator 6936 $("#mec_skin_" + settings.id + " .mec-month-navigator").hide(); 6937 $("#mec_month_navigator_" + settings.id + "_" + month_id).show(); 6938 6939 // Toggle Month 6940 $("#mec_skin_" + settings.id + " .mec-month-container").hide(); 6941 $("#mec_grid_view_month_" + settings.id + "_" + month_id).show(); 6942 6943 // Add selected class 6944 $("#mec_skin_" + settings.id + " .mec-month-container").removeClass("mec-month-container-selected"); 6945 $("#mec_grid_view_month_" + settings.id + "_" + month_id).addClass("mec-month-container-selected"); 6946 6947 jQuery(document).trigger('mec_toggle_month', [settings, month_id]); 6948 } 6949 6950 var sf; 6951 6952 function sed() { 6953 // Single Event Display 6954 $(".mec-skin-grid-wrap#mec_skin_" + settings.id).off('click').on('click', '[data-event-id]', function (e) { 6955 e.preventDefault(); 6956 var href = $(this).attr('href'); 6957 6958 var id = $(this).data('event-id'); 6959 var occurrence = get_parameter_by_name('occurrence', href); 6960 var time = get_parameter_by_name('time', href); 6961 6962 if ('undefined' == typeof id) { 6963 return; 6964 } 6965 6966 mecSingleEventDisplayer.getSinglePage(id, occurrence, time, settings.ajax_url, settings.sed_method, settings.image_popup); 6967 }); 6968 } 6969 }; 6970}(jQuery)); 6971 6972// MEC Booking Calendar 6973(function ($) {
6974 $.fn.mecBookingCalendar = function (options) { 6975 var active_month; 6976 var active_year; 6977 6978 // Default Options 6979 var settings = $.extend({ 6980 // These are the defaults. 6981 active_month: {}, 6982 next_month: {}, 6983 ajax_url: '', 6984 event_id: '', 6985 selected_datetime: '', 6986 }, options); 6987 6988 // Initialize Month Navigator 6989 initMonthNavigator(); 6990 6991 active_month = settings.active_month.month; 6992 active_year = settings.active_month.year; 6993 6994 // Set onclick Listeners 6995 setListeners(); 6996 6997 function initMonthNavigator() { 6998 // Add onclick event 6999 $("#mec_booking_calendar_" + settings.id + " .mec-load-month").off('click').on('click', function () { 7000 var year = $(this).data('mec-year'); 7001 var month = $(this).data('mec-month'); 7002 7003 setMonth(year, month); 7004 }); 7005 } 7006 7007 function setMonth(year, month) { 7008 active_month = month; 7009 active_year = year; 7010 7011 var $modal = $('.mec-modal-result'); 7012 7013 // Add Loading Class 7014 if ($modal.length === 0) $('.mec-wrap').append('<div class="mec-modal-result"></div>'); 7015 $modal.addClass('mec-month-navigator-loading'); 7016 7017 $.ajax( 7018 { 7019 url: settings.ajax_url, 7020 data: "action=mec_booking_calendar_load_month&event_id=" + settings.event_id + "&uniqueid=" + settings.id + "&year=" + year + "&month=" + month, 7021 dataType: "json", 7022 type: "post", 7023 success: function (response) { 7024 const $month_wrapper = $('#mec_booking_calendar_wrapper' + settings.id + ' .mec-select-date-calendar-container'); 7025 7026 // HTML 7027 $month_wrapper.html(response.html); 7028 7029 // Hide Message 7030 $('#mec_book_form' + settings.id + ' .mec-ticket-unavailable-spots').addClass('mec-util-hidden'); 7031 7032 // Empty the Date 7033 $('#mec_book_form_date' + settings.id).val('').trigger('change'); 7034 7035 // Remove loading Class 7036 $modal.removeClass("mec-month-navigator-loading"); 7037 7038 setTimeout(function () { 7039 $month_wrapper.find($('.mec-booking-calendar-date')).first().trigger('click'); 7040 }, 200); 7041 }, 7042 error: function () { 7043 // Remove loading Class 7044 $modal.removeClass("mec-month-navigator-loading"); 7045 } 7046 }); 7047 } 7048 7049 function setListeners() { 7050 // Add the onclick event (delegated so cloned sidebar items also work) 7051 $("#mec_booking_calendar_" + settings.id).off('click', '.mec-booking-calendar-date').on('click', '.mec-booking-calendar-date', function (e) { 7052 e.preventDefault(); 7053 7054 // Activate 7055 $("#mec_booking_calendar_" + settings.id + " .mec-booking-calendar-date").removeClass('mec-active'); 7056 $("#mec_booking_calendar_" + settings.id + " .mec-calendar-day").removeClass('mec-wrap-active'); 7057 $(this).addClass('mec-active'); 7058 $(this).parents('.mec-calendar-day').addClass('mec-wrap-active'); 7059 7060 // Set Data 7061 var timestamp = $(this).data('timestamp'); 7062 $('#mec_book_form_date' + settings.id).val(timestamp).trigger('change'); 7063 7064 // Set Formatted Date 7065 var formatted_date = $(this).data('formatted-date'); 7066 $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-formatted-date").html(formatted_date); 7067 7068 // Update chosen time message 7069 var $chosenMsg = $(this).closest(".mec-booking-calendar-container").find(".mec-choosen-time-message"); 7070 $chosenMsg.removeClass("disable"); 7071 $chosenMsg.find(".mec-choosen-time").empty().append($(this).data('formatted-date')); 7072 }); 7073 7074 // Add the onclick event on calendar date
7075 $("#mec_booking_calendar_" + settings.id + " .mec-has-one-repeat-in-day").off('click').on('click', function (e) { 7076 e.preventDefault(); 7077 7078 var mec_date_value = $(this).attr('data-timestamp'); 7079 7080 // Activate 7081 $("#mec_booking_calendar_" + settings.id + " .mec-has-one-repeat-in-day").removeClass('mec-active'); 7082 $("#mec_booking_calendar_" + settings.id + " [data-timestamp=\"" + mec_date_value + "\"]").addClass('mec-active'); 7083 7084 // Set Data 7085 var timestamp = $(this).data('timestamp'); 7086 $('#mec_book_form_date' + settings.id).val(timestamp).trigger('change'); 7087 7088 // Set Formatted Date 7089 var formatted_date = $(this).data('formatted-date'); 7090 $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-formatted-date").html(formatted_date); 7091 7092 // Update chosen time message 7093 var $chosenMsg = $(this).closest(".mec-booking-calendar-container").find(".mec-choosen-time-message"); 7094 $chosenMsg.removeClass("disable"); 7095 $chosenMsg.find(".mec-choosen-time").empty().append($(this).data('formatted-date')); 7096 7097 var $container = $("#mec_booking_calendar_" + settings.id + " .mec-booking-tooltip-container"); 7098 var $content = $(this).find(".mec-booking-tooltip").children().clone(); 7099 $container.empty().append($content).show(); 7100 }); 7101 7102 var $has_time_repeat = $("#mec_booking_calendar_" + settings.id + " .mec-has-time-repeat"); 7103 7104 $has_time_repeat.off('click').on('click', function () { 7105 $("#mec_booking_calendar_" + settings.id + " .mec-has-time-repeat").removeClass('mec-wrap-active').removeClass('mec-active'); 7106 $(this).addClass("mec-active"); 7107 7108 // Populate sidebar with time slots from this day 7109 var $container = $("#mec_booking_calendar_" + settings.id + " .mec-booking-tooltip-container"); 7110 var $tooltip = $(this).find(".mec-booking-tooltip"); 7111 var $content = $tooltip.children().clone(); 7112 $content.css('display', '').removeAttr('style'); 7113 $container.empty().append($content).show(); 7114 7115 // Send message under the calendar 7116 var $activeDate = $(this).find(".mec-booking-calendar-date.mec-active"); 7117 var sendTimeToMessage = $activeDate.length ? $activeDate.data('formatted-date') : ''; 7118 var $chosenMsg = $(this).closest(".mec-booking-calendar-container").find(".mec-choosen-time-message"); 7119 $chosenMsg.removeClass("disable"); 7120 $chosenMsg.find(".mec-choosen-time").empty().append(sendTimeToMessage); 7121 }); 7122 7123 // Selected DateTime 7124 if (settings.selected_datetime) { 7125 var $selected_datetime = $(".mec-booking-calendar-date[data-timestamp='" + settings.selected_datetime + "']"); 7126 if ($selected_datetime.length) { 7127 var $repeatDay = $selected_datetime.closest(".mec-has-time-repeat"); 7128 if ($repeatDay.length) { 7129 $repeatDay.trigger('click'); 7130 var $sidebarDate = $(".mec-booking-tooltip-container .mec-booking-calendar-date[data-timestamp='" + settings.selected_datetime + "']"); 7131 if ($sidebarDate.length) $sidebarDate.trigger('click'); 7132 } else $selected_datetime.closest(".mec-has-one-repeat-in-day").trigger('click'); 7133 } 7134 } 7135 7136 // Dropdown Toggle 7137 $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-dropdown").off('click').on('click', function () { 7138 var $up = $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-icons-up"); 7139 var $down = $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-icons-down");
7140 var $calendar = $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-container"); 7141 7142 var $current = $(this).find($('.mec-select-date-calendar-icons span:not(.mec-util-hidden)')); 7143 if ($current.hasClass('mec-select-date-calendar-icons-up')) { 7144 $up.addClass('mec-util-hidden'); 7145 $down.removeClass('mec-util-hidden'); 7146 $calendar.removeClass('mec-util-hidden'); 7147 7148 setTimeout(function () { 7149 $('body').off('click').on('click', mec_calendar_close_calendar_on_body_click); 7150 }, 100); 7151 } 7152 else { 7153 $up.removeClass('mec-util-hidden'); 7154 $down.addClass('mec-util-hidden'); 7155 $calendar.addClass('mec-util-hidden'); 7156 } 7157 }); 7158 7159 function mec_calendar_close_calendar_on_body_click(e) { 7160 var $up = $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-icons-up"); 7161 var $down = $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-icons-down"); 7162 var $calendar = $("#mec_booking_calendar_wrapper" + settings.id + " .mec-select-date-calendar-container"); 7163 7164 // Click was inside calendar 7165 if ($(e.target).closest($calendar).length > 0) return false; 7166 7167 $up.removeClass('mec-util-hidden'); 7168 $down.addClass('mec-util-hidden'); 7169 $calendar.addClass('mec-util-hidden'); 7170 7171 $('body').off('click', mec_calendar_close_calendar_on_body_click); 7172 } 7173 } 7174 }; 7175}(jQuery)); 7176 7177// MEC Cart 7178(function ($) { 7179 $.fn.mecCart = function (options) { 7180 // Default Options 7181 var settings = $.extend({ 7182 // These are the defaults. 7183 ajax_url: '', 7184 }, options); 7185 7186 // Set DOM Listeners 7187 setListeners(); 7188 7189 function setListeners() { 7190 // Add the onclick event 7191 $(".mec-cart-remove-transactions").off('click').on('click', function (e) { 7192 e.preventDefault(); 7193 7194 var transaction_id = $(this).data('transaction-id'); 7195 remove(transaction_id); 7196 }); 7197 7198 $('#mec_cart_coupon_form').off('submit').on('submit', function (e) { 7199 e.preventDefault(); 7200 coupon(); 7201 }); 7202 } 7203 7204 function remove(transaction_id) { 7205 var $wrapper = $('.mec-cart'); 7206 7207 // Add loading Class 7208 $wrapper.addClass('mec-loading'); 7209 7210 $.ajax( 7211 { 7212 url: settings.ajax_url, 7213 data: "action=mec_cart_remove_transaction&transaction_id=" + transaction_id, 7214 dataType: "json", 7215 type: "post", 7216 success: function (response) { 7217 // Remove Loading Class 7218 $wrapper.removeClass('mec-loading'); 7219 7220 if (response.success) { 7221 // Remove Transaction Row 7222 $('#mec_cart_transactions_' + transaction_id).remove(); 7223 7224 if (!$('#mec_cart_transactions_table>tbody>tr').length) { 7225 $('#mec_cart_transactions_table').remove(); 7226 $('.mec-cart-coupon-checkout-action').remove(); 7227 $('.mec-cart-empty-wrapper').removeClass('mec-util-hidden'); 7228 } 7229 7230 // Update Total Payable Price 7231 $('#mec_cart_total_payable').html(response.total); 7232 } 7233 }, 7234 error: function () { } 7235 }); 7236 } 7237 7238 function coupon() { 7239 var $wrapper = $('.mec-cart'); 7240 var $message = $('#mec_cart_message'); 7241 7242 // Add loading Class 7243 $wrapper.addClass('mec-loading'); 7244 7245 // Empty Message 7246 $message.html(''); 7247 7248 var coupon = $('#mec_cart_coupon_input').val(); 7249 7250 $.ajax( 7251 { 7252 url: settings.ajax_url, 7253 data: "action=mec_cart_coupon&coupon=" + coupon, 7254 dataType: "json", 7255 type: "post", 7256 success: function (response) { 7257 // Remove Loading Class 7258 $wrapper.removeClass('mec-loading'); 7259 7260 if (response.success) { 7261 $message.html('<p class="mec-success">' + response.message + '</p>'); 7262 7263 setTimeout(function () { 7264 location.reload(); 7265 }, 2000); 7266 } 7267 else { 7268 $message.html('<p class="mec-error">' + response.message + '</p>'); 7269 } 7270 }, 7271 error: function () { } 7272 }); 7273 } 7274 }; 7275}(jQuery)); 7276 7277// MEC Checkout 7278(function ($) { 7279 $.fn.mecCheckout = function (options) { 7280 // Default Options 7281 var settings = $.extend({ 7282 // These are the defaults. 7283 ajax_url: '', 7284 }, options); 7285 7286 // Set DOM Listeners 7287 setListeners(); 7288 7289 function setListeners() { 7290 // Add the onclick event 7291 $(".mec-checkout-gateways-radio").off('change').on('change', function (e) { 7292 e.preventDefault(); 7293 7294 var gateway_id = $('.mec-checkout-gateways-radio:checked').val(); 7295 7296 // Hide all gateway forms 7297 jQuery(".mec-checkout-form-gateway-checkout").addClass("mec-util-hidden"); 7298 jQuery(".mec-checkout-price-details-wrapper").addClass("mec-util-hidden"); 7299 jQuery(".mec-checkout-price-wrapper").addClass("mec-util-hidden"); 7300 7301 // Show selected gateway form 7302 jQuery("#mec_checkout_form_gateway_checkout" + gateway_id).removeClass("mec-util-hidden"); 7303 jQuery("#mec-checkout-price-details-wrapper-" + gateway_id).removeClass("mec-util-hidden"); 7304 jQuery("#mec-checkout-price-wrapper-" + gateway_id).removeClass("mec-util-hidden"); 7305 }); 7306 7307 if ($(".mec-checkout-gateways-radio:first").length) { 7308 7309 $(".mec-checkout-gateways-radio:first").prop('checked', true).change(); 7310 } else { 7311 7312 jQuery(".mec-checkout-price-details-wrapper:first").removeClass("mec-util-hidden"); 7313 } 7314 7315 $('#mec_checkout_form_free_booking').off('submit').on('submit', function (e) { 7316 e.preventDefault(); 7317 free(); 7318 }); 7319 } 7320 7321 function free() { 7322 var $wrapper = $('.mec-checkout'); 7323 var $message = $('#mec_checkout_message'); 7324 7325 // Add loading Class 7326 $wrapper.addClass('mec-loading'); 7327 7328 // Empty Message 7329 $message.html(''); 7330 7331 var data = $('#mec_checkout_form_free_booking').serialize(); 7332 7333 $.ajax( 7334 { 7335 url: settings.ajax_url, 7336 data: data, 7337 dataType: "json", 7338 type: "post", 7339 success: function (response) { 7340 // Remove Loading Class 7341 $wrapper.removeClass('mec-loading'); 7342 7343 if (response.success) { 7344 $message.html('<div class="mec-success">' + response.message + '</div>'); 7345 if (response.data && typeof response.data.redirect_to !== "undefined" && response.data.redirect_to !== "") { 7346 setTimeout(function () { 7347 window.location.href = response.data.redirect_to; 7348 }, 2000); 7349 } 7350 $wrapper.slideUp().html(''); 7351 } 7352 else { 7353 $message.html('<div class="mec-error">' + response.message + '</div>'); 7354 } 7355 }, 7356 error: function () { } 7357 }); 7358 } 7359 }; 7360}(jQuery)); 7361 7362// Booking Shortcode Scripts 7363jQuery(document).ready(function () { 7364 // Event Gallery 7365 mec_init_event_gallery(); 7366 7367 if (jQuery('.mec-booking-shortcode').length < 0) { 7368 return; 7369 } 7370 // Events 7371 if (jQuery().niceSelect) { 7372 jQuery('.mec-booking-shortcode').find('.mec-book-first').find('select').niceSelect(); 7373 } 7374 7375 // General Calendar 7376 if (jQuery("#gCalendarMonthFilterButton").length > 0) { 7377 jQuery("#gCalendarMonthFilterButton").monthPicker({ 7378 format: "yyyy-mm", 7379 viewMode: "months", 7380 minViewMode: "months" 7381 }) 7382 jQuery("#gCalendarMonthFilterButton").monthPicker('hide') 7383 } 7384}); 7385 7386function mec_init_event_gallery() { 7387 // Event Gallery 7388 jQuery('.mec-event-gallery-wrapper').each(function () { 7389 let $gallery = jQuery(this); 7390 7391 $gallery.find(jQuery('.mec-event-gallery-list li')).on('click', function () { 7392 let $image = jQuery(this).find(jQuery('img')); 7393 let src = $image.data('full-src'); 7394 let alt = $image.attr('alt'); 7395 7396 jQuery('.mec-event-gallery-image img') 7397 .fadeTo(200, 0.8) 7398 .attr('src', src) 7399 .attr('alt', alt) 7400 .fadeTo(200, 1); 7401 }); 7402 });
7403} 7404 7405function mec_toggle_shortcode_pagination(shortcode_id, method) { 7406 if (method === 'show') { 7407 jQuery("#mec_skin_" + shortcode_id + " .mec-load-more-button").removeClass("mec-util-hidden"); 7408 jQuery('#mec-nextprev-wrap-' + shortcode_id + ' .mec-nextprev-next-button').removeClass("mec-util-hidden"); 7409 } 7410 else { 7411 jQuery("#mec_skin_" + shortcode_id + " .mec-load-more-button").addClass("mec-util-hidden"); 7412 jQuery('#mec-nextprev-wrap-' + shortcode_id + ' .mec-nextprev-next-button').addClass("mec-util-hidden"); 7413 jQuery('#mec-nextprev-wrap-' + shortcode_id + ' .mec-nextprev-hide-button').addClass("mec-util-hidden"); 7414 } 7415} 7416 7417// MEC COUNTDOWN MODULE 7418(function ($) { 7419 $.fn.mecProgressBar = function () { 7420 let $bar = $(this).find($('progress')); 7421 let value = parseInt($bar.attr('value')); 7422 const max = parseInt($bar.attr('max')); 7423 7424 var passed = 0; 7425 var remained = 0; 7426 var passed_days; 7427 var passed_hours; 7428 var passed_minutes; 7429 var passed_seconds; 7430 var remained_days; 7431 var remained_hours; 7432 var remained_minutes; 7433 var remained_seconds; 7434 7435 var $time_passed = $(this).find($('.mec-progress-bar-time-passed')); 7436 var $time_remained = $(this).find($('.mec-progress-bar-time-remained')); 7437 7438 startProgress(); 7439 var interval = setInterval(startProgress, 1000); 7440 7441 function startProgress() { 7442 if (value >= max) { 7443 clearInterval(interval); 7444 return; 7445 } 7446 value += 1; 7447 $bar.attr('value', value); 7448 7449 let passed_str = ''; 7450 let remained_str = ''; 7451 7452 passed = value; 7453 remained = max - passed; 7454 7455 passed_days = Math.floor(passed / 86400); 7456 passed -= passed_days * 86400; 7457 7458 passed_hours = Math.floor(passed / 3600); 7459 passed -= passed_hours * 3600; 7460 7461 passed_minutes = Math.floor(passed / 60); 7462 passed -= passed_minutes * 60; 7463 7464 passed_seconds = passed; 7465 7466 remained_days = Math.floor(remained / 86400); 7467 remained -= remained_days * 86400; 7468 7469 remained_hours = Math.floor(remained / 3600); 7470 remained -= remained_hours * 3600; 7471 7472 remained_minutes = Math.floor(remained / 60); 7473 remained -= remained_minutes * 60; 7474 7475 remained_seconds = remained; 7476 7477 if (passed_days > 0) passed_str += (passed_days < 10 ? '0' : '') + passed_days + ':'; 7478 if (passed_days > 0 || passed_hours > 0) passed_str += (passed_hours < 10 ? '0' : '') + passed_hours + ':'; 7479 passed_str += (passed_minutes < 10 ? '0' : '') + passed_minutes + ':'; 7480 passed_str += (passed_seconds < 10 ? '0' : '') + passed_seconds; 7481 7482 if (remained_days >
7482 0) remained_str += (remained_days < 10 ? '0' : '') + remained_days + ':'; 7483 if (remained_days > 0 || remained_hours > 0) remained_str += (remained_hours < 10 ? '0' : '') + remained_hours + ':'; 7484 remained_str += (remained_minutes < 10 ? '0' : '') + remained_minutes + ':'; 7485 remained_str += (remained_seconds < 10 ? '0' : '') + remained_seconds; 7486 7487 $time_passed.html(passed_str); 7488 $time_remained.html(remained_str); 7489 } 7490 }; 7491}(jQuery));
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.