PageSourceSearch

https://mervynstewart.com/js/main.js?v=2.3.0

js mervynstewart.com collected 2026-10-07 11:20:11 UTC 6,660 bytes, 120 lines download raw bytes

1$(document).ready(function(){
2	if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
3
4	// Handle main nav dropdowns
5	$('nav li').click(function (e) {
6		var $firstLink = $(this).find('a:first');
7		var $submenu = $(this).find('ul:first');
8
9		// If this item has a dropdown
10		if ($submenu.length) {
11		e.preventDefault(); // Disable link navigation
12		$firstLink.toggleClass("active2");
13		$submenu.toggleClass('show');
14		}
15
16		// Optional: close siblings if you want only one open at a time
17		$(this).siblings().find('ul').removeClass('show');
18		$(this).siblings().find('a:first').removeClass('active2');
19	});
20
21	// Allow submenu links to work normally
22	$('nav ul ul a').click(function (e) {
23		e.stopPropagation();
24		// Do not preventDefault here — submenu links navigate as normal
25	});
26
27	// Handle top-right dropdowns
28	$('.top-right li').click(function (e) {
29		var $firstLink = $(this).find('a:first');
30		var $submenu = $(this).find('ul:first');
31
32		if ($submenu.length) {
33		e.preventDefault();
34		$firstLink.toggleClass("active");
35		$submenu.toggleClass('show');
36		}
37	});
38} else {
39		$('nav li')
40			.hover(function() {
41				$(this).find('a:first').addClass("active2");
42				$(this).find('ul').stop().addClass("show");
43			}, function() {
44				$(this).find('a:first').removeClass("active2");
45				$(this).find('ul').stop().removeClass("show");
46		});
47		$('.top-right li')
48			.hover(function() {
49				$(this).find('a:first').addClass("active");
50				$(this).find('ul').stop().addClass("show");
51			}, function() {
52				$(this).find('a:first').removeClass("active");
53				$(this).find('ul').stop().removeClass("show");
54		});
55	}
56	$('#nav-btn').click(function() {
57		$(this).toggleClass('active');
58		$('nav .top-lvl').toggleClass('show');
59	});
60	$('#search .search-toggle').click(function() {
61		$('.search-toggle').removeClass('active');
62		$(this).toggleClass('active');
63		var toSwitch = $(this).attr("id");
64		$('.switch-cell').addClass('hide-cell');
65		$('.switch-cell.' + toSwitch).removeClass('hide-cell');
66	});
67
68	  // Hide Header on on scroll down
69	  var didScroll;
70	  var lastScrollTop = 0;
71	  var delta = 5;
72	  var navbarHeight = $('#navbar').outerHeight();
73
74	  $(window).scroll(function(event){
75	      didScroll = true;
76	  });
77
78	  setInterval(function() {
79	      if (didScroll) {
80	          hasScrolled();
81	          didScroll = false;
82	      }
83	  }, 250);
84
85	  function hasScrolled() {
86	      var st = $(this).scrollTop();
87
88	      // Make sure they scroll more than delta
89	      if(Math.abs(lastScrollTop - st) <= delta)
90	          return;
91
92	      // If they scrolled down and are past the navbar, add class .nav-up.
93	      // This is necessary so you never see what is "behind" the navbar.
94	      if (st > lastScrollTop && st > navbarHeight){
95	          // Scroll Down
96	          $('#navbar').removeClass('nav-down').addClass('nav-up');
97	          $('#newcar-tabs .box').removeClass('nav-down').addClass('nav-up');
98	      } else {
99	          // Scroll Up
100	          if(st + $(window).height() < $(document).height()) {
101	              $('#navbar').removeClass('nav-up').addClass('nav-down');
102	              $('#newcar-tabs .box').removeClass('nav-up').addClass('nav-down');
103	          }
104	      }
105
106	      lastScrollTop = st;
107	  }
108
109});
110
111!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,i=function(t){return parseFloat(t)||0},n=function(e){var o=1,n=t(e),a=null,r=[];return n.each(function(){var e=t(this),n=e.offset().top-i(e.css("margin-top")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(a-n))<=o?r[r.length-1]=s.add(e):r.push(e),a=n}),r},a=function(e){var o={
112byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=a(e);if(o.remove){var i=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(i)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="master",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,
113r._afterUpdate=null,r._rows=n,r._parse=i,r._parseOptions=a,r._apply=function(e,o){var s=a(o),h=t(e),c=[h],l=t
113(window).scrollTop(),p=t("html").outerHeight(!0),d=h.parents().filter(":hidden");return d.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),d.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0",
114"padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),c=n(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(c,function(e,o){var n=t(o),a=0;if(s.target)a=s.target.outerHeight(!1);else{if(s.byRow&&n.length<=1)return void n.css(s.property,"");n.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block");var i={display:o};i[s.property]="",
115e.css(i),e.outerHeight(!1)>a&&(a=e.outerHeight(!1)),e.css("display","")})}n.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=i(e.css("border-top-width"))+i(e.css("border-bottom-width")),o+=i(e.css("padding-top"))+i(e.css("padding-bottom"))),e.css(s.property,a-o+"px"))})}),d.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(l/p*t("html").outerHeight(!0)),this},r._applyDataApi=function(){
116var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),i=o.attr("data-mh")||o.attr("data-match-height");i in e?e[i]=e[i].add(o):e[i]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(i,n){if(n&&"resize"===n.type){var a=t(window).width();if(a===e)return;e=a}i?-1===o&&(o=setTimeout(function(){
117s(n),o=-1},r._throttle)):s(n)},t(r._applyDataApi),t(window).bind("load",function(t){r._update(!1,t)}),t(window).bind("resize orientationchange",function(t){r._update(!0,t)})});
118$(function() {
119    $('.eq_height').matchHeight();
120});

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.