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