PageSourceSearch

https://www.metlifepetinsurance.com/etc.clientlibs/globalmarketing…-0f7e76d46c2f0beadaf54db68e8f4c1b-lc.min.js

js metlifepetinsurance.com collected 2026-09-24 20:05:53 UTC 131,567 bytes, 2,248 lines download raw bytes

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('&nbsp;' + 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('&nbsp;' + 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('&nbsp;' + 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("&nbsp;" +amountOnPage+currentNum);
953                        }
954                        fileSearchStart = currentNum + 1;
955                        fileSearchEnd = currentNum + amountOnPage;
956                        $('.file-search-count > span:first-of-type').html( fileSearchStart+ '&nbsp;' + '-' + '&nbsp;' + 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('&nbsp;' + 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('&nbsp;' + 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 + '&nbsp;' + '-' + '&nbsp;' + 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('&nbsp;' + 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('&nbsp;' + 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('&nbsp;' + 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 + '&nbsp;' + '-' + '&nbsp;' + 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 += "&amp;";
2164                break;
2165            case"<":
2166                s += "&lt;";
2167                break;
2168            case">":
2169                s += "&gt;";
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 = "&lt;" + ss_escapeDbg(e) + "&gt;", 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 = "&lt;" + ss_escapeDbg(e) + "&gt;", 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 = "&lt;" + ss_escapeDbg(e) + "&gt;", 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 = "&lt;" + ss_escapeDbg(e) + "&gt;", 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.