PageSourceSearch

https://malratuindah.id/wp-content/plugins/eventON/assets/js/eventon_functions.js?ver=4.2

js malratuindah.id collected 2026-10-02 17:44:17 UTC 23,464 bytes, 827 lines download raw bytes

1/*
2 * Javascript: EventON functions for all calendars
3 * @version: 4.2
4 */
5(function($){
6
7	// Calendar function s
8		$.fn.evo_cal_functions = function(O){
9			el = this;
10			switch(O.return){
11				// load shortcodes inside calendar data
12				case 'load_shortcodes':
13					return el.find('.evo_cal_data').data('sc');		
14				break;
15				case 'update_shortcodes':
16					el.find('.evo_cal_data').data( 'sc', O.SC );
17				break;
18			}
19		};
20
21	// Count down	// @+ 3.0
22		$.fn.evo_countdown_get = function(opt){
23			var defaults = { gap:''};
24			var OPT = $.extend({}, defaults, opt);
25			
26			distance = (OPT.gap * 1000);
27
28			var days = Math.floor(distance / (1000 * 60 * 60 * 24));
29			var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
30			var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
31			var seconds = Math.floor((distance % (1000 * 60)) / 1000);
32
33			minutes = minutes<10? '0'+minutes : minutes;
34			seconds = seconds<10? '0'+seconds : seconds;
35
36			return {
37				'd': days,
38				'h':hours,
39				'm':minutes,
40				's':seconds
41			}; 
42		};
43		$.fn.evo_countdown = function(opt){
44			var defaults = { S1:''};
45			var OPT = $.extend({}, defaults, opt);
46			var el = $(this);
47
48			const day_text = ( el.data('d') !== undefined && el.data('d') != '' )? el.data('d'):'Day';
49			const days_text = ( el.data('ds') !== undefined && el.data('ds') != '' )? el.data('ds'):'Days';
50
51			// intial run
52			var gap = parseInt(el.data('gap'));
53			var text = el.data('t');
54			if(text === undefined) text = '';
55
56			if( el.hasClass('evo_cd_on')) return;
57
58			if( gap > 0 ){
59				dd = el.evo_countdown_get({ 'gap': gap});
60				el.html( ( dd.d>0 ? dd.d + ' ' + ( dd.d >1 ? days_text: day_text ) + " "  :'') + dd.h + ":" + dd.m +':'+ dd.s +'  '+text );
61				
62				el.data('gap', (gap -1) );
63				var duration = el.data('dur');
64
65				el.addClass('evo_cd_on');
66
67				// maybe adopt moment
68				//var M = moment();
69				//console.log(M);
70				
71				// set intervals
72				var CD = setInterval(function(){
73					
74					gap = el.data('gap');
75					duration = el.data('dur');	
76
77					const bar_elm = el.closest('.evo_event_progress').find('.evo_ep_bar');									
78
79					if( gap > 0 ){
80
81						// increase bar width if exists
82						if( duration !== undefined && bar_elm.length){
83							perc = ( (duration - gap)/ duration ) * 100;
84							bar_elm.find('b').css('width',perc+'%');							
85						}
86						
87						dd = el.evo_countdown_get({ 'gap': gap});	
88
89						el.html( ( dd.d>0 ? dd.d + ' '  + ( dd.d >1 ? days_text: day_text ) + " ":'') + dd.h + ":" + dd.m +':'+ dd.s +' '+text );
90						el.data('gap', ( gap - 1)  );						
91
92					}else{
93
94						const expire_timer_action = el.data('exp_act');
95
96						// perform ajax task after expiration
97						if(expire_timer_action !== undefined){
98							$('body').trigger('runajax_refresh_now_cal',[ 
99								el , 
100								el.data('n'),
101							]);
102						}
103
104						const _complete_text = el.evo_get_txt({V:'event_completed'});
105
106						// live now text
107						if(bar_elm.length){
108							bar_elm.addClass('evo_completed');
109							//el.siblings('.evo_ep_pre').html( _complete_text );
110						}
111
112
113						// event tag & live elements
114						if( el.closest('.evcal_desc').length){
115							el.closest('.evcal_desc').find('.eventover').html( _complete_text);
116							el.closest('.evcal_desc').find('.evo_live_now').remove();
117						}
118
119						// event card
120						if( el.closest('.eventon_list_event').length){
121							el.closest('.eventon_list_event').find('span.evo_live_now').hide();
122						}
123
124						el.html('');
125						clearInterval(CD);
126					}
127
128				},1000);
129			}else{
130				clearInterval(CD);
131			}
132		};
133
134	// access page GLOBALS
135		$.fn.evo_get_global = function(opt){
136			var defaults = { S1:'', S2:''};
137			var OPT = $.extend({}, defaults, opt);
138
139			var BUS = $('#evo_global_data').data('d');
140
141			if(!(OPT.S1 in BUS)) return false;
142			if(!(OPT.S2 in BUS[OPT.S1])) return false;
143			return BUS[OPT.S1][OPT.S2];
144		}
145		$.fn.evo_get_txt = function(opt){
146			var defaults = { V:''}
147			var OPT = $.extend({}, defaults, opt);
148
149			var BUS = $('#evo_global_data').data('d');
150			if(!('txt' in BUS)) return false;
151			if(!(OPT.V in BUS.txt)) return false;
152			return BUS.txt[OPT.V];
153		}
154		$.fn.evo_get_cal_def = function(opt){
155			var defaults = { V:''}
156			var OPT = $.extend({}, defaults, opt);
157
158			var BUS = $('#evo_global_data').data('d');
159			if(!('cal_def' in BUS)) return false;
160			if(!(OPT.V in BUS.cal_def)) return false;
161			return BUS.cal_def[OPT.V];
162		}
163
164		// return dms translates values from global data
165		// added 4.0
166		$.fn.evo_get_dms_vals = function(opt){
167			// type = d, d1,d3, m, m3
168			// V = 0-x
169			var defaults = { type:'d', V:''}
170			var OPT = $.extend({}, defaults, opt);
171
172			var BUS = $('#evo_global_data').data('d');			
173			if(!('dms' in BUS)) return false;
174			if(!(OPT.type in BUS.dms)) return false;
175
176			return BUS.dms[ OPT.type ][ OPT.V ];
177			
178		}
179
180	// GENERAL AJAX ACCESS + 4.1.2
181		$.fn.evo_admin_get_ajax = function(opt){
182  			var defs = {
183  				'lightbox_key':'',
184  				'lightbox_loader': true,
185  				'ajaxdata':'',
186  				'uid':'',
187  				'end':'admin', // admin or client
188  			}
189
190  			var OO = $.extend({}, defs, opt);
191
192
193  			var ajaxdata = OO.ajaxdata;
194
195  			if( OO.end == 'client' ) ajaxdata['nn'] = evo_general_params.n; // passing nonce
196
197  			LB = false;
198  			if( OO.lightbox_key != '') LB = $('body').find('.'+ OO.lightbox_key);
199
200  			var returnvals = '';
201
202			$.ajax({
203				beforeSend: function(){
204					$('body').trigger('evo_ajax_beforesend_' + OO.uid ,[ OO ]);
205					if( LB && OO.lightbox_loader){
206						LB.find('.ajde_popup_text').addClass( 'loading');
207					}
208				},
209				type: 'POST',
210				url: (OO.end == 'admin')? evo_admin_ajax_handle.ajaxurl : evo_general_params.ajaxurl,
211				data: ajaxdata,
212				dataType:'json',
213				success:function(data){
214					$('body').trigger('evo_ajax_success_' + OO.uid,[ OO, data ]);	
215
216					if( OO.ajaxdata.load_lbcontent ) LB.evo_lightbox_populate_content({content: data.content});
217
218				},complete:function(){
219					$('body').trigger('evo_ajax_complete_' + OO.uid ,[ OO ]);
220					if( LB && OO.lightbox_loader){
221						LB.find('.ajde_popup_text').removeClass( 'loading');
222					}
223				}
224			});	
225		}
226
227		
228
229	// Handlebar process template data into html
230		$.fn.evo_HB_process_template = function(opt){
231			var defaults = { TD:'', part:''}
232			var OPT = $.extend({}, defaults, opt);
233
234			BUS = $('#evo_global_data').data('d');
235						
236			template = Handlebars.compile( BUS.temp[ OPT.part ] );
237			return template( OPT.TD );
238		}
239
240	// Date range and events
241		// Date range and events - from webpage
242		$.fn.evo_cal_events_in_range = function(opt){
243			var defaults = { S:'', E:'', 
244				hide: true, 
245				closeEC:true,
246				showEV: false, // show events
247				showEVL: false, // show events list
248				showAllEvs: false // show all events regardless of the range
249			};
250			var OPT = $.extend({}, defaults, opt);
251			var CAL = $(this);
252
253			eJSON = CAL.find('.evo_cal_events').data('events');
254
255			R = {};
256			html = '';
257			json = {};
258
259			show = 0;
260
261			// using events JSON data
262			if( eJSON && eJSON.length > 0){
263				$.each(eJSON, function(ind, ED){
264					eO = CAL.find('#event_'+ ED._ID);
265					if(eO === undefined || eO.length==0) return;
266
267					if(OPT.hide)	eO.hide(); // pre hide
268					this_show = false;
269
270					// month long or year long events
271					if( ED.month_long || ED.year_long ){
272						this_show = true;
273
274					}else{
275						if(CAL.evo_is_in_range({
276							'S': OPT.S,	'E': OPT.E,	'start': ED.event_start_unix ,	'end':ED.event_end_unix 
277						})){						
278							this_show = true;
279						} 
280					}
281
282					if( OPT.showAllEvs) this_show = true;
283					
284					if( this_show){	
285						// show event
286						if( OPT.showEV) eO.show();
287
288						// close open event cards
289						if(OPT.closeEC && SC.evc_open == 'no') eO.find('.event_description').hide().removeClass('open');
290
291						html += eO[0].outerHTML;
292						json[ ED._ID] = ED;
293						show++;	
294					} 
295				});
296			}else{	
297				// get all the events in the events list
298				var cal_events = CAL.find('.eventon_list_event');
299
300				cal_events.each(function(index, elm){
301					var ED = $(elm).evo_cal_get_basic_eventdata();
302					if( !ED) return;
303
304					if(OPT.hide)	$(elm).hide(); // pre hide
305					this_show = false;
306
307					// month long or year long events
308					if( $(elm).hasClass('month_long') || $(elm).hasClass('year_long') ){
309						this_show = true;
310
311					}else{
312						if(CAL.evo_is_in_range({
313							'S': OPT.S,	'E': OPT.E,	'start': ED.event_start_unix ,	'end':ED.event_end_unix 
314						})){						
315							this_show = true;
316						} 
317					}
318
319					if( OPT.showAllEvs) this_show = true;
320					
321					if( this_show){	
322						// show event
323						if( OPT.showEV) $(elm).show();
324
325						// close open event cards
326						if(OPT.closeEC && SC.evc_open == 'no') 
327							$(elm).find('.event_description').hide().removeClass('open');
328
329						html += $(elm)[0].outerHTML;
330						json[ ED.uID ] = ED;
331						show++;	
332					} 
333				});
334			}
335
336
337			// No events
338			if( OPT.showEV){
339
340				no_event_content = CAL.evo_get_global({S1: 'html', S2:'no_events'});
341
342				tx_noevents = CAL.evo_get_txt({V:'no_events'});
343				EL = CAL.find('.eventon_events_list');
344				EL.find('.eventon_list_event.no_events').remove();
345				if( show == 0 )
346					EL.append('<div class="eventon_list_event no_events">'+ no_event_content +'</div>');
347			}
348
349			// if show events list
350			if( OPT.showEVL){
351				CAL.find('.eventon_events_list').show().removeClass('evo_hide');
352			}
353
354			R['count'] = show;
355			R['html'] = html;
356			R['json'] = json;
357
358			return R;
359		}
360
361	// check if an event is in the given date range
362		$.fn.evo_is_in_range = function(opt){
363			var defaults = { S:'', E:'', start:'',end:''}
364			var OPT = $.extend({}, defaults, opt);
365
366			S = parseInt(OPT.S);
367			E = parseInt(OPT.E);
368			start = parseInt(OPT.start);
369			end = parseInt(OPT.end);
370
371			return (
372				( start <= S && end >= E ) ||
373				( start <= S && end >= S && end <= E) ||
374				( start <= E && end >= E ) ||
375				( start >= S && end <= E )
376			) ? true: false;
377		}
378		$.fn.evo_cal_hide_events = function(){
379			CAL = $(this);
380			CAL.find('.eventon_list_event').hide();
381		}
382
383	// get event data basics from html event on page 
384	// ~@version 4.0.3
385		$.fn.evo_cal_get_basic_eventdata = function(){
386			var ELM = $(this);
387
388			var _time = ELM.data('time');
389			if( _time === undefined ) return false;
390
391			const time = _time.split('-');
392			const ri = ELM.data('ri').replace('r','');
393			const eID = ELM.data('event_id');
394
395			var _event_title = ELM.find('.evcal_event_title').text();
396			_event_title = _event_title.replace(/'/g, '&apos;');
397
398
399			var RR = {
400				'uID': eID + '_' + ri,
401				'ID': eID ,
402				'event_id': eID ,
403				'ri': ri,
404				'event_start_unix': parseInt(time[0]),
405				'event_end_unix': parseInt(time[1]),
406				'ux_val': ELM.find('.evcal_list_a').data('ux_val'),
407				'event_title': _event_title,
408				'hex_color': ELM.data('colr'),
409				'hide_et': ELM.hasClass('no_et') ? 'y':'n',
410				'evcal_event_color': ELM.data('colr'),
411			};
412
413			return RR;
414
415		}
416
417
418	// DATE time functions @+2.8		
419		$.fn.evo_day_in_month = function(opt){
420			var defaults = { M:'', Y:''}
421			var OPT = $.extend({}, defaults, opt);
422
423			return new Date(OPT.Y, OPT.M, 0).getDate();
424		}
425		$.fn.evo_get_day_name_index = function(opt){
426			var defaults = { M:'', Y:'', D:''}
427			var OPT = $.extend({}, defaults, opt);
428
429			//return moment(OPT.Y+'-'+OPT.M+'-'+OPT.D).utc().day();
430
431			return new Date(  Date.UTC(OPT.Y, OPT.M-1, OPT.D) ).getUTCDay();
432		}
433
434	// LIGHTBOX
435	// page Lightbox functions @+2.8
436	// append to the lightbox main class name .evo_lightbox
437		
438		// Legacy
439			$.fn.evo_prepare_lb = function(){
440				$(this).find('.evo_lightbox_body').html('');
441			}
442			$.fn.evo_show_lb = function(opt){
443				var defaults = { RTL:'', calid:''}
444				var OPT = $.extend({}, defaults, opt);
445
446				$(this).addClass('show '+ OPT.RTL).attr('data-cal_id', OPT.calid);
447				$('body').trigger('evolightbox_show');
448			}
449			$.fn.evo_append_lb = function(opt){
450				var defaults = { C:'', CAL:''}
451				var OPT = $.extend({}, defaults, opt);
452				$(this).find('.evo_lightbox_body').html( OPT.C);
453
454				if(  OPT.CAL!= '' && OPT.CAL !== undefined && OPT.CAL.hasClass('color')){
455					const LIST = $(this).find('.eventon_events_list');
456					if( LIST.length>0){
457						LIST.find('.eventon_list_event').addClass('color');
458					}				
459				}
460			}
461
462		// @version 4.2
463		$('body').on('click','.evolb_trigger', function(event){
464			event.preventDefault();
465			event.stopPropagation();
466			$(this).evo_lightbox_open($(this).data('lbvals'));
467		});
468		$('body').on('click','.evolb_close_btn', function (){
469			const LB = $(this).closest('.evo_lightbox');
470			LB.evo_lightbox_close();
471		});
472
473		$.fn.evo_lightbox_open = function (opt){
474			var defaults = { 
475				'uid':'',
476				't':'', //title
477				'lbc':'',// * lightbox class - REQUIRED
478				'lbsz':'',// lightbox size = mid small
479				'content':'',// passed on dynamic content
480				'content_id' :'',// id to get dynamic content from page
481				'ajax':'no',// use ajax to load content yes no
482				'ajax_url':'',
483				'd':'', // data object for ajax
484				'end':'admin',// admin or client end
485				'other_data':'',
486			};
487
488			var OO = $.extend({}, defaults, opt);
489
490			// create lightbox HTML
491			var html = '<div class="evo_lightbox '+OO.lbc+' '+OO.end+'"><div class="evolb_content_in"><div class="evolb_content_inin"><div class="evolb_box '+OO.lbc+' '+OO.lbsz +'"><div class="evolb_header"><a class="evolb_backbtn" style="display:none"><i class="fa fa-angle-left"></i></a><p class="evolb_title">' + OO.t + '</p><a class="evolb_close_btn evolbclose ">X</a></div><div class="evolb_content"></div><p class="message"></p></div></div></div></div>';
492
493			$('#evo_lightboxes').append( html );
494
495
496			LIGHTBOX = $('.evo_lightbox.'+ OO.lbc);
497
498			// Open lightbox on page
499				setTimeout( function(){ 
500					$('#evo_lightboxes').show();
501					LIGHTBOX.addClass('show');	
502					$('body').addClass('evo_overflow');
503					$('html').addClass('evo_overflow');
504				},300);
505
506			// show loading animation
507			LIGHTBOX.evo_lightbox_show_open_animation();
508				
509			// Load content
510			// dynamic content within the site
511				if(OO.content_id != ''){					
512					var content = $('#'+ OO.content_id ).html();					
513					LIGHTBOX.find('.evolb_content').html( content);
514				}
515			// load passed on content
516				if(OO.content != ''){
517					LIGHTBOX.find('.evolb_content').html( OO.content);
518				}
519
520			// run ajax to load content for the lightbox inside
521				if( OO.ajax == 'yes' && OO.d != ''){
522
523					var D = {};
524					D = OO.d;
525
526					LB.evo_admin_get_ajax({
527						ajaxdata: D, 
528						lightbox_key: OO.lbc,
529						uid: OO.d.uid,
530						end: OO.end
531					});
532				}
533
534			// load content from a AJAX file			
535				if( OO.ajax_url != ''){
536					$.ajax({
537						beforeSend: function(){},
538						url:	OO.ajax_url,
539						success:function(data){
540							LIGHTBOX.find('.evolb_content').html( data);
541						},complete:function(){}
542					});
543				}
544			
545			$('body').trigger('evo_lightbox_processed', [ OO, LIGHTBOX]);
546		}
547
548		$.fn.evo_lightbox_close = function (opt){
549			LB = this;
550			var defaults = { 
551				'delay':500, 
552				'remove_from_dom':true,
553			};
554
555			if( !(LB.hasClass('show')) ) return;
556
557			var OO = $.extend({}, defaults, opt);
558
559			var hide_delay = parseInt( OO.delay);
560
561			complete_close = (LB.parent().find('.evo_lightbox.show').length == 1)? true: false;
562
563			if( hide_delay > 500){
564				setTimeout( function(){ 
565					LB.removeClass('show');
566				}, ( hide_delay - 500  ) );
567			}else{
568				LB.removeClass('show');
569			}
570			
571			setTimeout( function(){ 
572				if(complete_close){
573					$('body').removeClass('evo_overflow');
574					$('html').removeClass('evo_overflow');
575				}
576				// remove lightbox HTML from DOM
577				if( OO.remove_from_dom) LB.remove();
578			}, hide_delay);	
579		}
580
581
582		$.fn.evo_lightbox_populate_content = function(opt){
583			LB = this;
584			var defaults = { 
585				'content':'',
586			}; var OO = $.extend({}, defaults, opt);
587			LB.find('.evolb_content').html( OO.content );
588		}
589		$.fn.evo_lightbox_start_inloading = function(opt){
590			LB = this;
591			LB.find('.evolb_content').addClass('loading');
592		}
593		$.fn.evo_lightbox_stop_inloading = function(opt){
594			LB = this;
595			LB.find('.evolb_content').removeClass('loading');
596		}
597		$.fn.evo_lightbox_show_msg = function(opt){
598			LB = this;
599			var defaults = { 
600				'type':'good',
601				'message':'',
602				'hide_message': false,// hide message after some time pass time or false
603				'hide_lightbox': false, // hide lightbox after some time of false
604			}; var OO = $.extend({}, defaults, opt);
605			LB.find('.message').removeClass('bad good').addClass( OO.type ).html( OO.message ).fadeIn();
606
607			if( OO.hide_message ) setTimeout(function(){  LB.evo_lightbox_hide_msg() }, OO.hide_message );
608
609			if( OO.hide_lightbox ) LB.evo_lightbox_close({ delay: OO.hide_lightbox });
610		}
611		$.fn.evo_lightbox_hide_msg = function(opt){
612			LB = this;
613			LB.find('p.message').hide();
614		}
615
616
617		$.fn.evo_lightbox_show_open_animation = function(opt){
618			LB = this;
619			var defaults = { 
620				'animation_type':'initial', // animation type initial or saving
621			};
622			var OO = $.extend({}, defaults, opt);
623
624			if( OO.animation_type == 'initial'){
625				LB.find('.evolb_content').html('<div class="evo_loading_bar_holder"><div class="evo_loading_bar wid_40 hi_50"></div><div class="evo_loading_bar"></div><div class="evo_loading_bar"></div><div class="evo_loading_bar"></div><div class="evo_loading_bar wid_25"></div></div>');
626			}
627
628			if( OO.animation_type == 'saving')
629				LB.find('.evolb_content').addClass('loading');
630
631		}
632
633	// Shortcodes
634		// update shortcode values from filter changes
635		$.fn.evo_update_sc_from_filters = function(){
636			var ev_cal = $(this); 	
637			SC = ev_cal.find('.evo_cal_data').data('sc');		
638
639			var filter_section = ev_cal.find('.eventon_filter_line').first();
640			
641			filter_section.find('.eventon_filter').each(function(index){
642				O = $(this);
643				var filter_val = O.data('filter_val');	
644				filter_val = filter_val == ''? 'NOT-all': filter_val;				
645
646				ADD = (O.data('fl_o') && O.data('fl_o') != 'IN')? O.data('fl_o')+'-': '';
647				SC[ O.data('filter_field') ] = ADD + filter_val;
648			});	
649
650			ev_cal.find('.evo_cal_data').data( 'sc', SC );
651		}
652		
653		// get shortcodes from evo bottom
654		$.fn.evo_shortcode_data = function(){			
655			var ev_cal = $(this);
656			return ev_cal.find('.evo_cal_data').data('sc');			
657		}
658
659		// get shortcode single value
660		$.fn.evo_get_sc_val = function(opt){
661			var defaults = {	F:''}
662			var OPT = $.extend({}, defaults, opt);
663			var ev_cal = $(this); 
664
665			if(OPT.F=='') return false;
666			SC = ev_cal.find('.evo_cal_data').data('sc');
667
668			if(!(SC[ OPT.F])) return false;
669			return SC[ OPT.F];
670		}
671		// UPDATE Single value
672		$.fn.evo_update_cal_sc = function(opt){
673			var defaults = {
674				F:'', V:''
675			}
676			var OPT = $.extend({}, defaults, opt);
677			var ev_cal = $(this); 
678			SC = ev_cal.find('.evo_cal_data').data('sc');
679
680			SC[ OPT.F ] = OPT.V;
681
682			ev_cal.find('.evo_cal_data').data( 'sc', SC );
683		}
684		// UPDATE all shortcode values
685		$.fn.evo_update_all_cal_sc = function(opt){
686			var defaults = {SC:''}
687			var OPT = $.extend({}, defaults, opt);
688			var CAL = $(this);
689			CAL.find('.evo_cal_data').data( 'sc', OPT.SC );
690		}
691
692	// OTHERS
693		// hex colors // @+2.8
694		$.fn.evo_is_hex_dark = function(opt){
695			var defaults = { hex:'808080'}
696			var OPT = $.extend({}, defaults, opt);
697
698			hex = OPT.hex;
699
700			var c = hex.replace('#','');
701			var is_hex = typeof c === 'string' && c.length === 6 && !isNaN(Number('0x' + c));
702
703			if(is_hex){	
704				var values = c.split('');
705				r = parseInt(values[0].toString() + values[1].toString(), 16);
706			    g = parseInt(values[2].toString() + values[3].toString(), 16);
707			    b = parseInt(values[4].toString() + values[5].toString(), 16);
708			}else{
709				var vals = c.substring(c.indexOf('(') +1, c.length -1).split(', ');
710				var r = vals[0]  // extract red
711				var g = vals[1];  // extract green
712				var b = vals[2];
713			}
714
715			var luma = ((r * 299) + (g * 587) + (b * 114)) / 1000; // per ITU-R BT.709
716
717			return luma>155? true:false;
718		}
719		// Other data
720			$.fn.evo_get_OD = function(){			
721				var ev_cal = $(this);
722				return ev_cal.find('.evo_cal_data').data('od');			
723			}
724
725	// return all filter values for given calendar -- DEP 2.8
726		$.fn.evoGetFilters = function(){
727
728			var ev_cal = $(this); 
729			var evodata = ev_cal.find('.evo-data');
730			
731			var filters_on = ( evodata.attr('data-filters_on')=='true')?'true':'false';
732			
733			// creat the filtering data array if exist
734			if(filters_on =='true'){
735				var filter_section = ev_cal.find('.eventon_filter_line');
736				var filter_array = [];
737				
738
739				filter_section.find('.eventon_filter').each(function(index){
740					var filter_val = $(this).attr('data-filter_val');
741					
742					if(filter_val !='all'){
743						var filter_ar = {};
744						filter_ar['filter_type'] = $(this).attr('data-filter_type');
745						filter_ar['filter_name'] = $(this).attr('data-filter_field');
746
747						if($(this).attr('data-fl_o')=='NOT'){
748							filter_ar['filter_op']='NOT IN';
749						}
750						filter_ar['filter_val'] = filter_val;
751						filter_array.push(filter_ar);
752					}
753				});		
754			}else{
755				var filter_array ='';
756			}			
757			return filter_array;
758		}
759		
760
761		// get evo data for a given calendar
762		$.fn.evo_getevodata = function(){
763
764			var ev_cal = $(this);
765			var evoData = {};
766			
767			ev_cal.find('.evo-data').each(function(){
768				$.each(this.attributes, function(i, attrib){
769					var name = attrib.name;
770					if(attrib.name!='class' && attrib.name!='style' ){
771						name__ = attrib.name.split('-');
772						evoData[name__[1]] = attrib.value;	
773					}
774				});
775			});	
776
777			return evoData;
778		}
779
780	// eventon loading functions
781	// v 2.4.5
782		$.fn.evo_loader_animation = function(opt){
783			var defaults = {
784				direction:'start'
785			}
786			var OPT = $.extend({}, defaults, opt);
787
788			if(OPT.direction == 'start'){
789				$(this).find('#eventon_loadbar').slideDown();
790			}else{
791				$(this).find('#eventon_loadbar').slideUp();
792			}
793		}
794
795	// DEPRECATED functions
796		$.fn.evo_item_shortcodes = function(){			
797			var OBJ = $(this);
798			var shortcode_array ={};			
799			OBJ.each(function(){	
800				$.each(this.attributes, function(i, attrib){
801					var name = attrib.name;
802					if(attrib.name!='class' && attrib.name!='style' && attrib.value !=''){
803						name__ = attrib.name.split('-');
804						shortcode_array[name__[1]] = attrib.value;	
805					}
806				});
807			});
808			return shortcode_array;
809		}
810		$.fn.evo_shortcodes = function(){			
811			var ev_cal = $(this);
812			var shortcode_array ={};
813					
814			ev_cal.find('.cal_arguments').each(function(){
815				$.each(this.attributes, function(i, attrib){
816					var name = attrib.name;
817					if(attrib.name!='class' && attrib.name!='style' && attrib.value !=''){
818						name__ = attrib.name.split('-');
819						shortcode_array[name__[1]] = attrib.value;	
820					}
821				});
822			});	
823			return shortcode_array;
824		}
825		
826
827}(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.