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