1$(document).ready(function(){var switched=false;var updateTables=function(){if(($(window).width()<900)&&!switched){switched=true;$("table.responsive").each(function(i,element){splitTable($(element));});return true;} 2else if(switched&&($(window).width()>900)){switched=false;$("table.responsive").each(function(i,element){unsplitTable($(element));});}};$(window).load(updateTables);$(window).bind("resize",updateTables);function splitTable(original) 3{original.wrap("<div class='table-wrapper' />");var copy=original.clone();copy.find("td:not(:first-child), th:not(:first-child)").css("display","none");copy.removeClass("responsive");original.closest(".table-wrapper").append(copy);copy.wrap("<div class='pinned' />");original.wrap("<div class='scrollable' />");} 4function unsplitTable(original){original.closest(".table-wrapper").find(".pinned").remove();original.unwrap();original.unwrap();}}); 5 6 7$(document).foundation(); 8$('.title-bar').on('sticky.zf.stuckto:top', function(){ 9 $(this).addClass('shrink'); 10}); 11$('.title-bar').on('sticky.zf.unstuckfrom:top', function(){ 12 $(this).removeClass('shrink'); 13}); 14 15$('.tut-bar').on('sticky.zf.stuckto:top', function(){ 16 $(this).addClass('shrink'); 17}); 18$('.tut-bar').on('sticky.zf.unstuckfrom:top', function(){ 19 $(this).removeClass('shrink'); 20}); 21 22$(".off-canvas").on("opened.zf.offcanvas", function() { 23 $('html,body').css('overflow-y', 'hidden'); 24}); 25$(".off-canvas").on("closed.zf.offcanvas", function() { 26 $('html,body').css('overflow-y', ''); 27}); 28 29var lIsMSIE = false; 30$(function(){ 31 32 // Attach the change event listener to change the label of all input[type=file] elements 33 var els = document.querySelectorAll("input[type=file]"), 34 i; 35 for (i = 0; i < els.length; i++) { 36 els[i].addEventListener("change", function() { 37 var label = this.previousElementSibling; 38 label.innerHTML = this.files[0].name; 39 }); 40 } 41 42 try { 43 var ua = window.navigator.userAgent; 44 lIsMSIE = ua.indexOf('MSIE ')>0; 45 } catch (e) {} 46 47 // scroll to top 48 $(document).on( 'scroll', function(){ 49 if ($(window).scrollTop() > 100) { 50 $('.scroll-top-wrapper').addClass('show'); 51 } else { 52 $('.scroll-top-wrapper').removeClass('show'); 53 } 54 }); 55 $('.scroll-top-wrapper').on('click', scrollToTop); 56 57 // defer load css 58 if (lDeferStyleSheets) { 59 lDeferStyleSheets.forEach(function(css) { 60 loadStyleSheet(css); 61 }); 62 } 63}); 64 65function scrollToTop() { 66 verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0; 67 element = $('body'); 68 offset = element.offset(); 69 offsetTop = offset.top; 70 $('html, body').animate({scrollTop: offsetTop}, 500, 'linear'); 71} 72 73function getTimeZone() { 74 var tzo=(new Date().getTimezoneOffset()/60)*(-1); 75 var prefix = "GMT "; 76 if (tzo >= 0) { 77 prefix += "+"; 78 } 79 tzo = prefix + tzo; 80 return tzo; 81} 82function setCookie(name, value, expires, path, domain, secure) { 83 if (expires==undefined) { 84 expires = new Date(new Date().getTime() + (1000*60*60*24 *90)); 85 } 86 if (path==undefined) { 87 path = "/"; 88 } 89 document.cookie= name + "=" + escape(value) + 90 ((expires) ? "; expires=" + expires.toGMTString() : "") + 91 ((path) ? "; path=" + path : "") + 92 ((domain) ? "; domain=" + domain : "") + 93 ((secure) ? "; secure" : ""); 94} 95 96function getCookie(name) { 97 var dc = document.cookie; 98 var prefix = name + "="; 99 var begin = dc.indexOf("; " + prefix); 100 if (begin == -1) { 101 begin = dc.indexOf(prefix); 102 if (begin != 0) return null; 103 } 104 else { begin += 2; } 105 var end = document.cookie.indexOf(";", begin); 106 if (end == -1) { end = dc.length; } 107 return unescape(dc.substring(begin + prefix.length, end)); 108} 109 110function removeCookie(name) { 111 var date = new Date(); 112 date.setTime(date.getTime()+(-1*24*60*60*1000)); 113 setCookie(name, "", date, "/"); 114} 115function getEditionName(aEditionCode) { 116 if ('ee'==aEditionCode) { 117 return 'Enterprise'; 118 } else if ('pe'==aEditionCode) { 119 return 'Professional'; 120 } else if ('se'==aEditionCode) { 121 return 'Standard'; 122 } else if ('me'==aEditionCode) { 123 return 'Modeler'; 124 } else if ('ce'==aEditionCode) { 125 return 'Community'; 126 } else if ('pr'==aEditionCode) { 127 return 'Premium'; 128 } else if ('es'==aEditionCode) { 129 return 'Essential'; 130 } else if ('ad'==aEditionCode) { 131 return 'Advance'; 132 } else if ('st'==aEditionCode) { 133 return 'Starter'; 134 } else if ('ex'==aEditionCode) { 135 return 'Express'; 136 } else { 137 return ''; 138 } 139} 140 141function refreshCaptcha() { 142 var img = document.getElementById("jc_captchaImg"); 143 var path = "/servlet/captcha?rand="+randomStr(4); 144 img.src = path; 145} 146var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 147function randomStr(len) { 148 var result = ""; 149 for (var i=0;i<len;i++) { 150 result += chars.charAt(Math.random()*chars.length); 151 } 152 return result; 153} 154 155function loadStyleSheet(src) { 156 if (document.createStyleSheet){ 157 document.createStyleSheet(src); 158 } 159 else { 160 $("head").append($("<link rel='stylesheet' href='"+src+"' type='text/css' />")); 161 } 162}; 163 164Foundation.Abide.defaults.patterns['letters_num_and_spaces'] = /^[\w\-\s\!\$&'\(\)\*\+,:;=./#%?^"]+$/; 165Foundation.Abide.defaults.patterns['letters_and_spaces'] = /^[A-Za-z\-\s]+$/; 166 167 168Foundation.onImagesLoaded = function(images, callback) { 169 var self = this, 170 unloaded = images.length; 171 172 if (unloaded === 0) { 173 callback(); 174 } 175 176 images.each(function () { 177 // Check if image is loaded 178 if (this.complete || this.readyState === 4 || this.readyState === 'complete') { 179 singleImageLoaded(); 180 } 181 // Force load the image 182 else {
183 // fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/ 184 if (lIsMSIE) { 185 var src = $(this).attr('src'); 186 $(this).attr('src', src + (src.indexOf('?') >= 0 ? '&' : '?') + new Date().getTime()); 187 } 188 $(this).one('load', function () { 189 singleImageLoaded(); 190 }); 191 } 192 }); 193 194 function singleImageLoaded() { 195 unloaded--; 196 if (unloaded === 0) { 197 callback(); 198 } 199 } 200}; 201 202$(document).ready(function() { 203 const mobileMenuBtn = $('#mobile-menu-btn'); 204 const mobileMenu = $('#mobile-menu'); 205 206 mobileMenuBtn.click(function() { 207 mobileMenu.toggleClass('hidden'); 208 209 // Toggle html scroll 210 if (mobileMenu.hasClass('hidden')) { 211 $('html').css('overflow', ''); 212 } else { 213 $('html').css('overflow', 'hidden'); 214 } 215 216 // Toggle icon 217 const icon = mobileMenuBtn.find('svg'); 218 const isMenuIcon = icon.html().includes('M4 6h16M4 12h16M4 18h16'); 219 if (isMenuIcon) { 220 icon.html('<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>'); 221 } else { 222 icon.html('<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>'); 223 } 224 }); 225});
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.