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