"use strict"; function _toConsumableArray(e) { return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread() } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } function _unsupportedIterableToArray(e, r) { if (e) { if ("string" == typeof e) return _arrayLikeToArray(e, r); var t = Object.prototype.toString.call(e).slice(8, -1); return "Object" === t && e.constructor && (t = e.constructor.name), "Map" === t || "Set" === t ? Array.from(e) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(e, r) : void 0 } } function _iterableToArray(e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) } function _arrayWithoutHoles(e) { if (Array.isArray(e)) return _arrayLikeToArray(e) } function _arrayLikeToArray(e, r) { (null == r || r > e.length) && (r = e.length); for (var t = 0, a = new Array(r); t < r; t++) a[t] = e[t]; return a } !function (o) { o.fn.CalypsoSearch = function (e) { var r = o.extend({ searchInputSelector: "#querySearch", searchBtnSelector: "#search-btn", resultsSearchBox: ".search-results-container" }, e) , a = { $searchQuery: o(r.searchInputSelector), $searchBtn: o(r.searchBtnSelector), $resulstBox: o(r.resultsSearchBox) } , n = { init: function () { t.searchEvent(), t.searchEventClick(), t.mouseUp(), t.clearSearch() }, formatItemResult: function (e) { var r, t; return null === e.thumbUrl ? (r = e.name.split("en "), e.name = "Buscar en " + r[1] + "") : (t = e.thumbUrl.split("25-25"), e.thumbUrl = t[0] + "40-40" + t[1]), e }, openBoxResults: function () { a.$resulstBox.css({ display: "block" }), gsap.to(a.$resulstBox, { duration: .3, opacity: 1 }) }, closeBoxResults: function () { gsap.to(a.$resulstBox, { duration: .3, opacity: 0 }), setTimeout(function () { a.$resulstBox.css({ display: "none" }) }, 400) }, fastSearch: function () { 0 !== a.$searchQuery.val().length && (document.location = '/%20' + a.$searchQuery.val()) }, searchProduct: function (e) { 13 === e.keyCode && n.fastSearch(), 0 === a.$searchQuery.val().length ? o(".calypso-search").removeClass("searching") : o(".calypso-search").addClass("searching"), 3 <= a.$searchQuery.val().length && o.ajax({ url: "/buscaautocomplete/", data: { maxRows: 6, productNameContains: a.$searchQuery.val() }, beforeSend: function () { HeaderViewModel.resetSearchResults() }, complete: function () { n.openBoxResults() }, success: function (e) { var r = [{ href: "/tapiceria/" + a.$searchQuery.val(), items: [], name: 'Buscar "' + a.$searchQuery.val() + '"', thumb: "", thumbUrl: null }] , t = e.itemsReturned; t.map(function (e) { return n.formatItemResult(e) }), t = [].concat(r, _toConsumableArray(e.itemsReturned)), HeaderViewModel.searchResults(t) }, error: function (e) { console.log(e) } }) } } , t = { searchEvent: function () { a.$searchQuery.keyup(n.searchProduct), a.$searchQuery.click(n.openBoxResults) }, clearSearch: function () { o("#search-close-btn").click(function () { n.closeBoxResults(), a.$searchQuery.val(""), o(".calypso-search").removeClass("searching") }) }, searchEventClick: function () { a.$searchBtn.click(n.fastSearch) }, mouseUp: function () { window.onmouseup = function (e) { a.$resulstBox.is(e.target) || 0 !== a.$resulstBox.has(e.target).length || a.$searchQuery.is(e.target) || 0 !== a.$searchQuery.has(e.target).length || n.closeBoxResults() } } }; n.init() } }(jQuery);