1$(function () { 2 //vars jquery 3 var $searchQuery = $("#searchQuery"); 4 var $searchResult = $("#searchResult"); 5 var $searchOverlap = $("#searchOverlap"); 6 7 //vars 8 var searchTimeoutID; 9 10 //functions 11 var searchKeyPressed = function (event) { 12 if (event.keyCode !== 27) { 13 clearTimeout(searchTimeoutID); 14 if ($searchQuery.val().length > 1) { 15 searchTimeoutID = setTimeout(function () { 16 getSearchProductList($searchQuery.val()); 17 }, 250); 18 } else { 19 $searchResult.empty().removeClass("visible"); 20 $searchOverlap.hide(); 21 } 22 } 23 }; 24 25 var pageElementCount = 6; 26 if (window.innerWidth > 1920) { 27 pageElementCount = 7; 28 } 29 30 var getSearchProductList = function (keyword, page) { 31 var sectionPage = page != "" ? page : 0; 32 33 $searchQuery.addClass("loading"); 34 35 var searchProductParamsObject = jQuery.parseJSON(searchProductParams); 36 37 if (typeof searchProductParamsObject["HIDE_NOT_AVAILABLE"] == "undefined") { 38 searchProductParamsObject["HIDE_NOT_AVAILABLE"] = "N"; 39 } 40 41 if (typeof searchProductParamsObject["STEMMING"] == "undefined") { 42 searchProductParamsObject["STEMMING"] = "N"; 43 } 44 45 var getParamsObject = { 46 IBLOCK_TYPE: searchProductParamsObject["IBLOCK_TYPE"], 47 IBLOCK_ID: searchProductParamsObject["IBLOCK_ID"], 48 CONVERT_CASE: searchProductParamsObject["CONVERT_CASE"], 49 LAZY_LOAD_PICTURES: searchProductParamsObject["LAZY_LOAD_PICTURES"], 50 STEMMING: searchProductParamsObject["STEMMING"], 51 ELEMENT_SORT_FIELD: "sort", 52 ELEMENT_SORT_ORDER: "asc", 53 PROPERTY_CODE: searchProductParamsObject["PROPERTY_CODE"], 54 PAGE_ELEMENT_COUNT: pageElementCount, 55 PRICE_CODE: searchProductParamsObject["PRICE_CODE"], 56 PAGER_TEMPLATE: "round", 57 CONVERT_CURRENCY: searchProductParamsObject["CONVERT_CURRENCY"], 58 CURRENCY_ID: searchProductParamsObject["CURRENCY_ID"], 59 HIDE_NOT_AVAILABLE: searchProductParamsObject["HIDE_NOT_AVAILABLE"], 60 FILTER_NAME: "arrFilter", 61 ADD_SECTIONS_CHAIN: "N", 62 SHOW_ALL_WO_SECTION: "Y", 63 HIDE_MEASURES: searchProductParamsObject["HIDE_MEASURES"], 64 PAGEN_1: sectionPage, 65 SEARCH_QUERY: keyword, 66 SEARCH_PROPERTIES: searchProductParamsObject["SEARCH_PROPERTIES"], 67 SITE_ID: SITE_ID 68 }; 69 70 var jqxhr = $.post(searchAjaxPath, getParamsObject, afterSearchGetProducts); 71 }; 72 73 var afterSearchGetProducts = function (http) { 74 $searchQuery.removeClass("loading"); 75 $searchResult.html(http).addClass("visible"); 76 $searchOverlap.show(); 77 checkLazyItems(); 78 }; 79 80 var searchCloseWindow = function (event) { 81 $searchResult.empty().removeClass("visible"); 82 clearTimeout(searchTimeoutID); 83 $searchOverlap.hide(); 84 return event.preventDefault(); 85 }; 86 87 var pageChangeProduct = function (event) { 88 var $this = $(this); 89 var page = parseInt($this.data("page")); 90 91 if (page > 0 || page == 0) { 92 getSearchProductList($searchQuery.val(), page); 93 } 94 95 return event.preventDefault(); 96 }; 97 98 //bind 99 $searchQuery.on("keyup", searchKeyPressed); 100 $(document).on("click", "#searchProductsClose", searchCloseWindow); 101 $(document).on("click", "#searchResult .bx-pagination a", pageChangeProduct); 102});
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.