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