1var HeaderSearchModule = (function () { 2 var headerSearchContainer = $(".header__search-container"); 3 4 function searchDialogVisibleChildrenException() { 5 $("section.header__search-overlay-section").find("[tabindex='-1']:not(svg,use):not(.sr-class), [aria-hidden='true']:not(svg,use,.sr-class)").each(function (key, value) { 6 $(value).removeAttr("aria-hidden"); 7 if ($(value).attr("tabindex") < 0) { 8 $(value).removeAttr("tabindex"); 9 } 10 }); 11 } 12 13 return { 14 init: function () { 15 $(window).on("load resize", function () { 16 if (UtilityModule.getViewport() == "mobile") { 17 $(".header__utilities .header__search-container").attr('aria-hidden', 'true'); 18 $(".header__utilities .header__search-container").attr('tabindex', '-1'); 19 } else { 20 $(".header__utilities .header__search-container").attr('aria-hidden', 'false'); 21 $(".header__utilities .header__search-container").attr('tabindex', '0'); 22 } 23 }); 24 25 $(".header__search-container").on({ 26 click: function (e) { 27 $(".header__search-overlay-section").removeClass("d-none"); 28 $("#search-overlay").attr('aria-hidden', 'false'); 29 $(".search-overlay__close a,.header__search-overlay-section").attr('aria-hidden', 'false'); 30 $(".search-overlay__close a").attr('tabindex', '0'); 31 $(".header__search-overlay .search-overlay__close a").focus(); 32 $('.header__search-overlay .search-overlay__close > a').focus(); 33 UtilityModule.openModal($(".header__search-overlay-section")); 34 searchDialogVisibleChildrenException(); 35 36 }, keydown: function (e) { 37 var key = e.keyCode; 38 if (key == 13 || key == 32) { 39 e.preventDefault(); 40 $(this)[0].click(); 41 } 42 } 43 }); 44 45 46 $(".header__search-overlay .search-overlay__close").on({ 47 click: function (e) { 48 var parent = $(this).closest(".header__search-overlay-section"); 49 UtilityModule.closeModal(parent); 50 parent.addClass("d-none"); 51 parent.find("#searchInPage").val(""); 52 parent.find(".results_content").remove(); 53 parent.find('.results_pagination').addClass('d-none'); 54 parent.find('.display-text ').addClass('d-none'); 55 parent.find('.no-results ').addClass('d-none'); 56 parent.find('.search-results-container__correction-text ').addClass('d-none'); 57 parent.find(".search-trigger").removeClass("error"); 58 parent.find(".search-trigger").removeClass("search-initiated"); 59 parent.find(".popular-search-container").removeClass("d-none"); 60 clear_suggestions(); 61 62 if($(this).hasClass("footer-search")) { 63 $(".footer__search-container").focus(); 64 $("html, body").animate({ 65 scrollTop: $(".footer__search-container").offset().top + 100 66 }, 100); 67 } else { 68 $(".header__search-container").focus(); 69 } 70 $(".overlay-search-results-container").removeClass("searchClicked"); 71 72 }, keypress: function (e) { 73 var key = e.which; 74 if (key == 13 || key == 32) { 75 e.preventDefault(); 76 $(this)[0].click(); 77 } 78 } 79 }); 80 81 82 headerSearchContainer.find(".header__search-trigger").on("click", function (evt) { 83 AnalyticsModule.linkClick("", "Global Top Navigation", $(this).find(".header__search-label").text().trim()); 84 }); 85 } 86 }; 87})();
88HeaderSearchModule.init(); 89 90if ($(".header__search-overlay .isLucene").val() != 'undefined' && $(".header__search-overlay .isLucene").val() != null && $(".header__search-overlay .isLucene").val()) { 91 var searchListCount = parseInt($(".page-count option:eq(0)").val()); 92 var fileSearchListCount = parseInt($(".file-count option:eq(0)").val()) || 10; 93 var searchMaxPagCount; 94 if (UtilityModule.getViewport() == "mobile") { 95 searchMaxPagCount = 3; 96 } else { 97 searchMaxPagCount = 5; 98 } 99 var showingCount = 15; 100 101 var LuceneSearchModule = (function () { 102 var $header = $(".header__search-overlay-section"); 103 var numSearchResults = 10; 104 var searchPaginationNumber; 105 var fileSearchPaginationNumber; 106 var searchPaginationPrev; 107 var fileSearchPaginationPrev; 108 var filenumSearchResults = 10; 109 var queryString; 110 var searchRequest; 111 var searchStart = 1; 112 var searchEnd = 10; 113 var fileSearchStart = 1; 114 var fileSearchEnd = 10; 115 var totalSearchResults = 0; 116 var totalFiles = 0; 117 var didYouMean = null; 118 var searchCounter = 1; 119 var defaultNoResultsMsg = $(".overlay-search-results-container__results .no-results").html(); 120 var viewportOld = UtilityModule.getViewport(); 121 var viewportNew; 122 var listOn = $(".search-results-layout .icon-search-list").attr("list-on"); 123 var listOff = $(".search-results-layout .icon-search-list").attr("list-off"); 124 var listAria = $(".search-results-layout .icon-search-list").attr("aria-label"); 125 var gridAria = $(".search-results-layout .icon-search-grid").attr("aria-label"); 126 127 function fetchOccuredCondition() { 128 if ($(".header__search-overlay .no-results").is(":visible")) { 129 return "search_unsuccessful"; 130 } else if ($(".header__search-overlay .results_content").is(":visible")) { 131 if ($("ul.pagination li.last").hasClass('disabled')) { 132 return "search_successful_many_results_pagination_icons_disabled"; 133 } else { 134 return "search_successful_many_results"; 135 } 136 } else if ($(".header__search-overlay .search-results-container__correction-text").is(":visible")) { 137 return "search_successful_one_result"; 138 } else { 139 return "search_not_pressed"; 140 } 141 } 142 143 function removePagination() { 144 count = 0; 145 console.log("Remove Pagination"); 146 createPaginationSearch(); 147 $(".results_pagination").addClass("d-none"); 148 } 149 150 function truncate(string, length) { 151 if (string.length > length) 152 return string.substring(0, length) + '...'; 153 else 154 return string; 155 } 156 157 function searchServiceCall(url, query, guessTotalFlag, isPaginationOrFilter) { 158 query = query.replace(/ +/g, ' ').trim(); 159 count = 0; 160 if (guessTotalFlag.indexOf('false') > -1) { 161 totalSearchResults = 0; 162 } 163 var frontEnd = $(".overlay-search-results-container").attr("data-front-end"); 164 var entitys = $(".search-trigger__search-box").attr("data-entity-type"); 165 var site = $(".search-trigger__search-box").attr("data-site"); 166 var faqFlaq = false;
167 var articleFlaq = false 168 var fileFlaq = false 169 var sortby = "" 170 171 if (entitys != null || entitys != undefined){ 172 faqFlaq = entitys.indexOf("faq") > -1 ? "true" : "false"; 173 articleFlaq = entitys.indexOf("article") > -1 ? "true" : "false"; 174 fileFlaq = entitys.indexOf("file") > -1 ? "true" : "false"; 175 } 176 searchStart = 1; 177 numSearchResults = 10; 178 if ($(".page-count").length != 0) { 179 numSearchResults = $(".page-count").val() 180 if (numSearchResults == null) { 181 numSearchResults = 10; 182 } 183 } 184 if ($(".sortby").length != 0) { 185 sortby = $(".sortby").val(); 186 } 187 if (fileFlaq == "true") { 188 if ($('.tabbed-content-header .item.active').attr("data-entity-type") === "file") { 189 if ($(".file-count").length != 0) { 190 numSearchResults = $(".file-count").val() 191 if (numSearchResults == null) { 192 numSearchResults = 10; 193 } 194 } 195 if ($(".fileSortby").length != 0) { 196 sortby = $(".fileSortby").val(); 197 } 198 } 199 } 200 if (searchPaginationNumber == undefined || searchPaginationNumber == 0) { 201 console.log("is pagination filter initial: "+isPaginationOrFilter); 202 if(isPaginationOrFilter){ 203 queryString = 'q=' + encodeURIComponent(query) + '&num=' + numSearchResults + '&start=0&collection=' + site + '&guessTotal=' + guessTotalFlag + "&sortByModifiedDate=" + sortby + "&faqEntityEnable=" + faqFlaq + "&articleEntityEnable=" + articleFlaq + "&fileEntityEnable=" + fileFlaq + "&isPaginationEntityRequest=true"; 204 }else{ 205 queryString = 'q=' + encodeURIComponent(query) + '&num=' + numSearchResults + '&start=0&collection=' + site + '&guessTotal=' + guessTotalFlag + "&sortByModifiedDate=" + sortby + "&faqEntityEnable=" + faqFlaq + "&articleEntityEnable=" + articleFlaq + "&fileEntityEnable=" + fileFlaq; 206 } 207 208 searchEnd = searchListCount; 209 } else { 210 searchStart = (searchPaginationNumber-1) * searchListCount; 211 console.log(searchPaginationNumber) 212 searchEnd = searchPaginationNumber-1=== 0 ? searchListCount : searchPaginationNumber * searchListCount; 213 console.log("is pagination filter: "+isPaginationOrFilter); 214 if(isPaginationOrFilter){ 215 queryString = 'q=' + encodeURIComponent(query) + '&num=' + numSearchResults + '&start=' + searchEnd + '&collection=' + site + '&guessTotal=' + guessTotalFlag + "&sortByModifiedDate=" + sortby + "&faqEntityEnable=" + faqFlaq + "&articleEntityEnable=" + articleFlaq + "&fileEntityEnable=" + fileFlaq + "&isPaginationEntityRequest=true"; 216 }else{ 217 queryString = 'q=' + encodeURIComponent(query) + '&num=' + numSearchResults + '&start=' + searchEnd + '&collection=' + site + '&guessTotal=' + guessTotalFlag + "&sortByModifiedDate=" + sortby + "&faqEntityEnable=" + faqFlaq + "&articleEntityEnable=" + articleFlaq + "&fileEntityEnable=" + fileFlaq ; 218 219 } 220 221 } 222 $(".results_content").remove(); 223 $(".js-searchSuggestion").children().remove(); 224 var resultsListHTML = ""; 225 var gmUniqueSearchUrls = []; 226 var showGMResults = true; 227 if (queryString.indexOf("start=0") == -1) { 228 showGMResults = false; 229 } 230 $.ajax({ 231 url: url, 232 dataType: 'json', 233 data: queryString, 234 type: 'GET', 235 async: false, 236 success: function (data) { 237 238 if (data.hasOwnProperty("spelling")) { 239 $(".form-item__display").addClass("d-none"); 240 $(".search-results-container__correction-text").removeClass("d-none"); 241 var correctSpelling = data.spelling; 242 var newchar = ' '; 243 correctSpelling = correctSpelling.split(' ').join(newchar); 244 $(".overlay-search-results-container__results .no-results").addClass('d-none'); 245 var correctionHtml = '<a href="#">
245' + correctSpelling + '</a>'; 246 $(".js-searchSuggestion").append(correctionHtml); 247 didYouMean = correctSpelling; 248 $(".suggestion-val").text($(".search-trigger__search-box").val().trim()); 249 $(".search-trigger").addClass("error"); 250 } else { 251 $(".search-results-container__correction-text").addClass("d-none"); 252 didYouMean = null; 253 } 254 255 if (data.hasOwnProperty("FAQ") && data.FAQ.length > 0) { 256 var parent = $(".faq-entity-results"); 257 parent.html(""); 258 parent.closest(".item").find(".no-results").addClass("d-none"); 259 parent.closest(".faq-listing--content__action-container").removeClass("d-none"); 260 var faqDataHTMLFinal = "" 261 for (var i = 0; i < data.FAQ.length; i++) { 262 var faqDataHTML = ""; 263 faqDataHTML += "<div class=\"faq-container--accordionSection\">"; 264 faqDataHTML += "<h3 class=\"faq-container--accordionSection--heading\">"; 265 faqDataHTML += "<button class=\"faq-container--accordionSection__title font-body-1 font-body-3-sm font-body-1-md\" + tabIndex=\"0\" aria-expanded=\"false\">"; 266 faqDataHTML += "<span class=\"faq-container--accordionSection__title_text\">" + data.FAQ[i].question + "</span>"; 267 faqDataHTML += "<svg class=\"icon icon-plus accordion__title__icon\" aria-hidden=\"true\" tabIndex=\"-1\" focusable=\"false\">"; 268 faqDataHTML += "<use xlink:href=\"/content/dam/globalMarketingPlatformAssets/images/utility/icons-metlife.svg#icon-plus-cxd\" aria-hidden=\"true\" tabIndex=\"-1\" focusable=\"false\"></use></svg>"; 269 faqDataHTML += "<svg class=\"icon icon-minus accordion__title__icon icon-hide\" aria-hidden=\"true\" tabindex=\"-1\" focusable=\"false\">"; 270 faqDataHTML += "<use xlink:href=\"/content/dam/globalMarketingPlatformAssets/images/utility/icons-metlife.svg#icon-minus-cxd\" aria-hidden=\"true\" tabIndex=\"-1\" focusable=\"false\"></use></svg></button></h3>"; 271 faqDataHTML += "<div class=\"faq-container--accordionContent font-body-2-sm font-body-3-md richtext\" role=\"region\" aria-label=\"" + data.FAQ[i].question + "\">" + data.FAQ[i].answer + "</div></div>"; 272 faqDataHTMLFinal += faqDataHTML; 273 } 274 parent.html(faqDataHTMLFinal); 275 276 if (data.FAQ.length < 10) { 277 parent.find(".show-more-section").addClass("d-none"); 278 } else { 279 createPaginationFAQs(data.FAQ.length, data.totalFAQSize); 280 } 281 } else if (data.hasOwnProperty("FAQ") && data.FAQ.length === 0) { 282 var parent = $(".faq-entity-results"); 283 parent.html("") 284 parent.closest(".item").find(".no-results").removeClass("d-none"); 285 parent.closest(".item").find(".faq-listing--content__action-container").addClass("d-none"); 286 287 } 288 289 if (data.hasOwnProperty("Article") && data.Article.length > 0) { 290 console.log("articletest") 291 var parent = $(".article-entity-results"); 292 var articleAction = $(".article-listing--content__action-container"); 293 parent.html(""); 294 parent.closest(".item").find(".no-results").addClass("d-none"); 295 parent.closest(".article-listing--content__action-container").removeClass("d-none"); 296 var articleDataHTMLFinal = "" 297 $.each(data.Article, function (i, article) { 298 console.log(article.headlineTitle); 299 articleDataHTMLFinal += "<div class=\"col-12 col-sm-6 col-md-4 article-list-item\">"; 300 articleDataHTMLFinal += "<div class='article-list-section-content'>"; 301 articleDataHTMLFinal += "<div class=\"article-list-item-bg\"><div class=\"article-list-item-bg-container\"><div class=\"bg\" style=\"background-image: url('" + article.imageThumbnail + "')\"></div></div></div>"; 302 articleDataHTMLFinal += "<div class='article-list-section-content-wrapper' >"; 303 articleDataHTMLFinal += "<div class='article-list-section-eyebrow' >"; 304 if (article.byName != "") { 305 articleDataHTMLFinal += "<span class=\"article-list-item-author\">" + article.byName + "</span>"; 306 articleDataHTMLFinal += "<span aria-hidden='true'>·</span>"; 307 articleDataHTMLFinal += "<span class=\"article-list-item-publishedDate\">" + article.publishedDate + "</span>"; 308 } 309 if (article.byName == "") { 310 articleDataHTMLFinal += "<span class=\"no-author article-list-item-publishedDate\">" + article.publishedDate + "</span>"; 311 } 312 313 articleDataHTMLFinal += "</div>"; 314 articleDataHTMLFinal += "<a href='" + article.path + "' target=\"" + parent.attr("data-target-dynamic") + "\"><div class=\"article-list-item-headline\">" + article.headlineTitle + "</div></a>"; 315 articleDataHTMLFinal += "<div class='article-list-section-description'>" + article.description + "</div>"; 316 if (article.tags != null || article.readTime != null) { 317 articleDataHTMLFinal += "<div class='article-list-section-footer'>"; 318 if (article.tags != null && article.tags.length > 0) { 319 var tagArray = article.tags; 320 var tagsArray = tagArray[0].tagPath.split(","); 321 if (tagArray.length > 1) { 322 for (var i = 0; i < tagsArray.length; i++) { 323 articleDataHTMLFinal += "<span class=\"article-list-item-category\">" + tagsArray[i] + " </span>"; 324 } 325 } else { 326 articleDataHTMLFinal += "<span class=\"article-list-item-category\">" + tagsArray[0] + " </span>"; 327 } 328 } 329 if (article.readTime != null) { 330 articleDataHTMLFinal += "<span class=\"article-list-item-readTime\">" + article.readTime + "</span>"; 331 } 332 articleDataHTMLFinal += "</div>"; 333 } 334 articleDataHTMLFinal += "</div></div></div>"; 335 336 }); 337 parent.html(articleDataHTMLFinal); 338 339 if(data.totalArticleSize < 15){ 340 articleAction.addClass("d-none"); 341 } else { 342 articleAction.removeClass("d-none"); 343 } 344 console.log("totalArticleSize: " + data.totalArticleSize); 345 console.log("ArticleSize: " + data.Article.length); 346 347 if (data.Article.length < 15) { 348 articleAction.find(".show-more-section").addClass("d-none"); 349 350 } else { 351 352 createPaginationArticles(data.Article.length, data.totalArticleSize); 353 } 354 355 } else if (data.hasOwnProperty("Article") && data.Article.length === 0) { 356 var parent = $(".article-entity-results"); 357 parent.html("") 358 parent.closest(".item").find(".no-results").removeClass("d-none"); 359 parent.closest(".item").find(".article-listing--content__action-container").addClass("d-none"); 360 361 } 362 363 if (data.hasOwnProperty("Files") && data.Files.length > 0) { 364 var parent = $(".file-entity-results"); 365 totalFiles = data.totalFiles; 366 console.log("totalFiles: " + totalFiles); 367 $('.total-file-count').html(' ' + totalFiles); 368 parent.html(""); 369 parent.closest(".item").find(".no-results").addClass("d-none"); 370 var fileDataHTMLFinal = "" 371 $.each(data.Files, function (i, file) { 372 var fileSearchResultsUrl = file.path; 373 var fileTitle = file.fileName; 374 var fileDesc = file.description; 375 var fileType = file.fileType; 376 fileDataHTMLFinal += "<div class=\"file-content list__item\">"; 377 fileDataHTMLFinal += "<a class=\"file-list-anchor list__item__anchor res_results\" href=\"" + fileSearchResultsUrl + "\" download>" + fileTitle + " <strong>(" + fileType + ")</strong> </a>"; 378 if (file.hasOwnProperty("description") && fileDesc != "") { 379 fileDataHTMLFinal += "<div class=\"file-list-desc asset_desc\">" + truncate(fileDesc, 150) + "</div>"; 380 } 381 fileDataHTMLFinal += "</div>"; 382 383 }); 384 $(".file-pagination-item-input").val(1) 385 fileSearchStart = 1; 386 $(".file-pagination-left").addClass("disabled"); 387 createPaginationForFile(totalFiles); 388 parent.html(fileDataHTMLFinal); 389 } else if (data.hasOwnProperty("Files") && data.Files.length === 0) { 390 var parent = $(".file-entity-results"); 391 parent.html("") 392 $(".file-pagination-item-input").val(1) 393 fileSearchStart = 1; 394 parent.closest(".item").find(".no-results").removeClass("d-none"); 395 $(".file-search-count").find('.total-count').html(' ' + 0); 396 397 } 398 399 // Suggested results don't know if needed 400 if (data.hasOwnProperty("results") && data.results.length > 0) { 401 $(".search-trigger").removeClass("error"); 402 //$(".popular-search-container").addClass("d-none"); 403 $(".form-item__display").removeClass("d-none"); 404 $(".overlay-search-results-container .page-count").removeClass('d-none'); 405 if (didYouMean == null) { 406 $(".search-results-container__correction-text").addClass("d-none"); 407 } 408 if (guessTotalFlag.indexOf('false') > -1) { 409 console.log(data.totalMatches); 410 totalSearchResults = data.totalMatches; 411 } 412 var siteSearchResults = data.results; 413 var siteSearchResultsUrl; 414 var siteSearchResultsTitle; 415 var siteSearchResultsContent; 416 var mimeType; 417 var resultsIndex; 418 419 if (siteSearchResults.length != 0) { 420 $('.form-item__display').removeClass('d-none'); 421 // $(".page-count").removeClass('d-none'); 422 $(".overlay-search-results-container__results .no-results").addClass('d-none'); 423 $(".file-pagination-left").addClass("disabled"); 424 425 //results_content is the default component for listing out general results 426 resultsListHTML += "<div class=\"results_content\">"; 427 for (var i = 0; i < siteSearchResults.length; i++) { 428 count++; 429 siteSearchResultsUrl = siteSearchResults[i].path; 430 siteSearchResultsTitle = siteSearchResults[i].pageTitle; 431 siteSearchResultsContent = siteSearchResults[i].excerpt; 432 if (searchPaginationNumber == undefined || searchPaginationNumber == 0) { 433 resultsIndex = i + 1; 434 } else { 435 resultsIndex = searchPaginationNumber + i + 1; 436 } 437 resultsListHTML += "<div class=\"list__item\">"; 438 if (siteSearchResults[i].mimeType !== undefined) { 439 var mimeTypeFinal = siteSearchResults[i].mimeType; 440 var assetPDFTitle = siteSearchResults[i].assetPDFTitle; 441 var assetPDFDescription = siteSearchResults[i].assetPDFDescription; 442 if ("application/octet-stream" == mimeTypeFinal) { 443 var fileType = siteSearchResultsUrl.substring(siteSearchResultsUrl(".") + 1); 444 switch (fileType) { 445 case "png": 446 case "jpeg": 447 case "jpg": 448 mimeTypeFinal = "image/png"; 449 break; 450 case "pdf": 451 mimeTypeFinal = "application/pdf"; 452 break; 453 case "zip": 454 case "tgz": 455 case "jar": 456 case "rar": 457 case "tar": 458 mimeTypeFinal = "application/zip"; 459 break; 460 case "eps": 461 mimeTypeFinal = "application/eps"; 462 break; 463 case "ppt": 464 mimeTypeFinal = "application/vnd.ms-powerpoint"; 465 break; 466 case "doc": 467 case "docx": 468 case "odt": 469 case "rtf": 470 mimeTypeFinal = "application/msword"; 471 break; 472 case "xls": 473 case "xlsx": 474 mimeTypeFinal = "application/vnd.ms-excel"; 475 break; 476 case "ai": 477 mimeTypeFinal = "application/illustrator"; 478 } 479 } 480 switch (mimeTypeFinal) { 481 case "application/pdf": 482 mimeType = "(PDF)"; 483
483 break; 484 case "image/jpeg": 485 case "image/png": 486 case "image/gif": 487 mimeType = "(IMG)"; 488 break; 489 case "application/zip": 490 case "application/x-tar": 491 mimeType = "(ZIP)"; 492 break; 493 case "application/illustrator": 494 mimeType = "(AI)"; 495 break; 496 case "application/postscript": 497 case "application/eps": 498 case "application/x-eps": 499 case "image/eps": 500 case "image/x-eps": 501 mimeType = "(EPS)"; 502 break; 503 case "application/vnd.ms-excel": 504 case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": 505 case "application/vnd.openxmlformats-officedocument.spreadsheetml.template": 506 case "application/vnd.ms-excel.sheet.macroEnabled.12": 507 case "application/vnd.ms-excel.template.macroEnabled.12": 508 case "application/vnd.ms-excel.addin.macroEnabled.12": 509 mimeType = "(XLS)"; 510 break; 511 case "application/vnd.ms-powerpoint": 512 case "application/vnd.openxmlformats-officedocument.presentationml.presentation": 513 case "application/vnd.openxmlformats-officedocument.presentationml.template": 514 case "application/vnd.openxmlformats-officedocument.presentationml.slideshow": 515 case "application/vnd.ms-powerpoint.addin.macroEnabled.12": 516 case "application/vnd.ms-powerpoint.presentation.macroEnabled.12": 517 mimeType = "(PPT)"; 518 break; 519 case "application/msword": 520 case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": 521 case "application/vnd.openxmlformats-officedocument.wordprocessingml.template": 522 case "application/vnd.ms-word.document.macroEnabled.12": 523 mimeType = "(DOC)"; 524 break; 525 default: 526 mimeType = ""; 527 } 528 529 if (assetPDFTitle != "" && assetPDFDescription != "") { 530 resultsListHTML += "<a data-results-index=" + resultsIndex + " class=\"list__item__anchor res_results\" href=\"" + siteSearchResultsUrl + "\" download>" + siteSearchResultsTitle + "</a>"; 531 resultsListHTML += "<div class=\"list__excerpt asset_desc\">" + truncate(assetPDFDescription, 150) + "</div>"; 532 resultsListHTML += "<div>"; 533 resultsListHTML += "<a class=\"list__item__anchor_asset_title asset-link\" href=\"" + siteSearchResultsUrl + "\" download>" + assetPDFTitle + "</a>"; 534 resultsListHTML += "<span>" + mimeType + "</span>"; 535 resultsListHTML += "</div>"; 536 } else if (assetPDFTitle != "" && assetPDFDescription == "") { 537 resultsListHTML += "<a data-results-index=" + resultsIndex + " class=\"list__item__anchor res_results\" href=\"" + siteSearchResultsUrl + "\" download>" + siteSearchResultsTitle + "</a>"; 538 resultsListHTML += "<div>"; 539 resultsListHTML += "<a class=\"list__item__anchor_asset_title asset-link\" href=\"" + siteSearchResultsUrl + "\" download>" + assetPDFTitle + "</a>"; 540 resultsListHTML += "<span>" + mimeType + "</span>"; 541 resultsListHTML += "</div>"; 542 } else if (assetPDFTitle == "" && assetPDFDescription != "") { 543 resultsListHTML += "<a data-results-index=" + resultsIndex + " class=\"list__item__anchor res_results\" href=\"" + siteSearchResultsUrl + "\" download>" + siteSearchResultsTitle + "</a>"; 544 resultsListHTML += "<div class=\"list__excerpt asset_desc\">" + truncate(assetPDFDescription, 150) + "</div>"; 545 resultsListHTML += "<div>"; 546 resultsListHTML += "<a class=\"list__item__anchor_asset_title asset-link\" href=\"" + siteSearchResultsUrl + "\" download>" + siteSearchResultsTitle + "</a>"; 547 resultsListHTML += "<span>" + mimeType + "</span>" + "</a>"; 548 resultsListHTML += "</div>"; 549 } else if (assetPDFTitle == "" && assetPDFDescription == "") { 550 resultsListHTML += "<div>"; 551 resultsListHTML += "<a data-results-index=" + resultsIndex + " class=\"list__item__anchor res_results asset-link\" href=\"" + siteSearchResultsUrl + "\" download>" + siteSearchResultsTitle + "</a>"; 552 resultsListHTML += "<span>" + mimeType + "</span>"; 553 resultsListHTML += "</div>"; 554 } 555 } else { 556 if (siteSearchResultsUrl.substring(0, 4) == "http") { 557 resultsListHTML += "<a class=\"list__item__anchor res_results\" href=\"" + siteSearchResultsUrl + "\">" + siteSearchResultsTitle + "</a>"; 558 if (siteSearchResultsContent != "") { 559 resultsListHTML += "<p class=\"list__excerpt\">" + truncate(siteSearchResultsContent, 150) + "</p>"; 560 } 561 } else { 562 resultsListHTML += "<a data-results-index=" + resultsIndex + " class=\"list__item__anchor res_results\" href=\"" + siteSearchResultsUrl + "\">" + siteSearchResultsTitle + "</a>"; 563 if (siteSearchResultsContent != "") { 564 resultsListHTML += "<p class=\"list__excerpt\">" + truncate(siteSearchResultsContent, 150) + "</p>"; 565 } 566 } 567 } 568 resultsListHTML += "</div>"; 569 } 570 resultsListHTML += "</div>"; 571 } 572 573 } else { 574 $('.form-item__display').addClass('d-none'); 575 $(".page-count").addClass('d-none'); 576 $(".search-trigger").addClass("error"); 577 578 if (data.hasOwnProperty("spelling")) { 579 //$(".popular-search-container").addClass("d-none"); 580 } else { 581 $(".overlay-search-results-container__results .no-results").html(defaultNoResultsMsg); 582 $(".overlay-search-results-container__results .no-results").removeClass('d-none'); 583 //$(".popular-search-container").removeClass("d-none"); 584 totalSearchResults = 0; 585 } 586 } 587 $(resultsListHTML).insertAfter($(".search-results-container__correction-text")); 588 console.log("totalSearchResults: " + totalSearchResults); 589 if ($('.tabbed-content-header .item.active').attr("data-entity-type") === "file") { 590 createPaginationSearch(totalFiles); 591 } else { 592 createPaginationSearch(totalSearchResults); 593 } 594 595 $(".search-trigger").addClass("search-initiated"); 596 597 598 // Analytics 599 $('.search-results-container .results_content a.gm_results').on("click", function () { 600 var view; 601 if (UtilityModule.getViewport() == "mobile") { 602 view = "mobile list"; 603 } else { 604 if ($(this).closest(".overlay-search-results-container").hasClass("grid-layout")) { 605 view = "grid"; 606 } else { 607 view = "list"; 608 } 609 } 610 var ldo = { 611 eventName: 'SearchlinkClick ', 612 attributes: { 613 method: 'suggested_results', 614 positionNum: $(this).attr("data-results-index"), 615 linkName: $(this).text().replace(/\|/g, ''), 616 linkUrl: $(this).attr('href'), 617 searchTerm: $("#searchInPage").val(), 618 view: view 619 } 620 }; 621 digitalData.eventTrack('SearchlinkClick', ldo); 622 }); 623 624 $('.overlay-search-results-container .results_content a.res_results').on("click", function () { 625 var view; 626 if (UtilityModule.getViewport() == "mobile") { 627 view = "mobile list"; 628 } else { 629 if ($(this).closest(".overlay-search-results-container").hasClass("grid-layout")) { 630 view = "grid"; 631 } else { 632 view = "list"; 633 } 634 } 635 636 var ldo = { 637 eventName: 'SearchlinkClick ', 638 attributes: { 639 method: 'search_results', 640 positionNum: $(this).attr("data-results-index"), 641 linkName: $(this).text().replace(/\|/g, ''), 642 linkUrl: window.location.origin + $(this).attr('href'), 643 searchTerm: $("#searchInPage").val(), 644 view: view 645 } 646 }; 647 digitalData.eventTrack('SearchlinkClick', ldo); 648 }); 649 650 651 }, 652 error: function (e) { 653 console.log("Error: " + e); 654 removePagination(); 655 }, 656 timeout: 30000 657 }); 658 } 659 660 function createPaginationArticles(articleListSize, totalSearchResults) { 661 var parent = $(".tabbed-content-entity .article-listing--content__action-container"); 662 663 if (totalSearchResults > 15) { 664 parent.find(".show-more-section").removeClass("d-none"); 665 parent.find(".showingResults").removeClass("d-none"); 666 parent.find(".show-more-section button").attr("data-results-num-current",articleListSize); 667 } 668 669 var showingText = parent.find(".current-count").attr("data-showing-text") + " "; 670 var totalText = " " + totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 671 if (articleListSize >= 15) { 672 showingText += showingCount + " " + parent.find(".current-count").attr("data-of-text") + " "; 673 parent.find(".total-count").removeClass("d-none").attr("aria-hidden", false); 674 } else { 675 showingText = totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 676 parent.find(".total-count").addClass("d-none").attr("aria-hidden", true); 677 } 678 679 parent.find(".current-count").text(showingText); 680 parent.find(".total-count").text(totalText); 681 682 683 parent.on("click", ".backTopTop button", function () { 684 $('.header__search-overlay').animate({ 685 scrollTop: 0 686 }, 1); 687 }).on("keydown", ".backTopTop button", function (evt) { 688 if (evt.keyCode === 13 || evt.keyCode === 32) { 689 evt.preventDefault(); 690 $(this)[0].click(); 691 } 692 }); 693 694 parent.on("click", ".show-more-section button", function () { 695 paginationAppendArticles(parent.closest(".article-listing"), false, totalSearchResults); 696 697 }).on("keydown", ".show-more-section button", function (evt) { 698 if (evt.keyCode === 13 || evt.keyCode === 32) { 699 evt.preventDefault(); 700 $(this)[0].click(); 701 } 702 }); 703 704 parent.on("click", ".total-count", function () { 705 paginationAppendArticles(parent.closest(".article-listing"), true, totalSearchResults); 706 707 }).on("keydown", ".total-count", function (evt) { 708 if (evt.keyCode === 13 || evt.keyCode === 32) { 709 evt.preventDefault(); 710 $(this)[0].click(); 711 } 712 }); 713 } 714 715 function paginationAppendArticles(parent, enableShowAll, totalSearchResults) { 716 var lastArticle = parent.find(".article-list-item:last-of-type"); 717 var currentArticleLength = parent.find(".article-list-item").length; 718 var searchRequest = UtilityModule.whiteListCleanser($(".search-trigger__search-box").val()); 719 var url = $(".search-trigger__search-box").attr("data-search-ajax-url"); 720 var site = $(".search-trigger__search-box").attr("data-site"); 721 var currentNum = parseInt(parent.find(".show-more-section button").attr("data-results-num-current")); 722 var num = 6; 723 if(enableShowAll){ 724 num = parseInt(totalSearchResults - currentNum); 725 } 726 var queryString = 'q=' + encodeURIComponent(searchRequest) + '&num=' + num + '&start=' + currentNum + '&collection=' + site
726+ '&guessTotal=false' + "&sortByModifiedDate=" + "&articleEntityEnable=true" + "&isPaginationEntityRequest=true" + "&paginationEntityType=article"; 727 var showingText = ""; 728 729 $.ajax({ 730 731 url: url, 732 dataType: 'json', 733 data: queryString, 734 type: 'GET', 735 async: false, 736 success: function (data) { 737 738 if (data.hasOwnProperty("Article") && data.Article.length > 0) { 739 var articleDataHTMLFinal = "" 740 $.each(data.Article, function (i, article) { 741 articleDataHTMLFinal += "<div class=\"col-12 col-sm-6 col-md-4 article-list-item\">"; 742 articleDataHTMLFinal += "<div class='article-list-section-content'>"; 743 articleDataHTMLFinal += "<div class=\"article-list-item-bg\"><div class=\"article-list-item-bg-container\"><div class=\"bg\" style=\"background-image: url('" + article.imageThumbnail + "')\"></div></div></div>"; 744 articleDataHTMLFinal += "<div class='article-list-section-content-wrapper' >"; 745 articleDataHTMLFinal += "<div class='article-list-section-eyebrow' >"; 746 if (article.byName != "") { 747 articleDataHTMLFinal += "<span class=\"article-list-item-author\">" + article.byName + "</span>"; 748 articleDataHTMLFinal += "<span aria-hidden='true'>·</span>"; 749 articleDataHTMLFinal += "<span class=\"article-list-item-publishedDate\">" + article.publishedDate + "</span>"; 750 } 751 if (article.byName == "") { 752 articleDataHTMLFinal += "<span class=\"no-author article-list-item-publishedDate\">" + article.publishedDate + "</span>"; 753 } 754 755 articleDataHTMLFinal += "</div>"; 756 articleDataHTMLFinal += "<a href='" + article.path + "' target=\"" + parent.attr("data-target-dynamic") + "\"><div class=\"article-list-item-headline\">" + article.headlineTitle + "</div></a>"; 757 articleDataHTMLFinal += "<div class='article-list-section-description'>" + article.description + "</div>"; 758 if (article.tags != null || article.readTime != null) { 759 articleDataHTMLFinal += "<div class='article-list-section-footer'>"; 760 if (article.tags != null && article.tags.length > 0) { 761 var tagArray = article.tags; 762 var tagsArray = tagArray[0].tagPath.split(","); 763 if (tagArray.length > 1) { 764 for (var i = 0; i < tagsArray.length; i++) { 765 articleDataHTMLFinal += "<span class=\"article-list-item-category\">" + tagsArray[i] + " </span>"; 766 } 767 } else { 768 articleDataHTMLFinal += "<span class=\"article-list-item-category\">" + tagsArray[0] + " </span>"; 769 } 770 } 771 if (article.readTime != null) { 772 articleDataHTMLFinal += "<span class=\"article-list-item-readTime\">" + article.readTime + "</span>"; 773 } 774 articleDataHTMLFinal += "</div>"; 775 } 776 articleDataHTMLFinal += "</div></div></div>"; 777 778 }); 779 lastArticle.after(articleDataHTMLFinal); 780 781 if (data.Article.length == 6 && (currentArticleLength + data.Article.length) < data.totalArticleSize && !enableShowAll) { 782 showingText += parent.find(".current-count").attr("data-showing-text") + " "; 783 var totalText = " " + totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 784 showingText += currentNum+data.Article.length + " " + parent.find(".current-count").attr("data-of-text") + " "; 785 parent.find(".total-count").removeClass("d-none").attr("aria-hidden", false); 786 787 parent.find(".current-count").text(showingText); 788 parent.find(".total-count").text(totalText); 789 parent.find(".show-more-section button").attr("data-results-num-current",currentNum+data.Article.length); 790 } else { 791 showingText += parent.find(".current-count").attr("data-showing-text") + " "; 792 showingText += totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 793 parent.find(".current-count").text(showingText); 794 parent.find(".total-count").text(totalText); 795 parent.find(".total-count").addClass("d-none").attr("aria-hidden", true); 796 parent.find(".show-more-section").addClass("d-none"); 797 } 798 } else { 799 parent.find(".show-more-section").addClass("d-none"); 800 } 801 802 803 804 }, 805 error: function (e) { 806 console.log("Error: " + e); 807 removePagination(); 808 }, 809 timeout: 30000 810 }); 811 812 813 } 814 815 function paginationAppendFAQs(parent, enableShowAll, totalSearchResults) { 816 var lastFAQ = parent.find(".faq-container--accordionSection:last-of-type"); 817 var currentFAQLength = parent.find(".faq-container--accordionSection").length; 818 var searchRequest = UtilityModule.whiteListCleanser($(".search-trigger__search-box").val()); 819 var url = $(".search-trigger__search-box").attr("data-search-ajax-url"); 820 var site = $(".search-trigger__search-box").attr("data-site"); 821 var currentNum = parseInt(parent.find(".show-more-section button").attr("data-results-num-current")); 822 var num = 10; 823 if(enableShowAll){ 824 num = parseInt(totalSearchResults - currentNum); 825 } 826 var queryString = 'q=' + encodeURIComponent(searchRequest) + '&num=' + num + '&start=' + currentNum + '&collection=' + site
826+ '&guessTotal=false' + "&sortByModifiedDate=" + "&faqEntityEnable=true" + "&isPaginationEntityRequest=true" + "&paginationEntityType=faq"; 827 var showingText = ""; 828 $.ajax({ 829 830 url: url, 831 dataType: 'json', 832 data: queryString, 833 type: 'GET', 834 async: false, 835 success: function (data) { 836 837 838 if (data.hasOwnProperty("FAQ") && data.FAQ.length > 0) { 839 var faqDataHTMLFinal = "" 840 for (var i = 0; i < data.FAQ.length; i++) { 841 var faqDataHTML = ""; 842 faqDataHTML += "<div class=\"faq-container--accordionSection\">"; 843 faqDataHTML += "<h3 class=\"faq-container--accordionSection--heading\">"; 844 faqDataHTML += "<button class=\"faq-container--accordionSection__title font-body-1 font-body-3-sm font-body-1-md\" + tabIndex=\"0\" aria-expanded=\"false\">"; 845 faqDataHTML += "<span class=\"faq-container--accordionSection__title_text\">" + data.FAQ[i].question + "</span>"; 846 faqDataHTML += "<svg class=\"icon icon-plus accordion__title__icon\" aria-hidden=\"true\" tabIndex=\"-1\" focusable=\"false\">"; 847 faqDataHTML += "<use xlink:href=\"/content/dam/globalMarketingPlatformAssets/images/utility/icons-metlife.svg#icon-plus-cxd\" aria-hidden=\"true\" tabIndex=\"-1\" focusable=\"false\"></use></svg>"; 848 faqDataHTML += "<svg class=\"icon icon-minus accordion__title__icon icon-hide\" aria-hidden=\"true\" tabindex=\"-1\" focusable=\"false\">"; 849 faqDataHTML += "<use xlink:href=\"/content/dam/globalMarketingPlatformAssets/images/utility/icons-metlife.svg#icon-minus-cxd\" aria-hidden=\"true\" tabIndex=\"-1\" focusable=\"false\"></use></svg></button></h3>"; 850 faqDataHTML += "<div class=\"faq-container--accordionContent font-body-2-sm font-body-3-md richtext\" role=\"region\" aria-label=\"" + data.FAQ[i].question + "\">" + data.FAQ[i].answer + "</div></div>"; 851 faqDataHTMLFinal += faqDataHTML; 852 } 853 lastFAQ.after(faqDataHTMLFinal); 854 console.log(currentFAQLength + data.FAQ.length); 855 console.log(data.totalFAQSize); 856 console.log(data.FAQ.length); 857 console.log((currentFAQLength + data.FAQ.length) < data.totalFAQSize); 858 if (data.FAQ.length == 10 && (currentFAQLength + data.FAQ.length) < data.totalFAQSize && !en
858ableShowAll) { 859 showingText += parent.find(".current-count").attr("data-showing-text") + " "; 860 var totalText = " " + totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 861 showingText += currentNum+data.FAQ.length + " " + parent.find(".current-count").attr("data-of-text") + " "; 862 parent.find(".total-count").removeClass("d-none").attr("aria-hidden", false); 863 864 parent.find(".current-count").text(showingText); 865 parent.find(".total-count").text(totalText); 866 parent.find(".show-more-section button").attr("data-results-num-current",currentNum+data.FAQ.length); 867 } else { 868 showingText += parent.find(".current-count").attr("data-showing-text") + " "; 869 showingText += totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 870 parent.find(".current-count").text(showingText); 871 parent.find(".total-count").text(totalText); 872 parent.find(".total-count").addClass("d-none").attr("aria-hidden", true); 873 parent.find(".show-more-section").addClass("d-none"); 874 } 875 } else if (data.hasOwnProperty("FAQ") && data.FAQ.length === 0) { 876 parent.find(".show-more-section").addClass("d-none"); 877 } 878 879 880 }, 881 error: function (e) { 882 console.log("Error: " + e); 883 removePagination(); 884 }, 885 timeout: 30000 886 }); 887 } 888 889 function paginationAppendFiles(parent, enableShowAll, totalSearchResults,sort=false) { 890 var searchRequest = UtilityModule.whiteListCleanser($(".search-trigger__search-box").val()); 891 var url = $(".search-trigger__search-box").attr("data-search-ajax-url"); 892 var site = $(".search-trigger__search-box").attr("data-site"); 893 parent = $(".file-entity-results"); 894 var num = 10; 895 if ($(".file-count").length != 0) { 896 num = $(".file-count").val() || 10; 897 } 898 if ($(".fileSortby").length != 0) { 899 sortby = $(".fileSortby").val(); 900 } 901 var currentPage = parseInt($(".file-pagination-item-input").attr("data-current-page")) - 1|| 0; 902 if (currentPage < 0) { 903 $(".file-pagination-item-input").attr("data-current-page",1); 904 currentPage = 0; 905 } 906 907 // if (!sort){ 908 // currentPage++; 909 // } 910 911 var currentNum = (currentPage) * (num); 912 var sortby; 913 if(enableShowAll){ 914 num = parseInt(totalSearchResults) - currentNum; 915 } 916 var queryString = 'q=' + encodeURIComponent(searchRequest) + '&num=' + num + '&start=' + currentNum + '&collection=' + site + '&guessTotal=false' + "&sortByModifiedDate=" + sortby + "&fileEntityEnable=true" + "&isPaginationEntityRequest=true" + "&paginationEntityType=file"; 917 var showingText = ""; 918 $.ajax({ 919 url: url, 920 dataType: 'json', 921 data: queryString, 922 type: 'GET', 923 async: false, 924 success: function (data) { 925 var amountOnPage = data.Files.length; 926 console.log("amountOnPage: " + amountOnPage); 927 if (data.hasOwnProperty("Files") && amountOnPage > 0) { 928 929 totalFiles = parseInt(data.totalFiles); 930 console.log("totalFiles: " + totalFiles); 931 $('.total-file-count').html(' ' + totalFiles); 932 parent.html(""); 933 parent.closest(".item").find(".no-results").addClass("d-none"); 934 var fileDataHTMLFinal = "" 935 $.each(data.Files, function (i, file) { 936 var fileSearchResultsUrl = file.path; 937 var fileTitle = file.fileName; 938 var fileDesc = file.description || ""; 939 var fileType = file.fileType; 940 fileDataHTMLFinal += "<div class=\"file-content list__item\">"; 941 fileDataHTMLFinal += "<a class=\"file-list-anchor list__item__anchor res_results\" href=\"" + fileSearchResultsUrl + "\" download>" + fileTitle + " <strong>(" + fileType + ")</strong> </a>"; 942 if (file.hasOwnProperty("description") && fileDesc != "") { 943 fileDataHTMLFinal += "<div class=\"file-list-desc asset_desc\">" + truncate(fileDesc, 150) + "</div>"; 944 } 945 fileDataHTMLFinal += "</div>"; 946 947 }); 948 $(".file-pagination-item-input").attr("data-current-page",currentPage) 949 createPaginationForFile(totalFiles); 950 if (num>amountOnPage){ 951 $("file-pagination-right").addClass("disabled"); 952 $('.file-search-count').closest(".total-count").val(" " +amountOnPage+currentNum); 953 } 954 fileSearchStart = currentNum + 1; 955 fileSearchEnd = currentNum + amountOnPage; 956 $('.file-search-count > span:first-of-type').html( fileSearchStart+ ' ' + '-' + ' ' + fileSearchEnd); 957 parent.html(fileDataHTMLFinal); 958 } else if (data.hasOwnProperty("Files") && amountOnPage === 0) { 959 console.log("No files found"); 960 console.log(amountOnPage); 961 $(".file_pagination").addClass("d-none"); 962 963 } 964 965 966 }, 967 error: function (e) { 968 console.log("Error: " + e); 969 removePagination(); 970 }, 971 timeout: 30000 972 }); 973 } 974 975 function createPaginationFAQs(faqListSize, totalSearchResults) { 976 var parent = $(".tabbed-content-entity .faq-listing--content__action-container"); 977 parent.find(".show-more-section").removeClass("d-none"); 978 var currentNum = parseInt(parent.find(".show-more-section button").attr("data-results-num-current")); 979 980 parent.find(".showingResults").removeClass("d-none"); 981 var showingText = parent.find(".current-count").attr("data-showing-text") + " "; 982 var totalText = " " + totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 983 if (faqListSize >= 10) { 984 showingText += currentNum + " " + parent.find(".current-count").attr("data-of-text") + " "; 985 parent.find(".total-count").removeClass("d-none").attr("aria-hidden", false); 986 } else { 987 showingText = totalSearchResults + " " + parent.find(".total-count").attr("data-results-text"); 988 parent.find(".total-count").addClass("d-none").attr("aria-hidden", true); 989 } 990 991 parent.find(".current-count").text(showingText); 992 parent.find(".total-count").text(totalText); 993 994 parent.on("click", ".backTopTop button", function () { 995 $('.header__search-overlay').animate({ 996 scrollTop: 0 997 }, 1); 998 }).on("keydown", ".backTopTop button", function (evt) { 999 if (evt.keyCode === 13 || evt.keyCode === 32) { 1000 evt.preventDefault(); 1001 $(this)[0].click(); 1002 } 1003 }) 1004 1005 parent.on("click", ".show-more-section button", function () { 1006 paginationAppendFAQs(parent.closest(".faq"), false, totalSearchResults); 1007 1008 }).on("keydown", ".show-more-section button", function (evt) { 1009 if (evt.keyCode === 13 || evt.keyCode === 32) { 1010 evt.preventDefault(); 1011 $(this)[0].click(); 1012 } 1013 }); 1014 1015 parent.on("click", ".total-count", function () { 1016 paginationAppendFAQs(parent.closest(".faq"), true, totalSearchResults); 1017 1018 }).on("keydown", ".total-count", function (evt) { 1019 if (evt.keyCode === 13 || evt.keyCode === 32) { 1020 evt.preventDefault(); 1021 $(this)[0].click(); 1022 } 1023 }); 1024 } 1025 1026 function createPaginationForSearch(totalSearchResults,parent) { 1027 if (totalSearchResults == 0) { 1028 parent.find('.total-count').removeClass('d-none'); 1029 parent.find('.results_pagination').addClass('d-none'); 1030 parent.find('.total-pag-num span').html(1); 1031 parent.find('pagination-item-input').attr('data-max-val', 1); 1032 } else if (Math.floor(totalSearchResults / searchListCount) === 1) { 1033 parent.find('.total-count').removeClass('d-none'); 1034 parent.find('.total-count').html(' ' + totalSearchResults); 1035 parent.find('.results_pagination').removeClass('d-none'); 1036 parent.find('.total-pag-num span').html(Math.floor(totalSearchResults / searchListCount)); 1037 parent.find('.pagination-item-input').attr('data-max-val', Math.floor(totalSearchResults / searchListCount)); 1038 } else { 1039 console.log("SearchListCount: " + searchListCount); 1040 if (isNaN(searchListCount) || searchListCount == undefined || searchListCount == 0) { 1041 searchListCount = parseInt($(".page-count option:eq(0)").val()); 1042 } 1043 var totalPage = Math.floor(totalSearchResults / searchListCount) 1044 if (totalPage > 1200) { 1045 totalPage = 1200; 1046 totalSearchResults = 1200 * searchListCount; 1047 } 1048 parent.find('.total-count').removeClass('d-none'); 1049 parent.find('.total-count').html(' ' + totalSearchResults); 1050 parent.find('.results_pagination').removeClass('d-none'); 1051 parent.find(".pagination-right").removeClass("disabled"); 1052 parent.find('.total-pag-num span').html(totalPage); 1053 parent.find('.pagination-item-input').attr('data-max-val', totalPage); 1054 1055 1056 } 1057 1058 $('.search-count > span:first-of-type').html(searchStart + ' ' + '-' + ' ' + searchEnd); 1059 1060 if (searchPaginationNumber === 0) { 1061 parent.find('.pagination-item-input').val(1); 1062 } 1063 } 1064 1065 function createPaginationSearch(totalSearchResults) { 1066 var parent = $(".overlay-search-results-container"); 1067 createPaginationForSearch(totalSearchResults,parent); 1068 } 1069 function createPaginationForFile(totaFiles) { 1070 var parent = $(".overlay-file-search-results-container"); 1071 if (totaFiles == 0) { 1072 parent.find('.total-count').removeClass('d-none'); 1073 parent.find('.file-results_pagination').addClass('d-none'); 1074 $("overlay-search-results-container__top").addClass("d-none"); 1075 parent.find('.total-count').html(' ' + totaFiles); 1076 parent.find('.file-total-pag-num span').html(1); 1077 parent.find('file-pagination-item-input').attr('data-max-val', 1); 1078 fileSearchEnd = 0; 1079 fileSearchStart = 0; 1080 } else if (Math.floor(totaFiles / fileSearchListCount) === 1) { 1081 parent.find('.total-count').removeClass('d-none'); 1082 parent.find('.total-count').html(' ' + totaFiles); 1083 $("overlay-search-results-container__top").removeClass("d-none"); 1084 parent.find('.file-results_pagination').removeClass('d-none'); 1085 parent.find('.file-total-pag-num span').html(Math.floor(totaFiles / fileSearchListCount)); 1086 parent.find('.file-pagination-item-input').attr('data-max-val', Math.floor(totaFiles / fileSearchListCount)); 1087 fileSearchStart = 1; 1088 fileSearchEnd = fileSearchListCount; 1089 } else { 1090 console.log("SearchListCount: " + fileSearchListCount); 1091 if (isNaN(fileSearchListCount) || fileSearchListCount == undefined || fileSearchListCount == 0) { 1092 console.log("Was NaN"); 1093 fileSearchListCount = parseInt($(".page-count option:eq(0)").val()) || 10; 1094 } 1095 var totalPage = Math.floor(totaFiles / fileSearchListCount) 1096 $("overlay-search-results-container__top").removeClass("d-none"); 1097 if (totalPage > 1200) { 1098 totalPage = 1200; 1099 totaFiles = 1200 * fileSearchListCount; 1100 } 1101 parent.find('.total-count').removeClass('d-none'); 1102 parent.find('.total-count').html(' ' + totaFiles); 1103 parent.find('.file-results_pagination').removeClass('d-none'); 1104 parent.find(".file-pagination-right").removeClass("disabled"); 1105 parent.find('.file-total-pag-num span').html(totalPage); 1106 parent.find('.file-pagination-item-input').attr('data-max-val', totalPage); 1107 1108 1109 } 1110 if (fileSearchStart<1){ 1111 fileSearchStart = 1; 1112 } 1113 if (totaFiles<fileSearchListCount){ 1114 fileSearchEnd = totaFiles; 1115 } 1116 if (fileSearchEnd<1){ 1117 fileSearchEnd = 1; 1118 } 1119 1120 $('.file-search-count > span:first-of-type').html(fileSearchStart + ' ' + '-' + ' ' + fileSearchEnd); 1121 1122 if (searchPaginationNumber === 0) { 1123 parent.find('.pagination-item-input').val(1); 1124 } 1125 } 1126 1127 function searchRequestProcess() { 1128 if ($(".search-trigger__search-box").length > 0) { 1129 searchRequest = UtilityModule.whiteListCleanser($(".search-trigger__search-box").val()); 1130 var url = $(".search-trigger__search-box").attr("data-search-ajax-url"); 1131 1132 if (searchRequest) { 1133 //AnalyticsDTM.addSearchResultsListener(); 1134 searchStart = 1; 1135 searchEnd = 10; 1136 searchPaginationPrev = undefined; 1137 searchPaginationNumber = 0; 1138 searchCounter = 1; 1139 searchServiceCall(url, searchRequest, "false",false); 1140 1141 // Analytics 1142 var ldo = { 1143 eventName: 'siteSearchResults', 1144 attributes: { 1145 resultsNum: totalSearchResults, 1146 searchTerm: searchRequest 1147 } 1148 }; 1149 digitalData.eventTrack('siteSearchResults', ldo); 1150 if ($(".tabbed-content-entity").length > 0) { 1151 $(".tabbed-content-entity").removeClass("d-none"); 1152 $(".tabbed-content-entity .tabbed-content-header .tabbed-items .item:first-of-type").trigger("click"); 1153 } 1154 $(".overlay-search-results-container").css({ 1155 'opacity': 0, 1156 }).stop(true, false).animate({'opacity': 1}, 2000); 1157 $(".overlay-search-results-container").addClass("searchClicked"); 1158 $(".overlay-search-results-container__top .page-drop-down-icon").attr({ 1159 "tabindex": "-1", 1160 "aria-hidden": true 1161 }); 1162 1163 } 1164 } 1165 1166 } 1167 1168 return { 1169 init: function () { 1170 $(window).on("resize", function () { 1171 if (UtilityModule.getViewport() == 'mobile') { 1172 if (searchMaxPagCount == 5) { 1173
1173 searchMaxPagCount = 3; 1174 } 1175 } 1176 if (UtilityModule.getViewport() != 'mobile') { 1177 if (searchMaxPagCount != 5) { 1178 searchMaxPagCount = 5; 1179 } 1180 } 1181 1182 viewportNew = UtilityModule.getViewport(); 1183 if (viewportNew != viewportOld) { 1184 if (viewportOld == "tablet" && viewportNew == "desktop") { 1185 viewportOld = viewportNew; 1186 } else if (viewportOld == "desktop" && viewportNew == "tablet") { 1187 viewportOld = viewportNew; 1188 } else { 1189 viewportOld = viewportNew; 1190 var num = $(".header__search-overlay-section .pagination.bootpag li.active").attr("data-lp"); 1191 $(".header__search-overlay-section .pagination.bootpag").trigger("page", [num, "scroll"]); 1192 } 1193 } 1194 }); 1195 1196 $header.find(".pagination-item-input").on("input", function (e) { 1197 e.preventDefault(); 1198 var parent = $(this).closest(".results_pagination"); 1199 var currentVal = $(this).val(); 1200 if (currentVal.length > 0) { 1201 var regextTest = new RegExp("^\\d+$"); 1202 if (!regextTest.test($(this).val())) { 1203 $(this).val($(this).val().slice(0, -1)); 1204 } 1205 if (parseInt(currentVal) > parseInt($(this).attr('data-max-val'))) { 1206 $(this).val($(this).attr('data-max-val')); 1207 parent.find(".pagination-left").removeClass("disabled"); 1208 parent.find(".pagination-left").attr("data-lp-prev", parseInt($(this).attr('data-max-val') - 1)); 1209 parent.find(".pagination-right").addClass("disabled"); 1210 $(this).attr("data-current-page", parseInt($(this).attr('data-max-val'))); 1211 $ 1212 parent.find(".pagination-left").attr("data-lp-next", parseInt($(this).attr('data-max-val'))); 1213 } else if (parseInt(currentVal) < 1) { 1214 parent.find(".pagination-left").attr("data-lp", parseInt(currentVal) - 1 > 0 ? parseInt(currentVal) - 1 : 1); 1215 parent.find(".pagination-left").addClass("disabled"); 1216 $(this).attr("data-current-page", 1); 1217 $(this).val(1); 1218 parent.find(".pagination-left").attr("data-lp-prev", 1); 1219 parent.find(".pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1220 parent.find(".pagination-right").removeClass("disabled"); 1221 } else { 1222 parent.find(".pagination-left").attr("data-lp", parseInt(currentVal) - 1 > 0 ? parseInt(currentVal) - 1 : 1); 1223 parent.find(".pagination-left").attr("data-lp-prev", parseInt(currentVal) - 1); 1224 parent.find(".pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1225 $(this).attr("data-current-page", parseInt($(this).val())); 1226 parent.find(".pagination-left, .pagination-right").removeClass("disabled"); 1227 parent.find(".pagination-right").removeClass("disabled"); 1228 } 1229 searchPaginationNumber = parseInt($(this).val()); 1230 1231 searchServiceCall($(".search-trigger__search-box").attr("data-search-ajax-url"), $(".search-trigger__search-box").val(), "false", true); 1232 $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1233 }); 1234 1235 } 1236 }); 1237 1238 $header.find(".pagination-left").on("click", function () { 1239 var parent = $(this).closest(".results_pagination"); 1240 var currentVal = parseInt(parent.find(".pagination-item-input").val()); 1241 var maxVal = parseInt(parent.find(".pagination-item-input").attr('data-max-val')); 1242 if (currentVal > maxVal) { 1243 currentVal = maxVal; 1244 } 1245 if (currentVal - 1 >= 1) { 1246 parent.find(".pagination-item-input").val(currentVal - 1); 1247 parent.find(".pagination-item-input").attr("data-current-page", currentVal - 1); 1248 searchPaginationNumber = parseInt(currentVal - 1); 1249 if (parent.hasClass("file-pagination")){ 1250 paginationAppendFiles(parent, false, totalFiles); 1251 } else { 1252 searchServiceCall($(".search-trigger__search-box").attr("data-search-ajax-url"), $(".search-trigger__search-box").val(), "false", true); 1253 1254 } $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1255 }); 1256 1257 1258 } else { 1259 parent.find(".pagination-left").addClass("disabled"); 1260 } 1261 parent.find(".pagination-right").removeClass("disabled"); 1262 parent.find(".pagination-left").attr("data-lp-prev", parseInt(currentVal) - 1); 1263 parent.find(".pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1264 1265 1266 }); 1267 1268 $header.find(".pagination-right").on("click", function () { 1269 var parent = $(this).closest(".results_pagination"); 1270 var currentVal = parseInt(parent.find(".pagination-item-input").val()); 1271 if ((currentVal + 1) <= parseInt(parent.find(".pagination-item-input").attr('data-max-val'))) { 1272 parent.find(".pagination-item-input").val(currentVal + 1); 1273 parent.find(".pagination-item-input").attr("data-current-page", currentVal + 1); 1274 searchPaginationNumber = parseInt(currentVal + 1); 1275 searchServiceCall($(".search-trigger__search-box").attr("data-search-ajax-url"), $(".search-trigger__search-box").val(), "false", true); 1276 $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1277 }); 1278 1279 } else { 1280 parent.find(".pagination-right").addClass("disabled"); 1281 } 1282 parent.find(".pagination-left").removeClass("disabled"); 1283 parent.find(".pagination-left").attr("data-lp-prev", parseInt(currentVal) - 1); 1284 parent.find(".pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1285 }); 1286 1287 $header.find(".total-pag-num").on("click", function () { 1288 var parent = $(this).closest(".results_pagination"); 1289 var maxVal = parseInt(parent.find(".pagination-item-input").attr('data-max-val')); 1290 parent.find(".pagination-item-input").val(maxVal); 1291 parent.find(".pagination-left").attr("data-lp-prev", parseInt(maxVal) - 1); 1292 parent.find(".pagination-left").removeClass("disabled"); 1293 parent.find(".pagination-right").attr("data-lp-next", maxVal); 1294 parent.find(".pagination-right").addClass("disabled"); 1295 searchPaginationNumber = maxVal; 1296 if (parent.hasClass("file-entity-results")){ 1297 paginationAppendFiles(parent, false, totalFiles); 1298 } else { 1299 searchServiceCall($(".search-trigger__search-box").attr("data-search-ajax-url"), $(".search-trigger__search-box").val(), "false", true); 1300 1301 } $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1302 }); 1303 1304 }).on("keypress", function (e) { 1305 if (13 === evt.keyCode || 32 === evt.keyCode) { 1306 $(this).trigger("click"); 1307 } 1308 }) 1309 $header.find(".file-pagination-item-input").on("input", function (e) { 1310 e.preventDefault(); 1311 var parent = $(this); 1312 var currentVal = $(this).val(); 1313 var max = $(this).attr('data-max-val'); 1314 if (currentVal.length > 0) { 1315 var regextTest = new RegExp("^\\d+$"); 1316 if (!regextTest.test($(this).val())) { 1317 $(this).val($(this).val().slice(0, -1)); 1318 } 1319 if (parseInt(currentVal) > parseInt(max)) { 1320 $(this).val($(this).attr('data-max-val')); 1321 $(".file-pagination-left").removeClass("disabled"); 1322 $(".file-pagination-left").attr("data-lp-prev", parseInt($(this).attr('data-max-val') - 1)); 1323 $(".file-pagination-right").addClass("disabled"); 1324 $(this).attr("data-current-page", parseInt(max)); 1325 $(".file-pagination-left").attr("data-lp-next", parseInt(max)); 1326 } else if (parseInt(currentVal) < 1) { 1327 $(".file-pagination-left").attr("data-lp", parseInt(currentVal) - 1 > 0 ? parseInt(currentVal) - 1 : 1); 1328 $(".file-pagination-left").addClass("disabled"); 1329 $(this).attr("data-current-page", 1); 1330 $(".file-pagination-left").attr("data-lp-prev", 1); 1331 $(".file-pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1332 $(".file-pagination-right").removeClass("disabled"); 1333 } else { 1334 $(".file-pagination-left").attr("data-lp", parseInt(currentVal) - 1 > 0 ? parseInt(currentVal) - 1 : 1); 1335 $(".file-pagination-left").attr("data-lp-prev", parseInt(currentVal) - 1); 1336 $(".file-pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1337 $(this).attr("data-current-page", parseInt(currentVal)); 1338 $(".file-pagination-left, .pagination-right").removeClass("disabled"); 1339 $(".file-pagination-right").removeClass("disabled"); 1340 } 1341 fileSearchPaginationNumber = currentVal; 1342 1343 paginationAppendFiles(parent, false, totalFiles); 1344 $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1345 }); 1346 1347 } 1348 }); 1349 1350 $header.find(".file-pagination-left").on("click", function () { 1351 var parent =$(this).closest(".file-entity-results"); 1352 var currentVal = parseInt($(".file-pagination-item-input").val()); 1353 var maxVal = parseInt($(".file-pagination-item-input").attr('data-max-val')); 1354 if (currentVal > maxVal) { 1355 currentVal = maxVal; 1356 } 1357 if (currentVal - 1 >= 1) { 1358 $(".file-pagination-item-input").val(currentVal - 1); 1359 $(".file-pagination-item-input").attr("data-current-page", currentVal - 1); 1360 fileSearchPaginationNumber = parseInt(currentVal - 1); 1361 paginationAppendFiles(parent, false, totalFiles); 1362 $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1363 }); 1364 1365 1366 } else { 1367 $(".file-pagination-left").addClass("disabled"); 1368 } 1369 $(".file-pagination-right").removeClass("disabled"); 1370 $(".file-pagination-left").attr("data-lp-prev", parseInt(currentVal) - 1); 1371 $(".file-pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1372 1373 1374 }); 1375 1376 $header.find(".file-pagination-right").on("click", function () { 1377 var parent =$(this).closest(".file-entity-results"); 1378 var currentVal = parseInt($(".file-pagination-item-input").val()); 1379 var dataMax = parseInt($(".file-pagination-item-input").attr('data-max-val')) 1380 console.log("currentVal: " + currentVal); 1381 console.log("dataMax: " + dataMax); 1382 if ((currentVal + 1) <= dataMax) { 1383 $(".file-pagination-item-input").val(currentVal + 1); 1384 $(".file-pagination-item-input").attr("data-current-page", currentVal + 1); 1385 fileSearchPaginationNumber = parseInt(currentVal + 1); 1386 1387 paginationAppendFiles(parent, false, totalFiles); 1388 1389 $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1390 }); 1391 1392 } else { 1393 $(".file-pagination-right").addClass("disabled"); 1394 } 1395 $(".file-pagination-left").removeClass("disabled"); 1396 $(".file-pagination-left").attr("data-lp-prev", parseInt(currentVal) - 1); 1397 $(".file-pagination-right").attr("data-lp-next", parseInt(currentVal) + 1); 1398 }); 1399 1400 $header.find(".file-total-pag-num").on("click", function () { 1401 var parent =$(this).closest(".file-entity-results"); 1402 var maxVal = parseInt($(".pagination-item-input").attr('data-max-val')); 1403 $(".file-pagination-item-input").val(maxVal); 1404 $(".file-pagination-left").attr("data-lp-prev", parseInt(maxVal) - 1); 1405 $(".file-pagination-left").removeClass("disabled"); 1406 $(".file-pagination-right").attr("data-lp-next", maxVal); 1407 $(".file-pagination-right").addClass("disabled"); 1408 fileSearchPaginationNumber = maxVal; 1409 paginationAppendFiles(parent, false, totalFiles); 1410 $(".header__search-overlay").animate({scrollTop: $('#searchInPage').offset().top}, 750, function () { 1411 }); 1412 1413 }).on("keypress", function (e) { 1414 if (13 === evt.keyCode || 32 === evt.keyCode) { 1415 $(this).trigger("click"); 1416 } 1417 }) 1418 $header.find(".sortby").on('change', function () { 1419 if ($(".overlay-search-results-container").length > 0) { 1420 searchRequest = $('.search-trigger__search-box').val(); 1421 var url = $('.search-trigger__search-box').attr("data-search-ajax-url"); 1422 if (searchRequest) { 1423 searchCounter = 1; 1424 searchPaginationNumber = 0; 1425 searchPaginationPrev = 1; 1426 searchServiceCall(url, searchRequest, "false", true); 1427 } 1428 } 1429 }); 1430 1431 $header.find(".page-count").on('change', function () { 1432 if ($(".overlay-search-results-container").length > 0) { 1433 searchListCount = parseInt($(this).val()); 1434 numSearchResults = $(this).val(); 1435 searchRequest = $('.search-trigger__search-box').val(); 1436 var url = $('.search-trigger__search-box').attr("data-search-aj
1436ax-url"); 1437 if (searchRequest) { 1438 searchCounter = 1; 1439 searchPaginationNumber = 0; 1440 searchPaginationPrev = 1; 1441 searchServiceCall(url, searchRequest, "false", true); 1442 } 1443 } 1444 }); 1445 1446 $header.find(".file-count").on('change', function () { 1447 if ($(".overlay-search-results-container").length > 0) { 1448 fileSearchListCount = parseInt($(this).val()) || 10; 1449 fileNumSearchResults = $(this).val() || 10; 1450 searchRequest = $('.search-trigger__search-box').val(); 1451 var url = $('.search-trigger__search-box').attr("data-search-ajax-url"); 1452 if (searchRequest) { 1453 searchCounter = 1; 1454 searchPaginationNumber = 0; 1455 searchPaginationPrev = 1; 1456 paginationAppendFiles($(".file-entity-results"), false, totalFiles,true); 1457 } 1458 } 1459 }); 1460 $header.find(".fileSortby").on('change', function () { 1461 if ($(".overlay-search-results-container").length > 0) { 1462 searchRequest = $('.search-trigger__search-box').val(); 1463 var url = $('.search-trigger__search-box').attr("data-search-ajax-url"); 1464 if (searchRequest) { 1465 searchCounter = 1; 1466 searchPaginationNumber = 0; 1467 searchPaginationPrev = 1; 1468 paginationAppendFiles($(".file-entity-results"), false, totalFiles,true); 1469 } 1470 } 1471 }); 1472 1473 // Need to update this for search suggestion 1474 $header.find(".js-searchSuggestion").on('click', function (e) { 1475 e.preventDefault(); 1476 searchRequest = UtilityModule.whiteListCleanser($(this).text()); 1477 $('.search-trigger__search-box').val($(this).text()); 1478 var url = $('.search-trigger__search-box').attr("data-search-ajax-url"); 1479 if (searchRequest) { 1480 searchStart = 1; 1481 searchEnd = 10; 1482 searchPaginationPrev = undefined; 1483 searchPaginationNumber = 0; 1484 searchCounter = 1; 1485 searchServiceCall(url, searchRequest, "false", false); 1486 } 1487 }); 1488 1489 1490 // Site header search on keypress 1491 $header.find(".search-trigger__search-box").on("keypress", function (e) { 1492 $('.suggestionsbox').attr('aria-hidden', 'false'); 1493 if (e.which == 13) { 1494 e.preventDefault(); 1495 if ($('.search-trigger__search-box').val()) { 1496 searchRequestProcess(); 1497 clear_suggestions(); 1498 } 1499 } 1500 }); 1501 1502 // Site Header Search click on icon 1503 $header.find(".js-searchIcon").on("click", function () { 1504 if ($('.search-trigger__search-box').val()) { 1505 searchRequestProcess(); 1506 clear_suggestions(); 1507 } 1508 }); 1509 1510 $header.find(".search-trigger__search-box").on("focus", function () { 1511 clear_suggestions(); 1512 if ($(".ss-gac-table").css('display') === 'none') { 1513 $('.suggestionsbox').attr('aria-hidden', 'true'); 1514 } else { 1515 $('.suggestionsbox').attr('aria-hidden', 'false'); 1516 } 1517 }); 1518 1519 $header.find(".search_location_image").on('focus', function () { 1520 clear_suggestions(); 1521 if ($(".ss-gac-table").css('display') === 'none') { 1522 $('.suggestionsbox').attr('aria-hidden', 'true'); 1523 } else { 1524 $('.suggestionsbox').attr('aria-hidden', 'false'); 1525 } 1526 }); 1527 $header.find(".search_location_image").on("keyup", function (e) { 1528 //e.preventDefault(); 1529 if (e.which == 13 || e.which == 32) { 1530 if ($('.search-trigger__search-box').val()) { 1531 searchRequestProcess(); 1532 clear_suggestions(); 1533 } 1534 } 1535 }); 1536 1537 //Speach to text 1538 const SpeechRecognition = 1539 window.SpeechRecognition || window.webkitSpeechRecognition; 1540 var recognition = SpeechRecognition; 1541 recognition.continuous = false;
1542 recognition.interimResults = false; 1543 recognition.lang = "en-US"; 1544 $('.js-speachIcon').on("click", function () { 1545 SpeechRecog(); 1546 }); 1547 1548 function SpeechRecog() { 1549 var output = document.getElementById("output"); 1550 var action = document.getElementById("action"); 1551 var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition; 1552 var recognition = new SpeechRecognition(); 1553 1554 recognition.onspeechend = function () { 1555 recognition.stop(); 1556 } 1557 1558 // This runs when the speech recognition service returns result 1559 recognition.onresult = function (e) { 1560 var transcript = e.results[0][0].transcript; 1561 console.log(transcript); 1562 document.querySelector('.search-trigger__search-box').value = transcript; 1563 }; 1564 1565 // start recognition 1566 recognition.start(); 1567 } 1568 1569 1570 $(".suggestionsbox").on("click", ".js-searchSuggestions", function () { 1571 searchRequestProcess(); 1572 clear_suggestions(); 1573 }).on("keypress", ".js-searchSuggestions", function (e) { 1574 if (e.which == 13) { 1575 e.preventDefault(); 1576 $('.search-trigger__search-box').val($(this).text()); 1577 if ($('.search-trigger__search-box').val()) { 1578 searchRequestProcess(); 1579 clear_suggestions(); 1580 } 1581 } 1582 }); 1583 1584 $(".search-results-layout .icon-search-list").attr("aria-pressed", true).attr("aria-label", listAria + ' ' + listOn); 1585 $(".search-results-layout .icon-search-list .search_svg").addClass("active"); 1586 $(".search-results-layout .icon-search-grid").attr("aria-label", gridAri
1586a + ' ' + listOff); 1587 1588 1589 $(".search-results-layout .icon-search-list").on("click", function () { 1590 $(".icon-search-grid").closest(".overlay-search-results-container").removeClass("grid-layout"); 1591 $(".icon-search-grid .search_svg").removeClass("active"); 1592 $(".search-results-layout .icon-search-list").addClass("d-none"); 1593 $(".search-results-layout .icon-search-grid").removeClass("d-none"); 1594 $(".search-results-layout .icon-search-grid").removeClass("active").attr('aria-pressed', false); 1595 $(this).addClass("active").attr('aria-pressed', true).focus().focusin(); 1596 $(".icon-search-list .search_svg").addClass("active"); 1597 $(".search-results-layout .icon-search-grid").attr("aria-label", gridAria + ' ' + listOff); 1598 $(".search-results-layout .icon-search-list").attr("aria-label", listAria + ' ' + listOn); 1599 }); 1600 1601 $(document).on("keydown", ".search-results-layout .icon-search-list", function (evt) { 1602 if (13 === evt.keyCode || 32 === evt.keyCode) { 1603 $(".icon-search-grid").closest(".overlay-search-results-container").removeClass("grid-layout"); 1604 $(".search-results-layout .icon-search-grid").removeClass("active"); 1605 $(".icon-search-grid .search_svg").removeClass("active"); 1606 $(".search-results-layout .icon-search-list").addClass("d-none"); 1607 $(".search-results-layout .icon-search-grid").removeClass("d-none"); 1608 $(this).addClass("active").focus().focusin(); 1609 $(".search-results-layout .icon").removeAttr("aria-pressed"); 1610 $(".icon-search-list .search_svg").addClass("active"); 1611 $(".search-results-layout .icon-search-list").attr("aria-pressed", true); 1612 $(".search-results-layout .icon-search-grid").attr("aria-label", gridAri
1612a + ' ' + listOff); 1613 $(".search-results-layout .icon-search-list").attr("aria-label", listAria + ' ' + listOn); 1614 } 1615 }); 1616 1617 $(".search-results-layout .icon-search-grid").on("click", function () { 1618 $(".search-results-layout .icon-search-list").removeClass("active").attr('aria-pressed', false); 1619 $(".icon-search-list .search_svg").removeClass("active"); 1620 $(".search-results-layout .icon-search-grid").addClass("d-none"); 1621 $(".search-results-layout .icon-search-list").removeClass("d-none"); 1622 $(this).addClass("active").attr('aria-pressed', true).focus().focusin(); 1623 $(this).closest(".overlay-search-results-container").addClass("grid-layout"); 1624 $(".icon-search-grid .search_svg").addClass("active"); 1625 $(".search-results-layout .icon-search-grid").attr("aria-label", gridAria + ' ' + listOn); 1626 $(".search-results-layout .icon-search-list").attr("aria-label", listAria + ' ' + listOff); 1627 }); 1628 1629 $(document).on("keydown", ".search-results-layout .icon-search-grid", function (evt) { 1630 if (13 === evt.keyCode || 32 === evt.keyCode) { 1631 $(".icon-search-list .search_svg").removeClass("active"); 1632 $(".search-results-layout .icon-seach-list").removeClass("active").attr('aria-pressed', false); 1633 $(this).addClass("active").focus().focusin(); 1634 $(".search-results-layout .icon-search-grid").addClass("d-none"); 1635 $(".search-results-layout .icon-search-list").removeClass("d-none"); 1636 $(this).closest(".overlay-search-results-container").addClass("grid-layout"); 1637 $(".search-results-layout .icon-search-grid .search_svg").addClass("active"); 1638 $(".search-results-layout .icon").removeAttr("aria-pressed"); 1639 $(".search-results-layout .icon-search-grid").attr("aria-pressed", true); 1640 $(".search-results-layout .icon-search-grid").attr("aria-label", gridAri
1640a + ' ' + listOn); 1641 $(".search-results-layout .icon-search-list").attr("aria-label", listAria + ' ' + listOff); 1642 } 1643 }); 1644 1645 $("body").on("click", ".popular-search-item", function () { 1646 $(".search-trigger__search-box").val($(this).attr("data-search-term").trim()); 1647 $('.js-searchIcon').trigger("click"); 1648 AnalyticsModule.linkClick("Search", "Popular Searches", $(this).attr("data-search-term").trim()); 1649 }).on("keypress", ".popular-search-item", function (e) { 1650 if (e.which == 13) { 1651 $(".search-trigger__search-box").val($(this).attr("data-search-term").trim()); 1652 $('.js-searchIcon').trigger("click"); 1653 AnalyticsModule.linkClick("Search", "Popular Searches", $(this).attr("data-search-term").trim()); 1654 } 1655 }); 1656 $('#searchInPage').on('keyup', function (e) { 1657 if (e.keyCode == 38 || e.keyCode == 40) { 1658 $(this).attr('aria-activedescendant', $(this).val()); 1659 } 1660 }); 1661 } 1662 }; 1663 })(); 1664 LuceneSearchModule.init(); 1665} 1666 1667if ("undefined" != $(".header__search-overlay .isLucene").val() && $(".header__search-overlay .isLucene").val() && (0 != $("#searchInPage").length || 0 != $("#form-refineSearchQuery_sr").length)) { 1668 var ss_form_element = "metSearchForm", 1669 enableSuggestions = true, 1670 ss_popup_element = "search_suggest", 1671 ss_popup_element_table = "search_suggest_table", 1672 ss_allow_debug = false, 1673 waitSuggest = 500, 1674 delaySuggest = 30, 1675 ss_seq = ["g"], 1676 sugNameSingular = "Suggestion", 1677 sugNameMultiple = "Suggestions", 1678 maxSuggestG = 5, 1679 maxSuggest = 12, 1680 sugMinLength = -1, 1681 ss_cached = [], 1682 enterKey = 13, 1683 escKey = 27, 1684 leftKey = 37, 1685 rightKey = 39, 1686 shiftKey = 16, 1687 f2Key = 113, 1688 downKey = 40, 1689 tabKey = 9, 1690 upKey = 38, 1691 ajaxURL = $(".search-trigger__container input").attr("data-search-url"), 1692 site = $(".js-searchSubmit").attr("data-site"); 1693 null == site && (site = $(".search-trigger__container input").attr("data-site")); 1694 var textOverLayDivBack = "overlayerback", 1695 textBoxID = "searchInPage", 1696 maxCharLen = 21, autoCompleteEnable = true, 1697 scheduler = null, 1698 failCount = 0, 1699 failCountMaxTries = 3, 1700 ss_qbackup = null, 1701 ss_qshown = null, 1702 ss_loc = -1, 1703 ss_waiting = 0, 1704 ss_painting = false, 1705 ss_key_handling_queue = null, 1706 ss_painting_queue = null, 1707 ss_dismissed = false, 1708 ss_panic = false, 1709 SS_ROW_CLASS = "ss-gac-a", 1710 SS_ROW_SELECTED_CLASS = "ss-gac-b"; 1711 Array.indexOf || (Array.prototype.indexOf = function (e) { 1712 for (var s = 0; s < this.length; s++) if (this[s] == e) return s; 1713 return -1 1714 }); 1715 var ss_debug = new ss_Debugger, 1716 cacheTimeOut = 18e5, 1717 timeStamp = (new Date).getTime(), 1718 isThemeMode = true, 1719 maxLengthFirstRow = 21, 1720 maxLenghtSecondRow = 35, 1721 textEntered; 1722 1723 function setSearchResultsPageIDS() { 1724 isThemeMode && (clear_suggestions(), maxLengthFirstRow = 27, maxLenghtSecondRow = 40, clear_suggestions(), ss_form_element = "frm_refineSearchResult", textOverLayDivBack = "overlayerback_sr", textBoxID = "form-refineSearchQuery_sr", maxCharLen = 21, autoCompleteEnable = true, ss_popup_element_table = "search_suggest_table_sr", ss_popup_element = "search_suggest_sr", isThemeMode = false) 1725 } 1726 1727 function setThemePageIDS() { 1728 isThemeMode || (clear_suggestions(), maxLengthFirstRow = 21, maxLenghtSecondRow = 31, ss_form_element = "metSearchForm", textOverLayDivBack = "overlayerback", textBoxID = "searchInPage", maxCharLen = 24, autoCompleteEnable = true, ss_popup_element_table = "search_suggest_table", ss_popup_element = "search_suggest", isThemeMode = true) 1729 } 1730 1731 function clear_suggestions() { 1732 ss_dismissed = true, ss_clear(), 0 != $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".overlay-search-results-container").length && $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".overlay-search-results-container").removeClass("d-none") 1733 } 1734 1735 function clearCache() { 1736 ss_cached = [], timeStamp = (new Date).getTime(), scheduler = setTimeout("clearCache()", cacheTimeOut) 1737 } 1738 1739 function doGetCaretPosition(e) { 1740 var s = 0; 1741 if (document.selection) { 1742 e.focus(); 1743 var t = document.selection.createRange(); 1744 t.moveStart("character", -e.value.length), s = t.text.length 1745 }
1745 else (e.selectionStart || "0" == e.selectionStart) && (s = e.selectionStart); 1746 return s 1747 } 1748 1749 function drawTextBox(e) { 1750 drawTextBox(e, null) 1751 } 1752 1753 function isNonPrintableCharacter(e) { 1754 if (null != e) { 1755 if (void 0 === e.which) 1756 return true; 1757 if ("number" == typeof e.which && e.which > 0) 1758 return !e.ctrlKey && !e.metaKey && !e.altKey && 8 != e.which 1759 } 1760 return false 1761 } 1762 1763 function drawTextBox(e, s) { 1764 var keyPress = -1; 1765 null != s && (keyPress = window.event ? window.event.keyCode : s.keyCode); 1766 var sugTextBox = document.getElementById(textBoxID), 1767 sugTextOverlayDiv = document.getElementById(textOverLayDivBack); 1768 null != s && textEntered == sugTextBox.value || (textEntered = sugTextBox.value, sugTextBox.value.length < maxCharLen ? leftKey != keyPress && rightKey != keyPress && 1769 (null != e & "" != e ? (sugTextOverlayDiv.style.color = "silver", sugTextOverlayDiv.style.visibility = "visible", 1770 sugTextOverlayDiv.value = sugTextBox.value + e) : sugTextOverlayDiv.style.visibility = "hidden") : sugTextOverlayDiv.style.color = "#f2f2f2") 1771 } 1772 1773 function ss_composeSuggestUri(e, s) { 1774 var t = ajaxURL; 1775 return e ? t = t + "?q=" + encodeURIComponent(e) + "&max=" + maxSuggestG + "&collection=" + site : null 1776 } 1777 function suggestBlank(){ 1778 var qVal = document.getElementById(ss_form_element).query.value; 1779 if (qVal == "") { 1780 qVal = " "; 1781 } 1782 var uri = ajaxURL + "?q=" + " " + "&max=" + maxSuggestG + "&collection=" + site; 1783 1784 var startTimeMs = (new Date).getTime(); 1785 var suggestForm = document.getElementById(ss_form_element); 1786 var url = uri, xmlhttp = XH_XmlHttpCreate(), handler = function () { 1787 if (xmlhttp.readyState == XML_READY_STATE_COMPLETED) { 1788 var suggested; 1789 null != xmlhttp.status && 200 != xmlhttp.status ? failCount++ : failCount = 0, failCount >= failCountMaxTries && ("undefined" != typeof console && console.info("suggestions disabled " + failCount), enableSuggestions = false); 1790 try { 1791 suggested = eval("(" + xmlhttp.responseText + ")"), autocompleteList = suggested 1792 } catch (e) { 1793 return ss_cached[qVal].g = null, void ss_show(qVal) 1794 } 1795 if (null == scheduler && (scheduler = setTimeout("clearCache()", cacheTimeOut)), ss_use.g) try { 1796 var suggestions = suggested.results; 1797 if (suggestions && suggestions.length >= 0) { 1798 var found = false; 1799 ss_cached[qVal].g = []; 1800 for (var max = maxSuggestG <= 0 ? suggestions.length : Math.min(maxSuggestG, suggestions.length), si = 0; si < max; si++) if (suggestions[si].name && suggestions[si].name != suggested.query) ss_cached[qVal].g[si] = {q: suggestions[si].name}, found = true; else if (ss_allow_non_query) { 1801 var title = suggestions[si].content, url = suggestions[si].moreDetailsUrl; 1802 url && (title = title || ss_non_query_empty_title, ss_cached[qVal].g[si] = { 1803 t: title, 1804 u: url 1805 }, found = true) 1806 } 1807 found || (ss_cached[qVal].g = null) 1808 } else ss_cached[qVal].g = null 1809 } catch (e) { 1810 console.log(e + "error" + qVal) 1811 } 1812 1813 ss_show(qVal) 1814 } 1815 }; 1816 XH_XmlHttpGET(xmlhttp, url, handler) 1817 1818 } 1819 function ss_suggest(qVal) { 1820 var startTimeMs = (new Date).getTime(); 1821 ss_cached[qVal] || (ss_cached[qVal] = {}); 1822 var suggestForm = document.getElementById(ss_form_element), uri = ss_composeSuggestUri(qVal, suggestForm); 1823 if (uri) { 1824 var url = uri, xmlhttp = XH_XmlHttpCreate(), handler = function () { 1825 if (xmlhttp.readyState == XML_READY_STATE_COMPLETED) { 1826 var suggested; 1827 null != xmlhttp.status && 200 != xmlhttp.status ? failCount++ : failCount = 0, failCount >= failCountMaxTries && ("undefined" != typeof console && console.info("suggestions disabled " + failCount), enableSuggestions = false); 1828 try { 1829 suggested = eval("(" + xmlhttp.responseText + ")"), autocompleteList = suggested 1830 } catch (e) { 1831 return ss_cached[qVal].g = null, void ss_show(qVal) 1832 } 1833 if (null == scheduler && (scheduler = setTimeout("clearCache()", cacheTimeOut)), ss_use.g) try { 1834 var suggestions = suggested.results; 1835 if (suggestions && suggestions.length >= 0) { 1836 var found = false;
1837 ss_cached[qVal].g = []; 1838 for (var max = maxSuggestG <= 0 ? suggestions.length : Math.min(maxSuggestG, suggestions.length), si = 0; si < max; si++) if (suggestions[si].name && suggestions[si].name != suggested.query) ss_cached[qVal].g[si] = {q: suggestions[si].name}, found = true; else if (ss_allow_non_query) { 1839 var title = suggestions[si].content, url = suggestions[si].moreDetailsUrl; 1840 url && (title = title || ss_non_query_empty_title, ss_cached[qVal].g[si] = { 1841 t: title, 1842 u: url 1843 }, found = true) 1844 } 1845 found || (ss_cached[qVal].g = null) 1846 } else ss_cached[qVal].g = null 1847 } catch (e) { 1848 ss_cached[qVal].g = null 1849 } 1850 if (ss_allow_debug && ss_debug && ss_debug.getDebugMode()) { 1851 var stopTimeMs = (new Date).getTime(); 1852 ss_debug.addRequestDebugLine(qVal, "suggest", stopTimeMs - startTimeMs, ss_cached[qVal]) 1853 } 1854 ss_show(qVal) 1855 } 1856 }; 1857 XH_XmlHttpGET(xmlhttp, url, handler) 1858 } 1859 } 1860 1861 function ss_processed(e) { 1862 return !(!ss_cached[e] && ss_use.g) 1863 } 1864 1865 function ss_handleAllKey(e) { 1866 if (enableSuggestions) switch (window.event ? window.event.keyCode : e.keyCode) { 1867 case downKey: 1868 case upKey: 1869 break; 1870 case tabKey: 1871 ss_qbackup = null, ss_dismissed = true, ss_clear(true); 1872 break; 1873 case shiftKey: 1874 ss_qbackup = null, ss_dismissed = true; 1875 var s = document.getElementById(ss_form_element).query.value; 1876 ss_processed(s) || ss_suggest(s); 1877 break; 1878 case f2Key: 1879 if (!ss_allow_debug) break; 1880 ss_debug && ss_debug.getDebugMode() ? ss_debug.deactivateConsole() : ss_debug.activateConsole() 1881 } 1882 } 1883 1884 function isBlockedChar(e) { 1885 return keyArr = [17, 20, shiftKey, 18, tabKey, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 91, 92, 93, 45, 33, 34, 144, 145, 19], Array.prototype.contains = function (e) { 1886 for (var s = 0; s < this.length; s++) if (this[s] == e) return true; 1887 return false 1888 }, keyArr.contains(e) 1889 } 1890 function showSuggestionResults(e, s) { 1891 var tableRow = (suggestPopup = document.getElementById(ss_popup_element)).getElementsByTagName("tr"), 1892 n = window.event ? window.event.keyCode : s.keyCode, a = ss_qbackup || e.query.value, l = 0, 1893 suggestPopup = document.getElementById(ss_popup_element); 1894 if (!isBlockedChar(n)) switch (n) { 1895 case downKey: 1896 if (ss_dismissed = false, ss_processed(a)) { 1897 if ((l = ss_countSuggestions(a)) > 0) { 1898 if ("hidden" == suggestPopup.style.visibility) { 1899 ss_show(a); 1900 break 1901 } 1902 for (ss_qbackup ? ss_loc++ : (ss_qbackup = a, ss_loc = 0); ss_loc >= l;) ss_loc -= l; 1903 tableRow = suggestPopup.getElementsByTagName("tr"); 1904 for (var i = 0; i < tableRow.length - 1; i++) 1905 tableRow[i].className = i == ss_loc + 1 ? SS_ROW_SELECTED_CLASS : SS_ROW_CLASS; 1906 (u = ss_locateSuggestion(a, ss_loc)).q ? e.query.value = u.q : e.query.value = ss_qbackup 1907 } 1908 } else ss_suggest(a); 1909 break; 1910 case upKey: 1911 if (ss_dismissed = false, ss_processed(a)) { 1912 if ((l = ss_countSuggestions(a)) > 0) { 1913 if ("hidden" == suggestPopup.style.visibility) { 1914 ss_show(a); 1915 break 1916 } 1917 for (ss_qbackup ? ss_loc-- : (ss_qbackup = a, ss_loc = -1); ss_loc < 0;) ss_loc += l; 1918 for (tableRow = suggestPopup.getElementsByTagName("tr"), i = 1; i < tableRow.length - 1; i++) tableRow[i].className = i == ss_loc + 1 ? SS_ROW_SELECTED_CLASS : SS_ROW_CLASS; 1919 (u = ss_locateSuggestion(a, ss_loc)).q ? e.query.value = u.q : e.query.value = ss_qbackup 1920 } 1921 } else ss_suggest(a); 1922 break; 1923 case enterKey: 1924 var r = null; 1925 if (ss_processed(a) && ss_qbackup && ss_loc > -1) (u = ss_locateSuggestion(ss_qbackup, ss_loc)).u && (r = u.u); 1926 ss_qbackup = null, ss_dismissed = true, ss_clear(), r && (window.location.href = r); 1927 break; 1928 case escKey: 1929 ss_qbackup && (e.query.value = ss_qbackup, ss_qbackup = null), ss_dismissed = true, ss_clear(); 1930 break; 1931 case leftKey: 1932 autoCompleteEnable = false;
1933 break; 1934 case shiftKey: 1935 case tabKey: 1936 break; 1937 case 35: 1938 autoCompleteEnable || (autoCompleteEnable = true); 1939 break; 1940 case rightKey: 1941 if (ss_dismissed) return; 1942 if (!(doGetCaretPosition(e.query) >= e.query.value.length)) { 1943 autoCompleteEnable = false; 1944 break 1945 } 1946 if (!autoCompleteEnable) { 1947 autoCompleteEnable = true; 1948 break 1949 } 1950 if (ss_dismissed = false, ss_processed(a) && (l = ss_countSuggestions(a)) > 0) { 1951 var _ = ""; 1952 (u = ss_locateSuggestion(a, 0)).q && (_ = u.q); 1953 for (i = 1; i < tableRow.length - 1; i++) { 1954 var u; 1955 if (tableRow[i].className == SS_ROW_SELECTED_CLASS) (u = ss_locateSuggestion(ss_qbackup, ss_loc = i - 1)).q && (_ = u.q) 1956 } 1957 u.q && (e.query.value = _, drawTextBox("")) 1958 } 1959 clear_suggestions(); 1960 break; 1961 default: 1962 ss_dismissed = false, 1963 e.query.value == ss_qshown || ( 1964 ss_key_handling_queue && clearTimeout(ss_key_handling_queue), 1965 ss_qbackup = null, 1966 ss_loc = -1, 1967 ss_waiting++, 1968 ss_allow_debug && ss_debug && ss_debug.getDebugMode() && ss_debug.addWaitDebugLine(e.query.value, "queue", waitSuggest), 1969 ss_key_handling_queue = setTimeout('ss_handleQuery("' + ss_escape(e.query.value) + '", ' + ss_waiting + ")", waitSuggest) 1970 ) 1971 1972 } 1973 } 1974 function blankSuggest(){ 1975 var el = document.getElementById(ss_form_element); 1976 var search = "searchInPage"; 1977 var val = document.getElementById(search).value; 1978 if (val == "" || val==undefined || val==" "){ 1979 waitSuggest = 500; 1980 delaySuggest = 0 ; 1981 el.value = " "; 1982 var s, t = document.getElementById(ss_form_element); 1983 t.query.value = " "; 1984 e = t; 1985 (s && clearTimeout(s), s = setTimeout(function () { 1986 enableSuggestions || showSuggestionResults(t, e) 1987 }, 1e3)), 1988 t.query.value.length <= sugMinLength ? (enableSuggestions = false, clear_suggestions()) : enableSuggestions = true, 1989 enableSuggestions && showSuggestionResults(t, e) 1990 document.getElementById(ss_form_element).value = ""; 1991 } 1992 } 1993 function ss_handleKey(e) { 1994 var s, t = document.getElementById(ss_form_element); 1995 t.query.value.length >= 0 && (s && clearTimeout(s), s = setTimeout(function () { 1996 enableSuggestions || showSuggestionResults(t, e) 1997 }, 1e3)), 1998 t.query.value.length <= sugMinLength ? (enableSuggestions = false, clear_suggestions()) : enableSuggestions = true, 1999 enableSuggestions && showSuggestionResults(t, e) 2000 } 2001 2002 function ss_handleQuery(e, s) { 2003 s == ss_waiting && (ss_waiting = 0, "" == e ? ss_clear() : ss_processed(e) ? ss_show(e) : e.length >= 0 && ss_suggest(e)) 2004 } 2005 2006 function ss_sf() { 2007 document.getElementById(ss_form_element).query.focus(), ss_dismissed = false 2008 } 2009 2010 function ss_clear(e) { 2011 drawTextBox(""), ss_qshown = null; 2012 var s = document.getElementById(ss_form_element); 2013 ss_hide(ss_qbackup || s.query.value) 2014 } 2015 2016 function ss_hide(e) { 2017 var s = document.getElementById(ss_popup_element); 2018 "visible" == s.style.visibility && (ss_allow_debug && ss_debug && ss_debug.getDebugMode() && ss_debug.addHideDebugLine(e, "hide"), 2019 $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".search-trigger__search-box").removeClass("suggestions-opened"), 2020 s.style.visibility = "hidden", document.getElementById(ss_popup_element_table).style.visibility = "hidden", 2021 document.getElementById(ss_popup_element_table).style.display = "none", 2022 document.getElementById(ss_popup_element_table).style.position = "", 2023 document.getElementById(ss_popup_element_table).style.height = "", 2024 document.getElementById(ss_popup_element_table).style.width = "", 2025 document.getElementById(ss_popup_element_table).style.background = "", 2026 //0 != $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".popular-search-container").length && $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".popular-search-container").parent().removeClass("d-none"), 2027 0 != $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".overlay-search-results-container").length && $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".overlay-search-results-container").removeClass("d-none")) 2028 } 2029 2030 function ss_show(e) { 2031 if (document.getElementById(ss_form_element).query.value == e) { 2032 var s = (new Date).getTime(); 2033 if (ss_dismissed) return ss_qshown = null, void ss_hide(e); 2034 if (ss_processed(e)) if ("" != e) { 2035 var t = ss_cached[e] ? ss_cached[e].g : null, n = false;
2036 if (ss_use.g && t && (n = true), !n) return ss_qshown = null, void ss_hide(e); 2037 if (ss_painting) return ss_painting_queue && clearTimeout(ss_painting_queue), ss_allow_debug && ss_debug && ss_debug.getDebugMode() && ss_debug.addWaitDebugLine(e, "delay", delaySuggest), void (ss_painting_queue = setTimeout('ss_show("' + ss_escape(e) + '")', delaySuggest)); 2038 ss_painting = true; 2039 for (var a = document.getElementById(ss_popup_element), l = a.rows.length - 1; l > -1; l--) a.deleteRow(l); 2040 for (var o = 0, i = 0; i < ss_seq.length; i++) { 2041 switch (ss_seq[i]) { 2042 case"g": 2043 o += ss_showSuggestion(t, o, a, e) 2044 } 2045 if (maxSuggest > 0 && o >= maxSuggest) break 2046 } 2047 if (o > 0) { 2048 var r = a.insertRow(-1); 2049 r.className = "ss-gac-e"; 2050 var table = document.createElement("td"); 2051 table.setAttribute("tabindex", "0"), table.colSpan = 2; 2052 var u = document.createElement("span"); 2053 if (u.onclick = function () { 2054 ss_qbackup = null, ss_clear(); 2055 var e = document.getElementById(ss_form_element).query.value; 2056 ss_processed(e) || (ss_dismissed = true, ss_suggest(e)) 2057 }, u.appendChild(document.createTextNode("close")), table.appendChild(u), r.appendChild(table), a.style.visibility = "visible",$("#" + ss_popup_element_table).closest(".header__search-overlay").find(".search-trigger__search-box").addClass("suggestions-opened"), 2058 //0 != $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".popular-search-container").length && $("#" + ss_popup_element_table).closest(".header__search-overlay").find(".popular-search-container").parent().addClass("d-none"), 2059 document.getElementById(ss_popup_element_table).style.visibility = "visible", 2060 document.getElementById(ss_popup_element_table).style.position = "absolute", 2061 document.getElementById(ss_popup_element_table).style.height = "100vh", 2062 document.getElementById(ss_popup_element_table).style.width = "100%", 2063 document.getElementById(ss_popup_element_table).style.background = "#f2f2f2", 2064 document.getElementById(ss_popup_element_table).style.display = "block", 2065 ss_qshown = e, ss_allow_debug && ss_debug && ss_debug.getDebugMode()) { 2066 var d = (new Date).getTime(); 2067 ss_debug.addShowDebugLine(e, d - s, ss_cached[e], o) 2068 } 2069 } else ss_hide(e); 2070 ss_painting = false 2071 } else ss_hide(e) 2072 } else ss_allow_debug && ss_debug && ss_debug.getDebugMode() && ss_debug.addHideDebugLine(e, "skip") 2073 } 2074 2075 function ss_showSuggestion(e, s, table, qry) { 2076 if (maxSuggest > 0 && s >= maxSuggest) 2077 return 0; 2078 2079 if (e && e.length > 0) { 2080 lqry = qry.toLowerCase().replace(/\"/g, ""); 2081 var row = table.insertRow(-1); 2082 row.className = SS_ROW_CLASS; 2083 var l = document.createElement("td"); 2084 l.setAttribute("tabindex", "0"), l.className = "ss-gac-c js-searchSuggestions"; 2085 var o = ""; 2086 o = 1 == e.length ? sugNameSingular : sugNameMultiple; 2087 var i = document.createElement("td"); 2088 i.setAttribute("tabindex", "0"), i.appendChild(document.createTextNode(o)), i.className = "ss-gac-d", row.appendChild(l), row.appendChild(i); 2089 for (var r = 0; r < e.length; r++) { 2090 var _ = table.insertRow(-1); 2091 _.onclick = ss_handleMouseC, _.onmousemove = ss_handleMouseM, _.className = SS_ROW_CLASS; 2092 var tableCell = document.createElement("td"); 2093 if (e[r].q) { 2094 var secondRow = e[r].q; 2095 secondRow.length > maxLenghtSecondRow && (secondRow = secondRow.substr(0, maxLenghtSecondRow) + "..."); 2096 var c = '<b style="color: #000000;">' + secondRow.substr(0, lqry.length) + "</b>"; 2097 e[r].q.length > lqry.length && (c += secondRow.substring(lqry.length), 0 == r && drawTextBox(e[r].q.substring(lqry.length))), tableCell.innerHTML = c 2098 } else tableCell.innerHTML = "<i>" + e[r].t + "</i>"; 2099 if (tableCell.className = "ss-gac-c js-searchSuggestions", _.appendChild(tableCell), tableCell.colSpan = 2, maxSuggest > 0 && s + r + 1 >= maxSuggest) 2100 return r + 1 2101 } 2102 return e.length 2103 } 2104 return 0 2105 } 2106 2107 function ss_handleMouseM() { 2108 for (var e = document.getElementById(ss_form_element), s = document.getElementById(ss_popup_element).getElementsByTagName("tr"), t = 1; t < s.length - 1; t++) if (s[t] == this && s[t].className != SS_ROW_SELECTED_CLASS) { 2109 s[t].className = SS_ROW_SELECTED_CLASS, ss_qbackup || (ss_qbackup = e.query.value); 2110 var n = ss_locateSuggestion(ss_qbackup, ss_loc = t - 1); 2111 n.q ? (e.query.value = n.q, drawTextBox("")) : (e.query.value = ss_qbackup, drawTextBox("")) 2112 } else s[t] != this && (s[t].className = SS_ROW_CLASS); 2113 return ss_sf(), true 2114 } 2115 2116 function ss_handleMouseC() { 2117 document.getElementById(ss_form_element); 2118 for (var e = document.getElementById(ss_popup_element).getElementsByTagName("tr"), s = 0; s < e.length - 1; s++) if (e[s] == this) { 2119 var t = e[s].getElementsByTagName("td"); 2120 $("#searchInPage,#Search").val($(t)[0].innerText); 2121 var n = $(".search-trigger__search-box").val(); 2122 $(".search-trigger__search-box").hasClass("js-oldSearch") && UtilityModule.legacySearch(n) 2123 } 2124 } 2125 2126 function ss_countSuggestions(e) { 2127 for (var s = 0, t = 0; t < ss_seq.length; t++) { 2128 switch (ss_seq[t]) { 2129 case"g": 2130 s += ss_cached[e].g ? ss_cached[e].g.length : 0 2131 } 2132 if (maxSuggest > 0 && s >= maxSuggest) return maxSuggest 2133 } 2134 return s 2135 } 2136 2137 function ss_locateSuggestion(e, s) { 2138 for (var t = 0, n = 0, a = 0; a < ss_seq.length; a++) { 2139 switch (ss_seq[a]) { 2140 case"g": 2141 n += ss_cached[e].g ? ss_cached[e].g.length : 0 2142 } 2143 if (s >= t && s < n) { 2144 switch (ss_seq[a]) { 2145 case"g": 2146 var l = ss_cached[e].g[s - t].q; 2147 return l ? {q: l} : {u: ss_cached[e].g[s - t].u} 2148 } 2149 break 2150 } 2151 t = n 2152 } 2153 return null 2154 } 2155 2156 function ss_escape(e) { 2157 return e.replace(/\\/g, "\\\\").replace(/\"/g, '\\"') 2158 } 2159 2160 function ss_escapeDbg(e) { 2161 for (var s = "", t = e.split(""), n = 0; n < t.length; n++) switch (t[n]) { 2162 case"&": 2163 s += "&"; 2164 break; 2165 case"<": 2166 s += "<"; 2167 break; 2168 case">": 2169 s += ">"; 2170 break; 2171 default: 2172 s += t[n] 2173 } 2174 return s 2175 } 2176 2177 function ss_Debugger() { 2178 this.debugMode = false 2179 } 2180 2181 suggestionsSearch = function () { 2182 }, ss_Debugger.DEBUG_CONSOLE_ID = "ss_debug_console", ss_Debugger.DEBUG_CONTENT_ID = "ss_debug_content", ss_Debugger.DEBUG_TOGGLE_ID = "ss_debug_toggle", ss_Debugger.prototype.getDebugMode = function () { 2183 return this.debugMode 2184 }, ss_Debugger.prototype.activateConsole = function () { 2185 var e = document.getElementById(ss_Debugger.DEBUG_CONSOLE_ID); 2186 if (e) e.style.display = "block"; else { 2187 var s = document.createElement("div"); 2188 s.id = ss_Debugger.DEBUG_CONSOLE_ID, s.zIndex = 100, s.className = "expanded"; 2189 var t = document.createElement("h1"); 2190 t.appendChild(document.createTextNode("GSA Suggest Debug Console")), t.style.display = "inline", s.appendChild(t); 2191 var n = document.createElement("div"); 2192 n.style.float = "right"; 2193 var a = document.createElement("button"); 2194 a.onclick = function (e) { 2195 var s = document.getElementById(ss_Debugger.DEBUG_CONTENT_ID); 2196 if (s) for (var t = s.rows.length - 1; t > 0; t--) s.deleteRow(t) 2197 }, a.appendChild(document.createTextNode("Clear console")), n.appendChild(a), (a = document.createElement("button")).onclick = function (e) { 2198 ss_cached = [] 2199 }, a.appendChild(document.createTextNode("Clear cache")), n.appendChild(a), (a = document.createElement("button")).id = ss_Debugger.DEBUG_TOGGLE_ID, a.onclick = function (e) { 2200 var s = document.getElementById(ss_Debugger.DEBUG_CONSOLE_ID); 2201 if (s) { 2202 var t = document.getElementById(ss_Debugger.DEBUG_TOGGLE_ID); 2203 -1 != s.className.indexOf("expanded") ? (s.className = s.className.replace(/expanded/, "contracted"), t.innerHTML = "Maximize") : (s.className = s.className.replace(/contracted/, "expanded"), t.innerHTML = "Minimize") 2204 } 2205 }, a.appendChild(document.createTextNode("Minimize")), n.appendChild(a), n.style.display = "inline", s.appendChild(n), s.appendChild(document.createElement("br")); 2206 var l = document.createElement("table"); 2207 l.id = ss_Debugger.DEBUG_CONTENT_ID; 2208 var o = l.insertRow(-1), i = document.createElement("th"); 2209 i.innerHTML = "Query", o.appendChild(i), (i = document.createElement("th")).innerHTML = "Type", o.appendChild(i), (i = document.createElement("th")).innerHTML = "Time", o.appendChild(i), (i = document.createElement("th")).innerHTML = "g", o.appendChild(i), (i = document.createElement("th")).innerHTML = "Total", o.appendChild(i), s.appendChild(l), document.body.appendChild(s) 2210 } 2211 this.debugMode = true 2212 }, ss_Debugger.prototype.deactivateConsole = function () { 2213 var e = document.getElementById(ss_Debugger.DEBUG_CONSOLE_ID); 2214 e && (e.style.display = "none"), this.debugMode = false 2215 }, ss_Debugger.prototype.addRequestDebugLine = function (e, s, t, n) { 2216 var a = document.getElementById(ss_Debugger.DEBUG_CONTENT_ID); 2217 if (a) { 2218 var l = a.insertRow(1), o = document.createElement("td"); 2219 switch (o.innerHTML = "<" + ss_escapeDbg(e) + ">", l.appendChild(o), (o = document.createElement("td")).innerHTML = s, l.appendChild(o), (o = document.createElement("td")).className = "no", o.innerHTML = t + " ms", l.appendChild(o), s) { 2220 case"suggest": 2221 (o = document.createElement("td")).className = "no", o.innerHTML = n.g ? n.g.length : 0, l.appendChild(o), o = document.createElement("td"), l.appendChild(o); 2222 break; 2223 default: 2224 o = document.createElement("td"), l.appendChild(o), o = document.createElement("td"), l.appendChild(o) 2225 } 2226 } 2227 }, ss_Debugger.prototype.addShowDebugLine = function (e, s, t, n) { 2228 var a = document.getElementById(ss_Debugger.DEBUG_CONTENT_ID); 2229 if (a) { 2230 var l = a.insertRow(1), o = document.createElement("td"); 2231 o.innerHTML = "<" + ss_escapeDbg(e) + ">", l.appendChild(o), (o = document.createElement("td")).innerHTML = "<i>show</i>", l.appendChild(o), (o = document.createElement("td")).className = "no", o.innerHTML = s + " ms", l.appendChild(o), (o = document.createElement("td")).className = "no", o.innerHTML = t && t.g ? t.g.length : 0, l.appendChild(o), (o = document.createElement("td")).className = "no", o.innerHTML = n, l.appendChild(o) 2232 } 2233 }, ss_Debugger.prototype.addHideDebugLine = function (e, s) { 2234 var t = document.getElementById(ss_Debugger.DEBUG_CONTENT_ID); 2235 if (t) { 2236 var n = t.insertRow(1), a = document.createElement("td"); 2237 a.innerHTML = "<" + ss_escapeDbg(e) + ">", n.appendChild(a), (a = document.createElement("td")).innerHTML = "<i>" + s + "</i>", n.appendChild(a), (a = document.createElement("td")).className = "no", a.innerHTML = "0 ms", n.appendChild(a), a = document.createElement("td"), n.appendChild(a), a = document.createElement("td"), n.appendChild(a) 2238 } 2239 }, ss_Debugger.prototype.addWaitDebugLine = function (e, s, t) { 2240 var n = document.getElementById(ss_Debugger.DEBUG_CONTENT_ID); 2241 if (n) { 2242 var a = n.insertRow(1), l = document.createElement("td"); 2243 l.innerHTML = "<" + ss_escapeDbg(e) + ">", a.appendChild(l), (l = document.createElement("td")).innerHTML = "<i>" + s + "</i>", a.appendChild(l), (l = document.createElement("td")).className = "no", l.innerHTML = t + " ms", a.appendChild(l), l = document.createElement("td"), a.appendChild(l), l = document.createElement("td"), a.appendChild(l) 2244 } 2245 }; 2246 var ss_use = {}; 2247 ss_use.g = ss_seq.indexOf("g") >= 0 2248}
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.