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