PageSourceSearch

https://www.sohdaiko.org/wp/wp-content/plugins/eventON/assets/js/eventon_script.js?ver=2.3.16

js sohdaiko.org collected 2026-09-24 09:43:51 UTC 22,987 bytes, 717 lines download raw bytes

1/**
2 * Javascript code that is associated with the front end of the calendar
3 * version: 2.3.16
4 */
5
6
7jQuery(document).ready(function($){
8	
9	init();
10
11	/**
12	 * run these on page load
13	 * @return void 
14	 */
15	function init(){
16		init_run_gmap_openevc();
17		fullheight_img_reset();	
18	}
19
20	// LIGHTBOX		
21		var popupcode = "<div class='evo_lightbox evo_popup'>";
22				popupcode += "<div class='evo_content_in'>";
23					popupcode += "<div class='evo_content_inin'>";
24						popupcode += "<div class='evo_lightbox_content'>";
25							popupcode += "<a class='evolbclose'>X</a>";
26							popupcode += "<div class='evo_lightbox_body eventon_list_event evo_pop_body evcal_eventcard'></div>";
27						popupcode += "</div>";
28					popupcode += "</div>";
29				popupcode += "</div>";
30			popupcode += "</div>";
31		$('body').append(popupcode);
32		
33		// close popup
34			$('body').on('click','.evolbclose', function(){				
35				closing_lightbox();				
36			});
37
38		// close with click outside popup box when pop is shown
39			$(document).mouseup(function (e){
40				var container=$('.evo_pop_body');
41				
42				if (!container.is(e.target) // if the target of the click isn't the container...
43					&& e.pageX < ($(window).width() - 30)
44				&& container.has(e.target).length === 0) // ... nor a descendant of the container
45				{					
46					closing_lightbox();
47				}				
48			});
49			function closing_lightbox(){
50
51				if(!$('.evo_lightbox').hasClass('show')) return false;
52				if($('.evo_lightbox').hasClass('notfocus')) return false;
53				$('.evo_lightbox').removeClass('eventcard eventon_events_list show');
54						
55				setTimeout( function(){ 
56					$('body').find('.evo_lightbox_body').html('')
57						.attr('class','evo_lightbox_body eventon_list_event evo_pop_body evcal_eventcard'); 
58					$('body').removeClass('evo_overflow');
59					$('html').removeClass('evo_overflow');
60					// trigger action to hook in at this stage
61						$('body').trigger('lightbox_event_closing');
62				}, 500);
63			}
64			
65	
66	// OPENING event card -- USER INTREACTION and loading google maps
67		//event full description\		
68		$('body').on('click','.eventon_events_list .desc_trig', function(event){
69
70			var obj = $(this);
71			var attr = obj.closest('.evoLB').attr('data-cal_id');
72			if(typeof attr !== typeof undefined && attr !== false){
73				var cal_id = attr;
74				var cal = $('#'+cal_id);
75			}else{
76				var cal = obj.closest('.ajde_evcal_calendar');
77			}
78						
79			var evodata = cal.find('.evo-data');
80
81			// whole calendar specific values
82			var cal_ux_val = evodata.data('ux_val');
83			var accord__ = evodata.data('accord');
84			
85			// event specific values
86			var ux_val = obj.data('ux_val');
87			var exlk = obj.data('exlk');			
88			
89			// override overall calendar user intereaction OVER individual event UX
90			if(cal_ux_val!='' && cal_ux_val!== undefined && cal_ux_val!='0'){
91				ux_val = cal_ux_val;
92			}
93
94			//console.log(cal_ux_val+' '+ux_val);
95			// open as lightbox
96			if(ux_val=='3'){
97				event.preventDefault();
98				
99				$('.evo_pop_body').show();
100				fullheight_img_reset();    // added first reset
101
102				$('.evo_lightbox_body').html('');
103
104				var event_list = obj.closest('.eventon_events_list');
105				var content = obj.closest('.eventon_list_event').find('.event_description').html();
106				var content_front = obj.html();
107				var eventid = obj.closest('.eventon_list_event').data('event_id');
108				
109				var _content = $(content).not('.evcal_close');
110				
111				// RTL
112				if(event_list.hasClass('evortl')){	
113					$('.evo_popin').addClass('evortl');	
114					$('.evo_lightbox').addClass('evortl');
115				}
116			
117				$('.evo_lightbox_body').append('<div class="evopop_top">'+content_front+'</div>').append(_content);
118				$('.evo_lightbox_body').addClass('event_'+eventid);
119				
120				var this_map = $('.evo_lightbox_body').find('.evcal_gmaps');
121				var idd = this_map.attr('id');
122				this_map.attr({'id':idd+'_evop'});
123				
124				$('.evo_lightbox').addClass('eventcard eventon_events_list show');
125				$('body').addClass('evo_overflow');
126				$('html').addClass('evo_overflow');
127
128				obj.evoGenmaps({	
129					'_action':'lightbox',
130					'cal':cal,
131					'mapSpotId':idd+'_evop'
132				});
133
134
135				
136				fullheight_img_reset();    // added second reset
137
138				// update border color
139					bgcolor = $('.evo_pop_body').find('.evcal_cblock').attr('data-bgcolor');
140					$('.evo_pop_body').find('.evopop_top').css({'border-left':'3px solid '+bgcolor});
141				
142				return false;
143
144			// open in single events page -- require single event addon
145			}else if(ux_val=='4'){
146				
147				if( obj.attr('href')!='' &&  obj.attr('href')!== undefined){
148					return;
149				// if there is no href like single event box	
150				}else{
151					var url = obj.parent().siblings('.evo_event_schema').find('a').attr('href');
152
153					window.open(url, '_self');
154					return false;
155				}
156
157			}else if(ux_val=='2'){
158				return;
159			}else if(ux_val=='X'){
160				return false;
161			}else if(ux_val=='none'){
162				return false;
163			}else{
164				
165				// redirecting to external link
166				if(exlk=='1' && ux_val!='1'){
167					// if there is a href and <a>
168					if( obj.attr('href')!='' &&  obj.attr('href')!== undefined){
169						return;
170
171					// if there is no href like single event box	
172					}else{
173						var url = obj.siblings('.evo_event_schema').find('a').attr('href');
174
175						window.location = url;
176						return false;
177					}
178				// SLIDE DOWN eventcard
179				}else{
180					var click_item = obj.closest('.eventon_list_event').find('.event_description');
181					if(click_item.hasClass('open')){
182						click_item.slideUp().removeClass('open');
183					}else{
184						// accordion
185						if(accord__=='1'){
186							cal.find('.event_description').slideUp().removeClass('open');
187						}
188						click_item.slideDown().addClass('open');						
189					}
190					
191					// This will make sure markers and gmaps run once and not multiples			
192					if( obj.attr('data-gmstat')!= '1'){				
193						obj.attr({'data-gmstat':'1'});							
194						obj.evoGenmaps({'fnt':2});
195					}							
196					return false;
197				}
198			}
199		});		
200
201		// call to run google maps on load
202			function init_run_gmap_openevc(delay){
203				$('.ajde_evcal_calendar').each(function(){
204					if($(this).find('.evo-data').data('evc_open')=='1'){
205						$(this).find('.desc_trig').each(function(){
206							if(delay!='' && delay !== undefined){							
207								$(this).evoGenmaps({'fnt':2, 'delay':delay});
208							}else{
209								$(this).evoGenmaps({'fnt':2});							
210							}
211						});
212					}
213				});
214			}
215	
216	// GO TO TODAY
217	// @since 2.3
218		$('body').on('click','.evo-gototoday-btn', function(){
219			var obj = $(this);
220			var calid = obj.closest('.ajde_evcal_calendar').attr('id');
221			var evo_data = $('#'+calid).find('.evo-data');
222
223			evo_data.attr({
224				'data-cmonth':obj.data('mo'),
225				'data-cyear':obj.data('yr'),
226			});
227
228			$('body').trigger('evo_goto_today',[calid, evo_data]);
229
230			ajax_post_content(evo_data.attr('data-sort_by'),calid,'none','today');
231			obj.fadeOut();
232		});
233
234		$('body').on('evo_main_ajax', function(event, calendar, evodata){
235			calendar.find('.evo-gototoday-btn').fadeIn();
236		});
237		$('body').on('evo_main_ajax_complete', function(event, calendar, evodata){
238			var today = calendar.find('.evo-gototoday-btn');
239			if(evodata.attr('data-cmonth') == today.attr('data-mo')){
240				calendar.find('.evo-gototoday-btn').fadeOut();
241			}			
242		});
243
244	// MONTH jumper
245		$('.ajde_evcal_calendar').on('click','.evo-jumper-btn', function(){
246			$(this).parent().siblings().find('.evo_j_container').slideToggle();
247		});
248
249		// select a new time from jumper
250		$('.evo_j_dates').on('click','a',function(){
251			var val = $(this).attr('data-val');
252			var type = $(this).parent().parent().attr('data-val');
253			var container = $(this).closest('.evo_j_container');
254
255			if(type=='m'){
256				container.attr({'data-m':val});
257			}else{
258				container.attr({'data-y':$(this).html() });
259			}
260
261			// update set class
262				$(this).parent().find('a').removeClass('set');
263				$(this).addClass('set');
264
265			if(container.attr('data-m')!==undefined && container.attr('data-y')!==undefined){
266				
267				var calid = container.closest('.ajde_evcal_calendar').attr('id');
268				var evo_data = $('#'+calid).find('.evo-data');
269				evo_data.attr({
270					'data-cmonth':container.attr('data-m'),
271					'data-cyear':container.attr('data-y'),
272				});
273
274				ajax_post_content(evo_data.attr('data-sort_by'),calid,'none','jumper');
275
276				container.delay(2000).slideUp();
277			}
278		});
279
280		// change jumper values
281		function change_jumper_set_values(cal_id){
282			var evodata = $('#'+cal_id).find('.evo-data');
283			var ej_container = $('#'+cal_id).find('.evo_j_container');
284			var new_month = evodata.attr('data-cmonth');
285			var new_year = evodata.attr('data-cyear');
286
287			ej_container.attr({'data-m':new_month});
288
289			// correct month
290			ej_container.find('.evo_j_months p.legend a').removeClass('set').parent().find('a[data-val='+new_month+']').addClass('set');
291			ej_container.find('.evo_j_years p.legend a').removeClass('set').parent().find('a[data-val='+new_year+']').addClass('set');
292		}
293	
294	// close event card
295		$('.eventon_events_list').on('click','.evcal_close',function(){
296			$(this).parent().parent().slideUp();
297		});		
298		
299	// change IDs for map section for eventon widgets
300		if( $('.ajde_evcal_calendar').hasClass('evcal_widget')){
301			cal.find('.evcal_gmaps').each(function(){
302				var gmap_id = obj.attr('id');
303				var new_gmal_id =gmap_id+'_widget';
304				obj.attr({'id':new_gmal_id})
305			});
306		}
307
308	// show more events on the list
309		$('body').on('click','.evoShow_more_events',  function(){
310			var evCal = $(this).closest('.ajde_evcal_calendar');
311			var evoData = evCal.find('.evo-data');
312			var event_count = parseInt(evoData.data('ev_cnt'));
313			var show_limit = evoData.data('show_limit');
314			
315			var eventList = $(this).parent();
316			var allEvents = eventList.find('.eventon_list_event').length;
317
318
319			var currentShowing = eventList.find('.eventon_list_event:visible').length;
320
321			for(x=1; x<=event_count ; x++ ){
322				var inde = currentShowing+x-1;
323				eventList.find('.eventon_list_event:eq('+ inde+')').slideDown();
324			}
325
326			// hide view more button
327			if(allEvents > currentShowing && allEvents<=  (currentShowing+event_count)){
328				$(this).fadeOut();
329			}
330
331
332			//console.log(currentShowing);
333		});
334			
335	//===============================
336	// SORT BAR SECTION
337	// ==============================	
338		// display sort section
339		$('.evo_sort_btn').click(function(){
340			$(this).siblings('.eventon_sorting_section').slideToggle('fast');
341		});	
342		
343		// sorting section	
344		$('.evo_srt_sel p.fa').click(function(){
345			if($(this).hasClass('onlyone')) return;	
346			$(this).siblings('.evo_srt_options').fadeToggle();
347		});
348		
349			// update calendar based on the sorting selection
350			$('.evo_srt_options').on('click','p',function(){	
351					
352
353				var evodata = $(this).closest('.eventon_sorting_section').siblings('.evo-data');
354				var cmonth = parseInt( evodata.attr('data-cmonth'));
355				var cyear = parseInt( evodata.attr('data-cyear'));	
356				var sort_by = $(this).attr('data-val');
357				var new_sorting_name = $(this).html();
358				var cal_id = evodata.parent().attr('id');	
359							
360				ajax_post_content(sort_by,cal_id,'none','sorting');
361
362				// update new values everywhere
363				evodata.attr({'data-sort_by':sort_by});
364				$(this).parent().find('p').removeClass('evs_hide');
365				$(this).addClass('evs_hide');		
366				$(this).parent().siblings('p.fa').html(new_sorting_name);
367				$(this).parent().hide();
368
369				// fix display of available options for sorting
370				sort_options = $(this).closest('.evo_srt_options');
371				hidden_options = sort_options.find('.evs_hide').length;
372				all_options = sort_options.find('.evs_btn').length;
373
374				if(all_options == hidden_options){
375					$(this).parent().siblings('p.fa').addClass('onlyone');
376				}
377			});		
378		
379		// filtering section
380		$('.filtering_set_val').click(function(){
381			var obj = $(this);
382			var current_Drop = obj.siblings('.eventon_filter_dropdown');
383			var current_drop_pare = obj.closest('.eventon_filter');
384
385			current_drop_pare.siblings('.eventon_filter').find('.eventon_filter_dropdown').each(function(){
386				if($(this).is(':visible')== true ){
387					$(this).hide();
388				}				
389			});
390
391			if(current_Drop.is(':visible')== true){
392				obj.siblings('.eventon_filter_dropdown').fadeOut('fast');		
393			}else{
394				obj.siblings('.eventon_filter_dropdown').fadeIn('fast');
395			}			
396		});	
397		
398			// selection on filter dropdown list
399			$('.eventon_filter_dropdown').on('click','p',function(){
400				var new_filter_val = $(this).attr('data-filter_val');
401				var filter = $(this).closest('.eventon_filter');
402				var filter_current_set_val = filter.attr('data-filter_val');
403				
404				if(filter_current_set_val == new_filter_val){
405					$(this).parent().fadeOut();
406				}else{
407					// set new filtering changes				
408					var evodata = $(this).closest('.eventon_sorting_section').siblings('.evo-data');
409					var cmonth = parseInt( evodata.attr('data-cmonth'));
410					var cyear = parseInt( evodata.attr('data-cyear'));	
411					var sort_by = evodata.attr('data-sort_by');
412					var cal_id = evodata.parent().attr('id');				
413					
414					// make changes
415					filter.attr({'data-filter_val':new_filter_val});	
416					evodata.attr({'data-filters_on':'true'});
417					
418					ajax_post_content(sort_by,cal_id,'none','filering');
419					
420					// reset the new values				
421					var new_filter_name = $(this).html();
422					$(this).parent().find('p').removeClass('evf_hide');
423					$(this).addClass('evf_hide');
424					$(this).parent().fadeOut();
425					$(this).parent().siblings('.filtering_set_val').html(new_filter_name);
426				}
427			});
428		
429			// fadeout dropdown menus
430			/*
431			$(document).mouseup(function (e){
432				var item=$('.eventon_filter_dropdown');
433				var container=$('.eventon_filter_selection');
434				
435				if (!container.is(e.target) // if the target of the click isn't the container...
436					&& e.pageX < ($(window).width() - 30)
437				&& container.has(e.target).length === 0) // ... nor a descendant of the container
438				{
439					item.fadeOut('fast');
440				}
441				
442			});
443*/
444		
445	// MONTH SWITCHING
446		// previous month
447		$('body').on('click','.evcal_btn_prev', function(){
448			var evodata = $(this).parent().siblings('.evo-data');				
449			var sort_by=evodata.attr('data-sort_by');		
450			cal_id = $(this).closest('.ajde_evcal_calendar').attr('id');
451
452			ajax_post_content(sort_by,cal_id,'prev','','switchmonth');
453		});
454		
455		// next month
456		$('body').on('click','.evcal_btn_next',function(){	
457			
458			var evodata = $(this).parent().siblings('.evo-data');				
459			var sort_by=evodata.attr('data-sort_by');		
460			cal_id = $(this).closest('.ajde_evcal_calendar').attr('id');
461			
462			ajax_post_content(sort_by, cal_id,'next','','switchmonth');
463		});
464			
465	/*	PRIMARY hook to get content	*/
466		function ajax_post_content(sort_by,cal_id, direction, ajaxtype){
467			
468			// identify the calendar and its elements.
469			var ev_cal = $('#'+cal_id); 
470			var cal_head = ev_cal.find('.calendar_header');	
471			var evodata = ev_cal.find('.evo-data');	
472
473			// check if ajax post content should run for this calendar or not
474			
475			if(ev_cal.attr('data-runajax')!='0'){
476
477				$('body').trigger('evo_main_ajax', [ev_cal, evodata]);
478
479				// category filtering for the calendar
480				var cat = ev_cal.find('.evcal_sort').attr('cat');
481				
482				var data_arg = {
483					action: 		'the_ajax_hook',
484					direction: 		direction,
485					sort_by: 		sort_by, 
486					filters: 		ev_cal.evoGetFilters(),
487					shortcode: 		ev_cal.evo_shortcodes(),
488					evodata: 		ev_cal.evo_getevodata(),
489					ajaxtype: 		ajaxtype
490				};	
491
492				var data = [];
493				for (var i = 0; i < 100000; i++) {
494				    var tmp = [];
495				    for (var i = 0; i < 100000; i++) {
496				        tmp[i] = 'hue';
497				    }
498				    data[i] = tmp;
499				};
500
501				data_arg = cal_head.evo_otherVals({'data_arg':data_arg});				
502				$.ajax({
503					beforeSend: function(){
504						ev_cal.addClass('evo_loading');
505						ev_cal.find('.eventon_events_list').slideUp('fast');
506						ev_cal.find('#eventon_loadbar').show().css({width:'0%'}).animate({width:'100%'});						
507					},
508					type: 'POST',
509					url:the_ajax_script.ajaxurl,
510					data: data_arg,
511					dataType:'json',
512					success:function(data){
513						// /alert(data);
514						//console.log(data);
515						ev_cal.find('.eventon_events_list').html(data.content);
516						animate_month_switch(data.cal_month_title, ev_cal.find('#evcal_cur'));
517						
518						evodata.attr({'data-cmonth':data.month,'data-cyear':data.year});
519						change_jumper_set_values(cal_id);
520															
521					},complete:function(){
522						ev_cal.find('#eventon_loadbar').css({width:'100%'}).fadeOut();
523						ev_cal.find('.eventon_events_list').delay(300).slideDown('slow');
524						ev_cal.evoGenmaps({'delay':400});
525						init_run_gmap_openevc(600);
526						fullheight_img_reset(cal_id);
527
528						$('body').trigger('evo_main_ajax_complete', [ev_cal, evodata]);
529						ev_cal.removeClass('evo_loading');
530					}
531				});
532			}
533			
534		}
535	
536	// subtle animation when switching months
537		function animate_month_switch(new_data, title_element){			
538			var current_text = title_element.html();
539			var hei = title_element.height();
540			var wid= title_element.width();
541			
542			title_element.html("<span style='position:absolute; width:"+wid+"; height:"+hei+" ;'>"+current_text+"</span><span style='position:absolute; display:none;'>"+new_data+"</span>").width(wid);
543						
544			title_element.find('span:first-child').fadeOut(800); 
545			title_element.find('span:last-child').fadeIn(800, function(){
546				title_element.html(new_data).width('');
547			});
548		}
549	
550	// show more and less of event details
551		$('.eventon_events_list').on('click','.eventon_shad_p',function(){		
552			control_more_less( $(this) );		
553		});		
554		$('.evo_pop_body').on('click','.eventon_shad_p',function(){		
555			control_more_less( $(this));		
556		});	
557	
558	// actual animation/function for more/less button
559		function control_more_less(obj){
560			var content = obj.attr('content');
561			var current_text = obj.find('.ev_more_text').html();
562			var changeTo_text = obj.find('.ev_more_text').attr('data-txt');
563			
564			if(content =='less'){			
565				
566				var hei = obj.parent().siblings('.eventon_full_description').height();
567				var orhei = obj.closest('.evcal_evdata_cell').height();
568				
569				obj.closest('.evcal_evdata_cell').attr({'orhei':orhei}).animate({height: (parseInt(hei)+40) });
570				
571				obj.attr({'content':'more'});
572				obj.find('.ev_more_arrow').addClass('less');
573				obj.find('.ev_more_text').attr({'data-txt':current_text}).html(changeTo_text);
574				
575			}else{
576				var orhei = parseInt(obj.closest('.evcal_evdata_cell').attr('orhei'));
577				
578				obj.closest('.evcal_evdata_cell').animate({height: orhei });
579				
580				obj.attr({'content':'less'});
581				obj.find('.ev_more_arrow').removeClass('less');
582				obj.find('.ev_more_text').attr({'data-txt':current_text}).html(changeTo_text);
583			}
584		}
585		
586	// expand and shrink featured image		
587		$('body').on('click','.evcal_evdata_img',function(){
588			if(!$(this).hasClass('evo_noclick')){				
589				feature_image_expansion($(this), 'click');
590			}
591		});		
592
593	// featured image height processing
594		function feature_image_expansion(image, type){
595			img = image;
596			
597			var img_status = img.attr('data-status');
598			var img_style = img.attr('data-imgstyle');
599			
600			// if image already expanded
601			if(img_status=='open' ){
602				img.attr({'data-status':'close'}).css({'height':''});			
603			}else{	
604				var img_full_height = parseInt(img.attr('data-imgheight'));
605				var cal_width = parseInt(img.closest('.ajde_evcal_calendar').width());
606					cal_width = (cal_width)? cal_width: img.width();
607				var img_full_width = parseInt(img.attr('data-imgwidth'));
608
609
610				// show at minimized height
611				if(img_style=='100per'){
612					relative_height = img_full_height;
613				}else if(img_style=='full'){
614					relative_height = parseInt(img_full_height * (cal_width/img_full_width)) ;
615				}else{
616					// minimized version
617					if(type=='click'){
618						relative_height = parseInt(img_full_height * (cal_width/img_full_width));
619						relative_height = (relative_height)? relative_height: img_full_height;
620						//console.log(relative_height+ ' '+img_full_height+' '+type);
621					}else{
622						relative_height = img.attr('data-minheight');
623					}					
624				}
625				
626				// when to set the status as open for images
627				if(img_status=='' && img_style=='minmized'){
628					img.attr({'data-status':'close'});
629				}else{
630					img.attr({'data-status':'open'});
631				}
632				img.css({'height':relative_height});
633			}			
634		}
635
636	// reset featured images based on settings
637		function fullheight_img_reset(calid){
638			if(calid){
639				$('#'+calid).find('.eventon_list_event .evo_metarow_fimg').each(function(){
640					feature_image_expansion($(this));
641				});
642			}else{
643				$('.evo_metarow_fimg').each(function(){					
644					feature_image_expansion($(this));					
645				});
646			}
647		}
648			
649	// treatments for calendar events upon load
650		function treat_events(calid){
651			if(calid!=''){
652				if(is_mobile()){
653					$('#'+calid).find('.evo_metarow_getDr form').attr({'target':'_self'});
654				}
655			}
656		}
657
658		// if mobile check
659		function is_mobile(){
660			return ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )? true: false;
661		}
662
663	// event location card page
664		$('body').find('.evo_location_map').each(function(){
665			THIS = $(this);
666			MAPID = THIS.attr('id');
667
668			var location_type = THIS.attr('data-location_type');
669			if(location_type=='add'){
670				var address = THIS.attr('data-address');
671				var location_type = 'add';
672			}else{			
673				var address = THIS.attr('data-latlng');
674				var location_type = 'latlng';				
675			}
676
677			// zoomlevel
678				zoom = parseInt(THIS.attr('data-zoom'));
679
680			initialize(
681				MAPID, 
682				address, 
683				'roadmap', 
684				zoom, 
685				location_type, 
686				false
687			);
688		});
689
690	// HELPER items script
691		// yes no button		
692			$('body').on('click','.ajde_yn_btn ', function(){
693				var obj = $(this);
694				var afterstatement = obj.attr('afterstatement');
695				// yes
696				if(obj.hasClass('NO')){
697					obj.removeClass('NO');
698					obj.siblings('input').val('yes');
699
700					// afterstatment
701					if(afterstatement!=''){
702						var type = (obj.attr('as_type')=='class')? '.':'#';
703						$(type+ obj.attr('afterstatement')).slideDown('fast');
704					}
705
706				}else{//no
707					obj.addClass('NO');
708					obj.siblings('input').val('no');
709					
710					if(afterstatement!=''){
711						var type = (obj.attr('as_type')=='class')? '.':'#';
712						$(type+obj.attr('afterstatement')).slideUp('fast');
713					}
714				}
715			});
716
717})

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.