1// must be loaded at the end of the body element 2(function(){ 3 var addEvent = function(element, event, func){ 4 if(element.addEventListener){ 5 element.addEventListener(event, func, false); 6 } 7 else{ 8 element.attachEvent('on'+event, func); 9 } 10 }, 11 eventPreventDefault = function(event){ 12 event = event || window.event; 13 if(event.preventDefault){ 14 event.preventDefault(); 15 } 16 else{ 17 event.returnValue = false; 18 } 19 }, 20 navMainMobile = document.getElementById('nav-main-mobile'), 21 navMain = document.getElementById('nav-main'), 22 navMainLis, i, element, navMainTouched, touchUsed, 23 navSearch = document.getElementById('nav-search'); 24 if(navMainMobile){ 25 addEvent(navMainMobile, 'change', function(){ 26 document.location.href = navMainMobile.value; 27 }); 28 } 29 if(navSearch){ 30 addEvent(navSearch.getElementsByTagName('input')[0], 'focus', function(){ 31 navSearch.className = 'focus'; 32 }); 33 addEvent(navSearch.getElementsByTagName('button')[0], 'focus', function(){ 34 navSearch.className = 'focus'; 35 }); 36 addEvent(navSearch.getElementsByTagName('input')[0], 'blur', function(){ 37 navSearch.className = ''; 38 }); 39 addEvent(navSearch.getElementsByTagName('button')[0], 'blur', function(){ 40 navSearch.className = ''; 41 }); 42 } 43 // dropdown fix for all touch devices except iOS 44 if(window.Modernizr && Modernizr.touch && !navigator.userAgent.match(/(iPad|iPhone|iPod)/i)){ 45 if(navMain && navMain.getElementsByTagName('ul').length){ 46 // devices supporting touch events may not mean touch input is used 47 // e.g. touch enabled laptops running Windows 8 48 addEvent(navMain, 'touchstart', function(event) { 49 touchUsed = true; 50 }); 51 navMainLis = navMain.getElementsByTagName('ul')[0].childNodes; 52 for(i = 0; i < navMainLis.length; i++){ 53 if(navMainLis[i].nodeName && navMainLis[i].nodeName.toLowerCase() === 'li' && navMainLis[i].getElementsByTagName('ul').length){ 54 element = navMainLis[i].getElementsByTagName('a'); 55 if(element && (element = element[0])){ 56 addEvent(element, 'click', function(event){ 57 if(navMainTouched !== this && touchUsed){ 58 navMainTouched = this; 59 eventPreventDefault(event); 60 } 61 }); 62 } 63 } 64 } 65 } 66 } 67})(); 68 69// IE8 icon font bug (http://stackoverflow.com/a/10557782) 70if((function(){ 71 var div = document.createElement('div'); 72 div.innerHTML = '<!--[if lt IE 9]><br><![endif]-->'; 73 return div.getElementsByTagName('br')[0]; 74})()){ 75 (function(){ 76 var head = document.getElementsByTagName('head')[0], 77 style = document.createElement('style'); 78 style.type = 'text/css'; 79 style.styleSheet.cssText = ':before,:after{content:none !important'; 80 head.appendChild(style); 81 setTimeout(function(){ 82 head.removeChild(style); 83 }, 0); 84 })(); 85}
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.