1(function (document, history, location) { 2 let HISTORY_SUPPORT = !!(history && history.pushState); 3 4 let anchorScrolls = { 5 ANCHOR_REGEX: /^#[^ ]+$/, 6 OFFSET_HEIGHT_PX: 90, 7 8 init: function () { 9 this.scrollToCurrent(); 10 window.addEventListener('hashchange', this.scrollToCurrent.bind(this)); 11 document.body.addEventListener('click', this.delegateAnchors.bind(this)); 12 }, 13 14 getFixedOffset: function () { 15 return this.OFFSET_HEIGHT_PX; 16 }, 17 18 scrollIfAnchor: function (href, pushToHistory) { 19 let match, rect, anchorOffset; 20 21 if (!this.ANCHOR_REGEX.test(href)) { 22 return false; 23 } 24 25 match = document.getElementById(href.slice(1)); 26 27 if (match) { 28 rect = match.getBoundingClientRect(); 29 anchorOffset = window.pageYOffset + rect.top; 30 setTimeout(function () { 31 window.scrollTo(window.pageXOffset, anchorOffset); 32 }, 400); 33 34 if (HISTORY_SUPPORT && pushToHistory) { 35 history.pushState({}, document.title, location.pathname + href); 36 } 37 } 38 39 return !!match; 40 }, 41 42 43 scrollToCurrent: function () { 44 this.scrollIfAnchor(window.location.hash); 45 }, 46 47 delegateAnchors: function (e) { 48 let elem = e.target; 49 50 if ( 51 elem.nodeName === 'A' && 52 this.scrollIfAnchor(elem.getAttribute('href'), true) 53 ) { 54 e.preventDefault(); 55 } 56 } 57 }; 58 59 window.addEventListener( 60 'DOMContentLoaded', anchorScrolls.init.bind(anchorScrolls) 61 ); 62 63})(window.document, window.history, window.location); 64 65 66function classList() { 67 68 const rightBtn = document.querySelector('#right-btn'); 69 const leftBtn = document.querySelector('#left-btn'); 70 const blockScrollOverflow = document.querySelector('.document-scroll-overflow-wrap'); 71 const wrapScrollOverflow = document.querySelector('.document'); 72 73 if (rightBtn !== null) { 74 rightBtn.addEventListener("click", function (event) { 75 const conent = document.querySelector('.document'); 76 conent.scrollLeft += 200; 77 event.preventDefault(); 78 }); 79 } 80 81 if (leftBtn !== null) { 82 leftBtn.addEventListener("click", function (event) { 83 const conent = document.querySelector('.document'); 84 conent.scrollLeft -= 200; 85 event.preventDefault(); 86 }); 87 } 88 89 const blockScrollDocument = document.querySelector('.document'); 90 91 if (blockScrollDocument !== null) { 92 if (blockScrollDocument.clientWidth === blockScrollDocument.scrollWidth) { 93 } else { 94 if (blockScrollOverflow) { 95 blockScrollOverflow.classList.add("dnoneclass"); 96 } 97 if (wrapScrollOverflow) { 98 wrapScrollOverflow.classList.add("overflow-auto"); 99 } 100 } 101 } 102 103 // SET FILTER-CONTENTS HEIGHT 104 let pageAsideDocument = document.querySelector('.page-aside--document'); 105 if (typeof (pageAsideDocument) != 'undefined' && pageAsideDocument != null) { 106 let heightWindow = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; 107 let filter = document.querySelector('.content-item--filter'); 108 let filterContents = document.querySelector('.content-item--contents'); 109 let filterHeight = 0; 110 if (filter) { 111 filterHeight = filter.clientHeight; 112 } 113 let differents = heightWindow - filterHeight - 140; 114 if (filterContents !== null) { 115 filterContents.style.height = differents + "px"; 116 } 117 } 118 119 let menuBtn = document.querySelector('.menu-btn'); 120 let menu = document.querySelector('.menu-mobile'); 121 let menuBg = $('.menu-mobile__bg'); 122 let body = document.body; 123 124 //MENU-MOBILE TOGGLE 125 menuBtn.addEventListener('click', function () { 126 toggleClass(menuBtn, 'active'); 127 toggleClass(menu, 'active'); 128 menuBg.toggleClass('active'); 129 toggleClass(body, 'fixed'); 130 }); 131 132 $(menuBg).click(function () { 133 menuBtn.click(); 134 }); 135 136 //FILTER TOGGLE 137 let filterBtn = document.querySelector('.js-filters-toggle-link'); 138 if (typeof (filterBtn) != 'undefined' && filterBtn != null) { 139 filterBtn.addEventListener("click", function () { 140 toggleClass(this, 'active'); 141 toggleClass(this.parentNode, 'active'); 142 if (contentsBtn) { 143 removeClass(contentsBtn.parentNode, "active"); 144 removeClass(contentsBtn, "active"); 145 146 } 147 }); 148 } 149 //CONTENTS TOGGLE
150 let contentsBtn = document.querySelector('.js-contents-toggle-link'); 151 if (typeof (contentsBtn) != 'undefined' && contentsBtn != null) { 152 contentsBtn.addEventListener("click", function () { 153 toggleClass(this, 'active'); 154 toggleClass(this.parentNode, 'active'); 155 156 removeClass(filterBtn.parentNode, "active"); 157 removeClass(filterBtn, "active"); 158 }); 159 } 160 161 //CLICK OUTSIDE -- filter 162 let filtersOut = document.querySelector('.content-item--filter'); 163 document.body.addEventListener("click", function (e) { 164 let target = e.target || e.srcElement; 165 166 if (target !== filtersOut && !isChildOf(target, filtersOut)) { 167 removeClass(filterBtn.parentNode, "active"); 168 removeClass(filterBtn, "active"); 169 } 170 }, false); 171 172 // CLICK BY CLOSE -- filter 173 const closeBtn = document.querySelector('.close-btn'); 174 if (closeBtn) { 175 closeBtn.onclick = function () { 176 removeClass(filterBtn.parentNode, "active"); 177 removeClass(filterBtn, "active"); 178 } 179 } 180 181 //CLICK OUTSIDE -- contents 182 let contentsOut = document.querySelector('.content-item--contents'); 183 document.body.addEventListener("click", function (e) { 184 let target = e.target || e.srcElement; 185 186 if (target !== contentsOut && !isChildOf(target, contentsOut)) { 187 if (contentsBtn) { 188 removeClass(contentsBtn, "active"); 189 if (contentsBtn.parentNode) { 190 removeClass(contentsBtn.parentNode, "active"); 191 } 192 } 193 } 194 }, false); 195 196 //SEARCH-FORM TOGGLE 197 let searchformBtn = document.querySelector('.js-search-form-toggle'); 198 let asideFilter = document.querySelector('.page-aside--filter'); 199 if (typeof (searchformBtn) != 'undefined' && searchformBtn != null) { 200 searchformBtn.addEventListener("click", function () { 201 toggleClass(asideFilter, 'active'); 202 }); 203 204 document.body.addEventListener("click", function (e) { 205 let target = e.target || e.srcElement; 206 207 if (target !== asideFilter && target !== searchformBtn && !isChildOf(target, asideFilter)) { 208 removeClass(asideFilter, "active"); 209 } 210 }, false); 211 } 212 213 //CHECK ALL 214 let checkAllBtn = document.querySelector('.checkAll'); 215 if (typeof (checkAllBtn) != 'undefined' && checkAllBtn != null) { 216 checkAllBtn.addEventListener("click", function () { 217 let checkboxes = document.getElementsByName("notif"); 218 for (let i = 0; i < checkboxes.length; i++) { 219 if (checkboxes[i].type === "checkbox") { 220 checkboxes[i].checked = true; 221 } 222 } 223 224 let checkboxes_control = document.getElementsByName("block_control"); 225 for (let i = 0; i < checkboxes_control.length; i++) { 226 if (checkboxes_control[i].type === "checkbox") { 227 checkboxes_control[i].checked = true; 228 } 229 } 230 231 let remind = document.getElementsByName("block_remind"); 232 for (let i = 0; i < remind.length; i++) { 233 if (remind[i].type === "checkbox") { 234 remind[i].checked = true; 235 } 236 } 237 }); 238 } 239 //UNCHECK ALL 240 let unCheckAllBtn = document.querySelector('.uncheckAll'); 241 if (typeof (unCheckAllBtn) != 'undefined' && unCheckAllBtn != null) { 242 unCheckAllBtn.addEventListener("click", function () { 243 let checkboxes = document.getElementsByName("notif"); 244 for (let i = 0; i < checkboxes.length; i++) { 245 if (checkboxes[i].type === "checkbox") { 246 checkboxes[i].checked = false; 247 } 248 } 249 250 let checkboxes_control = document.getElementsByName("block_control"); 251 for (let i = 0; i < checkboxes_control.length; i++) { 252 if (checkboxes_control[i].type === "checkbox") { 253 checkboxes_control[i].checked = false;
254 } 255 } 256 257 let remind = document.getElementsByName("block_remind"); 258 for (let i = 0; i < remind.length; i++) { 259 if (remind[i].type === "checkbox") { 260 remind[i].checked = false; 261 } 262 } 263 }); 264 } 265 266 267 //SHOW HIDDEN INPUT 268 let source = document.querySelector("#js-select-sphere"); 269 let hiddenDiv = document.querySelector("#area-hidden"); 270 if (typeof (source) != 'undefined' && source != null) { 271 source.addEventListener('change', function () { 272 if (this.options[this.selectedIndex].value == "������") { 273 hiddenDiv.style.display = 'block'; 274 } else { 275 hiddenDiv.style.display = 'none'; 276 } 277 }) 278 } 279 280} 281 282function toggleClass(element, className) { 283 if (!element || !className) { 284 return; 285 } 286 let classString = element.className, nameIndex = classString.indexOf(className); 287 if (nameIndex == -1) { 288 classString += ' ' + className; 289 } else { 290 classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length); 291 } 292 element.className = classString; 293} 294 295function removeClass(element, className) { 296 let currentClassName = element.getAttribute("class"); 297 if (typeof currentClassName !== "undefined" && currentClassName) { 298 299 let class2RemoveIndex = currentClassName.indexOf(className); 300 if (class2RemoveIndex != -1) { 301 let class2Remove = currentClassName.substr(class2RemoveIndex, className.length); 302 let updatedClassName = currentClassName.replace(class2Remove, "").trim(); 303 element.setAttribute("class", updatedClassName); 304 } 305 } else { 306 element.removeAttribute("class"); 307 } 308} 309 310function isChildOf(child, parent) { 311 if (child.parentNode === parent) { 312 return true; 313 } else if (child.parentNode === null) { 314 return false; 315 } else { 316 return isChildOf(child.parentNode, parent); 317 } 318} 319 320if (document.addEventListener) { 321 document.addEventListener("DOMContentLoaded", classList); 322} else if (document.attachEvent) { 323 document.attachEvent("DOMContentLoaded", classList); 324} 325$(document).ready(function () { 326 $('.close-content-item').on('click', function () { 327 $(this).closest('.content-item').removeClass('active'); 328 }); 329}); 330
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.