PageSourceSearch

https://doblelab.ca/research/publications/files/stacks_page_page15.js?rwcache=707939432

js doblelab.ca collected 2026-10-07 04:40:46 UTC 33,087 bytes, 450 lines download raw bytes

vendor: 7,199 bytes, lines 1-2
1/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
2jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
2
3var stacks = {};
4stacks.jQuery = jQuery.noConflict(true);
5stacks.com_bigwhiteduck_stacks_menulab_chroma_pro = {};
6stacks.com_bigwhiteduck_stacks_menulab_chroma_pro = (function(stack) {
7var jQuery = stacks.jQuery;var $ = jQuery;(function(){var lastTime=0;var vendors=['ms','moz','webkit','o'];for(var x=0;x<vendors.length&&!window.requestAnimationFrame;++x){window.requestAnimationFrame=window[vendors[x]+'RequestAnimationFrame'];window.cancelAnimationFrame=window[vendors[x]+'CancelAnimationFrame']||window[vendors[x]+'CancelRequestAnimationFrame'];}
8if(!window.requestAnimationFrame)
9window.requestAnimationFrame=function(callback){var currTime=new Date().getTime();var timeToCall=Math.max(0,16-(currTime-lastTime));var id=window.setTimeout(function(){callback(currTime+timeToCall);},timeToCall);lastTime=currTime+timeToCall;return id;};if(!window.cancelAnimationFrame)
10window.cancelAnimationFrame=function(id){clearTimeout(id);};}());
11;(function($,window,document,undefined){var ChromaScroll=function(elem,options){this.elem=elem;this.$elem=$(elem);this.options=options;this.$stylesrepo=this.$elem.find('>.style-defs');this.$defs=this.$elem.find('>.style-defs>.chroma-def');this.style_ids=[];this.$markers;this.usedMarkers={};this.$win=$(window);this.$parent=$(window);this.sections=[];this.didScroll=false;this.$doc=$(document);this.docHeight=this.$doc.height();this.docWidth=this.$doc.width();};ChromaScroll.prototype={defaults:{defaultStyleClass:'default_style',activeClass:'is-active',markerClass:'chroma-marker',styleDefClass:'chroma-def',styleAttrib:'chroma-style',scrollParent:'window',scrollOffset:0,scrollThreshold:0,changeOnTarget:false,scrollChange:false,useStyleDefs:true,cancel_breakpoint:0,cancel_above_below:1},init:function(){var self=this;self.config=$.extend({},self.defaults,self.options,self.metadata);if(self.config.defaultStyleClass==='')console.log('Chroma: Initial Style Setting is blank. Please enter a unique Initial Style ID');if(self.config.scrollParent!=='window'){this.$parent=$(self.config.scrollParent)};self.getDefs();self.getMarkers();self.scrollUpdate();self.scrollInterval();return this;},changeActive:function(self,$parent){self.$stylesrepo.find('.'+self.config.activeClass).removeClass(self.config.activeClass);$parent.addClass(self.config.activeClass);},scrollInterval:function(){var self=this;var docHeight,docWidth;self.$parent.on('scroll.ChromaScroll',function(){self.didScroll=true;});self.t=setInterval(function(){docHeight=self.$doc.height();docWidth=self.$doc.width();if(self.didScroll){self.didScroll=false;self.scrollUpdate();}
12if(docHeight!==self.docHeight){self.docHeight=docHeight;self.updatePositions();}
13if(docWidth!==self.docWidth){self.docWidth=docWidth;self.updatePositions();}},100);},getDefs:function(){var self=this;self.$defs.each(function(){thisStyle=$(this);self.style_ids.push(thisStyle.attr('data-'+self.config.styleDefClass));});},isDefinedMarker:function(styleID){var self=this;return $.inArray(styleID,self.style_ids)!==-1?true:false;},getMarkers:function(){var self=this;var topPos;self.$markers=$('.'+self.config.markerClass);self.$markers.each(function(index,el){$target=$(this);var styleID=$target.attr('data-'+self.config.styleAttrib);if(self.isDefinedMarker(styleID)){$(this).attr('data-marker-id',index);topPos=$target.offset().top;self.sections.push({styledef:$target.attr('data-'+self.config.styleAttrib),scrollPos:Math.round(topPos)-self.config.scrollOffset,marker:$target});}});},updatePositions:function(){var self=this;var topPos;var $target;for(var i=0;i<self.sections.length;i++){$target=self.sections[i].marker;topPos=$target.offset().top;self.sections[i].scrollPos=Math.round(topPos)-self.config.scrollOffset;};self.didScroll=true;},offsetBottom:function(el,i){i=i||0;return $(el)[i].getBoundingClientRect().bottom},getSection:function(windowPos){var returnValue=null;var windowHeight=Math.round(this.$win.height()*this.config.scrollThreshold);for(var section in this.sections){if((this.sections[section].scrollPos-windowHeight)<windowPos){returnValue=this.sections[section].styledef;}}
14return returnValue;},filterDefs:function(section){return this.$defs.filter(function(){return $(this).data('chroma-def')==section;});},scrollUpdate:function(){var scrollPos=this.$parent.scrollTop();var elementBottom=this.offsetBottom(this.$elem);
14var currentSection=this.config.changeOnTarget===true?this.getSection(scrollPos+elementBottom):this.getSection(scrollPos);var $thisDef;if(currentSection===null)currentSection=this.config.defaultStyleClass;var applySection=((this.$win.width()-this.config.cancel_breakpoint)*this.config.cancel_above_below)>0||!this.config.cancel_above_below?currentSection:this.config.defaultStyleClass;this.$elem.attr('data-style',applySection);$thisDef=this.filterDefs(applySection);if(!$thisDef.hasClass(this.config.activeClass)){this.changeActive(this,$thisDef);if(this.config.scrollChange){this.$elem.trigger('style.change',[applySection,$thisDef]);}}},unBindScrollInterval:function(){clearInterval(this.t);this.$win.unbind('scroll.ChromaScroll');}};ChromaScroll.defaults=ChromaScroll.prototype.defaults;$.fn.ChromaScroll=function(options){return this.each(function(){new ChromaScroll(this,options).init();});};})(jQuery,window,document);
15
16return stack;})(stacks.com_bigwhiteduck_stacks_menulab_chroma_pro);
17stacks.ws_foundation_styles = {};
18stacks.ws_foundation_styles = (function(stack) {
19var jQuery = stacks.jQuery;var $ = jQuery;
20
21return stack;})(stacks.ws_foundation_styles);
22stacks.stacks_in_7 = {};
23stacks.stacks_in_7 = (function(stack) {
24var jQuery = stacks.jQuery;var $ = jQuery; if(typeof(stacks.totalcms)!=='object')stacks.totalcms={};stacks.totalcms.requestheaders={'Total-Key':$.trim('7667b0f8b2655898075458a25711a7b5')};stacks.totalcms.baseurl='https://www.doblelab.ca//'.replace(/\/\/$/,'/');stacks.totalcms.baseurl=stacks.totalcms.baseurl.replace('https:','').replace('http:','');stacks.totalcms.totalapi=stacks.totalcms.baseurl+'rw_common/plugins/stacks/total-cms/totalapi.php';stacks.totalcms.locale='en';
25
26return stack;})(stacks.stacks_in_7);
27stacks.stacks_in_297 = {};
28stacks.stacks_in_297 = (function(stack) {
29var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function($){
30	
31	jQuery.fn.fnav = function(options){
32		var settings;
33		$.extend( settings = {
34			showSpeed: 300,
35			hideSpeed: 300,
36			trigger: "hover",
37			showDelay: 0,
38			hideDelay: 0,
39			effect: "fade",
40			align: "right",
41			responsive: true,
42			animation: "none",
43			indentChildren: true,
44			dropalign: true,
45			indicatorFirstLevel: "+",
46			indicatorSecondLevel: "+",
47			scrollable: true,
48			scrollableMaxHeight: 400
49		}, options);
50		
51		// variables
52		var menu_container = $(this);
53		var menu = $(menu_container).children(".fnav-menu");
54		var menu_li = $(menu).find("li");
55		var showHideButton;
56		var mobileWidthBase = 768;
57		var bigScreenFlag = 2000; // a number greater than "mobileWidthBase"
58		var smallScreenFlag = 200; // a number less than "mobileWidthBase"
59		var subnav = "subnavver";
60		
61		// dropdown indicators
62		$(menu).children("li").children("a").each(function(){
63			if($(this).siblings(".dropdown").length > 0){
64				$(this).append("<span class='indicator'>" + "&nbsp&nbsp" + settings.indicatorFirstLevel + "</span>");
65
66				// hide the before
67				
68			}
69		});
70		
71		$(menu).find(".dropdown").children("li").children("a").each(function(){
72			if($(this).siblings(".dropdown").length > 0){
73				$(this).append("<span class='indicator'>" + settings.indicatorSecondLevel + "</span>");
74			}
75		});
76
77		$(menu).find(".dropdown").children("li").each(function(){
78			$(this).addClass(subnav);
79		});		
80
81		// navigation alignment
82		if(settings.align == "right"){ 
83			$(menu).addClass("fnav-right"); 
84		}
85		
86		// dropdown indentation (mobile mode)
87		if(settings.indentChildren){ 
88			$(menu).addClass("fnav-indented"); 
89		}
90		
91		// dropdown alignment
92		if(settings.dropalign){ 
93			$('ul.dropdown').addClass("dropdown-left"); 
94		}
95		
96		// responsive behavior
97		if(settings.responsive){ 
98			$(menu_container)
99				.addClass("fnav-responsive")
100				.prepend("<a href='javascript:void(0)' class='showhide'><em></em><em></em><em></em></a>");
101			showHideButton = $(menu_container).children(".showhide");
102		}
103
104		// scrollable menu
105		if(settings.scrollable){
106			if(settings.responsive){
107				$(menu).css("max-height", settings.scrollableMaxHeight)
108					.addClass("scrollable")
109					.append("<li class='scrollable-fix'></li>");
110			}
111		}
112		
113		// shows a dropdown
114		function showDropdown(item){
115			if(settings.effect == "fade")
116				$(item).children(".dropdown")
117					.stop(true, true)
118					.delay(settings.showDelay)
119					.fadeIn(settings.showSpeed)
120					.addClass(settings.animation);
121			else
122				$(item).children(".dropdown")
123					.stop(true, true)
124					.delay(settings.showDelay)
125					.slideDown(settings.showSpeed)
126					.addClass(settings.animation);
127		}
128		
129		// hides a dropdown
130		function hideDropdown(item){
131			if(settings.effect == "fade")
132				$(item).children(".dropdown")
133					.stop(true, true)
134					.delay(settings.hideDelay)
135					.fadeOut(settings.hideSpeed)
136					.removeClass(settings.animation);
137			else
138				$(item).children(".dropdown")
139					.stop(true, true).delay(settings.hideDelay)
140					.slideUp(settings.hideSpeed)
141					.removeClass(settings.animation);
142				$(item).children(".dropdown")
143					.find(".dropdown")
144					.stop(true, true)
145					.delay(settings.hideDelay)
146					.fadeOut(settings.hideSpeed);
147			}
148		
149		// landscape mode
150		function landscapeMode(){
151			$(menu).find(".dropdown").hide(0);
152			if(navigator.userAgent.match(/Mobi/i) || window.navigator.msMaxTouchPoints > 0 || settings.trigger == "click"){
153				$(".fnav-menu > li > a, .fnav-menu ul.dropdown li a").bind("click touchstart", function(e){
154					e.stopPropagation(); 
155					e.preventDefault();
156					$(this).parent("li")
157						.siblings("li")
158						.find(".dropdown")
159						.stop(true, true)
160						.fadeOut(300);
161					if($(this).siblings(".dropdown").css("display") == "none"){
162						showDropdown($(this).parent("li"));
163						return false; 
164					}
165					else{
166						hideDropdown($(this).parent("li"));
167					}
168					window.location.href = $(this).attr("href");
169				});
170				$(document).bind("click.menu touchstart.menu", function(ev){
171					if($(ev.target).closest(".fnav").length == 0){
172						$(".fnav-menu").find(".dropdown").fadeOut(300);
173					}
174				});
175			}
176			else{
177				$(menu_li).bind("mouseenter", function(){
178					showDropdown(this);
179				}).bind("mouseleave", function(){
180					hideDropdown(this);
181				});
182			}
183		}
184		
185		// portrait mode
186		function portraitMode(){
187			$(menu).find(".dropdown").hide(0);
188			$(menu).find(".indicator").each(function(){
189				if($(this).parent("a").siblings(".dropdown").length > 0){
190					$(this).bind("click", function(e){
191						$(menu).scrollTo({top: 45, left: 0}, 600);
192						if($(this).parent().prop("tagName") == "A"){
193							e.preventDefault();
194						}
195						if($(this).parent("a")
196							.siblings(".dropdown")
197							.css("display") == "none"){
198								$(this)
199									.parent("a")
200									.siblings(".dropdown")
201									.delay(settings.showDelay)
202									.slideDown(settings.showSpeed);
203								$(this)
204									.parent("a")
205									.parent("li")
206									.siblings("li")
207									.find(".dropdown")
208									.slideUp(settings.hideSpeed);
209						}
210						else{
211							$(this)
212								.parent("a")
213								.siblings(".dropdown")
214								.slideUp(settings.hideSpeed);
215						}
216					});
217				}
218			});
219		}
220		
221		// Fix the submenu on the right side
222		function fixSubmenuRight(){
223			var submenus = $(menu)
224				.children("li")
225				.children(".dropdown");
226				
227			if($(window).innerWidth() > mobileWidthBase){
228			
229				var menu_width = $(menu_container).outerWidth(true);
230				
231				for(var i = 0; i < submenus.length; i++){
232					if($(submenus[i])
233						.parent("li")
234						.position().left + $(submenus[i]).outerWidth() > menu_width){
235						$(submenus[i]).css("right", 0);
236					}
237					else{
238						if(menu_width == $(submenus[i]).outerWidth() || (menu_width - $(submenus[i]).outerWidth()) < 20){
239							$(submenus[i]).css("left", 0);			
240						}
241						if($(submenus[i]).parent("li").position().left + $(submenus[i]).outerWidth() < menu_width){
242							$(submenus[i]).css("right", "auto");
243						}
244					}
245				}
246			}
247		}
248		
249		// show the bar to show/hide menu items on mobile
250		function showMobileBar(){
251			$(menu).hide(0);
252			$(showHideButton)
253				.show(0)
254				.click(function(){
255				
256				if($(menu).css("display") == "none")
257					$(menu).slideDown(settings.showSpeed);
258				else
259					$(menu)
260						.slideUp(settings
261						.hideSpeed)
262						.find(".dropdown")
263						.hide(settings.hideSpeed);
264			});
265		}
266		
267		// hide the bar to show/hide menu items on mobile
268		function hideMobileBar(){
269			$(menu).show(0);
270			$(showHideButton).hide(0);
271		}
272		
273		// unbind events
274		function unbindEvents(){
275			$(menu_container)
276				.find("li, a")
277				.unbind();
278			$(document).unbind("click.menu touchstart.menu");
279		}
280		
281		// fnav tabs
282		function menuTabs(){
283			function startTab(tab){
284				var TabNavs = $(tab).find(".fnav-tabs-nav > li");
285				var TabContents = $(tab).find(".fnav-tabs-content");
286				$(TabNavs).bind("click touchstart", function(e){
287					e.stopPropagation(); 
288					e.preventDefault();
289					$(TabNavs).removeClass("active");
290					$(this).addClass("active");
291					$(TabContents).hide(0);
292					$(TabContents[$(this).index()]).show(0);
293				});
294			}
295			if($(menu).find(".fnav-tabs").length > 0){
296				var menuTabs = $(menu).find(".fnav-tabs");
297				for(var i = 0; i < menuTabs.length; i++){
298					startTab(menuTabs[i]);
299				}
300			}
301		}
302		
303		// navigation start function
304		function startMenu(){
305			fixSubmenuRight();
306			if($(window).innerWidth() <= mobileWidthBase && bigScreenFlag > mobileWidthBase){
307				unbindEvents();
308				if(settings.responsive){
309					showMobileBar();
310					portraitMode();
311				}
312				else{
313					landscapeMode();
314				}
315			}
316			if($(window).innerWidth() > mobileWidthBase && smallScreenFlag <= mobileWidthBase){
317				unbindEvents();
318				hideMobileBar();
319				landscapeMode();
320			}
321			bigScreenFlag = $(window).innerWidth();
322			smallScreenFlag = $(window).innerWidth();
323			menuTabs();
324			/* IE8 fix */
325			if(/MSIE (\d+\.\d+);/.test(navigator.userAgent) && $(window).innerWidth() < mobileWidthBase){
326				var ieversion = new Number(RegExp.$1);
327				if(ieversion == 8){
328					$(showHideButton).hide(0);
329					$(menu).show(0);
330					unbindEvents();
331					landscapeMode();
332				}
333			}
334		}
335		
336		
337		startMenu();
338		$(window).resize(function(){
339			startMenu();
340			fixSubmenuRight();
341		});
342		
343		// Add tabbing for accessibility 
344		$("li").each(function (i) { $(this).attr('tabindex', i + 1); });
345		
346	}
347}(jQuery));
348
349/**
350* jquery.scrollTo
351* Copyright (c) 2007-2014 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
352* Licensed under MIT
353* @author Ariel Flesler
354* @version 1.4.13
355*/
356
357(function(k){'use strict';k(['jquery'],function($){var j=$.scrollTo=function(a,b,c){return $(window).scrollTo(a,b,c)};j.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:!0};j.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(f,g,h){if(typeof g=='object'){h=g;g=0}if(typeof h=='function')h={onAfter:h};if(f=='max')f=9e9;h=$.extend({},j.defaults,h);g=g||h.duration;h.queue=h.queue&&h.axis.length>1;if(h.queue)g/=2;h.offset=both(h.offset);h.over=both(h.over);return this._scrollable().each(function(){if(f==null)return;var d=this,$elem=$(d),targ=f,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=win?$(targ):$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}
357var e=$.isFunction(h.offset)&&h.offset(d,targ)||h.offset;$.each(h.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=j.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(h.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=e[pos]||0;if(h.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*h.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(h.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&h.queue){if(old!=attr[key])animate(h.onAfterFirst);delete attr[key]}});animate(h.onAfter);function animate(a){$elem.animate(attr,g,h.easing,a&&function(){a.call(this,targ,h)})}}).end()};j.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return $.isFunction(a)||typeof a=='object'?a:{top:a,left:a}}return j})}(typeof define==='function'&&define.amd?define:function(a,b){if(typeof module!=='undefined'&&module.exports){module.exports=b(require('jquery'))}else{b(jQuery)}}));
358
359
360$(document).ready(function(){
361
362	var mn =  $("#fnav ul");
363	mn.addClass("fnav-menu dropdown");
364	mn.removeClass("fnav-right");
365
366	var mo = $(".Selected");
367	mo.addClass("active");
368	mo.removeClass("Selected");
369
370	$("#fnav #max-width-nav").fnav({
371    	align: "right",
372      	responsive: true,
373		trigger: "click",
374		animation: "flip"
375   	});
376
377
378	var $tt = $("#fnav ul");
379	var $dropdown_open = "dropdown off";
380
381	if ($tt.hasClass("$dropdown_open")) {
382		$("#fnav ul li a:before").hide();
383	}
384
385	
386
387});
388
389jQuery(document).ready(function() {
390
391	var e = $('#fnav #max-width-nav');
392		while (e.is("div")) {
393			e.css({ 'overflow': 'visible', 'z-index': '1001' });
394			e.append("<div style='clear:both;'></div>");
395			e = e.parent();
396	}
397		
398});
399
400/* Scroll to solid colour*/
401 
402
403
404
405return stack;})(stacks.stacks_in_297);
406stacks.stacks_in_271 = {};
407stacks.stacks_in_271 = (function(stack) {
408var jQuery = stacks.jQuery;var $ = jQuery;
409
410return stack;})(stacks.stacks_in_271);
411stacks.stacks_in_279 = {};
412stacks.stacks_in_279 = (function(stack) {
413var jQuery = stacks.jQuery;var $ = jQuery;
414
415return stack;})(stacks.stacks_in_279);
416stacks.stacks_in_304_2 = {};
417stacks.stacks_in_304_2 = (function(stack) {
418var jQuery = stacks.jQuery;var $ = jQuery;
419
420return stack;})(stacks.stacks_in_304_2);
421stacks.stacks_in_304_41 = {};
422stacks.stacks_in_304_41 = (function(stack) {
423var jQuery = stacks.jQuery;var $ = jQuery;
424$(function(){var slideUp={cssHeadSlide:function(hide){if(!isHeadSlide||slideHeadSuspend)return false;var headDirection=relTop?'-':'',slideHeight=$('#stacks_in_304_41>.chroma-scroll-pro>.slide-head').outerHeight();if(hide){stack.css({'-webkit-transform':'translate(0,'+headDirection+slideHeight+'px)','-moz-transform':'translate(0,'+headDirection+slideHeight+'px)','-ms-transform':'translate(0,'+headDirection+slideHeight+'px)','-o-transform':'translate(0,'+headDirection+slideHeight+'px)','transform':'translate(0,'+headDirection+slideHeight+'px)'});}else{stack.css({'-webkit-transform':'translate(0,0)','-moz-transform':'translate(0,0)','-ms-transform':'translate(0,0)','-o-transform':'translate(0,0)','transform':'translate(0,0)'});}},closePopDrops:function(){try{popTarget.popDrop('hide');}
425catch(err){if($.bwd_debug)console.log('Chroma: Found PopDrop Null Marker on',popTarget);}},closeBPDrops:function(){$(window).trigger('close-bp-drops');},setup_EventListeners:function(){stack.on('style.change',function(event,sectionNumber,$definition){var styleDef=$definition;if(styleDef.hasClass('slide-reverse')){if(stack.hasClass(upClass)){stack.removeClass(upClass).addClass(downClass);slideUp.cssHeadSlide(false);}else{stack.removeClass(downClass).addClass(upClass);$('body').trigger('menuSlideUp');if(popDrop){slideUp.closePopDrops()};if(bpDropdown){slideUp.closeBPDrops()};slideUp.cssHeadSlide(true);}
426return true;};if(styleDef.hasClass(upClass)){stack.addClass(upClass).removeClass(downClass);$('body').trigger('menuSlideUp');if(popDrop){slideUp.closePopDrops()};if(bpDropdown){slideUp.closeBPDrops()};slideUp.cssHeadSlide(true);return true;};if(styleDef.hasClass(downClass)){stack.addClass(downClass).removeClass(upClass);slideUp.cssHeadSlide(false);return true;}});},slideHeadRespond:function(){var win=$(window).width();if(win<slideBP){slideUp.cssHeadSlide(false)
427slideUp.slideAnimation(false);slideHeadSuspend=true;}else{slideHeadSuspend=false;slideUp.slideAnimation(true);}},slideAnimation:function(activate){if(!isSlide)return false;if(activate){if(stack.hasClass(downClass)&&stack.hasClass('is-static')){stack.addClass('stick-no-ani');setTimeout(function(){stack.removeClass('stick-no-ani');},600);}
428stack.addClass('animate');}else{stack.removeClass('animate').removeClass(upClass);}},};var utils={toggleSpacer:function(fix){if(fix==true){spacer.css('height',stack.height());}else
429{spacer.css('height',0);}},resizeElement:function(){if(isStatic)return false;if(fullWidth){if(fullWidth&&fixToParentSize){if($(window).width()>parentSizeBP){stack.css('width',wrapper.outerWidth(true));}else{stack.css('width',spacer.outerWidth(true));}}else{stack.css('width',spacer.outerWidth(true));}}
430if(isHeadSlide)slideUp.slideHeadRespond();},isTouchDevice:function(){return true==("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},prepSupStyles:function(){supStyles.each(function(index){$(this).attr('data-section-scroll',index);});},prepFacetBar:function(){if(facetBar.hasClass('toggle-button')&&facetBar.hasClass('oc-right')){stack.addClass('content-right');}},updateTopBarState:function(){if($('.toggle-topbar',stack).is(':visible')){stack.addClass('tb-mob');}else{stack.removeClass('tb-mob');}}};var init=function(){utils.prepSupStyles();if(isHeadSlide){stack.addClass('ani-slide');}
431if(!isHeadSlide)slideHead.remove();if(isSlide){stack.addClass('animate');if(touchScreen){stack.addClass('ani-slide');}else{stack.addClass('ani-slide')}}};var findDefault=function(){var defText='default_style';return defText.trim();};var postInit=function(){if(isSlide&&markerSlide){slideUp.setup_EventListeners();}
432utils.resizeElement();if(isSticky){scrollUp.calcOffset(breakpoint,true);spacer.css('height','0px');}
433utils.updateTopBarState();if(styleCount>1){stack.ChromaScroll({defaultStyleClass:findDefault(),activeClass:'is-active',markerClass:'chroma-marker',styleDefClass:'chroma-def',styleAttib:'chroma-style',scrollParent:scrollContainer,scrollOffset:detectOffset,scrollThreshold:detectThreshold,changeOnTarget:detectAtStackBottom,scrollChange:true,useStyleDefs:true,cancel_above_below:cancel_above_below,cancel_breakpoint:cancel_breakpoint});}
434facetBar=stack.find('.oc-toggle.facet-mb'),hasFacetBar=facetBar.length>0?true:false,utils.prepFacetBar();popDrop=stack.find('[data-pop-drop]').length>0?true:false;popTarget=$('[data-pop-drop]',stack);bpDropdown=stack.find('.bp-dropdown').length>0?true:false;dropdowns=$('.bp-dropdown');if(isHeadSlide){if(!relTop){slideHead.detach().insertAfter(suContent)};slideHead.addClass('');}};if(!document.getElementById("stacks_in_304_41")){console.log("Choma removed by 3rd party script");return false;}
435var lastRequestAnimationFrame=null,stack=$('#stacks_in_304_41>.chroma-scroll-pro'),wrapper=$('#stacks_in_304_41'),spacer=$('.spacer-stacks_in_304_41'),slideHead=$('.slide-head',stack),slideHeadSuspend=false,suContent=$('.su-content',stack),slideBP=''!=''?640:0,relTop='True'=='True',slideTime=600,initDelay=200>=200?200:200,isStatic='posStatic'=='posStatic'?true:false,isSticky='posStatic'=='posSticky'?true:false,didScroll,lastPosition=-999,lastPos=0,spacerSize=0,downTolerance=300,upTolerance=100,topOffset=0,offsetUnits='px',smallOffsetUnits=false===true?'px':'px',breakpoint=640,smallTopOffset=false===true?0:0,smallTopOffset=false===true?-9999:smallTopOffset,isFixed="posStatic"=="posFixed"?true:false,triggerTop=stack.position().top-topOffset,fixToParentSize='mob-full-width'!='fix-full-width'?true:false,parentSizeBP='mob-full-width'=='mob-full-width'?breakpoint:0,fullWidth="width-scale"=="width-contain"&&"posStatic"=="posFixed"?false:true,slideType='',isSlide=''!==''?true:false,isHeadSlide='ani-slide'=='header-slide'&&isSli
435de?true:false,markerSlide=isSlide==true?''=='markerAnimate'?true:false:false,upClass='slide-up',downClass='slide-down',facetBar={},hasFacetBar,popDrop=false,bpDropdown=false,popTarget=stack,dropdowns=stack,supStyles=stack.find('>.style-defs>.chroma-def'),styleCount=supStyles.length,detectAtStackBottom=false,detectOffset=0,detectThreshold=0.00,touchScreen=utils.isTouchDevice(),cancel_above_below=''=='below-bp'?1:''=='above-bp'?-1:0,cancel_breakpoint=cancel_above_below!==0?breakpoint:cancel_above_below,scrollContainer='window'=='sectionspro'?stack.closest('.shear-inner.fixed-height>.inner-content'):'window'=='blueprint'?stack.closest('.blu-sidebar.full-height>.blu-content>.blu-content__wrap'):'window',$parent=scrollContainer=='window'?$(window):$(scrollContainer);$(window).on('load',function(){if(!isStatic){init();}else{stack.addClass('is-static');}
436postInit();setTimeout(function(){stack.removeClass('pre-load');$('.chroma-scroll-pro').removeClass('slide-fresh');},slideTime);setTimeout(function(){stack.removeClass('pre-load');$('.chroma-scroll-pro').removeClass('slide-fresh');},initDelay);});});
437
438return stack;})(stacks.stacks_in_304_41);
439stacks.stacks_in_304_76 = {};
440stacks.stacks_in_304_76 = (function(stack) {
441
442return stack;})(stacks.stacks_in_304_76);
443stacks.stacks_in_304_83 = {};
444stacks.stacks_in_304_83 = (function(stack) {
445
446return stack;})(stacks.stacks_in_304_83);
447stacks.stacks_in_304_89 = {};
448stacks.stacks_in_304_89 = (function(stack) {
449
450return stack;})(stacks.stacks_in_304_89);

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.