"use strict";define("autocomplete",["oakleyGenerics","debounce",$("body").hasClass("page-checkoutpage")?"":"searchOptimization"],function(n,t,s){return function(e){return{elements:{searchbar:e+" .search-bar",searchform:e+" .search-box",searchbox:e+" .search-text",searchbuttons:e+" .search-box-text button",searchbuttonsearch:e+" .search-box-text button.o-icon-left-arrow-2",searchbuttonsubmit:e+" .search-box-text button.search-submit-btn",searchbuttonremove:e+" .search-box-text button.o-icon-remove",suggestionContainer:e+" .suggestion-container",suggestionList:e+" .suggestion-list",suggestionListItems:e+" .suggestion-list > li"},vars:{action:$(e).find(".search-box").attr("action"),isOSI:$("body").hasClass("is-site-osi"),protocol:"https:"===window.location.protocol?"/autocompleteSecure":"/autocomplete"},init:function(){this.bind(),this.bindAnalyticsLogic()},bind:function(){$("body").on("input",this.elements.searchbox,t($.proxy(this.handleInputChange,this),500)),n.isSearchOptimized()||($("body").on("keydown",this.elements.searchbox,$.proxy(this.handleKeypress,this)),$("body").on("mouseenter",this.elements.suggestionListItems,$.proxy(this.handleMouseEnter,this)),$("body").on("mouseleave",this.elements.suggestionListItems,$.proxy(this.handleMouseLeave,this)),$("body").on("click",this.elements.suggestionListItems,$.proxy(this.handleSelect,this)),$("body").on("click",this.elements.searchbuttons,$.proxy(this.handleClear,this)),$("body").on("click",$.proxy(this.handleOutsideClick,this)))},bindAnalyticsLogic:function(){window.analyticsLogicSetup||($("body").on("submit","form.search-box",$.proxy(this.analyticsSearchSetStorage,this,"text","direct")),$("body").on("mousedown",".suggestion-container_list .suggestion-list_item",$.proxy(this.analyticsSearchSetStorage,this,"suggested",null)),$("body").on("mousedown",".so-sidebar-list-item .link-container a",$.proxy(this.analyticsSearchSetStorage,this,"suggested","autocomplete")),$("body").on("mousedown",".so-item a:not(.so-item-image a)",$.proxy(this.analyticsSearchSetStorage,this,"text","autocomplete")),window.analyticsLogicSetup=!0)},analyticsSearchSetStorage:function(e,t,s){"submit"!==s.type?(e=0===$(s.currentTarget).data("index")?"text":e,t?sessionStorage.setItem("Search_Method",t):sessionStorage.setItem("Search_Method","direct")):t?sessionStorage.setItem("Search_Method",t):sessionStorage.setItem("Search_Method","autocomplete"),sessionStorage.setItem("Search_Type",e);var a=this.sanitizeInput($(".search-text").val());if(0===(a=$(s.currentTarget).find("input.search-text").val()?this.sanitizeInput($(s.currentTarget).find("input.search-text").val()):this.sanitizeInput($("input.search-text").val())).length)return s.preventDefault(),!1;sessionStorage.setItem("Search_Keyword",a),$("form.search-box input.search-text").val(a)},analyticsSearchOnLoad:function(e){if(!$(".WCMS")||!$(".WCMS").attr("data-cmspagename"))return!1;var t=$("body").hasClass("template-categorypagetemplate")||$("body").hasClass("template-collectionspagetemplate");if(t&&sessionStorage.getItem("Search_SERPloaded")){var s={id:"VirtualPage-View",Events_SearchClick:"1",Search_Type:"text",Search_Method:"standard"};sessionStorage.getItem("Search_Keyword")&&(s.Search_Keyword=sessionStorage.getItem("Search_Keyword")),sessionStorage.getItem("Search_Method")&&(s.Search_Method=sessionStorage.getItem("Search_Method"),"direct"===s.Search_Method&&(s.Search_ResultItemsQnt="No-SERP",s.Events_SearchRun="1",s.Events_SearchClick="0")),tealium_data2track.push(s),sessionStorage.removeItem("Search_Keyword"),sessionStorage.removeItem("Search_Type"),sessionStorage.removeItem("Search_Method"),sessionStorage.removeItem("Search_SERPloaded")}else if(t&&sessionStorage.getItem("Search_Keyword")){s={id:"VirtualPage-View",Events_SearchClick:"1",Search_Type:"text"};sessionStorage.getItem("Search_Keyword")&&(s.Search_Keyword=sessionStorage.getItem("Search_Keyword")),sessionStorage.getItem("Search_Method")&&(s.Search_Method=sessionStorage.getItem("Search_Method"),"direct"===s.Search_Method&&(s.Search_ResultItemsQnt="No-SERP",s.Events_SearchRun="1",s.Events_SearchClick="0")),tealium_data2track.push(s),sessionStorage.removeItem("Search_Keyword"),sessionStorage.removeItem("Search_Type"),sessionStorage.removeItem("Search_Method")}if(-1!==$(".WCMS").attr("data-cmspagename").indexOf("Search Result")){if(""===document.referrer)return tealium_data2track.push({id:"VirtualPage-View",Events_SearchRun:"0"}),!1;var a="0";0<$(".prod-tiles-list[data-items-length]").length&&(a=$(".prod-tiles-list[data-items-length]").data("items-length").toString());s={id:"VirtualPage-View",Events_SearchRun:"1",Search_Method:"standard",Search_Type:"text",Search_ResultItemsQnt:a};sessionStorage.getItem("Search_Keyword")&&(s.Search_Keyword=sessionStorage.getItem("Search_Keyword")),sessionStorage.getItem("Search_Method")&&(s.Search_Method=sessionStorage.getItem("Search_Method")),sessionStorage.setItem("Search_SERPloaded",!0),tealium_data2track.push(s)}},handleKeypress:function(e){return 13===e.keyCode?""!==$(e.target).val()&&this.handleSelect():27===e.keyCode&&this.closeSuggestions(),(""!==$(e.target).val()||13!==e.keyCode)&&(!!$(this.elements.suggestionListItems)&&void(38===e.keyCode?this.handleArrowKey(e,-1):40===e.keyCode&&this.handleArrowKey(e,1)))},handleSelect:function(){var e=$(this.elements.suggestionList).find(".active");e.length&&$(this.elements.searchbox).val(e.text());var t=$(this.elements.searchbox).val().trim();$(this.elements.searchbox).val(t),$(this.elements.searchform).submit()},handleClear:function(e){$(this.elements.searchbox).val().length&&(e.preventDefault(),this.closeSuggestions())},handleOutsideClick:function(e){var t=$(this.elements.searchbar);t.is(e.target)||0!==t.has(e.target).length||$(this.elements.suggestionContainer).html("")},handleArrowKey:function(e,t){e.preventDefault();var s,a=$(this.elements.suggestionListItems),i=$(this.elements.suggestionList).find(".active");i.removeClass("active"),i.length?0<=(s=a.index(i)+t)&&a.eq(s).addClass("active"):1===t?a.first().addClass("active"):a.last().addClass("active")},handleMouseEnter:function(e){$(this.elements.suggestionList).find(".active").removeClass("active"),$(e.currentTarget).addClass("active")},handleMouseLeave:function(){$(this.elements.suggestionList).find(".active").removeClass("active")},handleInputChange:function(e){var t=this,s=n.isSearchOptimized(),a=e?$(e.currentTarget).val():"";if(!(a=this.sanitizeInput(a))&&!s)return!1;if(t.getQueryResults(a),s){var i=$("#so-search-result-mobile").is(":visible");if(a.length)if(i){var o=$(".search-box-text").find("i.icons-search"),r=$(".search-box-text").find("i.o-icon-close");o.addClass("hide"),r.on("click",function(){var e=$(".search-box-text").find("input");e.val(""),t.handleInputChange(),e.focus()}).show()}else $(t.elements.searchbuttonsearch).removeClass("hide").on("click",function(){$(e.currentTarget).val(""),t.handleInputChange()});else if(i){o=$(".search-box-text").find("i.icons-search"),r=$(".search-box-text").find("i.o-icon-close");o.removeClass("hide"),r.off("click").hide()}else $(t.elements.searchbuttonsearch).addClass("hide").off("click")}},sanitizeInput:function(e){return e=(e=(e=e.replace(/[:;@\[\](){}|!?€£$¥%&/\\\^*#'"°+=<>§~,‘’“”¿¡—«»÷·]*/g,"")).replace(/\s\s*/g," ")).toLowerCase()},closeSuggestions:function(){$(this.elements.searchbox).val(""),this.handleInputChange()},getQueryResults:function(e){$.ajax({url:this.vars.action+this.vars.protocol,data:{term:e.trim()}}).always($.proxy(this.renderSuggestionList,this,e))},renderSuggestionList:function(e,t){$("#searchOptimization").scrollTop(0),n.isSearchOptimized()?s.render(e,t,!1,!0,!1):$(this.elements.suggestionContainer).html(this.buildSuggestionList(length,t))},buildSuggestionList:function(s,e){var a='