PageSourceSearch

https://www.imia19.com.au/wp-content/plugins/jquery-collapse-o-matic/js/collapse.js?ver=1.6.18

js imia19.com.au collected 2026-10-08 08:00:10 UTC 20,439 bytes, 660 lines download raw bytes

1/*!
2 * Collapse-O-Matic JavaSctipt v1.6.18
3 * http://plugins.twinpictures.de/plugins/collapse-o-matic/
4 *
5 * Copyright 2019, Twinpictures
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, blend, trade,
11 * bake, hack, scramble, difiburlate, digest and/or sell copies of the Software,
12 * and to permit persons to whom the Software is furnished to do so, subject to
13 * the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 * THE SOFTWARE.
25 */
26function collapse_init() {
27	//force collapse
28	jQuery('.force_content_collapse').each(function(index) {
29		jQuery(this).css('display', 'none');
30	});
31
32	//inital collapse
33	jQuery('.collapseomatic:not(.colomat-close)').each(function(index) {
34		var thisid = jQuery(this).attr('id');
35		jQuery('#target-'+thisid).css('display', 'none');
36	});
37
38	//inital swaptitle for pre-expanded elements
39	jQuery('.collapseomatic.colomat-close').each(function(index) {
40		var thisid = jQuery(this).attr('id');
41		if(jQuery("#swap-"+thisid).length > 0){
42			swapTitle(this, "#swap-"+thisid );
43		}
44		if(jQuery("#swapexcerpt-"+thisid).length > 0){
45			swapTitle("#excerpt-"+thisid, "#swapexcerpt-"+thisid);
46		}
47		jQuery('[id^=extra][id$='+thisid+']').each( function( index ){
48			if(jQuery(this).data('swaptitle')){
49				old_swap_title = jQuery(this).data('swaptitle');
50				old_title = jQuery(this).html();
51				jQuery(this).html(old_swap_title);
52				jQuery(this).data('swaptitle', old_title);
53			}
54		});
55	});
56}
57
58function swapTitle(origObj, swapObj){
59	if(jQuery(origObj).prop("tagName") == 'IMG'){
60		var origsrc = jQuery(origObj).prop('src');
61		var swapsrc = jQuery(swapObj).prop('src');
62
63		jQuery(origObj).prop('src',swapsrc);
64		jQuery(swapObj).prop('src',origsrc);
65	}
66	else{
67		var orightml = jQuery(origObj).html();
68		var swaphtml = jQuery(swapObj).html();
69
70		jQuery(origObj).html(swaphtml);
71		jQuery(swapObj).html(orightml);
72
73		//is cufon involved? if so, do that thing
74		if(swaphtml.indexOf("<cufon") != -1){
75			var trigelem = jQuery(this).get(0).tagName;
76			Cufon.replace(trigelem);
77		}
78	}
79}
80
81function toggleState (obj, id, maptastic, trig_id) {
82	//toggletarget class
83	//jQuery('[id^=target][id$='+id+']').toggleClass('colomat-targ-visable');
84
85	if (maptastic && jQuery('[id^=target][id$='+id+']').hasClass('maptastic') ) {
86		jQuery('[id^=target][id$='+id+']').removeClass('maptastic');
87	}
88
89	//reset effect and duration to default
90	com_effect = colomatslideEffect;
91	com_duration = colomatduration;
92
93	//effect override
94	if( obj.attr('data-animation_effect') ){
95		com_effect = obj.attr('data-animation_effect');
96	}
97
98	//duration override
99	if( obj.attr('data-duration') ){
100		com_duration = obj.attr('data-duration');
101	}
102
103	//if durration is a number, make it a number
104	if( isFinite(com_duration) ){
105		com_duration = parseFloat(com_duration);
106	}
107
108	//slideToggle
109	if(com_effect == 'slideToggle'){
110		//jQuery('[id^=target][id$='+id+']').slideToggle(com_duration, function() {
111		jQuery('#target-'+id).slideToggle(com_duration, function() {
112			// Animation complete.
113			if( jQuery(this).hasClass('colomat-inline') && jQuery(this).is(':visible') ){
114				jQuery(this).css('display', 'inline');
115			}
116
117			//deal with any findme links
118			if(trig_id && jQuery('#'+trig_id).is('.find-me.colomat-close')){
119				//offset_top = jQuery('#find-'+trig_id).attr('name');
120				offset_top = jQuery('#'+trig_id).attr('data-findme');
121
122				if(!offset_top || offset_top == 'auto'){
123					target_offset = jQuery('#'+trig_id).offset();
124					offset_top = target_offset.top;
125				}
126				jQuery('html, body').animate({scrollTop:offset_top}, 500);
127			}
128		});
129	}
130	//slideFade
131	else if(com_effect == 'slideFade'){
132		jQuery('#target-'+id).animate({
133			height: "toggle",
134			opacity: "toggle"
135		}, com_duration, function (){
136			//Animation complete
137			if( jQuery(this).hasClass('colomat-inline') && jQuery(this).is(':visible') ){
138				jQuery(this).css('display', 'inline');
139			}
140
141			//deal with any findme links
142			if(trig_id && jQuery('#'+trig_id).is('.find-me.colomat-close')){
143				//offset_top = jQuery('#find-'+trig_id).attr('name');
144				offset_top = jQuery('#'+trig_id).attr('data-findme');
145
146				if(!offset_top || offset_top == 'auto'){
147					target_offset = jQuery('#'+trig_id).offset();
148					offset_top = target_offset.top;
149				}
150				jQuery('html, body').animate({scrollTop:offset_top}, 500);
151			}
152		});
153	}
154
155	//deal with google maps builder resize
156	if(jQuery('#'+id).hasClass('colomat-close')){
157		jQuery('.google-maps-builder').each(function(index) {
158			map = jQuery(".google-maps-builder")[index];
159			google.maps.event.trigger(map, 'resize');
160		});
161	}
162
163	//callback
164	if ( typeof colomat_callback != 'undefined' ) {
165		colomat_callback();
166	}
167}
168
169function closeOtherGroups(rel){
170	jQuery('.collapseomatic[rel!="' + rel +'"]').each(function(index) {
171		//add close class if open
172		if(jQuery(this).hasClass('colomat-expand-only') && jQuery(this).hasClass('colomat-close')){
173			return;
174		}
175		if(jQuery(this).hasClass('colomat-close') && jQuery(this).attr('rel') !== undefined){
176			jQuery(this).removeClass('colomat-close');
177			var id = jQuery(this).attr('id');
178			//remove parent highlight class
179			jQuery('#parent-'+id).removeClass('colomat-parent-highlight');
180
181			//check if the title needs to be swapped out
182			if(jQuery("#swap-"+id).length > 0){
183				swapTitle(this, "#swap-"+id);
184			}
185
186			//check if the excerpt needs to be swapped out
187			if(jQuery("#swapexcerpt-"+id).length > 0){
188				swapTitle("#exerpt-"+id, "#swapexcerpt-"+id);
189			}
190
191			//external triggers
192			jQuery('[id^=extra][id$='+id+']').each( function( index ){
193				if(jQuery(this).data('swaptitle')){
194					old_swap_title = jQuery(this).data('swaptitle');
195					old_title = jQuery(this).html();
196					jQuery(this).html(old_swap_title);
197					jQuery(this).data('swaptitle', old_title);
198				}
199			});
200
201			toggleState (jQuery(this), id, false, false);
202
203			//check if there are nested children that need to be collapsed
204			var ancestors = jQuery('.collapseomatic', '#target-'+id);
205			ancestors.each(function(index) {
206				jQuery(this).removeClass('colomat-close');
207				var thisid = jQuery(this).attr('id');
208				jQuery('#target-'+thisid).css('display', 'none');
209			})
210		}
211	});
212}
213
214function closeOtherMembers(rel, id){
215	jQuery('.collapseomatic[rel="' + rel +'"]').each(function(index) {
216		if(jQuery(this).hasClass('colomat-expand-only') && jQuery(this).hasClass('colomat-close')){
217			return;
218		}
219
220		//add close class if open
221		if(jQuery(this).attr('id') != id && jQuery(this).hasClass('colomat-close') && jQuery(this).attr('rel') !== undefined){
222			//collapse the element
223			jQuery(this).removeClass('colomat-close');
224			var thisid = jQuery(this).attr('id');
225			//remove parent highlight class
226			jQuery('#parent-'+thisid).removeClass('colomat-parent-highlight');
227
228			//check if the title needs to be swapped out
229			if(jQuery("#swap-"+thisid).length > 0){
230				swapTitle(this, "#swap-"+thisid);
231			}
232
233			//check if the excerpt needs to be swapped out
234			if(jQuery("#swapexcerpt-"+thisid).length > 0){
235				swapTitle("#excerpt-"+thisid, "#swapexcerpt-"+thisid);
236			}
237
238			//external triggers
239			jQuery('[id^=extra][id$='+thisid+']').each( function( index ){
240				if(jQuery(this).data('swaptitle')){
241					old_swap_title = jQuery(this).data('swaptitle');
242					old_title = jQuery(this).html();
243					jQuery(this).html(old_swap_title);
244					jQuery(this).data('swaptitle', old_title);
245				}
246			});
247
248			//check for snap-shut
249			if(!jQuery(this).hasClass('colomat-close') && jQuery(this).hasClass('snap-shut')){
250				jQuery('#target-'+thisid).hide();
251			}
252			else{
253				toggleState (jQuery(this), thisid, false, false);
254			}
255
256			//check if there are nested children that need to be collapsed
257			var ancestors = jQuery('.collapseomatic', '#target-'+id);
258			ancestors.each(function(index) {
259				if(jQuery(this).hasClass('colomat-expand-only') && jQuery(this).hasClass('colomat-close')){
260					return;
261				}
262				//deal with extra tirggers
263				var pre_id = id.split('-');
264				if (pre_id[0].indexOf('extra') != '-1') {
265					//console.log('this is an extra trigger');
266					pre = pre_id.splice(0, 1);
267					id = pre_id.join('-');
268
269					//deal with any scroll to links from the Extra Collapse Trigger
270					if(jQuery(this).hasClass('scroll-to-trigger')){
271						var target_offset = jQuery('#'+id).offset();
272						offset_top = target_offset.top;
273					}
274
275					//deal with any scroll to links from the Title Trigger
276					if(jQuery('#'+id).hasClass('scroll-to-trigger')){
277						offset_top = jQuery('#scrollonclose-'+id).attr('name');
278						if (offset_top == 'auto') {
279							var target_offset = jQuery('#'+id).offset();
280							offset_top = target_offset.top;
281						}
282					}
283
284					//toggle master trigger arrow
285					jQuery('#'+id).toggleClass('colomat-close');
286
287					//toggle any other extra trigger arrows
288					jQuery('[id^=extra][id$='+id+']').toggleClass('colomat-close');
289				}
290
291				if(jQuery(this).attr('id').indexOf('bot-') == '-1'){
292					jQuery(this).removeClass('colomat-close');
293					var thisid = jQuery(this).attr('id');
294					//check if the title needs to be swapped out
295					if(jQuery("#swap-"+thisid).length > 0){
296						swapTitle(this, "#swap-"+thisid);
297					}
298					//check if the excerpt needs to be swapped out
299					if(jQuery("#swapexcerpt-"+thisid).length > 0){
300						swapTitle("#excerpt-"+thisid, "#swapexcerpt-"+thisid);
301					}
302					//external triggers
303					jQuery('[id^=extra][id$='+thisid+']').each( function( index ){
304						if(jQuery(this).data('swaptitle')){
305							old_swap_title = jQuery(this).data('swaptitle');
306							old_title = jQuery(this).html();
307							jQuery(this).html(old_swap_title);
308							jQuery(this).data('swaptitle', old_title);
309						}
310					});
311					jQuery('#target-'+thisid).css('display', 'none');
312				}
313			})
314		}
315	});
316}
317
318function colomat_expandall(loop_items){
319	if (!loop_items){
320		loop_items = jQuery('.collapseomatic:not(.colomat-close)');
321	}
322	loop_items.each(function(index) {
323		jQuery(this).addClass('colomat-close');
324		var thisid = jQuery(this).attr('id');
325		jQuery('#parent-'+thisid).addClass('colomat-parent-highlight');
326
327		if(jQuery("#swap-"+thisid).length > 0){
328			swapTitle(this, "#swap-"+thisid);
329		}
330
331		if(jQuery("#swapexcerpt-"+thisid).length > 0){
332			swapTitle("#excerpt-"+thisid, "#swapexcerpt-"+thisid);
333		}
334
335		//external triggers
336		jQuery('[id^=extra][id$='+thisid+']').each( function( index ){
337			if(jQuery(this).data('swaptitle')){
338				old_swap_title = jQuery(this).data('swaptitle');
339				old_title = jQuery(this).html();
340				jQuery(this).html(old_swap_title);
341				jQuery(this).data('swaptitle', old_title);
342			}
343		});
344
345		toggleState(jQuery(this), thisid, false, false);
346	});
347}
348
349function colomat_collapseall(loop_items){
350	if (!loop_items){
351		loop_items = jQuery('.collapseomatic.colomat-close');
352	}
353
354	loop_items.each(function(index) {
355		if(jQuery(this).hasClass('colomat-expand-only') && jQuery(this).hasClass('colomat-close')){
356			return;
357		}
358
359		jQuery(this).removeClass('colomat-close');
360		var thisid = jQuery(this).attr('id');
361		jQuery('#parent-'+thisid).removeClass('colomat-parent-highlight');
362
363		if(jQuery("#swap-"+thisid).length > 0){
364			swapTitle(this, "#swap-"+thisid);
365		}
366
367		if(jQuery("#swapexcerpt-"+thisid).length > 0){
368			swapTitle("#excerpt-"+thisid, "#swapexcerpt-"+thisid);
369		}
370
371		//external triggers
372		jQuery('[id^=extra][id$='+thisid+']').each( function( index ){
373			if(jQuery(this).data('swaptitle')){
374				old_swap_title = jQuery(this).data('swaptitle');
375				old_title = jQuery(this).html();
376				jQuery(this).html(old_swap_title);
377				jQuery(this).data('swaptitle', old_title);
378			}
379		});
380
381		toggleState(jQuery(this), thisid, false, false);
382
383	});
384}
385
386
387jQuery(document).ready(function() {
388	//console.log(colomatduration, colomatslideEffect, colomatpauseInit);
389	com_binding = 'click';
390	if (typeof colomattouchstart !== 'undefined' && colomattouchstart) {
391		com_binding = 'click touchstart';
392	}
393
394	if (typeof colomatpauseInit !== 'undefined' && colomatpauseInit) {
395		init_pause = setTimeout(collapse_init, colomatpauseInit);
396	}
397	else{
398		collapse_init();
399	}
400
401	//jetpack infinite scroll catch-all
402	jQuery( document.body ).on( 'post-load', function () {
403		collapse_init();
404	} );
405
406	//Display the collapse wrapper... use to reverse the show-all on no JavaScript degredation.
407	jQuery('.content_collapse_wrapper').each(function(index) {
408		jQuery(this).css('display', 'inline');
409	});
410
411	//hover
412	jQuery(document).on({
413		mouseenter: function(){
414			//stuff to do on mouseover
415			jQuery(this).addClass('colomat-hover');
416		},
417		mouseleave: function(){
418			//stuff to do on mouseleave
419			jQuery(this).removeClass('colomat-hover');
420		},
421		focusin: function(){
422			//stuff to do on keyboard focus
423			jQuery(this).addClass('colomat-hover');
424		},
425		focusout: function(){
426			//stuff to do on losing keyboard focus
427			jQuery(this).removeClass('colomat-hover');
428		}
429	}, '.collapseomatic'); //pass the element as an argument to .on
430
431	//tabindex enter
432	jQuery(document).on('keypress','.collapseomatic', function(event) {
433		if (event.which == 13) {
434			event.currentTarget.click();
435		};
436	});
437
438	//the main collapse/expand function
439	jQuery(document.body).on(com_binding, '.collapseomatic', function(event) {
440		var offset_top;
441
442		//alert('phones ringin dude');
443		if(jQuery(this).hasClass('colomat-expand-only') && jQuery(this).hasClass('colomat-close')){
444			return;
445		}
446
447		//highlander must be one
448		if(jQuery(this).attr('rel') && jQuery(this).attr('rel').indexOf('-highlander') != '-1' && jQuery(this).hasClass('must-be-one') && jQuery(this).hasClass('colomat-close')){
449			return;
450		}
451
452		var id = jQuery(this).attr('id');
453
454		//deal with any scroll to links
455		if(jQuery(this).hasClass('colomat-close') && jQuery(this).hasClass('scroll-to-trigger')){
456			offset_top = jQuery('#scrollonclose-'+id).attr('name');
457			if (offset_top == 'auto') {
458				var target_offset = jQuery('#'+id).offset();
459				offset_top = target_offset.top;
460			}
461		}
462
463		var id_arr = id.split('-');
464
465		//deal with extra tirggers
466		if (id_arr[0].indexOf('extra') != '-1') {
467			//console.log('this is an extra trigger');
468			pre = id_arr.splice(0, 1);
469			id = id_arr.join('-');
470
471			//deal with any scroll to links from the Extra Collapse Trigger
472			if(jQuery(this).hasClass('scroll-to-trigger')){
473				var target_offset = jQuery('#'+id).offset();
474				offset_top = target_offset.top;
475			}
476
477			//deal with any scroll to links from the Title Trigger
478			if(jQuery('#'+id).hasClass('scroll-to-trigger')){
479				offset_top = jQuery('#scrollonclose-'+id).attr('name');
480				if (offset_top == 'auto') {
481					var target_offset = jQuery('#'+id).offset();
482					offset_top = target_offset.top;
483				}
484			}
485
486			//toggle master trigger arrow
487			jQuery('#'+id).toggleClass('colomat-close');
488
489			//toggle any other extra trigger arrows
490			jQuery('[id^=extra][id$='+id+']').toggleClass('colomat-close');
491		}
492
493		else if(id.indexOf('bot-') != '-1'){
494			id = id.substr(4);
495			jQuery('#'+id).toggleClass('colomat-close');
496
497			//deal with any scroll to links from the Internal Collapse Trigger
498			if(jQuery(this).hasClass('scroll-to-trigger')){
499				var target_offset = jQuery('#'+id).offset();
500				offset_top = target_offset.top;
501			}
502
503			//deal with any scroll to links from the Title Trigger
504			if(jQuery('#'+id).hasClass('scroll-to-trigger')){
505				offset_top = jQuery('#scrollonclose-'+id).attr('name');
506				if (offset_top == 'auto') {
507					var target_offset = jQuery('#'+id).offset();
508					offset_top = target_offset.top;
509				}
510			}
511		}
512		else{
513			jQuery(this).toggleClass('colomat-close');
514			//toggle any extra triggers
515			jQuery('[id^=extra][id$='+id+']').toggleClass('colomat-close');
516		}
517
518		//check if the title needs to be swapped out
519		if(jQuery("#swap-"+id).length > 0){
520			swapTitle(jQuery('#'+id), "#swap-"+id);
521		}
522
523		//check if the excerpt needs to be swapped out
524		if(jQuery("#swapexcerpt-"+id).length > 0){
525			swapTitle("#excerpt-"+id, "#swapexcerpt-"+id);
526		}
527
528		//external triggers
529		jQuery('[id^=extra][id$='+id+']').each( function( index ){
530			if(jQuery(this).data('swaptitle')){
531				old_swap_title = jQuery(this).data('swaptitle');
532				old_title = jQuery(this).html();
533				jQuery(this).html(old_swap_title);
534				jQuery(this).data('swaptitle', old_title);
535			}
536		});
537
538		//add visited class
539		jQuery(this).addClass('colomat-visited');
540
541		//toggle parent highlight class
542		var parentID = 'parent-'+id;
543		jQuery('#' + parentID).toggleClass('colomat-parent-highlight');
544
545		//check for snap-shut
546		if(!jQuery(this).hasClass('colomat-close') && jQuery(this).hasClass('snap-shut')){
547			jQuery('#target-'+id).hide();
548		}
549		else{
550			toggleState (jQuery(this), id, true, id);
551		}
552
553		//deal with grouped items if needed
554		if(jQuery(this).attr('rel') !== undefined){
555			var rel = jQuery(this).attr('rel');
556			if(rel.indexOf('-highlander') != '-1'){
557				closeOtherMembers(rel, id);
558			}
559			else{
560				closeOtherGroups(rel);
561			}
562		}
563
564		if(offset_top){
565			jQuery('html, body').animate({scrollTop:offset_top}, 500);
566		}
567	});
568
569
570	jQuery(document).on(com_binding, '.expandall', function(event) {
571		if(jQuery(this).attr('rel') !== undefined){
572			var rel = jQuery(this).attr('rel');
573			var loop_items = jQuery('.collapseomatic:not(.colomat-close)[rel="' + rel +'"]');
574		}
575		else if(jQuery(this).attr('data-togglegroup') !== undefined){
576			var toggroup = jQuery(this).attr('data-togglegroup');
577			var loop_items = jQuery('.collapseomatic:not(.colomat-close)[data-togglegroup="' + toggroup +'"]');
578		}
579		else{
580			var loop_items = jQuery('.collapseomatic:not(.colomat-close)');
581		}
582
583		colomat_expandall(loop_items);
584	});
585
586	jQuery(document).on(com_binding, '.collapseall', function(event) {
587		if(jQuery(this).attr('rel') !== undefined){
588			var rel = jQuery(this).attr('rel');
589			var loop_items = jQuery('.collapseomatic.colomat-close[rel="' + rel +'"]');
590		}
591		else if(jQuery(this).attr('data-togglegroup') !== undefined){
592			var toggroup = jQuery(this).attr('data-togglegroup');
593			var loop_items = jQuery('.collapseomatic.colomat-close[data-togglegroup="' + toggroup +'"]');
594		}
595		else {
596			var loop_items = jQuery('.collapseomatic.colomat-close');
597		}
598
599		colomat_collapseall(loop_items);
600	});
601
602	//handle new page loads with anchor
603	var fullurl = document.location.toString();
604	if (fullurl.match('#(?!\!)')) {
605		hashmaster(fullurl);
606	}
607
608	//handle no-link triggers within the same page
609	jQuery(document).on('click', 'a.colomat-nolink', function(event) {
610		event.preventDefault();
611	});
612
613	//manual hashtag changes in url
614	jQuery(window).on('hashchange', function (e) {
615		fullurl = document.location.toString();
616		if (fullurl.match('#(?!\!)')) {
617			hashmaster(fullurl);
618		}
619	});
620
621	//master url hash funciton
622	function hashmaster(fullurl){
623		// the URL contains an anchor but not a hash-bang
624		if (fullurl.match('#(?!\!)')) {
625			// click the navigation item corresponding to the anchor
626			var anchor_arr = fullurl.split(/#(?!\!)/);
627
628			if(anchor_arr.length > 1){
629				junk = anchor_arr.splice(0, 1);
630				anchor = anchor_arr.join('#');
631			}
632			else{
633				anchor = anchor_arr[0];
634			}
635
636			if( jQuery('#' + anchor).length ){
637				//expand any nested parents
638				jQuery('#' + anchor).parents('.collapseomatic_content').each(function(index) {
639					parent_arr = jQuery(this).attr('id').split('-');
640					junk = parent_arr.splice(0, 1);
641					parent = parent_arr.join('-');
642					if(!jQuery('#' + parent).hasClass('colomat-close')){
643						jQuery('#' + parent).click();
644					}
645				})
646				//now expand the target anchor
647				if(!jQuery('#' + anchor).hasClass('colomat-close')){
648					jQuery('#' + anchor).click();
649				}
650			}
651
652			if(typeof colomatoffset !== 'undefined'){
653				var anchor_offset = jQuery('#' + anchor).offset();
654				colomatoffset = colomatoffset + anchor_offset.top;
655				jQuery('html, body').animate({scrollTop:colomatoffset}, 50);
656			}
657
658		}
659	}
660});

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.