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