1// MEC Single Event Displayer 2var mecSingleEventDisplayer = { 3 getSinglePage: function(id, occurrence, ajaxurl, layout) 4 { 5 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 6 jQuery('.mec-modal-result').addClass('mec-modal-preloader'); 7 8 jQuery.ajax( 9 { 10 url: ajaxurl, 11 data: "action=mec_load_single_page&id="+id+(occurrence != null ? "&occurrence="+occurrence : "")+"&layout="+layout, 12 type: "get", 13 success: function(response) 14 { 15 jQuery('.mec-modal-result').removeClass("mec-modal-preloader"); 16 lity(response); 17 }, 18 error: function() 19 { 20 } 21 }); 22 } 23}; 24 25// MEC SEARCH FORM PLUGIN 26(function($) 27{ 28 $.fn.mecSearchForm = function(options) 29 { 30 // Default Options 31 var settings = $.extend( 32 { 33 // These are the defaults. 34 id: 0, 35 search_form_element: '', 36 atts: '', 37 callback: function() 38 { 39 } 40 }, options); 41 42 $("#mec_sf_category_"+settings.id).on('change', function(e) 43 { 44 search(); 45 }); 46 47 $("#mec_sf_location_"+settings.id).on('change', function(e) 48 { 49 search(); 50 }); 51 52 $("#mec_sf_organizer_"+settings.id).on('change', function(e) 53 { 54 search(); 55 }); 56 57 $("#mec_sf_label_"+settings.id).on('change', function(e) 58 { 59 search(); 60 }); 61 62 $("#mec_sf_s_"+settings.id).on('change', function(e) 63 { 64 search(); 65 }); 66 67 $("#mec_sf_month_"+settings.id).on('change', function(e) 68 { 69 search(); 70 }); 71 72 $("#mec_sf_year_"+settings.id).on('change', function(e) 73 { 74 // Change Month to January if it's set to ignore date and year changed 75 if($("#mec_sf_month_"+settings.id).val() === 'ignore_date') $("#mec_sf_month_"+settings.id).val('01'); 76 77 search(); 78 }); 79 80 function search() 81 { 82 var s = $("#mec_sf_s_"+settings.id).length ? $("#mec_sf_s_"+settings.id).val() : ''; 83 var category = $("#mec_sf_category_"+settings.id).length ? $("#mec_sf_category_"+settings.id).val() : ''; 84 var location = $("#mec_sf_location_"+settings.id).length ? $("#mec_sf_location_"+settings.id).val() : ''; 85 var organizer = $("#mec_sf_organizer_"+settings.id).length ? $("#mec_sf_organizer_"+settings.id).val() : ''; 86 var label = $("#mec_sf_label_"+settings.id).length ? $("#mec_sf_label_"+settings.id).val() : ''; 87 var month = $("#mec_sf_month_"+settings.id).length ? $("#mec_sf_month_"+settings.id).val() : ''; 88 var year = $("#mec_sf_year_"+settings.id).length ? $("#mec_sf_year_"+settings.id).val() : ''; 89 var skip_date = false; 90 91 if(month === 'ignore_date') skip_date = true; 92 93 // Skip filter by date 94 if(skip_date === true) 95 { 96 month = ''; 97 year = ''; 98 } 99 100 var atts = settings.atts+'&sf[s]='+s+'&sf[month]='+month+'&sf[year]='+year+'&sf[category]='+category+'&sf[location]='+location+'&sf[organizer]='+organizer+'&sf[label]='+label; 101 settings.callback(atts); 102 } 103 }; 104 105}(jQuery)); 106 107// MEC GOOGLE MAPS PLUGIN 108(function($) 109{ 110 $.fn.mecGoogleMaps = function(options) 111 { 112 // Default Options 113 var settings = $.extend( 114 { 115 // These are the defaults. 116 latitude: 0, 117 longitude: 0, 118 autoinit: true, 119 zoom: 14, 120 icon: '../img/m-01.png', 121 markers: {}, 122 sf: {}, 123 getDirection: 0, 124 directionOptions: 125 { 126 form: '#mec_get_direction_form', 127 reset: '.mec-map-get-direction-reset', 128 addr: '#mec_get_direction_addr', 129 destination: {}, 130 }, 131 }, options); 132 133 var bounds; 134 var map; 135 var infowindow; 136 var loadedMarkers = new Array(); 137 138 var canvas = this; 139 var DOM = canvas[0]; 140 141 // Init the Map
142 if(settings.autoinit) init(); 143 144 function init() 145 { 146 // Search Widget 147 if(settings.sf.container !== '') 148 { 149 $(settings.sf.container).mecSearchForm( 150 { 151 id: settings.id, 152 atts: settings.atts, 153 callback: function(atts) 154 { 155 settings.atts = atts; 156 getMarkers(); 157 } 158 }); 159 } 160 161 // Create the options 162 bounds = new google.maps.LatLngBounds(); 163 var center = new google.maps.LatLng(settings.latitude, settings.longitude); 164 165 var mapOptions = { 166 scrollwheel: false, 167 mapTypeId: google.maps.MapTypeId.ROADMAP, 168 center: center, 169 zoom: settings.zoom, 170 styles: settings.styles, 171 }; 172 173 // Init map 174 map = new google.maps.Map(DOM, mapOptions); 175 176 // Init Infowindow 177 infowindow = new google.maps.InfoWindow( 178 { 179 pixelOffset: new google.maps.Size(0, -37) 180 }); 181 182 // Load Markers 183 loadMarkers(settings.markers); 184 185 // Initialize get direction feature 186 if(settings.getDirection === 1) initSimpleGetDirection(); 187 else if(settings.getDirection === 2) initAdvancedGetDirection(); 188 } 189 190 function loadMarkers(markers) 191 { 192 var f = 0; 193 for(var i in markers) 194 { 195 f++; 196 var dataMarker = markers[i]; 197 198 var marker = new RichMarker( 199 { 200 position: new google.maps.LatLng(dataMarker.latitude, dataMarker.longitude), 201 map: map, 202 event_ids: dataMarker.event_ids, 203 infowindow: dataMarker.infowindow, 204 lightbox: dataMarker.lightbox, 205 icon: (dataMarker.icon ? dataMarker.icon : settings.icon), 206 content: '<div class="mec-marker-container"><span class="mec-marker-wrap"><span class="mec-marker">'+dataMarker.count+'</span><span class="mec-marker-pulse-wrap"><span class="mec-marker-pulse"></span></span></span></div>', 207 shadow: 'none' 208 }); 209 210 // Marker Info-Window 211 google.maps.event.addListener(marker, 'mouseover', function(event) 212 { 213 infowindow.close(); 214 infowindow.setContent(this.infowindow); 215 infowindow.open(map, this); 216 }); 217 218 // Marker Lightbox 219 google.maps.event.addListener(marker, 'click', function(event) 220 { 221 lity(this.lightbox); 222 }); 223 224 // extend the bounds to include each marker's position 225 bounds.extend(marker.position); 226 227 // Added to Markers 228 loadedMarkers.push(marker); 229 } 230 231 if(f > 1) map.fitBounds(bounds); 232 233 // Set map center if only 1 marker found 234 if(f === 1) 235 { 236 map.setCenter(new google.maps.LatLng(dataMarker.latitude, dataMarker.longitude)); 237 } 238 } 239 240 function getMarkers() 241 { 242 // Add loader 243 $("#mec_googlemap_canvas"+settings.id).addClass("mec-loading"); 244 245 $.ajax( 246 { 247 url: settings.ajax_url, 248 data: "action=mec_map_get_markers&"+settings.atts, 249 dataType: "json", 250 type: "post", 251 success: function(response) 252 { 253 // Remove Markers 254 removeMarkers(); 255 256 // Load Markers 257 loadMarkers(response.markers); 258 259 // Remove loader 260 $("#mec_googlemap_canvas"+settings.id).removeClass("mec-loading"); 261 }, 262 error: function() 263 { 264 // Remove loader 265 $("#mec_googlemap_canvas"+settings.id).removeClass("mec-loading"); 266 } 267 }); 268 } 269 270 function removeMarkers() 271 { 272 bounds = new google.maps.LatLngBounds(); 273 274 if(loadedMarkers) 275 { 276 for(i=0; i < loadedMarkers.length; i++) loadedMarkers[i].setMap(null); 277 loadedMarkers.length = 0; 278 } 279 } 280 281 var directionsDisplay; 282 var directionsService; 283 var startMarker; 284 var endMarker; 285 286 function initSimpleGetDirection() 287 { 288 $(settings.directionOptions.form).on('submit', function(event) 289 { 290 event.preventDefault(); 291 292 var from = $(settings.directionOptions.addr).val(); 293 var dest = new google.maps.LatLng(settings.directionOptions.destination.latitude, settings.directionOptions.destination.longitude); 294 295 // Reset the direction 296 if(typeof directionsDisplay !== 'undefined') 297 { 298 directionsDisplay.setMap(null); 299 startMarker.setMap(null); 300 endMarker.setMap(null); 301 } 302 303 // Fade Google Maps canvas 304 $(canvas).fadeTo(300, .4); 305 306 directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true}); 307 directionsService = new google.maps.DirectionsService(); 308 309 var request = { 310 origin: from, 311 destination: dest, 312 travelMode: google.maps.DirectionsTravelMode.DRIVING 313 }; 314 315 directionsService.route(request, function(response, status) 316 { 317 if(status === google.maps.DirectionsStatus.OK) 318 { 319 directionsDisplay.setDirections(response);
320 directionsDisplay.setMap(map); 321 322 var leg = response.routes[0].legs[0]; 323 startMarker = new google.maps.Marker( 324 { 325 position: leg.start_location, 326 map: map, 327 icon: settings.directionOptions.startMarker, 328 }); 329 330 endMarker = new google.maps.Marker( 331 { 332 position: leg.end_location, 333 map: map, 334 icon: settings.directionOptions.endMarker, 335 }); 336 } 337 338 // Fade Google Maps canvas 339 $(canvas).fadeTo(300, 1); 340 }); 341 342 // Show reset button 343 $(settings.directionOptions.reset).removeClass('mec-util-hidden'); 344 }); 345 346 $(settings.directionOptions.reset).on('click', function(event) 347 { 348 $(settings.directionOptions.addr).val(''); 349 $(settings.directionOptions.form).submit(); 350 351 // Hide reset button 352 $(settings.directionOptions.reset).addClass('mec-util-hidden'); 353 }); 354 } 355 356 function initAdvancedGetDirection() 357 { 358 $(settings.directionOptions.form).on('submit', function(event) 359 { 360 event.preventDefault(); 361 362 var from = $(settings.directionOptions.addr).val(); 363 var url = 'https://maps.google.com/?saddr='+encodeURIComponent(from)+'&daddr='+settings.directionOptions.destination.latitude+','+settings.directionOptions.destination.longitude; 364 365 window.open(url); 366 }); 367 } 368 369 return { 370 init: function() 371 { 372 init(); 373 } 374 }; 375 }; 376 377}(jQuery)); 378 379// MEC FULL CALENDAR PLUGIN 380(function($) 381{ 382 $.fn.mecFullCalendar = function(options) 383 { 384 // Default Options 385 var settings = $.extend( 386 { 387 // These are the defaults. 388 id: 0, 389 atts: '', 390 ajax_url: '', 391 sf: {}, 392 skin: '', 393 }, options); 394 395 // Set onclick Listeners 396 setListeners(); 397 398 var sf; 399 function setListeners() 400 { 401 // Search Widget 402 if(settings.sf.container !== '') 403 { 404 sf = $(settings.sf.container).mecSearchForm( 405 { 406 id: settings.id, 407 atts: settings.atts, 408 callback: function(atts) 409 { 410 settings.atts = atts; 411 search(); 412 } 413 }); 414 } 415 416 // Add the onclick event 417 $("#mec_skin_"+settings.id+" .mec-totalcal-box .mec-totalcal-view span").on('click', function(e) 418 { 419 e.preventDefault(); 420 var skin = $(this).data('skin'); 421 422 $(this).addClass('mec-totalcalview-selected').siblings().removeClass('mec-totalcalview-selected'); 423 424 loadSkin(skin); 425 }); 426 } 427 428 function loadSkin(skin) 429 { 430 // Set new Skin 431 settings.skin = skin; 432 433 // Add Loading Class 434 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 435 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 436 437 $.ajax( 438 { 439 url: settings.ajax_url, 440 data: "action=mec_full_calendar_switch_skin&skin="+skin+"&"+settings.atts+"&apply_sf_date=1&sed="+settings.sed_method, 441 dataType: "json", 442 type: "post", 443 success: function(response) 444 { 445 $("#mec_full_calendar_container_"+settings.id).html(response); 446 447 // Remove loader 448 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 449 }, 450 error: function() 451 { 452 } 453 }); 454 } 455 456 function search() 457 { 458 // Add Loading Class 459 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 460 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 461 462 $.ajax( 463 { 464 url: settings.ajax_url, 465 data: "action=mec_full_calendar_switch_skin&skin="+settings.skin+"&"+settings.atts+"&apply_sf_date=1", 466 dataType: "json", 467 type: "post", 468 success: function(response) 469 { 470 $("#mec_full_calendar_container_"+settings.id).html(response); 471 472 // Remove loader 473 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 474 }, 475 error: function() 476 { 477 } 478 }); 479 } 480 }; 481 482}(jQuery)); 483 484// MEC YEARLY VIEW PLUGIN 485(function($) 486{ 487 $.fn.mecYearlyView = function(options) 488 { 489 var active_year; 490 491 // Default Options 492 var settings = $.extend( 493 { 494 // These are the defaults. 495 today: null, 496 id: 0, 497 events_label: 'Events', 498 event_label: 'Event', 499 year_navigator: 0, 500 atts: '', 501 next_year: {}, 502 sf: {}, 503 ajax_url: '', 504 }, options); 505 506 // Initialize Year Navigator 507 if(settings.year_navigator) initYearNavigator(); 508 509 // Load Next Year in background 510 if(settings.year_navigator) setYear(settings.next_year.year, true); 511 512 // Set onclick Listeners 513 setListeners(); 514 515 // load more 516 $(document).on("click", "#mec_skin_events_"+settings.id+" .mec-load-more-button", function() 517 { 518 var year = $(this).parent().parent().parent().data('year-id');
519 loadMoreButton(year); 520 }); 521 522 // Search Widget 523 if(settings.sf.container !== '') 524 { 525 sf = $(settings.sf.container).mecSearchForm( 526 { 527 id: settings.id, 528 atts: settings.atts, 529 callback: function(atts) 530 { 531 settings.atts = atts; 532 search(active_year); 533 } 534 }); 535 } 536 537 function initYearNavigator() 538 { 539 // Remove the onclick event 540 $("#mec_skin_"+settings.id+" .mec-load-year").off("click"); 541 542 // Add onclick event 543 $("#mec_skin_"+settings.id+" .mec-load-year").on("click", function() 544 { 545 var year = $(this).data("mec-year"); 546 setYear(year); 547 }); 548 } 549 550 function search(year) 551 { 552 // Add Loading Class 553 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 554 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 555 556 $.ajax( 557 { 558 url: settings.ajax_url, 559 data: "action=mec_yearly_view_load_year&mec_year="+year+"&"+settings.atts+"&apply_sf_date=1", 560 dataType: "json", 561 type: "post", 562 success: function(response) 563 { 564 active_year = response.current_year.year; 565 566 // Append Year 567 $("#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>'); 568 569 // Append Year Navigator 570 $("#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>'); 571 572 // Re-initialize Year Navigator 573 initYearNavigator(); 574 575 // Set onclick Listeners 576 setListeners(); 577 578 // Toggle Year 579 toggleYear(response.current_year.id); 580 581 // Remove loading Class 582 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 583 584 }, 585 error: function() 586 { 587 } 588 }); 589 } 590 591 function setYear(year, do_in_background) 592 { 593 if(typeof do_in_background === "undefined") do_in_background = false; 594 595 var year_id = year; 596 active_year = year; 597 598 // Year exists so we just show it 599 if($("#mec_yearly_view_year_"+settings.id+"_"+year_id).length) 600 { 601 // Toggle Year 602 toggleYear(year_id); 603 } 604 else 605 { 606 if(!do_in_background) 607 { 608 // Add Loading Class 609 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 610 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 611 } 612 613 $.ajax( 614 { 615 url: settings.ajax_url, 616 data: "action=mec_yearly_view_load_year&mec_year="+year+"&"+settings.atts+"&apply_sf_date=0", 617 dataType: "json", 618 type: "post", 619 success: function(response) 620 { 621 // Append Year 622 $("#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>'); 623 624 // Append Year Navigator 625 $("#mec_skin_"+settings.id+" .mec-yearly-title-sec").append('<div class="mec-year-navigator" id="mec_year_navigator_'+settings.id+'_'+response.current_year.i
625d+'">'+response.navigator+'</div>'); 626 627 // Re-initialize Year Navigator 628 initYearNavigator(); 629 630 // Set onclick Listeners 631 setListeners(); 632 633 if(!do_in_background) 634 { 635 // Toggle Year 636 toggleYear(response.current_year.id); 637 638 // Remove loading Class 639 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 640 641 // Set Year Filter values in search widget 642 $("#mec_sf_year_"+settings.id).val(year); 643 } 644 else 645 { 646 $("#mec_yearly_view_year_"+settings.id+"_"+response.current_year.id).hide(); 647 $("#mec_year_navigator_"+settings.id+"_"+response.current_year.id).hide(); 648 } 649 }, 650 error: function() 651 { 652 } 653 }); 654 } 655 } 656 657 function toggleYear(year_id) 658 { 659 // Toggle Year Navigator 660 $("#mec_skin_"+settings.id+" .mec-year-navigator").hide(); 661 $("#mec_year_navigator_"+settings.id+"_"+year_id).show(); 662 663 // Toggle Year 664 $("#mec_skin_"+settings.id+" .mec-year-container").hide(); 665 $("#mec_yearly_view_year_"+settings.id+"_"+year_id).show(); 666 } 667 668 var sf; 669 function setListeners() 670 { 671 // Single Event Method 672 if(settings.sed_method != '0') 673 { 674 sed(); 675 } 676 } 677 678 function sed() 679 { 680 // Single Event Display 681 $("#mec_skin_"+settings.id+" .mec-agenda-event-title a").off('click').on('click', function(e) 682 { 683 e.preventDefault(); 684 var href = $(this).attr('href'); 685 686 var id = $(this).data('event-id'); 687 var occurrence = get_parameter_by_name('occurrence', href); 688 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 689 }); 690 } 691 692 function loadMoreButton(year) 693 { 694 var $max_count, $current_count = 0; 695 $max_count = $("#mec_yearly_view_year_"+settings.id+"_"+year+ " .mec-yearly-max").data('count'); 696 $current_count = $("#mec_yearly_view_year_"+settings.id+"_"+year+ " .mec-util-hidden").length; 697 698 if($current_count > 10) 699 { 700 for(var i = 0; i < 10; i++) 701 { 702 $("#mec_yearly_view_year_"+settings.id+"_"+year+ " .mec-util-hidden").slice(0, 2).each(function() 703 { 704 $(this).removeClass('mec-util-hidden'); 705 }); 706 } 707 } 708 709 if($current_count < 10 && $current_count != 0) 710 { 711 for(var j = 0; j < $current_count; j++) 712 { 713 $("#mec_yearly_view_year_"+settings.id+"_"+year+ " .mec-util-hidden").slice(0, 2).each(function() 714 { 715 $(this).removeClass('mec-util-hidden'); 716 $("#mec_yearly_view_year_"+settings.id+"_"+year+ " .mec-load-more-wrap").css('display', 'none'); 717 }); 718 } 719 } 720 } 721 }; 722 723}(jQuery)); 724 725// MEC MONTHLY VIEW PLUGIN 726(function($) 727{ 728 $.fn.mecMonthlyView = function(options) 729 { 730 var active_month; 731 var active_year; 732 733 // Default Options 734 var settings = $.extend( 735 { 736 // These are the defaults. 737 today: null, 738 id: 0, 739 events_label: 'Events', 740 event_label: 'Event', 741 month_navigator: 0, 742 atts: '', 743 next_month: {}, 744 sf: {}, 745 ajax_url: '', 746 }, options); 747 748 // Initialize Month Navigator 749 if(settings.month_navigator) initMonthNavigator(); 750 751 // Load Next Month in background 752 setMonth(settings.next_month.year, settings.next_month.month, true); 753 754 // Set onclick Listeners 755 setListeners(); 756 757 // Search Widget 758 if(settings.sf.container !== '') 759 { 760 sf = $(settings.sf.container).mecSearchForm( 761 { 762 id: settings.id, 763 atts: settings.atts, 764 callback: function(atts) 765 { 766 settings.atts = atts; 767 search(active_year, active_month); 768 } 769 }); 770 } 771 772 function initMonthNavigator() 773 { 774 // Remove the onclick event 775 $("#mec_skin_"+settings.id+" .mec-load-month").off("
775click"); 776 777 // Add onclick event 778 $("#mec_skin_"+settings.id+" .mec-load-month").on("click", function() 779 { 780 var year = $(this).data("mec-year"); 781 var month = $(this).data("mec-month"); 782 783 setMonth(year, month); 784 }); 785 } 786 787 function search(year, month) 788 { 789 790 // Add Loading Class 791 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 792 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 793 794 $.ajax( 795 { 796 url: settings.ajax_url, 797 data: "action=mec_monthly_view_load_month&mec_year="+year+"&mec_month="+month+"&"+settings.atts+"&apply_sf_date=1", 798 dataType: "json", 799 type: "post", 800 success: function(response) 801 { 802 active_month = response.current_month.month; 803 active_year = response.current_month.year; 804 805 // Append Month 806 $("#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>'); 807 808 // Append Month Navigator 809 $("#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>'); 810 811 // Append Events Side 812 $("#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>'); 813 814 // Re-initialize Month Navigator 815 initMonthNavigator(); 816 817 // Set onclick Listeners 818 setListeners(); 819 820 // Toggle Month 821 toggleMonth(response.current_month.id); 822 823 // Remove loading Class 824 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 825 826 }, 827 error: function() 828 { 829 } 830 }); 831 } 832 833 function setMonth(year, month, do_in_background) 834 { 835 if(typeof do_in_background === "undefined") do_in_background = false; 836 var month_id = year+""+month; 837 838 active_month = month; 839 active_year = year; 840 841 // Month exists so we just show it 842 if($("#mec_monthly_view_month_"+settings.id+"_"+month_id).length) 843 { 844 // Toggle Month 845 toggleMonth(month_id); 846 } 847 else 848 { 849 if(!do_in_background) 850 { 851 852 // Add Loading Class 853 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 854 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 855 } 856 857 $.ajax( 858 { 859 url: settings.ajax_url, 860 data: "action=mec_monthly_view_load_month&mec_year="+year+"&mec_month="+month+"&"+settings.atts+"&apply_sf_date=0", 861 dataType: "json", 862 type: "post", 863 success: function(response) 864 { 865 // Append Month 866 $("#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>'); 867 868 // Append Month Navigator 869 $("#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>'); 870 871 // Append Events Side 872 $("#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>'); 873 874 // Re-initialize Month Navigator 875 initMonthNavigator(); 876 877 // Set onclick Listeners 878 setListeners(); 879 880 if(!do_in_background) 881 { 882 // Toggle Month 883 toggleMonth(response.current_month.id); 884 885 // Remove loading Class 886 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 887 888 889 // Set Month Filter values in search widget 890 $("#mec_sf_month_"+settings.id).val(month); 891 $("#mec_sf_year_"+settings.id).val(year); 892 } 893 else 894 { 895 $("#mec_monthly_view_month_"+settings.id+"_"+response.current_month.id).hide(); 896 $("#mec_month_navigator_"+settings.id+"_"+response.current_month.id).hide(); 897 $("#mec_month_side_"+settings.id+"_"+response.current_month.id).hide(); 898 } 899 }, 900 error: function() 901 { 902 } 903 }); 904 } 905 } 906 907 function toggleMonth(month_id) 908 {
909 var active_month = $("#mec_skin_"+settings.id+" .mec-month-container-selected").data("month-id"); 910 var active_day = $("#mec_monthly_view_month_"+settings.id+"_"+active_month+" .mec-selected-day").data("day"); 911 912 if(active_day <= 9) active_day = "0"+active_day; 913 914 // Toggle Month Navigator 915 $("#mec_skin_"+settings.id+" .mec-month-navigator").hide(); 916 $("#mec_month_navigator_"+settings.id+"_"+month_id).show(); 917 918 // Toggle Month 919 $("#mec_skin_"+settings.id+" .mec-month-container").hide(); 920 $("#mec_monthly_view_month_"+settings.id+"_"+month_id).show(); 921 922 // Add selected class 923 $("#mec_skin_"+settings.id+" .mec-month-container").removeClass("mec-month-container-selected"); 924 $("#mec_monthly_view_month_"+settings.id+"_"+month_id).addClass("mec-month-container-selected"); 925 926 // Toggle Events Side 927 $("#mec_skin_"+settings.id+" .mec-month-side").hide(); 928 $("#mec_month_side_"+settings.id+"_"+month_id).show(); 929 } 930 931 var sf; 932 function setListeners() 933 { 934 // Remove the onclick event 935 $("#mec_skin_"+settings.id+" .mec-has-event").off("click"); 936 937 // Add the onclick event 938 $("#mec_skin_"+settings.id+" .mec-has-event").on('click', function(e) 939 { 940 e.preventDefault(); 941 942 // define variables 943 var $this = $(this), data_mec_cell = $this.data('mec-cell'), month_id = $this.data('month'); 944 945 $("#mec_monthly_view_month_"+settings.id+"_"+month_id+" .mec-calendar-day").removeClass('mec-selected-day'); 946 $this.addClass('mec-selected-day'); 947 948 $('#mec_month_side_'+settings.id+'_'+month_id+' .mec-calendar-events-sec:not([data-mec-cell=' + data_mec_cell + '])').slideUp(); 949 $('#mec_month_side_'+settings.id+'_'+month_id+' .mec-calendar-events-sec[data-mec-cell=' + data_mec_cell + ']').slideDown(); 950 951 $('#mec_monthly_view_month_'+settings.id+'_'+month_id+' .mec-calendar-events-sec:not([data-mec-cell=' + data_mec_cell + '])').slideUp(); 952 $('#mec_monthly_view_month_'+settings.id+'_'+month_id+' .mec-calendar-events-sec[data-mec-cell=' + data_mec_cell + ']').slideDown(); 953 }); 954 955 // Single Event Method 956 if(settings.sed_method != '0') 957 { 958 sed(); 959 } 960 } 961 962 function sed() 963 { 964 // Single Event Display 965 $("#mec_skin_"+settings.id+" .mec-event-title a").off('click').on('click', function(e) 966 { 967 e.preventDefault(); 968 var href = $(this).attr('href'); 969 970 var id = $(this).data('event-id'); 971 var occurrence = get_parameter_by_name('occurrence', href); 972 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 973 }); 974 } 975 }; 976 977}(jQuery)); 978 979// MEC WEEKLY VIEW PLUGIN 980(function($) 981{ 982 $.fn.mecWeeklyView = function(options) 983 { 984 var active_year; 985 var active_month; 986 var active_week; 987 var active_week_number; 988 989 // Default Options 990 var settings = $.extend( 991 { 992 // These are the defaults. 993 today: null, 994 week: 1, 995 id: 0, 996 changeWeekElement: '.mec-load-week', 997 month_navigator: 0, 998 atts: '', 999 ajax_url: '', 1000 sf: {} 1001 }, options); 1002 1003 // Search Widget 1004 if(settings.sf.container !== '') 1005 { 1006 $(settings.sf.container).mecSearchForm( 1007 { 1008 id: settings.id, 1009 atts: settings.atts, 1010 callback: function(atts) 1011 { 1012 settings.atts = atts; 1013 search(active_year, active_month, active_week); 1014 } 1015 }); 1016 } 1017 1018 // Set The Week
1019 setThisWeek(settings.month_id+settings.week); 1020 1021 // Set Listeners 1022 setListeners(); 1023 1024 // Initialize Month Navigator 1025 if(settings.month_navigator) initMonthNavigator(settings.month_id); 1026 1027 function setListeners() 1028 { 1029 $(settings.changeWeekElement).off('click').on('click', function() 1030 { 1031 var week = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active').data('week-id'); 1032 var max_weeks = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active').data('max-weeks'); 1033 var new_week_number = active_week_number; 1034 1035 if($(this).hasClass('mec-previous-month')) 1036 { 1037 week = parseInt(week)-1; 1038 new_week_number--; 1039 } 1040 else 1041 { 1042 week = parseInt(week)+1; 1043 new_week_number++; 1044 } 1045 1046 if(new_week_number <= 1 || new_week_number >= max_weeks) 1047 { 1048 // Disable Next/Previous Button 1049 $(this).css({'opacity': .6, 'cursor': 'default'}); 1050 $(this).find('i').css({'opacity': .6, 'cursor': 'default'}); 1051 } 1052 else 1053 { 1054 // Enable Next/Previous Buttons 1055 $('#mec_skin_'+settings.id+' .mec-load-week, #mec_skin_'+settings.id+' .mec-load-week i').css({'opacity': 1, 'cursor': 'pointer'}); 1056 } 1057 1058 // Week is not in valid range 1059 if(new_week_number === 0 || new_week_number > max_weeks) 1060 { 1061 } 1062 else 1063 { 1064 setThisWeek(week); 1065 } 1066 }); 1067 1068 // Single Event Method 1069 if(settings.sed_method != '0') 1070 { 1071 sed(); 1072 } 1073 } 1074 1075 function setThisWeek(week) 1076 { 1077 // Week is not exists 1078 if(!$('#mec_weekly_view_week_'+settings.id+'_'+week).length) 1079 { 1080 return setThisWeek((parseInt(week)-1)); 1081 } 1082 1083 // Set week to active in week list 1084 $('#mec_skin_'+settings.id+' .mec-weekly-view-week').removeClass('mec-weekly-view-week-active'); 1085 $('#mec_weekly_view_week_'+settings.id+'_'+week).addClass('mec-weekly-view-week-active'); 1086 1087 // Show related events 1088 $('#mec_skin_'+settings.id+' .mec-weekly-view-date-events').addClass('mec-util-hidden'); 1089 $('.mec-weekly-view-week-'+settings.id+'-'+week).removeClass('mec-util-hidden'); 1090 1091 active_week = week; 1092 active_week_number = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active').data('week-number'); 1093 1094 $('#mec_skin_'+settings.id+' .mec-calendar-d-top').find('.mec-current-week').find('span').remove(); 1095 $('#mec_skin_'+settings.id+' .mec-calendar-d-top').find('.mec-current-week').append('<span>'+active_week_number+'</span>'); 1096 1097 if(active_week_number === 1) 1098 { 1099 // Disable Previous Button 1100 $('#mec_skin_'+settings.id+' .mec-previous-month.mec-load-week').css({'opacity': .6, 'cursor': 'default'}); 1101 $('#mec_skin_'+settings.id+' .mec-previous-month.mec-load-week').find('i').css({'opacity': .6, 'cursor': 'default'}); 1102 } 1103 } 1104 1105 function initMonthNavigator(month_id) 1106 { 1107 $('#mec_month_navigator'+settings.id+'_'+month_id+' .mec-load-month').off('click'); 1108 $('#mec_month_navigator'+settings.id+'_'+month_id+' .mec-load-month').on('click', function() 1109 { 1110 var year = $(this).data('mec-year'); 1111 var month = $(this).data('mec-month'); 1112 1113 setMonth(year, month, active_week); 1114 }); 1115 } 1116 1117 function search(year, month, week) 1118 { 1119 var week_number = (String(week).slice(-1)); 1120 1121 // Add Loading Class 1122 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1123 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1124 1125 $.ajax( 1126 { 1127 url: settings.ajax_url, 1128 data: "action=mec_weekly_view_load_month&mec_year="+year+"&mec_month="+month+"&mec_week="+week_number+"&"+settings.atts+"&apply_sf_date=1", 1129 dataType: "json", 1130 type: "post", 1131 success: function(response) 1132 { 1133 // Remove Loading Class 1134 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1135 1136 // Append Month 1137 $("#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>'); 1138 1139 // Append Month Navigator 1140 $("#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>'); 1141 1142 // Set Listeners 1143 setListeners(); 1144 1145 // Toggle Month 1146 toggleMonth(response.current_month.id); 1147 1148 // Set active week 1149 setThisWeek(response.week_id); 1150 }, 1151 error: function() 1152 { 1153 } 1154 }); 1155 } 1156 1157 function setMonth(year, month, week) 1158 {
1159 var month_id = ''+year+month; 1160 var week_number = (String(week).slice(-1)); 1161 1162 active_month = month; 1163 active_year = year; 1164 1165 // Month exists so we just show it 1166 if($("#mec_weekly_view_month_"+settings.id+"_"+month_id).length) 1167 { 1168 // Toggle Month 1169 toggleMonth(month_id); 1170 1171 // Set active week 1172 setThisWeek(''+month_id+week_number); 1173 } 1174 else 1175 { 1176 // Add Loading Class 1177 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1178 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1179 1180 $.ajax( 1181 { 1182 url: settings.ajax_url, 1183 data: "action=mec_weekly_view_load_month&mec_year="+year+"&mec_month="+month+"&mec_week="+week_number+"&"+settings.atts+"&apply_sf_date=0", 1184 dataType: "json", 1185 type: "post", 1186 success: function(response) 1187 { 1188 // Remove Loading Class 1189 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1190 1191 // Append Month 1192 $("#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>'); 1193 1194 // Append Month Navigator 1195 $("#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>'); 1196 1197 // Set Listeners 1198 setListeners(); 1199 1200 // Toggle Month 1201 toggleMonth(response.current_month.id); 1202 1203 // Set active week 1204 setThisWeek(response.week_id); 1205 1206 // Set Month Filter values in search widget 1207 $("#mec_sf_month_"+settings.id).val(month); 1208 $("#mec_sf_year_"+settings.id).val(year); 1209 }, 1210 error: function() 1211 { 1212 } 1213 }); 1214 } 1215 } 1216 1217 function toggleMonth(month_id) 1218 { 1219 // Show related events 1220 $('#mec_skin_'+settings.id+' .mec-month-container').addClass('mec-util-hidden'); 1221 $('#mec_weekly_view_month_'+settings.id+'_'+month_id).removeClass('mec-util-hidden'); 1222 1223 $('#mec_skin_'+settings.id+' .mec-month-navigator').addClass('mec-util-hidden'); 1224 $('#mec_month_navigator'+settings.id+'_'+month_id).removeClass('mec-util-hidden'); 1225 1226 // Initialize Month Navigator 1227 if(settings.month_navigator) initMonthNavigator(month_id); 1228 } 1229 1230 function sed() 1231 { 1232 // Single Event Display 1233 $("#mec_skin_"+settings.id+" .mec-event-title a").off('click').on('click', function(e) 1234 { 1235 e.preventDefault(); 1236 var href = $(this).attr('href'); 1237 1238 var id = $(this).data('event-id'); 1239 var occurrence = get_parameter_by_name('occurrence', href); 1240 1241 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 1242 }); 1243 } 1244 }; 1245 1246}(jQuery)); 1247 1248// MEC DAILY VIEW PLUGIN 1249(function($) 1250{ 1251 $.fn.mecDailyView = function(options) 1252 { 1253 var active_month; 1254 var active_year; 1255 var active_day; 1256 1257 // Default Options 1258 var settings = $.extend( 1259 { 1260 // These are the defaults. 1261 today: null, 1262 id: 0,
1263 changeDayElement: '.mec-daily-view-day', 1264 events_label: 'Events', 1265 event_label: 'Event', 1266 month_navigator: 0, 1267 atts: '', 1268 ajax_url: '', 1269 sf: {}, 1270 }, options); 1271 1272 active_month = settings.month; 1273 active_year = settings.year; 1274 active_day = settings.day; 1275 1276 // Set Today 1277 setToday(settings.today); 1278 1279 // Set Listeners 1280 setListeners(); 1281 1282 // Initialize Month Navigator 1283 if(settings.month_navigator) initMonthNavigator(settings.month_id); 1284 1285 // Initialize Days Slider 1286 initDaysSlider(settings.month_id); 1287 1288 // Search Widget 1289 if(settings.sf.container !== '') 1290 { 1291 $(settings.sf.container).mecSearchForm( 1292 { 1293 id: settings.id, 1294 atts: settings.atts, 1295 callback: function(atts) 1296 { 1297 settings.atts = atts; 1298 search(active_year, active_month, active_day); 1299 } 1300 }); 1301 } 1302 1303 function setListeners() 1304 { 1305 $(settings.changeDayElement).on('click', function() 1306 { 1307 var today = $(this).data('day-id'); 1308 setToday(today); 1309 }); 1310 1311 // Single Event Method 1312 if(settings.sed_method != '0') 1313 { 1314 sed(); 1315 } 1316 } 1317 1318 var current_monthday; 1319 function setToday(today) 1320 { 1321 // For caring about 31st, 30th and 29th of some months 1322 if(!$('#mec_daily_view_day'+settings.id+'_'+today).length) 1323 { 1324 setToday(parseInt(today)-1); 1325 return false; 1326 } 1327 1328 // Set day to active in day list 1329 $('.mec-daily-view-day').removeClass('mec-daily-view-day-active mec-color'); 1330 $('#mec_daily_view_day'+settings.id+'_'+today).addClass('mec-daily-view-day-active mec-color'); 1331 1332 // Show related events 1333 $('.mec-daily-view-date-events').addClass('mec-util-hidden'); 1334 $('#mec_daily_view_date_events'+settings.id+'_'+today).removeClass('mec-util-hidden'); 1335 1336 // Set today label 1337 var weekday = $('#mec_daily_view_day'+settings.id+'_'+today).data('day-weekday'); 1338 var monthday = $('#mec_daily_view_day'+settings.id+'_'+today).data('day-monthday'); 1339 var count = $('#mec_daily_view_day'+settings.id+'_'+today).data('events-count'); 1340 var month_id = $('#mec_daily_view_day'+settings.id+'_'+today).data('month-id'); 1341 1342 $('#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>'); 1343 1344 if(monthday <= 9) current_monthday = '0'+monthday; 1345 else current_monthday = monthday; 1346 } 1347 1348 function initMonthNavigator(month_id) 1349 { 1350 $('#mec_month_navigator'+settings.id+'_'+month_id+' .mec-load-month').off('click'); 1351 $('#mec_month_navigator'+settings.id+'_'+month_id+' .mec-load-month').on('click', function() 1352 { 1353 var year = $(this).data('mec-year'); 1354 var month = $(this).data('mec-month'); 1355 1356 setMonth(year, month, current_monthday); 1357 }); 1358 } 1359 1360 function initDaysSlider(month_id, day_id) 1361 { 1362 // Init Days slider 1363 var owl = $("#mec-owl-calendar-d-table-"+settings.id+"-"+month_id); 1364 owl.owlCarousel( 1365 { 1366 items : 22, //22 items above 1000px browser width 1367 responsiveClass: true, 1368 responsive: { 1369 479: { 1370 items: 4, 1371 }, 1372 767: { 1373 items: 7, 1374 }, 1375 960: { 1376 items: 14, 1377 }, 1378 1000: { 1379 items: 19, 1380 } 1381 }, 1382 dots: false, 1383 loop: true, 1384 }); 1385 1386 // Custom Navigation Events 1387 $("#mec_daily_view_month_"+settings.id+"_"+month_id+" .mec-table-d-next").click(function(e) 1388 { 1389 e.preventDefault(); 1390 owl.trigger('owl.next'); 1391 }); 1392 1393 $("#mec_daily_view_month_"+settings.id+"_"+month_id+" .mec-table-d-prev").click(function(e) 1394 { 1395 e.preventDefault(); 1396 owl.trigger('owl.prev'); 1397 }); 1398 1399 if(typeof day_id === 'undefined') day_id = $('.mec-daily-v
1399iew-day-active').data('day-id'); 1400 1401 var today_str = day_id.toString().substring(6,8); 1402 var today_int = parseInt(today_str); 1403 1404 owl.trigger('owl.goTo', [today_int]); 1405 } 1406 1407 function search(year, month, day) 1408 { 1409 // Add Loading Class 1410 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1411 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1412 1413 $.ajax( 1414 { 1415 url: settings.ajax_url, 1416 data: "action=mec_daily_view_load_month&mec_year="+year+"&mec_month="+month+"&mec_day="+day+"&"+settings.atts+"&apply_sf_date=1", 1417 dataType: "json", 1418 type: "post", 1419 success: function(response) 1420 { 1421 // Remove Loading Class 1422 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1423 1424 // Append Month 1425 $("#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>'); 1426 1427 // Append Month Navigator 1428 $("#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>'); 1429 1430 // Set Listeners 1431 setListeners(); 1432 1433 active_year = response.current_month.year; 1434 active_month = response.current_month.month; 1435 active_day = '01'; 1436 1437 // Toggle Month 1438 toggleMonth(response.current_month.id, ''+active_year+active_month+active_day); 1439 1440 // Set Today 1441 setToday(''+active_year+active_month+active_day); 1442 }, 1443 error: function() 1444 { 1445 } 1446 }); 1447 } 1448 1449 function setMonth(year, month, day) 1450 { 1451 var month_id = '' + year + month; 1452 1453 active_month = month; 1454 active_year = year; 1455 active_day = day; 1456 1457 // Month exists so we just show it 1458 if($("#mec_daily_view_month_"+settings.id+"_"+month_id).length) 1459 { 1460 // Toggle Month 1461 toggleMonth(month_id); 1462 1463 // Set Today 1464 setToday(''+month_id+day); 1465 } 1466 else 1467 { 1468 // Add Loading Class 1469 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1470 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1471 1472 $.ajax( 1473 { 1474 url: settings.ajax_url, 1475 data: "action=mec_daily_view_load_month&mec_year="+year+"&mec_month="+month+"&mec_day="+day+"&"+settings.atts+"&apply_sf_date=0", 1476 dataType: "json", 1477 type: "post", 1478 success: function(response) 1479 { 1480 // Remove Loading Class 1481 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1482 1483 // Append Month 1484 $("#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>'); 1485 1486 // Append Month Navigator 1487 $("#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>'); 1488 1489 // Set Listeners 1490 setListeners(); 1491 1492 // Toggle Month 1493 toggleMonth(response.current_month.id, ''+year+month+'01'); 1494 1495 // Set Today 1496 setToday(''+year+month+'01'); 1497 1498 // Set Month Filter values in search widget 1499 $("#mec_sf_month_"+settings.id).val(month); 1500 $("#mec_sf_year_"+settings.id).val(year); 1501 }, 1502 error: function() 1503 { 1504 } 1505 }); 1506 } 1507 } 1508 1509 function toggleMonth(month_id, day_id) 1510 { 1511 // Show related events 1512 $('#mec_skin_'+settings.id+' .mec-month-container').addClass('mec-util-hidden'); 1513 $('#mec_daily_view_month_'+settings.id+'_'+month_id).removeClass('mec-util-hidden'); 1514 1515 $('#mec_skin_'+settings.id+' .mec-month-navigator').addClass('mec-util-hidden'); 1516 $('#mec_month_navigator'+settings.id+'_'+month_id).removeClass('mec-util-hidden'); 1517 1518 // Initialize Month Navigator 1519 if(settings.month_navigator) initMonthNavigator(month_id); 1520 1521 // Initialize Days Slider 1522 initDaysSlider(month_id, day_id); 1523 } 1524 1525 function sed() 1526 { 1527 // Single Event Display 1528 $("#mec_skin_"+settings.id+" .mec-event-title a").off('click').on('click', function(e) 1529 { 1530 e.preventDefault(); 1531 var href = $(this).attr('href'); 1532 1533 var id = $(this).data('event-id'); 1534 var occurrence = get_parameter_by_name('occurrence', href); 1535 1536 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 1537 }); 1538 } 1539 }; 1540 1541}(jQuery)); 1542 1543// MEC TIMETABLE PLUGIN 1544(function($) 1545{ 1546 $.fn.mecTimeTable = function(options) 1547 { 1548 var active_year; 1549 var active_month; 1550 var active_week; 1551 var active_week_number; 1552 var active_day; 1553 1554 // Default Options 1555 var settings = $.extend( 1556 { 1557 // These are the defaults. 1558 today: null, 1559 week: 1, 1560 active_day: 1, 1561 id: 0, 1562 changeWeekElement: '.mec-load-week', 1563 month_navigator: 0, 1564 atts: '', 1565 ajax_url: '', 1566 sf: {} 1567 }, options); 1568 1569 // Search Widget 1570 if(settings.sf.container !== '') 1571 { 1572 $(settings.sf.container).mecSearchForm( 1573 { 1574 id: settings.id, 1575 atts: settings.atts, 1576 callback: function(atts) 1577 { 1578 settings.atts = atts; 1579 search(active_year, active_month, active_week, active_day); 1580 } 1581 }); 1582 } 1583 1584 // Set The Week
1585 setThisWeek(settings.month_id+settings.week, settings.active_day); 1586 1587 // Set Listeners 1588 setListeners(); 1589 1590 // Initialize Month Navigator 1591 if(settings.month_navigator) initMonthNavigator(settings.month_id); 1592 1593 function setListeners() 1594 { 1595 // Change Week Listener 1596 $(settings.changeWeekElement).off('click').on('click', function() 1597 { 1598 var week = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active').data('week-id'); 1599 var max_weeks = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active').data('max-weeks'); 1600 var new_week_number = active_week_number; 1601 1602 if($(this).hasClass('mec-previous-month')) 1603 { 1604 week = parseInt(week)-1; 1605 new_week_number--; 1606 } 1607 else 1608 { 1609 week = parseInt(week)+1; 1610 new_week_number++; 1611 } 1612 1613 if(new_week_number <= 1 || new_week_number >= max_weeks) 1614 { 1615 // Disable Next/Previous Button 1616 $(this).css({'opacity': .6, 'cursor': 'default'}); 1617 $(this).find('i').css({'opacity': .6, 'cursor': 'default'}); 1618 } 1619 else 1620 { 1621 // Enable Next/Previous Buttons 1622 $('#mec_skin_'+settings.id+' .mec-load-week, #mec_skin_'+settings.id+' .mec-load-week i').css({'opacity': 1, 'cursor': 'pointer'}); 1623 } 1624 1625 // Week is not in valid range 1626 if(new_week_number === 0 || new_week_number > max_weeks) 1627 { 1628 } 1629 else 1630 { 1631 setThisWeek(week); 1632 } 1633 }); 1634 1635 // Change Day Listener 1636 $('#mec_skin_'+settings.id+' .mec-weekly-view-week dt').not('.mec-timetable-has-no-event').off('click').on('click', function() 1637 { 1638 var day = $(this).data('date-id'); 1639 setDay(day); 1640 }); 1641 1642 // Single Event Method 1643 if(settings.sed_method != '0') 1644 { 1645 sed(); 1646 } 1647 } 1648 1649 function setThisWeek(week, day) 1650 { 1651 // Week is not exists 1652 if(!$('#mec_weekly_view_week_'+settings.id+'_'+week).length) 1653 { 1654 return setThisWeek((parseInt(week)-1), day); 1655 } 1656 1657 // Set week to active in week list 1658 $('#mec_skin_'+settings.id+' .mec-weekly-view-week').removeClass('mec-weekly-view-week-active'); 1659 $('#mec_weekly_view_week_'+settings.id+'_'+week).addClass('mec-weekly-view-week-active'); 1660 1661 setDay(day); 1662 1663 active_week = week; 1664 active_week_number = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active').data('week-number'); 1665 1666 $('#mec_skin_'+settings.id+' .mec-calendar-d-top').find('.mec-current-week').find('span').remove(); 1667 $('#mec_skin_'+settings.id+' .mec-calendar-d-top').find('.mec-current-week').append('<span>'+active_week_number+'</span>'); 1668 1669 if(active_week_number === 1) 1670 { 1671 // Disable Previous Button 1672 $('#mec_skin_'+settings.id+' .mec-previous-month.mec-load-week').css({'opacity': .6, 'cursor': 'default'}); 1673 $('#mec_skin_'+settings.id+' .mec-previous-month.mec-load-week').find('i').css({'opacity': .6, 'cursor': 'default'}); 1674 } 1675 } 1676 1677 function setDay(day) 1678 { 1679 // Find the date automatically 1680 if(typeof day === 'undefined') 1681 { 1682 day = $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active dt').not('.mec-timetable-has-no-event').first().data('date-id'); 1683 } 1684 1685 // Activate the date element 1686 $('#mec_skin_'+settings.id+' dt').removeClass('mec-timetable-day-active'); 1687 $('#mec_skin_'+settings.id+' .mec-weekly-view-week-active dt[data-date-id="'+day+'"]').addClass('mec-timetable-day-active'); 1688 1689 // Show related events 1690 $('#mec_skin_'+settings.id+' .mec-weekly-view-date-events').addClass('mec-util-hidden'); 1691 $('#mec_weekly_view_date_events'+settings.id+'_'+day).removeClass('mec-util-hidden'); 1692 } 1693 1694 function initMonthNavigator(month_id) 1695 { 1696 $('#mec_month_navigator'+settings.id+'_'+month_id+' .mec-load-month').off('click').on('click', function() 1697 { 1698 var year = $(this).data('mec-year');
1699 var month = $(this).data('mec-month'); 1700 1701 setMonth(year, month, active_week); 1702 }); 1703 } 1704 1705 function search(year, month, week) 1706 { 1707 var week_number = (String(week).slice(-1)); 1708 1709 // Add Loading Class 1710 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1711 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1712 1713 $.ajax( 1714 { 1715 url: settings.ajax_url, 1716 data: "action=mec_timetable_load_month&mec_year="+year+"&mec_month="+month+"&mec_week="+week_number+"&"+settings.atts+"&apply_sf_date=1", 1717 dataType: "json", 1718 type: "post", 1719 success: function(response) 1720 { 1721 // Remove Loading Class 1722 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1723 1724 // Append Month 1725 $("#mec_skin_events_"+settings.id).html('<div class="mec-month-container" id="mec_timetable_month_'+settings.id+'_'+response.current_month.id+'">'+response.month+'</div>'); 1726 1727 // Append Month Navigator 1728 $("#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>'); 1729 1730 // Set Listeners 1731 setListeners(); 1732 1733 // Toggle Month 1734 toggleMonth(response.current_month.id); 1735 1736 // Set active week 1737 setThisWeek(response.week_id); 1738 }, 1739 error: function() 1740 { 1741 } 1742 }); 1743 } 1744 1745 function setMonth(year, month, week) 1746 { 1747 var month_id = ''+year+month; 1748 var week_number = (String(week).slice(-1)); 1749 1750 active_month = month; 1751 active_year = year; 1752 1753 // Month exists so we just show it 1754 if($("#mec_timetable_month_"+settings.id+"_"+month_id).length) 1755 { 1756 // Toggle Month 1757 toggleMonth(month_id); 1758 1759 // Set active week 1760 setThisWeek(''+month_id+week_number); 1761 } 1762 else 1763 { 1764 // Add Loading Class 1765 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 1766 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 1767 1768 $.ajax( 1769 { 1770 url: settings.ajax_url, 1771 data: "action=mec_timetable_load_month&mec_year="+year+"&mec_month="+month+"&mec_week="+week_number+"&"+settings.atts+"&apply_sf_date=0", 1772 dataType: "json", 1773 type: "post", 1774 success: function(response) 1775 { 1776 // Remove Loading Class 1777 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 1778 1779 // Append Month 1780 $("#mec_skin_events_"+settings.id).append('<div class="mec-month-container" id="mec_timetable_month_'+settings.id+'_'+response.current_month.id+'">'+response.month+'</div>'); 1781 1782 // Append Month Navigator 1783 $("#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>'); 1784 1785 // Set Listeners 1786 setListeners(); 1787 1788 // Toggle Month 1789 toggleMonth(response.current_month.id); 1790 1791 // Set active week 1792 setThisWeek(response.week_id); 1793 1794 // Set Month Filter values in search widget 1795 $("#mec_sf_month_"+settings.id).val(month); 1796 $("#mec_sf_year_"+settings.id).val(year); 1797 }, 1798 error: function() 1799 { 1800 } 1801 }); 1802 } 1803 } 1804 1805 function toggleMonth(month_id) 1806 { 1807 // Show related events 1808 $('#mec_skin_'+settings.id+' .mec-month-container').addClass('mec-util-hidden'); 1809 $('#mec_timetable_month_'+settings.id+'_'+month_id).removeClass('mec-util-hidden'); 1810 1811 $('#mec_skin_'+settings.id+' .mec-month-navigator').addClass('mec-util-hidden'); 1812 $('#mec_month_navigator'+settings.id+'_'+month_id).removeClass('mec-util-hidden'); 1813 1814 // Initialize Month Navigator 1815 if(settings.month_navigator) initMonthNavigator(month_id); 1816 } 1817 1818 function sed() 1819 { 1820 // Single Event Display 1821 $("#mec_skin_"+settings.id+" .mec-timetable-event-title a").off('click').on('click', function(e) 1822 { 1823 e.preventDefault(); 1824 var href = $(this).attr('href'); 1825 1826 var id = $(this).data('event-id'); 1827 var occurrence = get_parameter_by_name('occurrence', href); 1828 1829 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 1830 }); 1831 } 1832 }; 1833 1834}(jQuery)); 1835 1836// MEC WEEKLY PROGRAM PLUGIN 1837(function($) 1838{
1839 $.fn.mecWeeklyProgram = function(options) 1840 { 1841 // Default Options 1842 var settings = $.extend( 1843 { 1844 // These are the defaults. 1845 id: 0, 1846 sf: {} 1847 }, options); 1848 1849 console.log(settings); 1850 1851 // Set Listeners 1852 setListeners(); 1853 1854 function setListeners() 1855 { 1856 // Single Event Method 1857 if(settings.sed_method != '0') 1858 { 1859 sed(); 1860 } 1861 } 1862 1863 function sed() 1864 { 1865 // Single Event Display 1866 $("#mec_skin_"+settings.id+" .mec-event-title a").off('click').on('click', function(e) 1867 { 1868 e.preventDefault(); 1869 var href = $(this).attr('href'); 1870 1871 var id = $(this).data('event-id'); 1872 var occurrence = get_parameter_by_name('occurrence', href); 1873 1874 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 1875 }); 1876 } 1877 }; 1878 1879}(jQuery)); 1880 1881// MEC MASONRY VIEW PLUGIN 1882(function($) 1883{ 1884 $.fn.mecMasonryView = function(options) 1885 { 1886 // Default Options 1887 var settings = $.extend( 1888 { 1889 // These are the defaults. 1890 id: 0, 1891 atts: '', 1892 ajax_url: '', 1893 sf: {}, 1894 end_date: '', 1895 offset: 0, 1896 start_date: '', 1897 }, options); 1898 1899 // Set onclick Listeners 1900 setListeners(); 1901 1902 // Init Masonry 1903 jQuery(window).load(function(){ 1904 initMasonry(); 1905 }); 1906 function initMasonry() 1907 { 1908 var $container = $("#mec_skin_"+settings.id+" .mec-event-masonry"); 1909 $container.isotope( 1910 { 1911 filter: '*', 1912 animationOptions: { 1913 duration: 750, 1914 easing: 'linear', 1915 queue: false 1916 } 1917 }); 1918 1919 $("#mec_skin_"+settings.id+" .mec-events-masonry-cats a").click(function() 1920 { 1921 var selector = $(this).attr('data-filter'); 1922 $container.isotope( 1923 { 1924 filter: selector, 1925 animationOptions: { 1926 duration: 750, 1927 easing: 'linear', 1928 queue: false 1929 } 1930 }); 1931 1932 return false; 1933 }); 1934 1935 var $optionSets = $("#mec_skin_"+settings.id+" .mec-events-masonry-cats"), 1936 $optionLinks = $optionSets.find('a'); 1937 1938 $optionLinks.click(function() 1939 { 1940 var $this = $(this); 1941 1942 // don't proceed if already selected 1943 if($this.hasClass('selected')) return false; 1944 1945 var $optionSet = $this.parents('.mec-events-masonry-cats'); 1946 $optionSet.find('.mec-masonry-cat-selected').removeClass('mec-masonry-cat-selected'); 1947 $this.addClass('mec-masonry-cat-selected'); 1948 }); 1949 } 1950 1951 function setListeners() 1952 { 1953 // Single Event Method 1954 if(settings.sed_method != '0') 1955 { 1956 sed(); 1957 } 1958 } 1959 1960 function sed() 1961 { 1962 // Single Event Display 1963 $("#mec_skin_"+settings.id+" .mec-event-title a, #mec_skin_"+settings.id+" .mec-booking-button").off('click').on('click', function(e) 1964 { 1965 e.preventDefault(); 1966 var href = $(this).attr('href'); 1967 1968 var id = $(this).data('event-id'); 1969 var occurrence = get_parameter_by_name('occurrence', href); 1970 1971 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 1972 }); 1973 } 1974 }; 1975 1976}(jQuery)); 1977 1978 1979// MEC LIST VIEW PLUGIN 1980(function($) 1981{ 1982 $.fn.mecListView = function(options) 1983 { 1984 // Default Options 1985 var settings = $.extend( 1986 { 1987 // These are the defaults. 1988 id: 0, 1989 atts: '', 1990 ajax_url: '', 1991 sf: {}, 1992 current_month_divider: '', 1993 end_date: '', 1994 offset: 0, 1995 }, options); 1996 1997 // Set onclick Listeners 1998 setListeners(); 1999 2000 var sf; 2001 function setListeners() 2002 { 2003 // Search Widget 2004 if(settings.sf.container !== '') 2005 { 2006 sf = $(settings.sf.container).mecSearchForm( 2007 { 2008 id: settings.id, 2009 atts: settings.atts, 2010 callback: function(atts) 2011 { 2012 settings.atts = atts; 2013 search(); 2014 } 2015 }); 2016 } 2017 2018 $("#mec_skin_"+settings.id+" .mec-load-more-button").on("click", function() 2019 {
2020 loadMore(); 2021 }); 2022 2023 // Accordion Toggle 2024 if(settings.style === 'accordion') accordion(); 2025 2026 // Single Event Method 2027 if(settings.sed_method != '0') 2028 { 2029 sed(); 2030 } 2031 } 2032 2033 function accordion() 2034 { 2035 // Accordion Toggle 2036 $("#mec_skin_"+settings.id+" .mec-toggle-item-inner").off("click").on("click", function(event) 2037 { 2038 event.preventDefault(); 2039 2040 var $this = $(this); 2041 $(this).parent().find(".mec-content-toggle").slideToggle("fast", function() 2042 { 2043 $this.children("i").toggleClass("mec-sl-arrow-down mec-sl-arrow-up"); 2044 }); 2045 2046 // Trigger Google Map 2047 var unique_id = $(this).parent().find(".mec-modal-wrap").data('unique-id'); 2048 2049 window['mec_init_gmap'+unique_id](); 2050 }); 2051 } 2052 2053 function sed() 2054 { 2055 // Single Event Display 2056 $("#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) 2057 { 2058 e.preventDefault(); 2059 var href = $(this).attr('href'); 2060 2061 var id = $(this).data('event-id'); 2062 var occurrence = get_parameter_by_name('occurrence', href); 2063 2064 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 2065 }); 2066 } 2067 2068 function loadMore() 2069 { 2070 // Add loading Class 2071 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-load-more-loading"); 2072 2073 $.ajax( 2074 { 2075 url: settings.ajax_url, 2076 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", 2077 dataType: "json", 2078 type: "post", 2079 success: function(response) 2080 { 2081 if(response.count == "0") 2082 { 2083 // Remove loading Class 2084 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-load-more-loading"); 2085 2086 // Hide load more button 2087 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2088 } 2089 else 2090 { 2091 // Show load more button 2092 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-util-hidden"); 2093 2094 // Append Items 2095 $("#mec_skin_events_"+settings.id).append(response.html); 2096 2097 // Remove loading Class 2098 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-load-more-loading"); 2099 2100 // Update the variables 2101 settings.end_date = response.end_date; 2102 settings.offset = response.offset; 2103 settings.current_month_divider = response.current_month_divider; 2104 2105 // Single Event Method 2106 if(settings.sed_method != '0') 2107 { 2108 sed(); 2109 } 2110 2111 // Accordion Toggle 2112 if(settings.style === 'accordion') accordion(); 2113 } 2114 }, 2115 error: function() 2116 { 2117 } 2118 }); 2119 } 2120 2121 function search() 2122 { 2123 // Hide no event message 2124 $("#mec_skin_no_events_"+settings.id).addClass("mec-util-hidden"); 2125 2126 // Add loading Class 2127 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2128 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2129 2130 $.ajax( 2131 { 2132 url: settings.ajax_url, 2133 data: "action=mec_list_load_more&mec_start_date="+sett
2133ings.start_date+"&"+settings.atts+"¤t_month_divider=0&apply_sf_date=1", 2134 dataType: "json", 2135 type: "post", 2136 success: function(response) 2137 { 2138 if(response.count == "0") 2139 { 2140 // Append Items 2141 $("#mec_skin_events_"+settings.id).html(''); 2142 2143 // Remove loading Class 2144 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2145 2146 // Hide it 2147 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2148 2149 // Show no event message 2150 $("#mec_skin_no_events_"+settings.id).removeClass("mec-util-hidden"); 2151 } 2152 else 2153 { 2154 // Append Items 2155 $("#mec_skin_events_"+settings.id).html(response.html); 2156 2157 // Remove loading Class 2158 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2159 2160 // Show load more button 2161 if(response.count >= settings.limit) $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-util-hidden"); 2162 // Hide load more button 2163 else $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2164 2165 // Update the variables 2166 settings.end_date = response.end_date; 2167 settings.offset = response.offset; 2168 settings.current_month_divider = response.current_month_divider; 2169 2170 // Single Event Method 2171 if(settings.sed_method != '0') 2172 { 2173 sed(); 2174 } 2175 2176 // Accordion Toggle 2177 if(settings.style === 'accordion') accordion(); 2178 } 2179 }, 2180 error: function() 2181 { 2182 } 2183 }); 2184 } 2185 }; 2186 2187}(jQuery)); 2188 2189// MEC GRID VIEW PLUGIN 2190(function($) 2191{ 2192 $.fn.mecGridView = function(options) 2193 { 2194 // Default Options 2195 var settings = $.extend( 2196 { 2197 // These are the defaults. 2198 id: 0, 2199 atts: '', 2200 ajax_url: '', 2201 sf: {}, 2202 end_date: '', 2203 offset: 0, 2204 start_date: '', 2205 }, options); 2206 2207 // Set onclick Listeners 2208 setListeners(); 2209 2210 var sf; 2211 function setListeners() 2212 { 2213 // Search Widget 2214 if(settings.sf.container !== '') 2215 { 2216 sf = $(settings.sf.container).mecSearchForm( 2217 { 2218 id: settings.id, 2219 atts: settings.atts, 2220 callback: function(atts) 2221 { 2222 settings.atts = atts; 2223 search(); 2224 } 2225 }); 2226 } 2227 2228 $("#mec_skin_"+settings.id+" .mec-load-more-button").on("click", function() 2229 { 2230 loadMore(); 2231 }); 2232 2233 // Single Event Method 2234 if(settings.sed_method != '0') 2235 { 2236 sed(); 2237 } 2238 } 2239 2240 function sed() 2241 { 2242 // Single Event Display 2243 $("#mec_skin_"+settings.id+" .mec-event-title a, #mec_skin_"+settings.id+" .mec-booking-button").off('click').on('click', function(e) 2244 { 2245 e.preventDefault(); 2246 var href = $(this).attr('href'); 2247 2248 var id = $(this).data('event-id'); 2249 var occurrence = get_parameter_by_name('occurrence', href); 2250 2251 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 2252 }); 2253 } 2254 2255 function loadMore() 2256 { 2257 // Add loading Class 2258 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-load-more-loading"); 2259 2260 $.ajax( 2261 { 2262 url: settings.ajax_url, 2263 data: "action=mec_grid_load_more&mec_start_date="+sett
2263ings.end_date+"&mec_offset="+settings.offset+"&"+settings.atts+"&apply_sf_date=0", 2264 dataType: "json", 2265 type: "post", 2266 success: function(response) 2267 { 2268 if(response.count == "0") 2269 { 2270 // Remove loading Class 2271 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-load-more-loading"); 2272 2273 // Hide load more button 2274 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2275 } 2276 else 2277 { 2278 // Show load more button 2279 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-util-hidden"); 2280 2281 // Append Items 2282 $("#mec_skin_events_"+settings.id).append(response.html); 2283 2284 // Remove loading Class 2285 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-load-more-loading"); 2286 2287 // Update the variables 2288 settings.end_date = response.end_date; 2289 settings.offset = response.offset; 2290 2291 // Single Event Method 2292 if(settings.sed_method != '0') 2293 { 2294 sed(); 2295 } 2296 } 2297 }, 2298 error: function() 2299 { 2300 } 2301 }); 2302 } 2303 2304 function search() 2305 { 2306 // Hide no event message 2307 $("#mec_skin_no_events_"+settings.id).addClass("mec-util-hidden"); 2308 2309 // Add loading Class 2310 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2311 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2312 2313 $.ajax( 2314 { 2315 url: settings.ajax_url, 2316 data: "action=mec_grid_load_more&mec_start_date="+settings.start_date+"&"+settings.atts+"&apply_sf_date=1", 2317 dataType: "json", 2318 type: "post", 2319 success: function(response) 2320 { 2321 if(response.count == "0") 2322 { 2323 // Append Items 2324 $("#mec_skin_events_"+settings.id).html(''); 2325 2326 // Remove loading Class 2327 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2328 2329 // Hide it 2330 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2331 2332 // Show no event message 2333 $("#mec_skin_no_events_"+settings.id).removeClass("mec-util-hidden"); 2334 } 2335 else 2336 { 2337 // Append Items 2338 $("#mec_skin_events_"+settings.id).html(response.html); 2339 2340 // Remove loading Class 2341 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2342 2343 // Show load more button 2344 if(response.count >= settings.limit) $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-util-hidden"); 2345 // Hide load more button 2346 else $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2347 2348 // Update the variables 2349 settings.end_date = response.end_date; 2350 settings.offset = response.offset; 2351 2352 // Single Event Method 2353 if(settings.sed_method != '0') 2354 { 2355 sed(); 2356 } 2357 } 2358 }, 2359 error: function() 2360 { 2361 } 2362 }); 2363 } 2364 }; 2365 2366}(jQuery)); 2367 2368// MEC AGENDA VIEW PLUGIN 2369(function($) 2370{ 2371 $.fn.mecAgendaView = function(options) 2372 { 2373 // Default Options 2374 var settings = $.extend( 2375 { 2376 // These are the defaults. 2377 id: 0, 2378 atts: '', 2379 ajax_url: '', 2380 sf: {}, 2381 current_month_divider: '', 2382 end_date: '', 2383 offset: 0, 2384 }, options); 2385 2386 // Set onclick Listeners 2387 setListeners(); 2388 2389 var sf; 2390 function setListeners() 2391 { 2392 // Search Widget 2393 if(settings.sf.container !== '') 2394 { 2395 sf = $(settings.sf.container).mecSearchForm( 2396 { 2397 id: settings.id, 2398 atts: settings.atts, 2399 callback: function(atts) 2400 { 2401 settings.atts = atts; 2402 search(); 2403 } 2404 }); 2405 } 2406 2407 $("#mec_skin_"+settings.id+" .mec-load-more-button").on("click", function() 2408 {
2409 loadMore(); 2410 }); 2411 2412 // Single Event Method 2413 if(settings.sed_method != '0') 2414 { 2415 sed(); 2416 } 2417 } 2418 2419 function sed() 2420 { 2421 // Single Event Display 2422 $("#mec_skin_"+settings.id+" .mec-agenda-event-title a").off('click').on('click', function(e) 2423 { 2424 e.preventDefault(); 2425 var href = $(this).attr('href'); 2426 2427 var id = $(this).data('event-id'); 2428 var occurrence = get_parameter_by_name('occurrence', href); 2429 2430 mecSingleEventDisplayer.getSinglePage(id, occurrence, settings.ajax_url, settings.sed_method); 2431 }); 2432 } 2433 2434 function loadMore() 2435 { 2436 // Add loading Class 2437 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-load-more-loading"); 2438 2439 $.ajax( 2440 { 2441 url: settings.ajax_url, 2442 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", 2443 dataType: "json", 2444 type: "post", 2445 success: function(response) 2446 { 2447 if(response.count == "0") 2448 { 2449 // Remove loading Class 2450 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-load-more-loading"); 2451 2452 // Hide load more button 2453 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2454 } 2455 else 2456 { 2457 // Show load more button 2458 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-util-hidden"); 2459 2460 // Append Items 2461 $("#mec_skin_events_"+settings.id+" .mec-events-agenda-container").append(response.html); 2462 2463 // Remove loading Class 2464 $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-load-more-loading"); 2465 2466 // Update the variables 2467 settings.end_date = response.end_date; 2468 settings.offset = response.offset; 2469 settings.current_month_divider = response.current_month_divider; 2470 2471 // Single Event Method 2472 if(settings.sed_method != '0') 2473 { 2474 sed(); 2475 } 2476 } 2477 }, 2478 error: function() 2479 { 2480 } 2481 }); 2482 } 2483 2484 function search() 2485 { 2486 // Hide no event message 2487 $("#mec_skin_no_events_"+settings.id).addClass("mec-util-hidden"); 2488 2489 // Add loading Class 2490 if(jQuery('.mec-modal-result').length === 0) jQuery('.mec-wrap').append('<div class="mec-modal-result"></div>'); 2491 jQuery('.mec-modal-result').addClass('mec-month-navigator-loading'); 2492 2493 $.ajax( 2494 { 2495 url: settings.ajax_url, 2496 data: "action=mec_agenda_load_more&mec_start_date="+settings.start_date+"&"+settings.atts+"¤t_month_divider=0&apply_sf_date=1", 2497 dataType: "json", 2498 type: "post", 2499 success: function(response) 2500 { 2501 if(response.count == "0") 2502 { 2503 // Append Items 2504 $("#mec_skin_events_"+settings.id+" .mec-events-agenda-container").html(''); 2505 2506 // Remove loading Class 2507 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2508 2509 // Hide it 2510 $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2511 2512 // Show no event message 2513 $("#mec_skin_no_events_"+settings.id).removeClass("mec-util-hidden"); 2514 } 2515 else 2516 { 2517 // Append Items 2518 $("#mec_skin_events_"+settings.id+" .mec-events-agenda-container").html(response.html); 2519 2520 // Remove loading Class 2521 $('.mec-modal-result').removeClass("mec-month-navigator-loading"); 2522 2523 // Show load more button 2524 if(response.count >= settings.limit) $("#mec_skin_"+settings.id+" .mec-load-more-button").removeClass("mec-util-hidden"); 2525 // Hide load more button 2526 else $("#mec_skin_"+settings.id+" .mec-load-more-button").addClass("mec-util-hidden"); 2527 2528 // Update the variables 2529 settings.end_date = response.end_date; 2530 settings.offset = response.offset; 2531 settings.current_month_divider = response.current_month_divider; 2532 2533 // Single Event Method 2534 if(settings.sed_method != '0') 2535 { 2536 sed(); 2537 } 2538 } 2539 }, 2540 error: function() 2541 { 2542 } 2543 }); 2544 } 2545 }; 2546}(jQuery)); 2547 2548// MEC CAROUSEL VIEW PLUGIN 2549(function($) 2550{
2551 $.fn.mecCarouselView = function(options) 2552 { 2553 // Default Options 2554 var settings = $.extend( 2555 { 2556 // These are the defaults. 2557 id: 0, 2558 atts: '', 2559 ajax_url: '', 2560 sf: {}, 2561 items: 3, 2562 autoplay:'', 2563 style: 'type1', 2564 start_date: '' 2565 }, options); 2566 2567 // Init Sliders 2568 initSlider(); 2569 2570 function initSlider() 2571 { 2572 if(settings.style === 'type1') 2573 { 2574 // Start carousel skin 2575 var owl = $("#mec_skin_"+settings.id+" .mec-event-carousel-type1 .mec-owl-carousel"); 2576 2577 owl.owlCarousel( 2578 { 2579 autoplay: true, 2580 autoplayTimeout: settings.autoplay, // Set AutoPlay to 3 seconds 2581 loop: true, 2582 items: settings.items, 2583 responsiveClass: true, 2584 responsive: { 2585 0: { 2586 items: 1, 2587 }, 2588 979: { 2589 items: 2, 2590 }, 2591 1199: { 2592 items: settings.count, 2593 } 2594 }, 2595 dots: true, 2596 nav: false, 2597 autoplayHoverPause:true 2598 }); 2599 } 2600 else 2601 { 2602 $("#mec_skin_"+settings.id+" .mec-owl-carousel").owlCarousel( 2603 { 2604 autoplay: true, 2605 loop: true, 2606 autoplayTimeout: settings.autoplay, 2607 items: settings.items, 2608 dots: false, 2609 nav: true, 2610 responsiveClass: true, 2611 responsive: { 2612 0: { 2613 items: 1, 2614 }, 2615 979: { 2616 items: 2, 2617 }, 2618 1199: { 2619 items: settings.count, 2620 } 2621 }, 2622 autoplayHoverPause:true, 2623 navText: ["<i class='mec-sl-arrow-left'></i>"," <i class='mec-sl-arrow-right'></i>"], 2624 }); 2625 } 2626 } 2627 }; 2628 2629}(jQuery)); 2630 2631// MEC SLIDER VIEW PLUGIN 2632(function($) 2633{ 2634 $.fn.mecSliderView = function(options) 2635 { 2636 // Default Options 2637 var settings = $.extend( 2638 { 2639 // These are the defaults. 2640 id: 0, 2641 atts: '', 2642 autoplay: false, 2643 ajax_url: '', 2644 sf: {}, 2645 start_date: '' 2646 }, options); 2647 2648 // Init Sliders 2649 initSlider(); 2650 function initSlider() 2651 { 2652 $("#mec_skin_"+settings.id+" .mec-owl-carousel").owlCarousel( 2653 { 2654 autoplay: true, 2655 autoplayTimeout: settings.autoplay, 2656 loop: true, 2657 items: 1, 2658 responsiveClass: true, 2659 responsive: { 2660 0: { 2661 items: 1, 2662 }, 2663 960: { 2664 items: 1, 2665 }, 2666 1200: { 2667 items: 1, 2668 } 2669 }, 2670 dots: false, 2671 nav: true, 2672 autoplayHoverPause: true, 2673 navText: ["<i class='mec-sl-arrow-left'></i>", " <i class='mec-sl-arrow-right'></i>"], 2674 }); 2675 } 2676 }; 2677 2678}(jQuery)); 2679 2680// MEC COUNTDOWN MODULE 2681(function($) 2682{ 2683 $.fn.mecCountDown = function(options, callBack) 2684 { 2685 // Default Options 2686 var settings = $.extend( 2687 { 2688 // These are the defaults. 2689 date: null, 2690 format: null 2691 }, options); 2692 2693 var callback = callBack; 2694 var selector = $(this); 2695 2696 startCountdown(); 2697 var interval = setInterval(startCountdown, 1000); 2698 2699 function startCountdown() 2700 { 2701 var eventDate = Date.parse(settings.date) / 1000; 2702 var currentDate = Math.floor($.now() / 1000); 2703 2704 if(eventDate <= currentDate) 2705 { 2706 callback.call(this); 2707 clearInterval(interval); 2708 } 2709 2710 var seconds = eventDate - currentDate; 2711 2712 var days = Math.floor(seconds / (60 * 60 * 24)); 2713 seconds -= days * 60 * 60 * 24; 2714 2715 var hours = Math.floor(seconds / (60 * 60)); 2716 seconds -= hours * 60 * 60; 2717 2718 var minutes = Math.floor(seconds / 60); 2719 seconds -= minutes * 60; 2720 2721 if(days == 1) selector.find(".mec-timeRefDays").text(mecdata.day); 2722 else selector.find(".mec-timeRefDays").text(mecdata.days); 2723 2724 if(hours == 1) selector.find(".mec-timeRefHours").text(mecdata.hour); 2725 else selector.find(".mec-timeRefHours").text(mecdata.hours); 2726 2727 if(minutes == 1) selector.find(".mec-timeRefMinutes").text(mecdata.minute); 2728 else selector.find(".mec-timeRefMinutes").text(mecdata.minutes); 2729 2730 if(seconds == 1) selector.find(".mec-timeRefSeconds").text(mecdata.second); 2731 else selector.find(".mec-timeRefSeconds").text(mecdata.seconds); 2732 2733 if(settings.format === "on") 2734 { 2735 days = (String(days).length >= 2) ? days : "0" + days; 2736 hours = (String(hours).length >= 2) ? hours : "0" + hours; 2737 minutes = (String(minutes).length >= 2) ? minutes : "0" + minutes; 2738 seconds = (String(seconds).length >= 2) ? seconds : "0" + seconds; 2739 } 2740 2741 if(!isNaN(eventDate)) 2742 { 2743 selector.find(".mec-days").text(days);
2744 selector.find(".mec-hours").text(hours); 2745 selector.find(".mec-minutes").text(minutes); 2746 selector.find(".mec-seconds").text(seconds); 2747 } 2748 else 2749 { 2750 clearInterval(interval); 2751 } 2752 } 2753 }; 2754 2755}(jQuery)); 2756 2757function mec_gateway_selected(gateway_id) 2758{ 2759 // Hide all gateway forms 2760 jQuery('.mec-book-form-gateway-checkout').addClass('mec-util-hidden'); 2761 2762 // Show selected gateway form 2763 jQuery('#mec_book_form_gateway_checkout'+gateway_id).removeClass('mec-util-hidden'); 2764} 2765 2766function mec_wrap_resize() 2767{ 2768 var $mec_wrap = jQuery('.mec-wrap'), mec_width = $mec_wrap.width(); 2769 if(mec_width < 959) 2770 { 2771 $mec_wrap.addClass('mec-sm959'); 2772 } 2773 else 2774 { 2775 $mec_wrap.removeClass('mec-sm959'); 2776 } 2777} 2778 2779function get_parameter_by_name(name, url) 2780{ 2781 if(!url) 2782 { 2783 url = window.location.href; 2784 } 2785 2786 name = name.replace(/[\[\]]/g, "\\$&"); 2787 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 2788 results = regex.exec(url); 2789 2790 if(!results) return null; 2791 if(!results[2]) return ''; 2792 2793 return decodeURIComponent(results[2].replace(/\+/g, " ")); 2794} 2795 2796// TODO must be cleaned JS codes 2797(function($) 2798{ 2799 $(document).ready(function() 2800 { 2801 // MEC WIDGET CAROUSEL 2802 $(".mec-widget .mec-event-grid-classic").addClass('mec-owl-carousel mec-owl-theme'); 2803 $(".mec-widget .mec-event-grid-classic").owlCarousel( 2804 { 2805 autoplay: true, 2806 autoplayTimeout: 3000, // Set AutoPlay to 3 seconds 2807 autoplayHoverPause: true, 2808 loop: true, 2809 dots: false, 2810 nav: true, 2811 navText: ["<i class='mec-sl-arrow-left'></i>", " <i class='mec-sl-arrow-right'></i>"], 2812 items: 1, 2813 autoHeight: true, 2814 responsiveClass: true, 2815 }); 2816 2817 // add mec-sm959 class if mec-wrap div size < 959 2818 mec_wrap_resize(); 2819 2820 jQuery(window).bind('resize', function() 2821 { 2822 mec_wrap_resize(); 2823 }); 2824 2825 // Fixed: social hover in iphone 2826 $('.mec-event-sharing-wrap').hover(function() 2827 { 2828 $(this).find('.mec-event-sharing').show(0); 2829 }, 2830 function() 2831 { 2832 $(this).find('.mec-event-sharing').hide(0); 2833 }); 2834 2835 // Register Booking Smooth Scroll 2836 $('a[href="#mec-events-meta-group-booking"]').click(function() 2837 { 2838 if(location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) 2839 { 2840 var target = $(this.hash); 2841 target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 2842 2843 if(target.length) 2844 { 2845 var scrollTopVal = target.offset().top - 30; 2846 2847 $('html, body').animate( 2848 { 2849 scrollTop: scrollTopVal 2850 }, 600); 2851 2852 return false; 2853 } 2854 } 2855 }); 2856 }); 2857})(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.