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 += '— '; 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'> </span><!--<![endif]-->"); 304 a_tag.append("<!--[if lt IE 7]> ↓<![endif]--> <!--[if (!IE)|(gte IE 7)]><span class='down-ptr'> </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'> </span><!--<![endif]-->"); 323 a_tag.append("<!--[if lt IE 7]> ↓<![endif]--> <!--[if (!IE)|(gte IE 7)]><span class='down-ptr'> </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'> </span><!--<![endif]-->"); 331 a_tag.append("<!--[if lt IE 7]> →<![endif]--> <!--[if (!IE)|(gte IE 7)]><span class='float-ptr'> </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 = ' '; 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.