PageSourceSearch

https://www.ketchumura.org/sites/default/files/js/js_2W9CXxdRe5jg9xTZYuuchp9dUSfw_9bn47wptiOB0-o.js

js ketchumura.org collected 2026-10-05 23:25:47 UTC 29,308 bytes, 706 lines download raw bytes

1(function ($) {
2var mobileOpen = false;
3var mobileMenuOpen = false;
4/* ADD NAVIGATION TOGGLE BUTTON FOR USE WITH MOBILE SCREEN WIDTHS */
5	$(function() {
6	  $('.mobile-nav-toggle').click(function() {
7			toggleMobileMenu();
8		});
9	  	/* if enter is pressed on the menu */
10		$('.mobile-nav-toggle').keydown(function(e) {
11			if (e.keyCode == 13) {
12				 toggleMobileMenu();
13			}
14			/* Navigation through mobile menu - pressing tab and shift, return to last item */
15			if (e.keyCode == 9 && e.shiftKey && mobileOpen) {
16				 e.preventDefault();
17				 e.stopPropagation();
18				 $('.lastMobileItem')[0].focus();
19			}
20		});
21		function toggleMobileMenu() {
22			var menu = $('.global-nav-wrapper');
23			var searchblock = $('#block-search-form');
24			var button = $('.mobile-nav-toggle')
25			var timeoutHandle = null;
26	      if (timeoutHandle) {
27	          clearTimeout(timeoutHandle);
28	          timeoutHandle = null;
29	      }
30	      /* check to see if jquery block is open and close it */
31	      if ($('.mobile-subnav-toggle').hasClass('visible')) {
32	          var subnavmenu = $('.block-jquerymenu');
33	          subnavmenu.toggleClass('visible');
34	          $('.mobile-subnav-toggle').toggleClass('visible');
35	      }
36	      /* if not open, open the mobile menu, timeoutHandle allows display:none to work */
37	      if (!button.hasClass('openMobile')) {
38	          mobileOpen = true;
39	          button.toggleClass("openMobile");
40	          timeoutHandle = setTimeout(function() {
41	              menu.toggleClass('left-open').toggleClass('left-closed');
42	          }, 1);
43	          menu.toggleClass('visible');
44	          $('.aha-focus').each(function() {
45	          	$(this).toggleClass('aha-focus');
46	          	$(this).toggleClass('mobileOpen');
47	          })
48	      } 
49	      /* close the menu */
50	      else {
51	          mobileOpen = false;
52	          menu.toggleClass('left-open').toggleClass('left-closed');
53	          timeoutHandle = setTimeout(function() {
54	              button.toggleClass("openMobile");
55	              menu.toggleClass('visible');
56	              $('.mobileOpen').each(function() {
57			          	$(this).toggleClass('mobileOpen');
58			          	$(this).toggleClass('aha-focus');
59			         })
60	              /* 300 is the time set in css as well */
61	          }, 300);
62
63	      }
64	      /* tell the user that the menu is expanded or collapsed */
65	      if (document.activeElement.getAttribute("aria-expanded") == "true") {
66	          document.activeElement.setAttribute("aria-expanded", "false");
67	      } else {
68	          document.activeElement.setAttribute("aria-expanded", "true");
69	      }
70	      /* if tabbing on list item, return to first item in mobile */
71	      $('.lastMobileItem').keydown(function(e) {
72	          if ((e.keyCode == 9) && (mobileOpen) && !e.shiftKey && !$(this).closest('li').hasClass('expanded')) {
73	              e.preventDefault();
74	              e.stopPropagation();
75	              $('.mobile-nav-toggle')[0].focus();
76	          }
77	      })
78	   }  
79	});
80
81
82 /* Adding the correct tabindex to the entire header*/
83$(function() {
84  $(".form-item-search-block-form #edit-search-block-form--2").attr({ "tabindex": "3" })
85  $("#edit-actions #edit-submit").attr({ "tabindex": "-1" })
86  $("#logo").attr({ "tabindex": "2" })
87  $(".element-invisible.element-focusable").attr({ "tabindex": "1" })
88  /* need to find the last item for mobile */
89  $(document).ready( function () {
90	  var length = $("#block-system-main-menu ul.menu li").not("li.leaf").length;
91	  $("#block-system-main-menu div.block-content > ul.menu > li").each(function(index) {
92	      $(this).attr({ "tabindex": "4" });
93	      if (index == length - 1) {
94	          $(this).addClass("lastMobileItem")
95	          if($(this).find('.last a')[0]){
96	          	$(this).find('.last a').addClass('lastMobileItem')
97	          }
98	      }
99	  });
100	});
101  $("#block-system-main-menu ul.menu li.leaf > a").attr("tabindex", "4");
102  // var length = $("#block-menu-menu-header-links a").length;
103  $("#block-menu-menu-header-links a").each(function(index) {
104      $(this).attr({ "tabindex": "5" })
105      // if (index == length - 1) {
106      //     $(this).addClass("lastMobileItem")
107      // }   
108  })
109  /* Set the mega wrapper to closed */
110  $('.global-nav-wrapper').addClass("left-closed")
111});
112
113
114
115/*NORMAL NAV MENU - ADD SUB-MENU EXPAND/COLLASE FUNCTIONALITY FOR MOBILE SUB_MENU ITEMS */
116	$(function() {
117		$('.region-global-nav .block ul.menu > li.expanded > a').each(function() {
118			 $(this).before('<div title="Click to expand or collapse" class="nested-menu-item-toggle"></div>');
119		});
120		$('.nested-menu-item-toggle').css('cursor','pointer');	
121		$('.region-global-nav .block ul.menu > li.expanded').each(function() {
122			 $(this).removeClass('expanded');
123		});	
124
125
126		$('.page-outer').delegate('.mobileOpen',"keydown click",function(e){
127			if(e.keyCode == 32 && mobileOpen) {
128				e.preventDefault();
129				//close other menu's
130        		if(!$(this).hasClass('expanded')) {
131	        		clearOtherMobileMenu()
132	        	}
133
134	        	toggleMobileMenu();
135	        }
136	        if(e.keyCode == 13 && mobileOpen && $(document.activeElement).hasClass('mobileOpen')){
137	        	$(this).find('a')[0].click()
138
139	        }
140	        if(e.keyCode == 27 && mobileOpen) {
141	        	e.preventDefault();
142	        	$(document.activeElement).closest('li.mobileOpen').focus();
143	        	clearOtherMobileMenu();
144	        }
145		});
146
147		$('.block .nested-menu-item-toggle').click(function() {
148			//close other menu's -- keeps only one open at a time
149			if(!$(this).closest('li').hasClass('expanded')) {
150        		clearOtherMobileMenu()
151        	}
152			$(this).closest('li').toggleClass('expanded');
153			$(this).siblings('ul').toggle();		
154			if (this.parentElement.getAttribute("aria-expanded") == "true") {
155             this.parentElement.setAttribute("aria-expanded", "false");
156         } else {
157             this.parentElement.setAttribute("aria-expanded", "true");
158         }
159		});
160		
161		function toggleMobileMenu() {
162        	$(document.activeElement).closest('li').toggleClass('expanded');
163   			$(document.activeElement.getElementsByTagName('ul')[0]).toggle();
164      }
165      function clearOtherMobileMenu() {
166        	if(document.getElementsByClassName("expanded")[0]){
167        		document.getElementsByClassName("expanded")[0].setAttribute("aria-expanded", "false");
168         	$(document.getElementsByClassName("expanded")[0].getElementsByTagName('ul')[0]).toggle()
169         	document.getElementsByClassName("expanded")[0].classList.remove("expanded");
170
171        	}
172        	
173      }
174	});
175
176} )( jQuery );
177;
178(function ($) {
179
180$(function() {
181  $("#block-search-form .form-text").attr("value", "Search");
182
183  var text = "Search";
184
185  $("#block-search-form .form-text").focus(function() {
186    if($(this).attr("value") == text) $(this).attr("value", "");
187  });
188
189  $("#block-search-form .form-text").blur(function() {
190    if($(this).attr("value") == "") $(this).attr("value", text);
191  });
192});
193
194} )( jQuery );;
195(function ($) {
196
197$(function() {
198      $('.block-jquerymenu ul.jquerymenu > li.parent').each(function() {
199          if (!$(this).hasClass('active-trail')) {
200			  $(this).removeClass('open').addClass('closed');
201		  }
202      });  
203});
204
205$(function() {
206      $('.block-jquerymenu ul.jquerymenu > li.parent > span').each(function() {
207          if (!$(this).hasClass('active-trail')) {
208			  $(this).removeClass('open').addClass('closed');
209		  }
210      });  
211});
212
213/* ADD SUBNAVIGATION TOGGLE BUTTON FOR USE WITH MOBILE SCREEN WIDTHS */
214$(function() {
215	if ($('.block-jquerymenu').length>0) {
216		$('.mobile-subnav-placeholder').addClass('mobile-subnav-toggle');
217	} 		   
218  $('.mobile-subnav-toggle').click(function() {
219    var subnavmenu = $('.block-jquerymenu');
220    subnavmenu.toggleClass('visible');
221	$('.mobile-subnav-toggle').toggleClass('visible');
222    return false;
223  });
224});
225
226} )( jQuery );
227;
228/*global jQuery */
229/*!
230* FitText.js 1.2
231*
232* Copyright 2011, Dave Rupert http://daverupert.com
233* Released under the WTFPL license
234* http://sam.zoy.org/wtfpl/
235*
236* Date: Thu May 05 14:23:00 2011 -0600
237*/
238
239(function( $ ){
240
241  $.fn.fitText = function( kompressor, options ) {
242
243    // Setup options
244    var compressor = kompressor || 1,
245        settings = $.extend({
246          'minFontSize' : Number.NEGATIVE_INFINITY,
247          'maxFontSize' : Number.POSITIVE_INFINITY
248        }, options);
249
250    return this.each(function(){
251
252      // Store the object
253      var $this = $(this);
254
255      // Resizer() resizes items based on the object width divided by the compressor * 10
256      var resizer = function () {
257        $this.css('font-size', Math.max(Math.min($this.width() / (compressor*10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize)));
258      };
259
260      // Call once to set.
261      resizer();
262
263      // Call on resize. Opera debounces their resize by default.
264      $(window).bind('resize.fittext orientationchange.fittext', resizer);
265
266    });
267
268  };
269
270})( jQuery );
271
272(function($) {
273  $(document).ready(function() {
274    $('#block-block-13 .microsite_name a').fitText(1, {minFontSize: '28px', maxFontSize: '38px'});
275  });
276
277})( jQuery );
278;
279(function ($) {
280
281/* RANDOMIZE SITE BACKGROUND IMAGE Add .random class to html tag */
282$(function() { // onReady() 
283		if ((top.location.pathname === '/kura')){		/*only randomize the home page*/
284			/* Default numbers */
285			var dt = new Date();
286			var numRand = Math.floor((Math.random()*1)+1); 
287			var dayTime = '';
288			var season = '';
289			var seasonDayPhoto = '';  //These will be how many photo's are in each section
290			var seasonNightPhoto = '';
291
292			/* Find out what season it is */
293			/*var month = dt.getMonth() + 1; //starts at 0
294			
295			if ((month >= 3) && (month <= 5)){
296				season = 'sp'
297				seasonDayPhoto = 3;
298				seasonNightPhoto = 2;
299			}
300			else if ((month >= 6) && (month <= 8)){
301				season = 'su'
302				seasonDayPhoto = 3;
303				seasonNightPhoto = 2;
304			}
305			else if ((month >= 9) && (month <= 11)){
306				season = 'f'
307				seasonDayPhoto = 3;
308				seasonNightPhoto = 2;
309			}
310			else{
311				season = 'w'
312				seasonDayPhoto = 3;
313				seasonNightPhoto = 2;
314			}*/
315			
316			/* Find out if it's night or day */
317			/*if ((dt.getHours() > 6) && (dt.getHours() <= 18)){ 
318				numRand = Math.floor((Math.random()*seasonDayPhoto)+1); //this is here so the client can have a different number of day photos then night photos
319				dayTime = 'd';
320			}
321			else {
322				numRand = Math.floor((Math.random()*seasonNightPhoto)+1);
323				dayTime = 'n';
324			}*/
325			
326			var randomClass = 'random' + numRand + dayTime + season;
327			$('html').addClass(randomClass);
328		} else {
329			$('html').addClass('not-random');
330		}
331});
332
333} )( jQuery );;
334(function ($) {
335
336$(function() {
337	$('.page-search h1#page-title').text('Website Search Results');
338	$('.page-search #block-system-main h2:contains("Search results")').remove();  /*this removes extra unnecessary text from the search results page*/	
339});
340
341$(function () {
342	/*this handles the expand/collapse logic when clicking on the advanced search filter button*/ 
343	$('.block-facetapi').hide();
344    if(window.location.href.indexOf("im_field") > -1) {
345		$('#advancedsearch-button').toggleClass('expanded');
346		$('.block-facetapi').show();
347	}
348});
349
350$(function () {	
351	$('#aha-search-buttons .button.municipalcode span').click(function() {
352		var searchtext = document.querySelector('.search-form .form-item input').value;
353		//window.open('https://www.municode.com/library/search?stateId=9&clientId=2443&searchText=' + searchtext,'_blank');
354		document.location = "/municipalcode?keys=" + searchtext;
355	});
356})
357	
358$(function () {	
359	$('#aha-search-buttons .button.projects span').click(function() {
360		var searchtext = document.querySelector('.search-form .form-item input').value;
361		document.location = "/projects?keys=" + searchtext;
362	});
363});
364	
365$(function () {	
366	$('#aha-search-buttons .button.citycouncil-mtgs span').click(function() {
367		var searchtext = document.querySelector('.search-form .form-item input').value;
368		document.location = "/search/site/" + searchtext + "?f[0]=im_field_microsite%3A27&f[1]=im_field_event_type%3A14";
369	});
370});
371	
372$(function () {	
373	$('#aha-search-buttons .button.all-mtgs span').click(function() {
374		var searchtext = document.querySelector('.search-form .form-item input').value;
375		document.location = "/search/site/" + searchtext + "?f[0]=im_field_event_type%3A14";
376	});
377});
378	
379$(function () {	
380	$('#aha-search-buttons .button.departments span').click(function() {
381		var searchtext = document.querySelector('.search-form .form-item input').value;
382		document.location = "/search/site/" + searchtext + "?f[0]=im_field_microsite%3A20";
383	});
384});
385	
386$(function () {	
387	$('#aha-search-buttons .button.parks span').click(function() {
388		var searchtext = document.querySelector('.search-form .form-item input').value;
389		document.location = "/parksites?keys=" + searchtext;
390	});
391});
392	
393$(function () {	
394	$('#aha-search-buttons .button.bids-rfps span').click(function() {
395		var searchtext = document.querySelector('.search-form .form-item input').value;
396		document.location = "/rfps";
397	});
398});
399	
400$(function () {	
401	$('#aha-search-buttons .button.staff-directory span').click(function() {
402		var searchtext = document.querySelector('.search-form .form-item input').value;
403		document.location = "/directory?keys=" + searchtext;
404	});
405});
406
407$(function () {	
408	$('#aha-search-buttons .button.all-faqs span').click(function() {
409		var searchtext = document.querySelector('.search-form .form-item input').value;
410		document.location = "/faqs?keys=" + searchtext;
411	});
412});
413
414$(function () {	
415	window.onload = function() {
416		if($(window).width() > 1000) {
417			$('.region-content form.search-form').appendTo('#block-block-48');
418		} else {
419			$('#block-block-49').appendTo('.region-content form.search-form');
420			$('.block-facetapi').appendTo('.region-content form.search-form');
421		}
422	}
423});
424
425$(function () {	
426	var $filter = $('#block-block-49');
427	$('#block-block-49 .block-header').click(function() {
428		$filter.toggleClass('show');
429	});
430});
431
432})( jQuery );;
433/* Version: 1.0 -= 9/18/2017 */
434/* Version: 2.0 = 10/3/2017 -- Added arrow keys and now working on main menu */
435(function($) {
436    /* Adding tab function for menu's -- will apply to class aha_focus*/
437    /* When adding .aha-focus to a website element, dont forget to add tabindex="0" as well*/
438
439    /* To add to Menu Setting to the mega menu, you need to go into _nav-global-nav-mega.scss and copy all lines with :hover and replace them with .focus-within. Be careful with ones that have two :hover,
440    	You will need to delete both but only add in one .focus-within. */
441    $(function() {
442        /* Only for main-menu - adds the correct classes to the menu // adds a -1 to the a tag on the each menu */
443        $("#block-menu-block-39 div.block-content .menu-block-39 > ul.menu").attr("role", "tree");
444        $("#block-menu-block-39 div.block-content .menu-block-39 > ul.menu > li").attr({"aria-expanded": "false", "role":"treeitem"});
445        $("#block-menu-block-39 div.block-content .menu-block-39 > ul.menu > li").addClass('aha-focus').attr("tabindex", "0");
446        $("#block-menu-block-39 div.block-content .menu-block-39 >  ul.menu > li > a").attr("tabindex", "-1");
447        keyCode: {
448            ENTER = 13,
449            SPACE = 32,
450            LEFT = 37,
451            UP = 38,
452            RIGHT = 39,
453            DOWN = 40,
454            ESCAPE = 27,
455            TAB = 9
456        };
457        $('#block-menu-block-39').delegate('.aha-focus','keydown', function(e) {
458            /* add event that in case of click */
459            document.addEventListener("click", handler, true);
460            /* If user presses the 'enter' key then it will add 'focus-within' class to current class */
461            if (((e.keyCode == ENTER) || (e.keyCode == SPACE) || (e.keyCode == DOWN) && (!$(this).hasClass("focus-within"))) && !$(this).hasClass('mobileOpen')) {
462                e.preventDefault();
463                $(this).addClass("focus-within");
464                document.getElementsByClassName("focus-within")[0].setAttribute("aria-expanded", "true");
465                /* If the user presses enter and the main menu has a A tag under it, it will go to the a tag instead of opening the menu */
466                if ((e.keyCode == ENTER) && ($(this).find('a')[0].hasAttribute("tabindex"))) {
467                    $(this).find('a:first')[0].click();
468                }
469            }
470            /* key board keys within the menu */
471            else if (((e.keyCode == LEFT) || (e.keyCode == DOWN) || (e.keyCode == RIGHT) || (e.keyCode == UP) || (e.keyCode == TAB) )
472            		&& !$(this).hasClass('mobileOpen')) {
473                if(e.keyCode == TAB && !$(this).hasClass('focus-within')){
474                    /* if tab and the menu isn't open, then return and run the tab code */
475                   return;
476                }
477                e.preventDefault();
478                e.stopPropagation();
479                /* Look at current active element and then index all li tags close to that */
480                var $focused = $(document.activeElement);
481                if (e.keyCode == DOWN || (e.keyCode == TAB && !e.shiftKey) ) {
482                    /* if it's on the top level, focus the first a tag */
483                    if ($focused.is('.aha-focus')) {
484                        //check to see if there a menu below it
485                        if($focused.find('ul a')[0]) {
486                            $focused.find('ul a')[0].focus();
487                        }
488                        else return
489                    } else {
490                        if($focused.parent().hasClass('last')){
491                            $(this).focus();
492                        }
493                        else if($focused.parent().next().find('a')[0]){
494                            $focused.parent().next().find('a')[0].focus()
495                        }
496                    }
497                }
498                if (e.keyCode == UP || (e.keyCode == TAB && e.shiftKey) ) {
499                    /* if it's on the top level, focus the bottom a tag */
500                    if ($focused.is('.aha-focus')) {
501                        $focused.find('ul a').last().focus();
502                    } else {
503                        if($focused.parent().hasClass('first')){
504                            $(this).focus();
505                        }
506                        else if($focused.parent().prev().find('a')[0]){
507                            $focused.parent().prev().find('a')[0].focus()
508                        }
509                    }
510                }
511                if (e.keyCode == RIGHT) {
512                    $(this).next().focus();
513                    clearFocus();
514                }
515                if (e.keyCode == LEFT) {
516                    $(this).prev().focus();
517                    clearFocus();
518                }
519            }
520            /* if the user presses 'escape' then it will remove the focus-within class and focus back at the top */
521            else if (e.keyCode == ESCAPE) {
522                clearFocus();
523                $(this).focus();
524            }
525            /* if the user tabs to far back up to the next parent class, this will close the previous focu
525s */
526            // if ((!$(this).hasClass("focus-within")) && (!$(this).closest('.aha-focus').hasClass("focus-within"))) {
527            //     clearFocus();
528
529            // }
530            //  clearing for arrow keys
531            // if (($(document.activeElement).is('.aha-focus')) && (!$(document.activeElement).is('.focus-within'))) {
532            //     clearFocus();
533            // }
534
535        });
536        /* Create event when the user clicks outside of focus it closes the menu */
537        function handler(e) {
538            clearFocus();
539            document.removeEventListener("click", handler, true);
540            $(this).focus();
541        }
542        /* Clear focus-within no matter the focus */
543        function clearFocus() {
544            if ($('.focus-within').length > 0) {
545                document.getElementsByClassName("focus-within")[0].setAttribute("aria-expanded", "false");
546                document.getElementsByClassName("focus-within")[0].classList.remove("focus-within");
547            }
548        }
549        /* if hovering, it clears focus-within */
550        $('.aha-focus').hover(function() {
551            clearFocus();
552
553        });
554    });
555})(jQuery);
556;
557(function($) {
558	$(window).load(function() {
559		if (!document.getElementById('background').classList.contains('page-node-38033')) {
560			var $background = document.getElementById('html_background');
561			$($background).css({"height":"auto"}) //Overriding Google Translate
562			var $windowHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
563			var $curHeight = $background.offsetHeight;
564			if($windowHeight > $curHeight) {
565				var $curContainer = $('.container2-wrapper');
566				var $newContainer = $windowHeight - $curHeight + $curContainer.height();
567				$curContainer.css({'min-height':$newContainer - 1 + 'px'})
568			}
569		}
570
571	});
572})(jQuery);
573;
574(function($) {
575	$(document).ready(function() {
576		$('.node').each(function() {
577			addTableStlye()
578		});
579		function addTableStlye() {
580			var $table = document.getElementsByTagName("table");
581			var $widthScreen = $( window ).width();
582			for (i = 0; i < $table.length; i++) {
583				$curTable = $(document.getElementsByTagName("table")[i])
584				if(!$curTable.hasClass('views-table') && !$curTable.parent().hasClass('table-responsive') ) {
585					var $widthTable = document.getElementsByTagName("table")[i].offsetWidth;
586					$curTable.wrap('<div class="table-responsive"></div>');
587					if($widthScreen < $widthTable && $widthScreen < 1000) {
588						$curTable.before('<div class="table-overlay"></div>')
589						$curTable.siblings('.table-overlay').css({
590							'height': $curTable.height() + 'px',
591							'width':$widthScreen + 'px'
592						});
593						$curTable.parent('.table-responsive').addClass('overlayed')
594					}	
595					
596				}
597				
598
599			}
600		}
601		
602	});
603	$(document).ready(function() {
604		$('.region-content').delegate('.table-responsive','touchmove click', function(e) {
605			if(!$(this).hasClass('clicked')){
606				var $this = $(this)
607				$this.addClass('clicked')
608				var timeoutHandle = null;
609				 if (timeoutHandle) {
610					clearTimeout(timeoutHandle);
611					timeoutHandle = null;
612				}
613				timeoutHandle = setTimeout(function() {
614					$this.find('.table-overlay').css({
615						"height": 0,
616						"width":0
617					})
618				}, 1100);
619			}
620		})
621	})
622
623})(jQuery);
624
625;
626(function($) {
627	$(function() {
628		if($('.view-alerts')){
629			var alerts = $('.view-alerts');
630			var activeRow = []
631			$.each(alerts,function(key,value){
632				var rows = $(value).find('.views-row')
633				var numOfRows = rows.length
634				activeRow[key] = 0;
635				
636				//Add roles to each row
637				$.each(rows, function(key2,value2) {
638					value2.setAttribute('role','alert')
639				})
640
641
642				//Add active to the first one
643				rows[activeRow[key]].classList.add('active')
644				rows[activeRow[key]].getElementsByTagName("a")[0].tabIndex = 2
645
646				//Add multiple class
647				if(numOfRows > 1){
648					$(value).addClass('multiple')
649
650					//add click arrow key functionality 
651					var controls = $(value).find('.alert-controls')
652					controls.find('a').attr({'tabindex':'-1'})
653					controls.find('.alert-prev').click(function(){				
654						prevRow(rows,key, numOfRows);
vendor: 5,668 bytes, lines 655-706
655					})
656					controls.find('.alert-next').click(function(){				
657						nextRow(rows,key, numOfRows)
658					})
659					//Add keyboard functionality
660					$(value).keydown(function(e){
661						//left
662						if(e.keyCode == 37){
663							prevRow(rows,key, numOfRows)
664
665						}
666						//right
667						if(e.keyCode == 39) {
668							nextRow(rows,key, numOfRows)
669						}
670					})
671				}
672				
673			})
674			
675			
676		}
677		function prevRow(rows,key, numOfRows) {
678			rows[activeRow[key]].classList.remove('active')
679			activeRow[key] = 1 - activeRow[key]
680			if(activeRow[key] < 0) {
681				activeRow[key] = numOfRows - 1
682			}
683			rows[activeRow[key]].classList.add('active')
684			rows[activeRow[key]].getElementsByTagName('a')[0].focus()
685		}
686		function nextRow(rows, key, numOfRows) {
687
688			rows[activeRow[key]].classList.remove('active')
689			activeRow[key] = 1 + activeRow[key]
690			if(activeRow[key] >= numOfRows){
691				activeRow[key] = 0;
692			}
693			rows[activeRow[key]].classList.add('active')	
694			rows[activeRow[key]].getElementsByTagName('a')[0].focus()
695		}
696
697	})
698
699
700})(jQuery);;
701/*! Respond.js v1.4.2: min/max-width media query polyfill
702 * Copyright 2014 Scott Jehl
703 * Licensed under MIT
704 * http://j.mp/respondjs */
705
706!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b<t.length;b++){var c=t[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!p[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(w(c.styleSheet.rawCssText,e,f),p[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!s||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}x()};y(),c.update=y,c.getEmValue=u,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);;

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.