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