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