PageSourceSearch

https://eprofu.ro/wp-content/themes/suffusion/scripts/suffusion.js?ver=4.4.9

js eprofu.ro collected 2026-10-01 23:54:19 UTC 33,996 bytes, 819 lines download raw bytes

1/*************************************************
2**  jQuery Masonry version v2.1.04
3**  Copyright David DeSandro, licensed MIT
4**  http://desandro.com/resources/jquery-masonry
5**************************************************/
6(function(a,b,c){"use strict";var d=b.event,e;d.special.smartresize={setup:function(){b(this).bind("resize",d.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",d.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",e&&clearTimeout(e),e=setTimeout(function(){jQuery.event.handle.apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Mason=function(a,c){this.element=b(c),this._create(a),this._init()},b.Mason.settings={isResizable:!0,isAnimated:!1,animationOptions:{queue:!1,duration:500},gutterWidth:0,isRTL:!1,isFitWidth:!1,containerStyle:{position:"relative"}},b.Mason.prototype={_filterFindBricks:function(a){var b=this.options.itemSelector;return b?a.filter(b).add(a.find(b)):a},_getBricks:function(a){var b=this._filterFindBricks(a).css({position:"absolute"}).addClass("masonry-brick");return b},_create:function(c){this.options=b.extend(!0,{},b.Mason.settings,c),this.styleQueue=[];var d=this.element[0].style;this.originalStyle={height:d.height||""};var e=this.options.containerStyle;for(var f in e)this.originalStyle[f]=d[f]||"";this.element.css(e),this.horizontalDirection=this.options.isRTL?"right":"left",this.offset={x:parseInt(this.element.css("padding-"+this.horizontalDirection),10),y:parseInt(this.element.css("padding-top")+16,10)},this.isFluid=this.options.columnWidth&&typeof this.options.columnWidth=="function";var g=this;setTimeout(function(){g.element.addClass("masonry")},0),this.options.isResizable&&b(a).bind("smartresize.masonry",function(){g.resize()}),this.reloadItems()},_init:function(a){this._getColumns(),this._reLayout(a)},option:function(a,c){b.isPlainObject(a)&&(this.options=b.extend(!0,this.options,a))},layout:function(a,b){for(var c=0,d=a.length;c<d;c++)this._placeBrick(a[c]);var e={};e.height=Math.max.apply(Math,this.colYs);if(this.options.isFitWidth){var f=0;c=this.cols;while(--c){if(this.colYs[c]!==0)break;f++}e.width=(this.cols-f)*this.columnWidth-this.options.gutterWidth}this.styleQueue.push({$el:this.element,style:e});var g=this.isLaidOut?this.options.isAnimated?"animate":"css":"css",h=this.options.animationOptions,i;for(c=0,d=this.styleQueue.length;c<d;c++)i=this.styleQueue[c],i.$el[g](i.style,h);this.styleQueue=[],b&&b.call(a),this.isLaidOut=!0},_getColumns:function(){var a=this.options.isFitWidth?this.element.parent():this.element,b=a.width();this.columnWidth=this.isFluid?this.options.columnWidth(b):this.options.columnWidth||this.$bricks.outerWidth(!0)||b,this.columnWidth+=this.options.gutterWidth,this.cols=Math.floor((b+this.options.gutterWidth)/this.columnWidth),this.cols=Math.max(this.cols,1)},_placeBrick:function(a){var c=b(a),d,e,f,g,h;d=Math.ceil(c.outerWidth(!0)/(this.columnWidth+this.options.gutterWidth)),d=Math.min(d,this.cols);if(d===1)f=this.colYs;else{e=this.cols+1-d,f=[];for(h=0;h<e;h++)g=this.colYs.slice(h,h+d),f[h]=Math.max.apply(Math,g)}var i=Math.min.apply(Math,f),j=0;for(var k=0,l=f.length;k<l;k++)if(f[k]===i){j=k;break}var m={top:i+this.offset.y};m[this.horizontalDirection]=this.columnWidth*j+this.offset.x,this.styleQueue.push({$el:c,style:m});var n=i+c.outerHeight(!0),o=this.cols+1-l;for(k=0;k<o;k++)this.colYs[j+k]=n},resize:function(){var a=this.cols;this._getColumns(),(this.isFluid||this.cols!==a)&&this._reLayout()},_reLayout:function(a){var b=this.cols;this.colYs=[];while(b--)this.colYs.push(0);this.layout(this.$bricks,a)},reloadItems:function(){this.$bricks=this._getBricks(this.element.children())},reload:function(a){this.reloadItems(),this._init(a)},appended:function(a,b,c){if(b){this._filterFindBricks(a).css({top:this.element.height()});var d=this;setTimeout(function(){d._appended(a,c)},1)}else this._appended(a,c)},_appended:function(a,b){var c=this._getBricks(a);this.$bricks=this.$bricks.add(c),this.layout(c,b)},remove:function(a){this.$bricks=this.$bricks.not(a),a.remove()},destroy:function(){this.$bricks.removeClass("masonry-brick").each(function(){this.style.position="",this.style.top="",this.style.left=""});var c=this.element[0].style;for(var d in this.originalStyle)c[d]=this.originalStyle[d];this.element.unbind(".masonry").removeClass("masonry").removeData("masonry"),b(a).unbind(".masonry")}},b.fn.imagesLoaded=function(a){function i(a){var c=a.target;c.src!==f&&b.inArray(c,g)===-1&&(g.push(c),--e<=0&&(setTimeout(h),d.unbind(".imagesLoaded",i)))}function h(){a.call(c,d)}var c=this,d=c.find("img").add(c.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",g=[];e||h(),d.bind("load.imagesLoaded error.imagesLoaded",i).each(function(){var a=this.src;this.src=f,this.src=a});return c};var f=function(b){a.console&&a.console.error(b)};
6b.fn.masonry=function(a){if(typeof a=="string"){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var d=b.data(this,"masonry");if(!d)f("cannot call methods on masonry prior to initialization; attempted to call method '"+a+"'");else{if(!b.isFunction(d[a])||a.charAt(0)==="_"){f("no such method '"+a+"' for masonry instance");return}d[a].apply(d,c)}})}else this.each(function(){var c=b.data(this,"masonry");c?(c.option(a||{}),c._init()):b.data(this,"masonry",new b.Mason(a,this))});return this}})(window,jQuery);
7
8/*!
9 * jQuery Fancy Letter Plugin v1.1
10 *
11 * Date: Sun Feb 06 20:51:59 2011 EST
12 * Requires: jQuery v1.2.6+
13 *
14 * Copyright 2011, Karl Swedberg
15 * Dual licensed under the MIT and GPL licenses (just like jQuery):
16 * http://www.opensource.org/licenses/mit-license.php
17 * http://www.gnu.org/licenses/gpl.html
18 *
19 * Contributor: Matt Wiebe (::first-letter spec semi-conformance)
20 *
21 *
22*/
23(function(g){g.fn.fancyletter=function(m){function k(a,d,b){return['<span class="',b.punctuationClass," ",b.ltrClassPrefix+b["punctuation"+a][d],'">',d,"</span>"].join("")}function l(a,d){var b=a.firstChild,e="",f={};if(!a)return f;for(;a.childNodes.length;)a=a.firstChild;e=a.nodeValue&&a.nodeValue.replace(/^\s\s*/,"")||"";if(e===""&&b&&b.nextSibling)return l(b.nextSibling,d);else{b=e;for(var i=f="",c=0,h=b.charAt(c),j={};h in d.punctuationLeft;){c++;f+=k("Left",h,d);h=b.charAt(c)}j.pl=f;j.firstChar=
24h;c++;for(h=b.charAt(c);h in d.punctuationRight;){c++;i+=k("Right",h,d);h=b.charAt(c)}j.pr=i;j.slicePoint=c;f=j;f.node=a;f.val=e;return f}}this.each(function(){var a,d,b,e,f=this;a=g(this);var i=g.extend({},g.fn.fancyletter.defaults,m||{},g.metadata?a.metadata():g.meta?a.data():{}),c=RegExp(i.characters);e=l(f,i);if(e.firstChar){a=e.val;f=e.node;d=e.firstChar;b=d.toLowerCase();if(c.test(d)){c=g("<span></span>");f.nodeValue=a.slice(e.slicePoint);c.html(e.pl+d+e.pr);c.addClass(i.commonClass+" "+i.ltrClassPrefix+
25b);c.prependTo(this)}}});return this};g.fn.fancyletter.defaults={commonClass:"fancy-letter",ltrClassPrefix:"ltr-",characters:"[a-zA-Z0-9]",groupPunctuation:true,punctuationClass:"punct",punctuationLeft:{'"':"dquo","'":"squo","\u201c":"ldquo","\u2018":"lsquo","\u00ab":"laquo","\u2039":"lsaquo","(":"lparen"},punctuationRight:{'"':"dquo","'":"squo","\u201d":"rdquo","\u2019":"rsquo","\u00bb":"raquo","\u203a":"rsaquo",")":"rparen"}}})(jQuery);
26
27/*!
28 * http://tinynav.viljamis.com v1.03 by @viljamis
29 * Licensed under the MIT license.
30 */
31(function ($, window) {
32	$.fn.tinyNav = function (options) {
33
34		// Default settings
35		var settings = $.extend({
36			'active' : 'selected', // String: Set the "active" class
37			'header' : false // Boolean: Show header instead of the active item
38		}, options);
39
40		var idx = 0;
41
42		return this.each(function () {
43			// Used for namespacing
44			idx++;
45
46			var $nav = $(this),
47			// Namespacing
48				namespace = 'tinynav',
49				namespace_i = namespace + idx,
50				l_namespace_i = '.l_' + namespace_i,
51				$select = $('<select/>').addClass(namespace + ' ' + namespace_i);
52
53			if ($nav.is('ul,ol')) {
54				if (settings.header) {
55					$select.append(
56						$('<option/>').text('Navigation')
57					);
58				}
59
60				// Build options
61				var options = '';
62				$nav
63					.addClass('l_' + namespace_i)
64					.find('a')
65					.each(function () {
66						options += '<option value="' + $(this).attr('href') + '">';
67						for (var j = 0; j < $(this).parents('ul, ol').length - 1; j++) {
68							options += '&mdash; ';
69						}
70						options +=	$(this).text() + '</option>';
71					});
72
73				// Append options into a select
74				$select.append(options);
75
76				var selectors = settings.active.split(',');
77				var index_selectors = new Array();
78				for (var i=0; i<selectors.length; i++) {
79					index_selectors[i] = l_namespace_i + ' li.' + selectors[i];
80				}
81				index_selectors = index_selectors.join(',');
82				// Select the active item
83				if (!settings.header) {
84					$select
85						.find(':eq(' + $(l_namespace_i + ' li')
86						.index($(index_selectors)) + ')')
87						.attr('selected', true);
88				}
89
90				// Change window location
91				$select.change(function () {
92					window.location.href = $(this).val();
93				});
94
95				// Inject select
96				$(l_namespace_i).after($select);
97
98			}
99
100		});
101
102	};
103})(jQuery, this, 0);
104
105/*
106 * Based on the public domain "Responsive Cycle SlideShow" by M. Mikkel Rummelhoff (http://mmikkel.no)
107 * Modifications by Sayontan Sinha
108 */
109(function(window){
110	ResponsiveSlideShow.prototype.id = '';
111	ResponsiveSlideShow.prototype.$container = null;
112	ResponsiveSlideShow.prototype.$slides = null;
113	ResponsiveSlideShow.prototype.orgWidth = -1;
114	ResponsiveSlideShow.prototype.orgHeight = -1;
115	ResponsiveSlideShow.prototype.activeSlideIndex = 0;
116	ResponsiveSlideShow.prototype.options = {
117		fx:'fade',
118		speed:'fast',
119		slideResize:0
120	};
121
122	function ResponsiveSlideShow($container, $slides, $options) {
123		this.$container = $container;
124		this.$slides = this.$container.children($slides + ':first');
125		this.options = $options;
126		this.init();
127	}
128
129	ResponsiveSlideShow.prototype.init = function()	{
130		this.id = this.$container.attr('id');
131		// Check if there's a nav or pager element present
132		this.options.startingSlide = this.activeSlideIndex;
133		this.options.width = this.$container.width();
134		this.options.before = onSlideChange;
135		// Init slideshow
136		this.$slides.show();
137		this.$slides.cycle(this.options);
138		// Get original dimensions
139		if(this.orgWidth <= 0){
140			this.orgWidth = this.$slides.width();
141			this.orgHeight = this.$slides.height();
142		}
143	}
144
145	// Call when width changes
146	ResponsiveSlideShow.prototype.update = function() {
147		if(this.$slides.width() !== this.$container.width()){ // Container width changed. Rebuild slideshow
148			// Get the resize ratio
149			var ratio = (Math.floor((this.$container.width() / this.orgWidth)*100))*.01;
150			this.$slides.height(Math.floor(this.orgHeight * ratio));
151			this.activeSlideIndex = this.$slides.find('.active').index();
152			this.$slides.hide().cycle('destroy');
153			this.init();
154		}
155	}
156
157	function onSlideChange(currSlide,nextSlide) {
158		jQuery(this).parent().find('.active').removeClass('active');
159		jQuery(this).addClass('active');
160	}
161
162	window.ResponsiveSlideShow = ResponsiveSlideShow;
163
164}(window)); // End ResponsiveSlideShow
165
166/**
167 * suffusion.js - Contains all custom JavaScript functions required by Suffusion
168 */
169
170$j = jQuery.noConflict();
171
172$j.fn.extend({
173	highlight: function(search, insensitive, hls_class){
174		var regex = new RegExp("(<[^>]*>)|(\\b"+ search.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1") +")", insensitive ? "ig" : "g");
175		return this.html(this.html().replace(regex, function(a, b, c){
176			return (a.charAt(0) == "<") ? a : "<span class=\""+ hls_class +"\">" + c + "</span>";
177		}));
178	}
179});
180
181$j.fn.removeHighlight = function() {
182	return this.find("span.search-highlight").each(function() {
183		with (this.parentNode) {
184			replaceChild(this.firstChild, this);
185			normalize();
186		}
187	}).end();
188};
189
190function sufHtmlEncode(value){
191	return $j('<div/>').text(value).html();
192}
193
194function sufHtmlDecode(value){
195	return $j('<div/>').html(value).text();
196}
197
198$j(document).ready(function() {
199    /* Magazine JS, for the headline section */
200	$j('.suf-mag-headlines div.suf-mag-headline-photo').hide();
201	$j('div.suf-mag-headline-photo-first').show();
202	$j('div.suf-mag-headline-block ul.mag-headlines li.suf-mag-headline-first a').addClass('tab-current');
203
204	$j('div.suf-mag-headline-block ul.mag-headlines li a').hover(function(){
205		var thisClass = this.className.substring(17, this.className.indexOf(" "));
206		$j('.suf-mag-headlines div.suf-mag-headline-photo').hide();
207		$j('div.suf-mag-headline-block ul.mag-headlines li a').removeClass('tab-current');
208        $j('div.suf-mag-headline-photo-' + thisClass).show();
209		$j(this).addClass('tab-current');
210	}   );
211    /* End Magazine JS */
212
213    /* Tabbed Widgets */
214    $j('.tab-box div.sidebar-tab-content').hide();
215    $j('div.sbtab-content-first').show();
216    $j('.tab-box ul.sidebar-tabs li.sbtab-first a').addClass('tab-current');
217
218    $j('.tab-box ul.sidebar-tabs li a').click(function(){
219        var thisClass = this.className.substring(6, this.className.indexOf(" "));
220        $j('.tab-box div.sidebar-tab-content').hide();
221        $j('.tab-box div.sbtab-content-' + thisClass).show();
222        $j('.tab-box ul.sidebar-tabs li a').removeClass('tab-current');
223        $j(this).addClass('tab-current');
224    });
225    /* End Tabbed Widgets */
226
227    /* JQuery-based fix for widgets that do not print "after_title" */
228    $j('.dbx-handle').each(function() {
229        $j(this).prependTo(this.parentNode.parentNode);
230    });
231    /* End JQuery-based fix */
232
233	/* JQuery for tabbed sidebars */
234	$j('.sidebar-tab .sidebar-tab-content').each(function() {
235		var parentId = this.parentNode.id;
236		var parentClass = this.parentNode.className;
237		parentClass = parentClass.substring(12);
238		$j(this).addClass('sbtab-content-' + parentId);
239		$j(this).addClass(parentClass);
240	    $j(this).appendTo(this.parentNode.parentNode.parentNode);
241	});
242
243	$j('.tabbed-sidebar ul.sidebar-tabs a').each(function() {
244		var parentId = this.parentNode.id;
245		$j(this).addClass(parentId);
246	});
247
248	$j('#wsidebar-top.tabbed-sidebar ul.sidebar-tabs li:first').addClass('sbtab-first');
249	$j('#wsidebar-top.tabbed-sidebar div.sidebar-tab-content:first').addClass('sbtab-content-first');
250	$j('#sidebar.tabbed-sidebar ul.sidebar-tabs li:first').addClass('sbtab-first');
251	$j('#sidebar.tabbed-sidebar div.sidebar-tab-content:first').addClass('sbtab-content-first');
252	$j('#sidebar-b.tabbed-sidebar ul.sidebar-tabs li:first').addClass('sbtab-first');
253	$j('#sidebar-b.tabbed-sidebar div.sidebar-tab-content:first').addClass('sbtab-content-first');
254	$j('#sidebar-2.tabbed-sidebar ul.sidebar-tabs li:first').addClass('sbtab-first');
255	$j('#sidebar-2.tabbed-sidebar div.sidebar-tab-content:first').addClass('sbtab-content-first');
256	$j('#sidebar-2-b.tabbed-sidebar ul.sidebar-tabs li:first').addClass('sbtab-first');
257	$j('#sidebar-2-b.tabbed-sidebar div.sidebar-tab-content:first').addClass('sbtab-content-first');
258	$j('#wsidebar-bottom.tabbed-sidebar ul.sidebar-tabs li:first').addClass('sbtab-first');
259	$j('#wsidebar-bottom.tabbed-sidebar div.sidebar-tab-content:first').addClass('sbtab-content-first');
260
261	$j('div.tabbed-sidebar div.sidebar-tab-content').hide();
262	$j('div.sbtab-content-first').show();
263	$j('div.tabbed-sidebar ul.sidebar-tabs li.sbtab-first a').addClass('tab-current');
264
265	$j('div.tabbed-sidebar ul.sidebar-tabs li a').click(function(){
266		$j(this).removeClass('tab-current');
267	    var thisClass = this.className.substring(12, this.className.length);
268		var parentId = this.parentNode.parentNode.parentNode.id;
269	    $j('#' + parentId + '.tabbed-sidebar div.sidebar-tab-content').hide();
270	    $j('#' + parentId + '.tabbed-sidebar div.sbtab-content-' + thisClass).show();
271	    $j('#' + parentId + '.tabbed-sidebar ul.sidebar-tabs li a').removeClass('tab-current');
272	    $j(this).addClass('tab-current');
273	});
274	/* End tabbed sidebars */
275
276	// Kill empty widget areas
277	$j("#horizontal-outer-widgets-1, #horizontal-outer-widgets-2, #widgets-above-header").each(function () {
278		if ($j(this).children().length == 0) {
279			$j(this).remove();
280		}
281	});
282
283	// Remove empty sub-menus, generated for Mega menus
284	$j('ul.sf-menu .sub-menu').each(function() {
285		if ($j(this).children().length == 0) {
286			$j(this).remove();
287		}
288	});
289
290	$j('#left-header-widgets ul.menu, #right-header-widgets ul.menu').each(function() {
291		$j(this).addClass('sf-menu');
292	});
293
294	$j("ul.sf-menu > li").each(function() {
295		if (this.childNodes.length > 1) {
296			var drop_down = this.childNodes[1];
297			if ($j(drop_down).hasClass('mm-warea') && $j(drop_down).find('.mm-widget').length != 0) {
298				$j(this).removeClass('dd-tab').addClass('mm-tab');
299				var a_tag_h = this.childNodes[0];
300				var a_tag = $j(a_tag_h);
301				a_tag.attr('href', '#');
302				a_tag.attr('onclick', 'return false;');
303				a_tag.prepend("<!--[if !IE]>--><span class='down-ptr'>&nbsp;</span><!--<![endif]-->");
304				a_tag.append("<!--[if lt IE 7]>&nbsp;&nbsp;&darr;<![endif]--> <!--[if (!IE)|(gte IE 7)]><span class='down-ptr'>&nbsp;</span><![endif]-->");
305				a_tag.addClass('with-arrow');
306			}
307			else if ($j(drop_down).find('.mm-widget').length == 0 && $j(this).hasClass('mm-tab')) {
308				$j(this).remove();
309			}
310			else if (!$j(this).hasClass('mm-tab')) {
311				$j(this).addClass('dd-tab');
312			}
313		}
314		else {
315			$j(this).removeClass('dd-tab').addClass('regular-tab');
316		}
317	});
318
319	$j("ul.sf-menu .dd-tab > ul").each(function() {
320		var a_tag_h = this.parentNode.childNodes[0];
321		var a_tag = $j(a_tag_h);
322		a_tag.prepend("<!--[if !IE]>--><span class='down-ptr'>&nbsp;</span><!--<![endif]-->");
323		a_tag.append("<!--[if lt IE 7]>&nbsp;&nbsp;&darr;<![endif]--> <!--[if (!IE)|(gte IE 7)]><span class='down-ptr'>&nbsp;</span><![endif]-->");
324		a_tag.addClass('with-arrow');
325	});
326
327	$j("ul.sf-menu .dd-tab ul ul").each(function() {
328		var a_tag_h = this.parentNode.childNodes[0];
329		var a_tag = $j(a_tag_h);
330		a_tag.prepend("<!--[if !IE]>--><span class='float-ptr'>&nbsp;</span><!--<![endif]-->");
331		a_tag.append("<!--[if lt IE 7]>&nbsp;&nbsp;&rarr;<![endif]--> <!--[if (!IE)|(gte IE 7)]><span class='float-ptr'>&nbsp;</span><![endif]-->");
332		a_tag.addClass('drop');
333	});
334
335	$j("#nav ul.sf-menu .dd-tab, #nav-top ul.sf-menu .dd-tab").each(function() {
336		$j(this).children('ul:first').hide();
337		$j(this).find('ul:first').css({visibility: "hidden"});
338	});
339
340	$j("ul.sf-menu .dd-tab li.current_page_item > a, ul.sf-menu .dd-tab li.current-cat > a, ul.sf-menu .dd-tab li.current-menu-item > a, " +
341			"ul.sf-menu li.current_page_item.dd-tab > a, ul.sf-menu li.current-cat.dd-tab > a, ul.sf-menu li.current-menu-item.dd-tab > a, " +
342			"ul.sf-menu li.current_page_item.regular-tab > a, ul.sf-menu li.current-cat.regular-tab > a, ul.sf-menu li.current-menu-item.regular-tab > a").each(function() {
343		$j(this).addClass('current');
344	});
345
346	$j("ul.sf-menu .mm-tab li.current_page_item > a, ul.sf-menu .mm-tab li.current-cat > a, ul.sf-menu .mm-tab li.current-menu-item > a, " +
347			"ul.sf-menu li.current_page_item.mm-tab > a, ul.sf-menu li.current-cat.mm-tab > a, ul.sf-menu li.current-menu-item.mm-tab > a").each(function() {
348		$j(this).addClass('mm-current');
349	});
350
351	$j("#nav ul.sf-menu .dd-tab, #nav ul.sf-menu .dd-tab li").hover(
352		function() {
353			if (Suffusion_JS.suf_nav_effect == 'fade') {
354				$j(this).children('ul:first').fadeIn(Suffusion_JS.suf_nav_delay).css({visibility: "visible"});
355			}
356			else {
357				$j(this).children('ul:first').show(Suffusion_JS.suf_nav_delay).css({visibility: "visible"});
358			}
359		},
360		function() {
361			$j(this).children('ul:first').hide();
362			$j(this).find('ul:first').css({visibility: "hidden"});
363		}
364	);
365
366	$j("#nav-top ul.sf-menu .dd-tab, #nav-top ul.sf-menu .dd-tab li").hover(
367		function() {
368			if (Suffusion_JS.suf_navt_effect == 'fade') {
369				$j(this).find('ul:first').fadeIn(Suffusion_JS.suf_navt_delay).css({visibility: "visible"});
370			}
371			else {
372				$j(this).find('ul:first').show(Suffusion_JS.suf_navt_delay).css({visibility: "visible"});
373			}
374		},
375		function() {
376			$j(this).children('ul:first').hide();
377			$j(this).find('ul:first').css({visibility: "hidden"});
378		}
379	);
380
381	// Expand Panel
382	$j("#top-bar-right-spanel-tab .open").click(function(){
383		$j("#top-bar-right-spanel").slideDown("medium");
384		$j(this).css({ display: 'none' });
385		$j("#top-bar-right-spanel-tab .close").css({ display: 'block' });
386		return false;
387	});
388	// Collapse Panel
389	$j("#top-bar-right-spanel-tab .close").click(function(){
390		$j("#top-bar-right-spanel").slideUp("medium");
391		$j(this).css({ display: 'none' });
392		$j("#top-bar-right-spanel-tab .open").css({ display: 'block' });
393		return false;
394	});
395
396	$j('#search-info input[type="checkbox"].search-hl').change(function(event) {
397		var search = $j('#search-term').val();
398		var hls_class = 'search-highlight';
399		if ($j(this).attr('checked')) {
400			// Highlight search results
401			$j('#content .entry').each(function() {
402				var quotes = search.match(/"([^"]+)"/g);
403				var len = 0;
404				var matches = new Array();
405				if (quotes != null) {
406					len = quotes.length;
407					for (i=0; i<len; i++) {
408						quotes[i] = quotes[i].replace(/"/g, '');
409						matches[matches.length] = quotes[i];
410						search = search.replace(quotes[i], ' ');
411					}
412				}
413
414				var no_quotes = search.match(/\b[\S]+\b/g);
415				if (no_quotes != null) {
416					len = no_quotes.length;
417					for (i=0; i<len; i++) {
418						matches[matches.length] = no_quotes[i];
419					}
420				}
421
422				len = matches.length;
423				for (i=0; i<len; i++) {
424					var search_string = matches[i];
425					$j(this).highlight(search_string);
426					$j(this).highlight(search_string, true, hls_class);
427				}
428			});
429		}
430		else {
431			//Un-highlight search results
432			$j('#content .entry').each(function() {
433				$j(this).removeHighlight();
434			});
435		}
436	});
437
438	if (typeof Suffusion_JS.suf_jq_masonry_enabled != 'undefined' && Suffusion_JS.suf_jq_masonry_enabled == 'enabled') {
439		//$j("#top-bar-right-spanel").masonry();
440		//$j("#widgets-above-header").masonry();
441		$j("#horizontal-outer-widgets-1").masonry();
442		$j("#horizontal-outer-widgets-2").masonry();
443		$j("#ad-hoc-1").masonry();
444		$j("#ad-hoc-2").masonry();
445		$j("#ad-hoc-3").masonry();
446		$j("#ad-hoc-4").masonry();
447		$j("#ad-hoc-5").masonry();
448	}
449
450	if (Suffusion_JS.suf_fix_aspect_ratio == 'preserve') {
451		// If the HTML height attribute is present for images, the max-width setting really hammers the image proportions.
452		$j(".entry img").removeAttr('height');
453	}
454
455	// Fixes for NGG on IE8. This should ideally be on NGG's plugin itself, but given their support or lack thereof :-( ...
456	$j(".ngg-gallery-thumbnail img").removeAttr('height');
457	$j(".ngg-gallery-thumbnail img").removeAttr('width');
458
459	$j(".widget_calendar tbody td a").each(function() {
460		var parent = this.parentNode;
461		//var a_tag_h = this.parentNode.childNodes[0];
462		var td_tag = $j(parent);
463		td_tag.addClass('with-posts');
464	});
465
466	$j('a.suf-tile-icon').click(function() {
467		var class_name = this.className;
468		var thisId = this.id;
469		var lastSep = thisId.lastIndexOf('-');
470		var elementType = thisId.substr(0, lastSep);
471		var elementId = thisId.substr(lastSep);
472		var textElementId = elementType + '-text' + elementId;
473		$j('#' +  textElementId).toggle();
474		if (class_name.indexOf('clicked') > -1) {
475			$j(this).removeClass('clicked');
476		}
477		else {
478			$j(this).addClass('clicked');
479		}
480		var parents = $j(this).parents();
481		for (var i=0; i<parents.length; i++) {
482			var parent = parents[i];
483			if ($j(parent).hasClass('suf-tiles') || $j(parent).hasClass('suf-mag-excerpts')) {
484				$j(parents[i-1]).css({
485					'min-height': 0
486				});
487				suffusion_make_tiles_equal($j(parent).children('.suf-tile, .suf-mag-excerpt'));
488				break;
489			}
490		}
491		return false;
492	});
493
494	// JQuery Cycle stops if there is only one image in it. The following snippet fixes the issue.
495	$j('#sliderContent, .sliderContent').each(function() {
496		if ($j(this).children().length == 1) {
497			var single = this.firstChild;
498			$j(single).show();
499		}
500	});
501
502	$j('.mosaic-page-nav-right a, .mosaic-page-nav-left a').each(function() {
503		var parentContainer = $j(this).parent().parent();
504		var height = 0.45 * parentContainer.height();
505		$j(this).css({top: height + 'px'});
506	});
507
508	var staticSlideShow;
509	$j('#sliderContent').each(function() {
510		staticSlideShow = new ResponsiveSlideShow($j('#slider'), '#sliderContent', {
511			fx: Suffusion_JS.suf_featured_fx,
512			timeout: Suffusion_JS.suf_featured_interval,
513			speed: Suffusion_JS.suf_featured_transition_speed,
514			pause: 1,
515			sync: Suffusion_JS.suf_featured_sync,
516			pager: '#sliderPager',
517			prev: 'a.sliderPrev',
518			next: 'a.sliderNext',
519			slideResize: 0,
520			pagerAnchorBuilder: suffusion_anchor_builder
521		});
522	});
523
524	$j('a.sliderPause').click(
525		function() {
526			if ($j(this).text() == Suffusion_JS.suf_featured_pause) {
527				$j('#sliderContent').cycle('pause');
528				$j('a.sliderPause').addClass('activeSlide');
529				$j(this).text(Suffusion_JS.suf_featured_resume);
530			}
531			else {
532				$j('#sliderContent').cycle('resume');
533				$j('a.sliderPause').removeClass('activeSlide');
534				$j(this).text(Suffusion_JS.suf_featured_pause);
535			}
536			return false;
537		}
538	);
539
540	$j('.controller-icons #sliderControl a, .controller-icons .sliderControl a').hover(
541		function() {
542			var parent = $j(this).parent();
543			parent.children().addClass('slide-hovered');
544			$j(this).addClass('control-hovered');
545		},
546		function() {
547			var parent = $j(this).parent();
548			parent.children().addClass('slide-hovered');
549			$j(this).removeClass('control-hovered');
550		}
551	);
552
553	$j('#slider, .slider').hover(
554		function() {
555			var parent = $j(this).parent();
556			if (parent.hasClass('controller-icons')) {
557				parent.find('.sliderPrev, .sliderNext').addClass('slide-hovered');
558			}
559		},
560		function() {
561			var parent = $j(this).parent();
562			if (parent.hasClass('controller-icons')) {
563				parent.find('.sliderPrev, .sliderNext').removeClass('slide-hovered');
564			}
565		}
566	);
567
568	$j('.collapse .searchfield').focus(function() {
569		$j(this).addClass('search-focus');
570	});
571	$j('.collapse .searchfield').blur(function() {
572		$j(this).removeClass('search-focus');
573	});
574
575	$j('a.suf-mosaic-thumb').each(function() {
576		$j(this).data('title', $j(this).attr('title'));
577		if ($j.fancybox) {
578			$j(this).fancybox({
579				transitionIn	:	'elastic',
580				transitionOut	:	'elastic',
581				speedIn		:	600,
582				speedOut		:	200,
583				overlayShow	:	true,
584				overlayColor:	'#000',
585				overlayOpacity: 0.8
586			});
587		}
588		else if ($j.colorbox) {
589			$j(this).colorbox({
590				opacity: 0.8,
591				maxWidth: '95%',
592				maxHeight: '95%'
593			});
594		}
595	});
596
597	$j('.mosaic-overlay').hover(function() {
598		$j(this).stop().animate({
599			opacity: 0.65
600		}, "medium");
601	}, function() {
602		$j(this).stop().animate({
603			opacity: 0
604		}, "medium");
605	});
606
607	$j('.entry > p:first-child').each(function() {
608		$j(this).addClass('first-para');
609	});
610
611	if (Suffusion_JS.suf_show_drop_caps != '') {
612		$j(Suffusion_JS.suf_show_drop_caps).fancyletter();
613	}
614
615	$j(".exif-button .open").on('click', function(){
616		$j(".exif-panel").slideDown("medium");
617		$j(this).removeClass('open').addClass('close');
618		return false;
619	});
620	// Collapse Panel
621	$j(".exif-button .close").on('click', function(){
622		$j(".exif-panel").slideUp("medium");
623		$j(this).removeClass('close').addClass('open');
624		return false;
625	});
626
627	$j('.mm-warea + .sub-menu').each(function() {
628		$j(this).remove();
629	});
630
631	$j('.mm-warea').each(function() {
632		if ($j(this).find('.mm-widget').length == 0) {
633			$j(this).remove();
634			return;
635		}
636		var parents = $j(this).parents();
637		var parent_li = parents[0];
638		var col_control = parents[2];
639		var nav = parents[3];
640		var nav_left = $j(nav).offset().left;
641		var nav_right = nav_left + $j(nav).width();
642		var left_pos, current_offset, right_pos;
643		var padding = 10;
644		if (nav.id == 'nav') {
645			padding = 0;
646		}
647
648		if ($j(col_control).hasClass('center')) { // Centered menu. Mega-menu will be aligned centrally, but left & right positions will be adjusted to not cross the border.
649			left_pos = -($j(this).width() / 2); // Does the centering by moving it to the left by 50% of its width.
650			$j(this).css({ left: left_pos });
651			current_offset = $j(this).offset();
652			right_pos = current_offset.left + $j(this).width();
653
654			if (current_offset.left < nav_left) { // Mega-menu has gone too far left. We will shift it by the difference + padding
655				left_pos += nav_left - current_offset.left + padding;
656				$j(this).css({ left: left_pos });
657			}
658			else if (right_pos > nav_right) { // Mega-menu has gone too far right. We will shift it by the difference + padding
659				left_pos -= right_pos - nav_right + padding;
660				$j(this).css({ left: left_pos });
661			}
662		}
663		else if ($j(col_control).hasClass('left')) {
664			left_pos = 0;
665			$j(this).css({ left: left_pos });
666			current_offset = $j(this).offset();
667			right_pos = current_offset.left + $j(this).width();
668			if (right_pos > nav_right) {
669				left_pos -= right_pos - nav_right + padding;
670				$j(this).css({ left: left_pos });
671			}
672		}
673		else if ($j(col_control).hasClass('right')) {
674			right_pos = 0;
675			$j(this).css({ right: right_pos});
676			current_offset = $j(this).offset();
677			left_pos = current_offset.left;
678			if (left_pos < nav_left) {
679				right_pos -= nav_left - left_pos + padding;
680				$j(this).css({ right: right_pos});
681			}
682		}
683		$j(this).children('.mm-mason').masonry();
684	});
685
686	$j(".mm-warea .float-ptr").each(function() {
687		$j(this).remove();
688	});
689
690	$j(".mm-warea .drop").each(function() {
691		$j(this).removeClass('drop');
692	});
693
694	$j(".mm-warea select").focus(function() {
695		$j(this).parents('.mm-warea').addClass('keep-open');
696	});
697
698	$j(".mm-warea select").blur(function() {
699		$j(this).parents('.mm-warea').removeClass('keep-open');
700	});
701
702	$j(".mm-warea option").hover(
703		function() {
704			$j(this).parents('.mm-warea').addClass('keep-open');
705		},
706		function() {
707			$j(this).parents('.mm-warea').removeClass('keep-open');
708		}
709	);
710
711	$j('.mm-widget img, .cl-widget img').each(function() {
712		var widget = $j(this).parents('.mm-widget, .cl-widget');
713		if ($j(this).width() > $j(widget).innerWidth()) {
714			$j(this).css({width: '100%'});
715		}
716	});
717
718	$j(window).resize(function() {
719		if (typeof staticSlideShow != 'undefined') {
720			staticSlideShow.update();
721			$j('.controller-icons #sliderControl').css({
722				top: '-' + ($j('#sliderContent').height() / 2) + 'px'
723			});
724		}
725		suffusion_balance_heights('.suf-tiles, .suf-mag-excerpts, .suf-mag-categories, .cl-warea, .mm-row-equal');
726	});
727
728	$j(function() {
729		if (typeof staticSlideShow != 'undefined') {
730			//staticSlideShow.update();
731			$j('.controller-icons #sliderControl').css({
732				top: '-' + ($j('#sliderContent').height() / 2) + 'px'
733			});
734		}
735		suffusion_balance_heights('.suf-tiles, .suf-mag-excerpts, .suf-mag-categories, .cl-warea, .mm-row-equal');
736	});
737
738	$j(".sf-menu").tinyNav({
739		active: 'current_page_item,current-cat,current-menu-item', // Set the "active" class
740		header: false // Show header instead of the active item
741	});
742
743	function suffusion_anchor_builder(idx, slide) {
744		var anchor;
745		if (Suffusion_JS.suf_featured_pager_style == 'numbers') {
746			anchor = (idx + 1);
747		}
748		else {
749			anchor = '&nbsp;';
750		}
751		return '<a href="#">' + anchor + '</a>';
752	}
753
754	function suffusion_make_tiles_equal(tiles) {
755		var tallest = 0;
756		// Reset all tiles to 0 min-height
757		tiles.css({
758			'height': 'auto'
759		});
760		tiles.each(function() {
761			var currentHeight = $j(this).height();
762			if (currentHeight > tallest) {
763				tallest = currentHeight;
764			}
765		});
766		tiles.css({
767			'height': tallest
768		});
769	}
770
771	function suffusion_balance_heights(selector) {
772		$j(selector).each(function() {
773			var children = $j(this).find('.suf-tile, .suf-mag-excerpt, .suf-mag-category, .cl-widget, .mm-widget');
774			var wareaColumns = 0;
775			if ($j(this).hasClass('cl-warea') || $j(this).hasClass('mm-row-equal') || $j(this).hasClass('suf-tiles')) {
776				var baseline = 10 < children.length ? 10 : children.length;
777				for (var k = 0; k < baseline; k++) {
778					if (k != 0 && $j(children[k-1]).position().top != $j(children[k]).position().top) {
779						wareaColumns = k;
780						break;
781					}
782				}
783
784				if (wareaColumns == 0) {
785					for (var k=1; k<=10; k++) {
786						if ($j(this).hasClass('cl-warea-' + k) || $j(this).hasClass('mm-row-' + k) || $j(this).hasClass('suf-tiles-' + k)) {
787							wareaColumns = k;
788							break;
789						}
790					}
791				}
792			}
793
794			if ($j(this).hasClass('cl-warea-all-row') || $j(this).hasClass('cl-warea-all') || $j(this).hasClass('mm-row-equal') || $j(this).hasClass('suf-tiles')) {
795				for (var m = 0; m * wareaColumns < children.length; m = m + 1) {
796					var slice = children.slice(m * wareaColumns, (m + 1) * wareaColumns);
797					if ($j(this).hasClass('cl-warea-all-row') || $j(this).hasClass('mm-row-equal') || $j(this).hasClass('suf-tiles')) {
798						suffusion_make_tiles_equal(slice);
799					}
800				}
801				if ($j(this).hasClass('cl-warea-all')) {
802					suffusion_make_tiles_equal(children);
803				}
804			}
805			else if ($j(this).hasClass('cl-warea-masonry')) {
806				$j(this).masonry({
807					itemSelector: '.cl-widget',
808					columnWidth: function(containerWidth) {
809						if (wareaColumns == 0) {
810							return containerWidth;
811						}
812						return containerWidth/wareaColumns;
813					}
814				});
815			}
816			suffusion_make_tiles_equal($j(this).children('.suf-mag-excerpt, .suf-mag-category'));
817		});
818	}
819});

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.