{"version":3,"sources":["main.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_defineProperty","obj","value","a","f","b","originalEvent","touches","preventDefault","c","changedTouches","d","document","createEvent","initMouseEvent","window","screenX","screenY","clientX","clientY","dispatchEvent","support","touch","e","ui","mouse","_mouseInit","_mouseDestroy","_touchStart","this","_mouseCapture","_touchMoved","_touchMove","_touchEnd","element","bind","touchstart","proxy","touchmove","touchend","call","unbind","jQuery","addClassLazyload","imgList","querySelectorAll","Array","forEach","el","className","Tab","selector","querySelector","titleList","contentList","init","_this2","index","addEventListener","tabTarget","attributes","targetDOM","concat","classList","add","eleClicked","eleClickedIndex","remove","tabContentElement","style","display","setTimeout","click","runTabWhenClicked","activeFirstTab","homeSliderBanner","Swiper","effect","fadeEffect","crossFade","centeredSlides","speed","spaceBetween","loop","autoplay","breakpoints","1024","pagination","clickable","productSlider","swiper1","slidesPerView","slidesPerColumn","observer","observeParents","1365","768","navigation","nextEl","prevEl","swiper2","swiper3","$","on","_this","url","attr","addClass","parents","siblings","find","removeClass","ajax","beforeSend","success","res","hasClass","removeAllSlides","appendSlide","error","err","alert","Message","productSliderHotSale","each","append","1200","brandSlider","clientSlider","576","submenuCategory","toggleClass","not","slideUp","slideToggle","imgProductSlider","galleryThumbs","direction","freeMode","loopedSlides","watchSlidesVisibility","watchSlidesProgress","slideToClickedSlide","320","575","1440","simulateTouch","thumbs","swiper","clickRating","offsetLeft","offset","left","width","positionClicked","pageX","Math","round","starRatedWidth","floor","showRating","numberStart","chooesColor","sliderTheSameProduct","getDataBar","dataBarNodeList","data","getAttribute","cartQuantity","alertContent","curVal","Number","val","likeComment","countDownSale","hide","fadeIn","temp","dateEND","Date","textContent","getTime","x","setInterval","now","distance","hours","minutes","seconds","getElementById","innerHTML","clearInterval","css","introduceSliderBanner","showFilter","heightThisPage","height","removeAttr","megaMenuHover","dataMegas","dataMegaContents","innerWidth","dataMega","dataMegaIndex","dataMegaContent","turnOffPopupWhenClicked","fancybox","closeExisting","hash","moveAccount","MappingListener","desktopWrapper","desktopMethod","mobileWrapper","mobileMethod","watch","mobileMenu","mobileMenuHandler","toggle","classListArray","from","windowHeight","innerHeight","indexOf","overflow","position","removeAttribute","addClassHeaderWhenScroll","scrollTop","backToTop","scroll","animate","replaceAll","str","replace","RegExp","rangeSliderPrice","formatCurrency","Intl","NumberFormat","currency","minimumFractionDigits","min_price","max_price","curMinPrice","curMaxPrice","slider","range","min","max","values","slide","event","minCurrency","format","split","join","maxCurrency","html","stop","Redirect","findManufactures","input","currentValue","toLowerCase","manufactureName","includes","chanceUrlNewsPage","newsUrlMobile","getProductQuantity","_thisList","productOfThis","_thisItem","_thisLink","showMainReply","AjaxComment","product_ID","newRating","newCommentContent","type","Id","Content","Vote","Code","location","reload","open","src","opts","afterShow","current","AjaxReply","comment_ID","replyContent","AjaxLike","likeInfo","AjaxDeteleComment","deleteInfo","_thisCommentDelete","getPropertyId","propertyId","currentPropertyId","aboutNavSelect","select","calculatePriceWithShippingFee","shippingMethodHandler","currentShippingFee","parentNode","tempPrice","setAttribute","toLocaleString","checked","getUserName","userFullName","userFullNameWidth","setUserName","ajaxForgotPassword","informationToGetPassword","FormData","name","urlGetVerifyCode","fancyboxSourceVerify","valid","processData","contentType","prop","beforeShow","close","complete","status","verifyCode","urlChangePassword","fancyboxSourceResetPassword","passwordChange","verifyAddressInCheckoutStep","btn","addressItem","closest","address","phone","city","district","addressForm","submit","editAddressInCheckoutStep","slideDown","toggleAddNewsAddressItem","ajaxDeleteBill","deleteBill","urlRequest","method","setHeightItemImgBox","shareSocial","currentHREF","encodeURI","href","setPhoneNumberFixed","phoneNumber","sliderAboutGiaiPhapChiTiet","about2slider","aboutNavAjax","currentPathnameAfterReload","pathname","_this3","navPathname","eq","fullUrl","origin","history","pushState","aboutProjectPaginationAjax","breadcrumbDelete","debounce","fn","delay","immediate","timeout","context","args","arguments","callNow","clearTimeout","apply","ajaxSearch","Url","Image","Alt","Title","Price","IsPromotion","PromotionPrice","IsPriceUpdating","IsPriceContact","input__search","list__itemResult","debouncedKeyUp","text","Result","template__result","template__result_IsPromotion","console","log","ready","objectFitImages","ajaxComplete"],"mappings":"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","file":"main.min.js","sourcesContent":["/*!\r\n * jQuery UI Touch Punch 0.2.3\r\n *\r\n * Copyright 2011–2014, Dave Furfero\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n *\r\n * Depends:\r\n * jquery.ui.widget.js\r\n * jquery.ui.mouse.js\r\n */\r\n!(function (a) {\r\n\tfunction f(a, b) {\r\n\t\tif (!(a.originalEvent.touches.length > 1)) {\r\n\t\t\ta.preventDefault();\r\n\t\t\tvar c = a.originalEvent.changedTouches[0],\r\n\t\t\t\td = document.createEvent(\"MouseEvents\");\r\n\t\t\td.initMouseEvent(\r\n\t\t\t\tb,\r\n\t\t\t\t!0,\r\n\t\t\t\t!0,\r\n\t\t\t\twindow,\r\n\t\t\t\t1,\r\n\t\t\t\tc.screenX,\r\n\t\t\t\tc.screenY,\r\n\t\t\t\tc.clientX,\r\n\t\t\t\tc.clientY,\r\n\t\t\t\t!1,\r\n\t\t\t\t!1,\r\n\t\t\t\t!1,\r\n\t\t\t\t!1,\r\n\t\t\t\t0,\r\n\t\t\t\tnull\r\n\t\t\t),\r\n\t\t\t\ta.target.dispatchEvent(d);\r\n\t\t}\r\n\t}\r\n\tif (((a.support.touch = \"ontouchend\" in document), a.support.touch)) {\r\n\t\tvar e,\r\n\t\t\tb = a.ui.mouse.prototype,\r\n\t\t\tc = b._mouseInit,\r\n\t\t\td = b._mouseDestroy;\r\n\t\t(b._touchStart = function (a) {\r\n\t\t\tvar b = this;\r\n\t\t\t!e &&\r\n\t\t\t\tb._mouseCapture(a.originalEvent.changedTouches[0]) &&\r\n\t\t\t\t((e = !0),\r\n\t\t\t\t\t(b._touchMoved = !1),\r\n\t\t\t\t\tf(a, \"mouseover\"),\r\n\t\t\t\t\tf(a, \"mousemove\"),\r\n\t\t\t\t\tf(a, \"mousedown\"));\r\n\t\t}),\r\n\t\t\t(b._touchMove = function (a) {\r\n\t\t\t\te && ((this._touchMoved = !0), f(a, \"mousemove\"));\r\n\t\t\t}),\r\n\t\t\t(b._touchEnd = function (a) {\r\n\t\t\t\te &&\r\n\t\t\t\t\t(f(a, \"mouseup\"),\r\n\t\t\t\t\t\tf(a, \"mouseout\"),\r\n\t\t\t\t\t\tthis._touchMoved || f(a, \"click\"),\r\n\t\t\t\t\t\t(e = !1));\r\n\t\t\t}),\r\n\t\t\t(b._mouseInit = function () {\r\n\t\t\t\tvar b = this;\r\n\t\t\t\tb.element.bind({\r\n\t\t\t\t\ttouchstart: a.proxy(b, \"_touchStart\"),\r\n\t\t\t\t\ttouchmove: a.proxy(b, \"_touchMove\"),\r\n\t\t\t\t\ttouchend: a.proxy(b, \"_touchEnd\"),\r\n\t\t\t\t}),\r\n\t\t\t\t\tc.call(b);\r\n\t\t\t}),\r\n\t\t\t(b._mouseDestroy = function () {\r\n\t\t\t\tvar b = this;\r\n\t\t\t\tb.element.unbind({\r\n\t\t\t\t\ttouchstart: a.proxy(b, \"_touchStart\"),\r\n\t\t\t\t\ttouchmove: a.proxy(b, \"_touchMove\"),\r\n\t\t\t\t\ttouchend: a.proxy(b, \"_touchEnd\"),\r\n\t\t\t\t}),\r\n\t\t\t\t\td.call(b);\r\n\t\t\t});\r\n\t}\r\n})(jQuery);\r\n\r\n// Function thêm class lazyload vào các thẻ có thuộc tính [data-src]\r\nconst addClassLazyload = () => {\r\n\tlet imgList = document.querySelectorAll(\"img[data-src]\");\r\n\tArray.prototype.forEach.call(imgList, function (el) {\r\n\t\tif (el.className.length > 0) {\r\n\t\t\tel.className = el.className + \" lazyload\";\r\n\t\t} else {\r\n\t\t\tel.className = \"lazyload\";\r\n\t\t}\r\n\t});\r\n};\r\n\r\n// Script cho tab\r\nclass Tab {\r\n\tselector;\r\n\ttitleList;\r\n\tcontentList;\r\n\r\n\tconstructor(selector) {\r\n\t\tthis.selector = document.querySelector(selector);\r\n\t\tif (this.selector) {\r\n\t\t\tthis.titleList = this.selector.querySelectorAll(\"[toggle-for]\");\r\n\t\t\tthis.contentList = this.selector.querySelectorAll(\"[tab-id]\");\r\n\t\t\tthis.init();\r\n\t\t}\r\n\t}\r\n\r\n\trunTabWhenClicked() {\r\n\t\tArray.prototype.forEach.call(this.titleList, (element, index) => {\r\n\t\t\telement.addEventListener(\"click\", (e) => {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tconst tabTarget = element.attributes[\"toggle-for\"].value;\r\n\t\t\t\tconst targetDOM = this.selector.querySelector(\r\n\t\t\t\t\t`[tab-id='${tabTarget}']`\r\n\t\t\t\t);\r\n\t\t\t\telement.classList.add(\"active\");\r\n\t\t\t\tArray.prototype.forEach.call(\r\n\t\t\t\t\tthis.titleList,\r\n\t\t\t\t\t(eleClicked, eleClickedIndex) => {\r\n\t\t\t\t\t\tif (eleClickedIndex != index) {\r\n\t\t\t\t\t\t\teleClicked.classList.remove(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tArray.prototype.forEach.call(this.contentList, (tabContentElement) => {\r\n\t\t\t\t\tif (tabContentElement.attributes[\"tab-id\"].value != tabTarget) {\r\n\t\t\t\t\t\ttabContentElement.style.display = \"none\";\r\n\t\t\t\t\t\ttabContentElement.classList.remove(\"show\");\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\ttargetDOM.style.display = \"block\";\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ttargetDOM.classList.add(\"show\");\r\n\t\t\t\t}, 50);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tactiveFirstTab() {\r\n\t\tthis.titleList[0].click();\r\n\t}\r\n\r\n\tinit() {\r\n\t\tthis.runTabWhenClicked();\r\n\t\tthis.activeFirstTab();\r\n\t}\r\n}\r\n\r\n// SLIDER BANNER\r\nfunction homeSliderBanner() {\r\n\tvar swpier = new Swiper(\".slider-HomeBanner\", {\r\n\t\teffect: \"fade\",\r\n\t\tfadeEffect: {\r\n\t\t\tcrossFade: true,\r\n\t\t},\r\n\t\tcenteredSlides: true,\r\n\t\tspeed: 1000,\r\n\t\tspaceBetween: 30,\r\n\t\tloop: true,\r\n\t\tautoplay: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1024: {\r\n\t\t\t\tpagination: false,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".slider-HomeBanner .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t});\r\n}\r\n\r\n// SLIDER PRODUCT\r\nfunction productSlider() {\r\n\tvar swiper1 = new Swiper(\r\n\t\t\".home-product-1 .product-slider .swiper-container\", {\r\n\t\tslidesPerView: 5,\r\n\t\tslidesPerColumn: 2,\r\n\t\t// loop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tobserver: true,\r\n\t\tobserveParents: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1365: {\r\n\t\t\t\tslidesPerView: 4,\r\n\t\t\t},\r\n\t\t\t1024: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t\t// slidesPerColumn: 2,\r\n\t\t\t\tspeed: 200,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".home-product-1 .product-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".home-product-1 .product-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".home-product-1 .product-slider .swiper-button-prev\",\r\n\t\t},\r\n\t}\r\n\t);\r\n\tvar swiper2 = new Swiper(\r\n\t\t\".home-product-2 .product-slider .swiper-container\", {\r\n\t\tslidesPerView: 5,\r\n\t\tslidesPerColumn: 2,\r\n\t\t// loop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tobserver: true,\r\n\t\tobserveParents: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1365: {\r\n\t\t\t\tslidesPerView: 4,\r\n\t\t\t},\r\n\t\t\t1024: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t\t// slidesPerColumn: 2,\r\n\t\t\t\tspeed: 200,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".home-product-2 .product-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".home-product-2 .product-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".home-product-2 .product-slider .swiper-button-prev\",\r\n\t\t},\r\n\t}\r\n\t);\r\n\tvar swiper3 = new Swiper(\r\n\t\t\".home-product-3 .product-slider .swiper-container\", {\r\n\t\tslidesPerView: 5,\r\n\t\tslidesPerColumn: 2,\r\n\t\t// loop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tobserver: true,\r\n\t\tobserveParents: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1365: {\r\n\t\t\t\tslidesPerView: 4,\r\n\t\t\t},\r\n\t\t\t1024: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t\tspeed: 200,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".home-product-3 .product-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".home-product-3 .product-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".home-product-3 .product-slider .swiper-button-prev\",\r\n\t\t},\r\n\t}\r\n\t);\r\n\r\n\tvar swiper1Nav = new Swiper(\".home-product-1 .block-nav .swiper-container\", {\r\n\t\tslidesPerView: \"auto\",\r\n\t\tspaceBetween: 10,\r\n\t\tnavigation: {\r\n\t\t\tprevEl: \".home-product-1 .block-nav .swiper-prev\",\r\n\t\t\tnextEl: \".home-product-1 .block-nav .swiper-next\",\r\n\t\t},\r\n\t\t// breakpoints: {\r\n\t\t// \t1200: {\r\n\t\t// \t\tslidesPerView: 4\r\n\t\t// \t},\r\n\t\t// \t1024: {\r\n\t\t// \t\tslidesPerView: 3,\r\n\t\t// \t},\r\n\t\t// \t768: {\r\n\t\t// \t\tslidesPerView: 4,\r\n\t\t// \t},\r\n\t\t// \t576: {\r\n\t\t// \t\tslidesPerView: 3,\r\n\t\t// \t}\r\n\t\t// }\r\n\t});\r\n\r\n\tvar swiper2Nav = new Swiper(\".home-product-2 .block-nav .swiper-container\", {\r\n\t\tslidesPerView: \"auto\",\r\n\t\tspaceBetween: 10,\r\n\t\tnavigation: {\r\n\t\t\tprevEl: \".home-product-2 .block-nav .swiper-prev\",\r\n\t\t\tnextEl: \".home-product-2 .block-nav .swiper-next\",\r\n\t\t},\r\n\t\t// breakpoints: {\r\n\t\t// \t1200: {\r\n\t\t// \t\tslidesPerView: 4\r\n\t\t// \t},\r\n\t\t// \t1024: {\r\n\t\t// \t\tslidesPerView: 3,\r\n\t\t// \t},\r\n\t\t// \t768: {\r\n\t\t// \t\tslidesPerView: 4,\r\n\t\t// \t},\r\n\t\t// \t576: {\r\n\t\t// \t\tslidesPerView: 3,\r\n\t\t// \t}\r\n\t\t// }\r\n\t});\r\n\r\n\tvar swiper3Nav = new Swiper(\".home-product-3 .block-nav .swiper-container\", {\r\n\t\tslidesPerView: \"auto\",\r\n\t\tspaceBetween: 10,\r\n\t\tnavigation: {\r\n\t\t\tprevEl: \".home-product-3 .block-nav .swiper-prev\",\r\n\t\t\tnextEl: \".home-product-3 .block-nav .swiper-next\",\r\n\t\t},\r\n\t\t// breakpoints: {\r\n\t\t// \t1200: {\r\n\t\t// \t\tslidesPerView: 4\r\n\t\t// \t},\r\n\t\t// \t1024: {\r\n\t\t// \t\tslidesPerView: 3,\r\n\t\t// \t},\r\n\t\t// \t768: {\r\n\t\t// \t\tslidesPerView: 4,\r\n\t\t// \t},\r\n\t\t// \t576: {\r\n\t\t// \t\tslidesPerView: 3,\r\n\t\t// \t}\r\n\t\t// }\r\n\t});\r\n\r\n\t$(\".block-nav a\").on(\"click\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst _this = $(this);\r\n\t\tconst url = _this.attr(\"href\");\r\n\t\t_this.addClass(\"active\");\r\n\t\t_this.parents(\".swiper-slide\").siblings().find(\"a\").removeClass(\"active\");\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: url,\r\n\t\t\tbeforeSend: function () {\r\n\t\t\t\t_this\r\n\t\t\t\t\t.parents(\".home-product\")\r\n\t\t\t\t\t.find(\".product-slider\")\r\n\t\t\t\t\t.addClass(\"loading\");\r\n\t\t\t},\r\n\t\t\tsuccess: function (res) {\r\n\t\t\t\tif (_this.parents(\".home-product\").hasClass(\"home-product-1\")) {\r\n\t\t\t\t\tswiper1.removeAllSlides();\r\n\t\t\t\t\tswiper1.appendSlide(res);\r\n\t\t\t\t}\r\n\t\t\t\tif (_this.parents(\".home-product\").hasClass(\"home-product-2\")) {\r\n\t\t\t\t\tswiper2.removeAllSlides();\r\n\t\t\t\t\tswiper2.appendSlide(res);\r\n\t\t\t\t}\r\n\t\t\t\tif (_this.parents(\".home-product\").hasClass(\"home-product-3\")) {\r\n\t\t\t\t\tswiper3.removeAllSlides();\r\n\t\t\t\t\tswiper3.appendSlide(res);\r\n\t\t\t\t}\r\n\t\t\t\t_this\r\n\t\t\t\t\t.parents(\".home-product\")\r\n\t\t\t\t\t.find(\".product-slider\")\r\n\t\t\t\t\t.removeClass(\"loading\");\r\n\t\t\t},\r\n\t\t\terror: function (err) {\r\n\t\t\t\talert(err.Message);\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n}\r\n\r\n// SLIDER PRODUCT\r\nfunction productSliderHotSale() {\r\n\tconst badgeHot =\r\n\t\t'
HOT
';\r\n\t$('.product-slider-hot-sale[tab-id=\"hot\"] .swiper-slide figure').each(\r\n\t\tfunction () {\r\n\t\t\t$(this).append(badgeHot);\r\n\t\t}\r\n\t);\r\n\tvar swiper = new Swiper(\".product-slider-hot-sale .swiper-container\", {\r\n\t\tslidesPerView: 5,\r\n\t\tloop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tobserver: true,\r\n\t\tobserveParents: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1200: {\r\n\t\t\t\tslidesPerView: 4,\r\n\t\t\t},\r\n\t\t\t1024: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t\tslidesPerColumn: 2,\r\n\t\t\t},\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t\tslidesPerColumn: 2,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".product-slider-hot-sale .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".product-slider-hot-sale .swiper-button-next\",\r\n\t\t\tprevEl: \".product-slider-hot-sale .swiper-button-prev\",\r\n\t\t},\r\n\t});\r\n}\r\n\r\n// SLIDER BRAND\r\nfunction brandSlider() {\r\n\tvar swiper = new Swiper(\".brand-slider .swiper-container\", {\r\n\t\tslidesPerView: 8,\r\n\t\tloop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tpagination: {\r\n\t\t\tel: \".brand-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".brand-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".brand-slider .swiper-button-prev\",\r\n\t\t},\r\n\t});\r\n}\r\n\r\n// SLIDER LIST CLIENTS\r\nfunction clientSlider() {\r\n\tvar swiper = new Swiper(\".home-page .clients-slider .swiper-container\", {\r\n\t\tslidesPerView: 6,\r\n\t\tloop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1200: {\r\n\t\t\t\tslidesPerView: 5,\r\n\t\t\t},\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 4,\r\n\t\t\t},\r\n\t\t\t576: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".home-page .clients-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".home-page .clients-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".home-page .clients-slider .swiper-button-prev\",\r\n\t\t},\r\n\t});\r\n}\r\n\r\n// SUBMENU CATEGORY\r\nfunction submenuCategory() {\r\n\t$(\".category-list .item-category h5\")\r\n\t\t.siblings(\".list-item\")\r\n\t\t.addClass(\"child\");\r\n\r\n\t$(\".category-list .item-category h3\").on(\"click\", function () {\r\n\t\t$(this).toggleClass(\"active\");\r\n\t\t$(\".category-list .item-category h3\").not(this).removeClass(\"active\");\r\n\t\t$(\".category-list .item-category h3\")\r\n\t\t\t.not(this)\r\n\t\t\t.siblings(\".list-item\")\r\n\t\t\t.slideUp();\r\n\t\t$(\".category-list .item-category h3\")\r\n\t\t\t.siblings(\".list-item\")\r\n\t\t\t.find(\".child\")\r\n\t\t\t.slideUp();\r\n\t\t$(\".category-list .item-category h3\")\r\n\t\t\t.siblings(\".list-item\")\r\n\t\t\t.find(\".mdi-plus\")\r\n\t\t\t.removeClass(\"active\");\r\n\t\t$(this).siblings(\".list-item\").slideToggle();\r\n\t});\r\n\r\n\t$(\".category-list .item-category h5\").on(\"click\", function () {\r\n\t\t$(\".category-list .item-category h5\")\r\n\t\t\t.not(this)\r\n\t\t\t.siblings(\".list-item\")\r\n\t\t\t.slideUp();\r\n\t\t$(this).siblings(\".list-item\").slideToggle();\r\n\r\n\t\t$(\".category-list .item-category h5\")\r\n\t\t\t.not(this)\r\n\t\t\t.siblings(\".mdi-plus\")\r\n\t\t\t.removeClass(\"active\");\r\n\t\t$(this).siblings(\".mdi-plus\").toggleClass(\"active\");\r\n\t});\r\n}\r\n\r\n// SILDER PRODUCT DETAIL\r\nfunction imgProductSlider() {\r\n\tvar galleryThumbs = new Swiper(\".slider-imgProduct .gallery-thumbs\", {\r\n\t\tdirection: \"vertical\",\r\n\t\tspaceBetween: 20,\r\n\t\tslidesPerView: 4,\r\n\t\tfreeMode: true,\r\n\t\tloopedSlides: 5,\r\n\t\twatchSlidesVisibility: true,\r\n\t\twatchSlidesProgress: true,\r\n\t\tslideToClickedSlide: true,\r\n\t\tbreakpoints: {\r\n\t\t\t320: {\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t\tspaceBetween: 5,\r\n\t\t\t},\r\n\t\t\t575: {\r\n\t\t\t\tdirection: \"vertical\",\r\n\t\t\t\tspaceBetween: 15,\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t\t1024: {\r\n\t\t\t\tdirection: \"horizontal\",\r\n\t\t\t\tspaceBetween: 30,\r\n\t\t\t},\r\n\t\t\t1440: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".gallery-thumbs-wrapper .swiper-button-next\",\r\n\t\t\tprevEl: \".gallery-thumbs-wrapper .swiper-button-prev\",\r\n\t\t},\r\n\t});\r\n\tvar galleryTop = new Swiper(\".slider-imgProduct .gallery-top\", {\r\n\t\tspaceBetween: 10,\r\n\t\t// loop: true,\r\n\t\tsimulateTouch: false,\r\n\t\tloopedSlides: 5,\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".gallery-thumbs-wrapper .swiper-button-next\",\r\n\t\t\tprevEl: \".gallery-thumbs-wrapper .swiper-button-prev\",\r\n\t\t},\r\n\t\tthumbs: {\r\n\t\t\tswiper: galleryThumbs,\r\n\t\t},\r\n\t});\r\n}\r\n\r\n// ĐÁNH GIÁ SẢN PHẨM KHI BÌNH LUẬN\r\nfunction clickRating() {\r\n\t$(\".list-step .rate\").each(function () {\r\n\t\tvar _this = $(this);\r\n\t\tif (_this.find(\".img-star\").length > 0) {\r\n\t\t\t_this.find(\".img-star .star\").on(\"click\", function (e) {\r\n\t\t\t\tlet offsetLeft = _this.find(\".img-star .star\").offset().left;\r\n\t\t\t\tlet width = _this.find(\".img-star .star\").width();\r\n\t\t\t\tlet positionClicked = e.pageX - Math.round(offsetLeft, 0);\r\n\t\t\t\tlet starRatedWidth = Math.floor((positionClicked / width) * 100);\r\n\r\n\t\t\t\tif (starRatedWidth >= 80) {\r\n\t\t\t\t\t_this.find(\".img-star .star-rated\").width(\"100%\");\r\n\t\t\t\t\t$(\".rate\").attr(\"data-rate\", 5);\r\n\t\t\t\t} else if (starRatedWidth >= 60) {\r\n\t\t\t\t\t_this.find(\".img-star .star-rated\").width(\"80%\");\r\n\t\t\t\t\t$(\".rate\").attr(\"data-rate\", 4);\r\n\t\t\t\t} else if (starRatedWidth >= 40) {\r\n\t\t\t\t\t_this.find(\".img-star .star-rated\").width(\"60%\");\r\n\t\t\t\t\t$(\".rate\").attr(\"data-rate\", 3);\r\n\t\t\t\t} else if (starRatedWidth >= 20) {\r\n\t\t\t\t\t_this.find(\".img-star .star-rated\").width(\"40%\");\r\n\t\t\t\t\t$(\".rate\").attr(\"data-rate\", 2);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_this.find(\".img-star .star-rated\").width(\"20%\");\r\n\t\t\t\t\t$(\".rate\").attr(\"data-rate\", 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction showRating() {\r\n\t$(\".block-comment .rate[data-rate]\").each(function () {\r\n\t\tvar numberStart = $(this).attr(\"data-rate\");\r\n\r\n\t\tif (numberStart == 5) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"100%\");\r\n\t\t} else if (numberStart == 4) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"80%\");\r\n\t\t} else if (numberStart == 3) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"60%\");\r\n\t\t} else if (numberStart == 2) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"40%\");\r\n\t\t} else if (numberStart == 1) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"20%\");\r\n\t\t}\r\n\t});\r\n\r\n\t$(\".info-summary .rate[data-rate]\").each(function () {\r\n\t\tvar numberStart = $(this).attr(\"data-rate\");\r\n\r\n\t\tif (numberStart == 5) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"100%\");\r\n\t\t} else if (numberStart == 4) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"80%\");\r\n\t\t} else if (numberStart == 3) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"60%\");\r\n\t\t} else if (numberStart == 2) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"40%\");\r\n\t\t} else if (numberStart == 1) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"20%\");\r\n\t\t}\r\n\t});\r\n\r\n\t$(\".block-rating .rate[data-rate]\").each(function () {\r\n\t\tvar numberStart = $(this).attr(\"data-rate\");\r\n\r\n\t\tif (numberStart == 5) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"100%\");\r\n\t\t} else if (numberStart == 4) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"80%\");\r\n\t\t} else if (numberStart == 3) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"60%\");\r\n\t\t} else if (numberStart == 2) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"40%\");\r\n\t\t} else if (numberStart == 1) {\r\n\t\t\t$(this).find(\".img-star .star-rated\").width(\"20%\");\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// CHỌN MÀU SẢN PHẨM\r\nfunction chooesColor() {\r\n\t$(\".chooes-quantity-color .color\").click(function (e) {\r\n\t\te.preventDefault();\r\n\r\n\t\t$(\".chooes-quantity-color .color\").removeClass(\"active\");\r\n\t\t$(this).addClass(\"active\");\r\n\t});\r\n}\r\n\r\nfunction sliderTheSameProduct() {\r\n\tvar swiper = new Swiper(\".the-same-product-slider .swiper-container\", {\r\n\t\tslidesPerView: 4,\r\n\t\tspaceBetween: 20,\r\n\t\tloop: true,\r\n\t\tspeed: 1200,\r\n\t\t// autoplay: true,\r\n\t\tobserver: true,\r\n\t\tobserveParents: true,\r\n\t\tbreakpoints: {\r\n\t\t\t1024: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t\t575: {\r\n\t\t\t\tspaceBetween: 10,\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t},\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".the-same-product-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".the-same-product-slider .swiper-button-prev\",\r\n\t\t},\r\n\t});\r\n}\r\n// LẤY % SAO\r\nfunction getDataBar() {\r\n\tlet dataBarNodeList = document.querySelectorAll(\r\n\t\t\".statistical-rating .middle .bar\"\r\n\t);\r\n\tArray.prototype.forEach.call(dataBarNodeList, function (e, index) {\r\n\t\tconst data = e.getAttribute(\"data-bar\");\r\n\t\te.style.width = data + \"%\";\r\n\t});\r\n}\r\n\r\nconst cartQuantity = () => {\r\n\t$('.quantity-input .minus').each(function () {\r\n\t\t$(this).on(\"click\", function () {\r\n\t\t\tlet alertContent = $(this).attr('data-alert');\r\n\t\t\tlet curVal = Number($(this).siblings(\"input\").val())\r\n\t\t\tif (curVal <= 0) {\r\n\t\t\t\tcurVal = 0;\r\n\t\t\t\talert(alertContent);\r\n\t\t\t} else {\r\n\t\t\t\tcurVal -= 1;\r\n\t\t\t}\r\n\t\t\t$(this).siblings(\"input\").val(curVal)\r\n\t\t})\r\n\t})\r\n\r\n\t$('.quantity-input .plus').each(function () {\r\n\t\t$(this).on(\"click\", function () {\r\n\t\t\tlet alertContent = $(this).attr('data-alert');\r\n\t\t\tlet curVal = Number($(this).siblings(\"input\").val())\r\n\t\t\tif (curVal >= 5) {\r\n\t\t\t\tcurVal = 5;\r\n\t\t\t\talert(alertContent)\r\n\t\t\t} else {\r\n\t\t\t\tcurVal += 1;\r\n\t\t\t}\r\n\t\t\t$(this).siblings(\"input\").val(curVal)\r\n\t\t})\r\n\t})\r\n\r\n\t$('.quantity-input .quantity').each(function () {\r\n\t\tconst alertContentMax = $('.quantity-input .plus').attr('data-alert');\r\n\t\tconst alertContentMin = $('.quantity-input .minus').attr('data-alert');\r\n\t\t$(this).on(\"keyup\", function () {\r\n\t\t\tif ($(this).val() >= 5) {\r\n\t\t\t\t// alert(alertContentMax)\r\n\t\t\t\t$(this).val(5);\r\n\t\t\t} else if ($(this).val() <= 0) {\r\n\t\t\t\t// alert(alertContentMin)\r\n\t\t\t\t$(this).val(0);\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n\r\n\r\n\r\nfunction likeComment() {\r\n\t$(\".button-like-comment\").click(function (e) {\r\n\t\te.preventDefault();\r\n\r\n\t\t$(this).find(\".like-comment\").toggleClass(\"active\");\r\n\r\n\t\tif ($(this).find(\".like-comment\").hasClass(\"active\")) {\r\n\t\t\t$(this).attr(\"data-like\", true);\r\n\t\t} else {\r\n\t\t\t$(this).attr(\"data-like\", false);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction countDownSale() {\r\n\t$(\".box-countdown\").hide();\r\n\r\n\tsetTimeout(function () {\r\n\t\t$(\".box-countdown\").fadeIn(2000);\r\n\t}, 1000);\r\n\r\n\t// Set the date we're counting down to\r\n\tvar temp = document.querySelector(\".date-over p\");\r\n\r\n\tif (temp) {\r\n\t\tvar dateEND = new Date(temp.textContent).getTime();\r\n\r\n\t\t// Update the count down every 1 second\r\n\t\tvar x = setInterval(function () {\r\n\t\t\t// Get today's date and time\r\n\t\t\tvar now = new Date().getTime();\r\n\r\n\t\t\t// Find the distance between now and the count down date\r\n\t\t\tvar distance = dateEND - now;\r\n\t\t\t\r\n\r\n\t\t\t// Time calculations for days, hours, minutes and seconds\r\n\r\n\t\t\tvar days = Math.floor(distance / (1000 * 60 * 60 * 24));\r\n\t\t\tvar hours =\r\n\t\t\t\tdays * 24 +\r\n\t\t\t\tMath.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n\t\t\tvar minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n\t\t\tvar seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n\r\n\t\t\t// Display the result in the element\r\n\t\t\ttry {\r\n\t\t\t\t// document.getElementById(\"days\").innerHTML = days;\r\n\t\t\t\tdocument.getElementById(\"hours\").innerHTML = hours;\r\n\t\t\t\tdocument.getElementById(\"minutes\").innerHTML = minutes;\r\n\t\t\t\tdocument.getElementById(\"seconds\").innerHTML = seconds;\r\n\t\t\t\t// If the count down is finished, write some text\r\n\t\t\t\tif (distance < 0) {\r\n\t\t\t\t\tclearInterval(x);\r\n\t\t\t\t\t$(\".box-countdown\").remove();\r\n\t\t\t\t\t$(\".box-expire\").css(\"display\" , \"flex\");\r\n\t\t\t\t}\r\n\t\t\t} catch (error) { }\r\n\t\t}, 1000);\r\n\t}\r\n}\r\n\r\n// const clickThenScrollToSection = () => {\r\n// \tlet aboutNavItemNodeList = document.querySelectorAll(\".about-nav .item\")\r\n// \tif (aboutNavItemNodeList) {\r\n// \t\tArray.prototype.forEach.call(aboutNavItemNodeList, element => {\r\n// \t\t\telement.addEventListener(\"click\", e => {\r\n// \t\t\t\te.preventDefault();\r\n// \t\t\t\tlet targetBlock = document.getElementById(element.attributes[\"data-href\"].value);\r\n// \t\t\t\t// let scrollPosition = targetBlock.offsetTop - document.querySelector(\"header\").offsetHeight\r\n// \t\t\t\tlet scrollPosition = targetBlock.offsetTop\r\n// \t\t\t\twindow.scrollTo({\r\n// \t\t\t\t\ttop: scrollPosition,\r\n// \t\t\t\t\tbehavior: \"smooth\",\r\n// \t\t\t\t})\r\n// \t\t\t})\r\n// \t\t})\r\n// \t}\r\n// }\r\n// SLIDER BANNER\r\n\r\nfunction introduceSliderBanner() {\r\n\tvar swpier = new Swiper(\".introduce-slider\", {\r\n\t\teffect: \"fade\",\r\n\t\tfadeEffect: {\r\n\t\t\tcrossFade: true,\r\n\t\t},\r\n\t\tbreakpoints: {\r\n\t\t\t1024: {\r\n\t\t\t\tpagination: false,\r\n\t\t\t},\r\n\t\t},\r\n\t\tcenteredSlides: true,\r\n\t\tspeed: 1000,\r\n\t\tspaceBetween: 30,\r\n\t\tloop: true,\r\n\t\tautoplay: true,\r\n\t\tpagination: {\r\n\t\t\tel: \".introduce-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t});\r\n}\r\n\r\nfunction showFilter() {\r\n\t$(\".list-product .block-title-filter\").click(function (e) {\r\n\t\te.preventDefault();\r\n\t\tvar heightThisPage = $(window).height();\r\n\r\n\t\t$(this).toggleClass(\"active\");\r\n\t\t$(\".list-product .block-filter\").toggleClass(\"active\");\r\n\t\t$(\"#backdrop\").toggleClass(\"active\");\r\n\r\n\t\tif ($(this).hasClass(\"active\")) {\r\n\t\t\t$(\"body\").height(heightThisPage);\r\n\t\t\t$(\"body\").css(\"overflow\", \"hidden\");\r\n\t\t} else {\r\n\t\t\t$(\"body\").removeAttr(\"style\");\r\n\t\t}\r\n\r\n\t\t$(\"#backdrop\").click(function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\t$(this).removeClass(\"active\");\r\n\t\t\t$(\"body\").removeAttr(\"style\");\r\n\t\t\t$(\".list-product .block-title-filter\").removeClass(\"active\");\r\n\t\t\t$(\".list-product .block-filter\").removeClass();\r\n\t\t});\r\n\t});\r\n}\r\n\r\nconst megaMenuHover = () => {\r\n\tlet dataMegas = document.querySelectorAll(\"[data-mega]\");\r\n\tlet dataMegaContents = document.querySelectorAll(\"[data-mega-content]\");\r\n\tlet firstElement;\r\n\tif (window.innerWidth >= 1025) {\r\n\t\tArray.prototype.forEach.call(dataMegas, (dataMega, dataMegaIndex) => {\r\n\t\t\tdataMega.addEventListener(\"mouseover\", () => {\r\n\t\t\t\tlet target = dataMega.attributes[\"data-mega\"].value;\r\n\t\t\t\tArray.prototype.forEach.call(\r\n\t\t\t\t\tdataMegaContents,\r\n\t\t\t\t\t(dataMegaContent, index) => {\r\n\t\t\t\t\t\tdataMegaContent.style.display = \"none\";\r\n\t\t\t\t\t\tdataMegas[index].classList.remove(\"active\");\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tdataMega.classList.add(\"active\");\r\n\t\t\t\tdocument.querySelector(\r\n\t\t\t\t\t`[data-mega-content='${target}']`\r\n\t\t\t\t).style.display = \"flex\";\r\n\t\t\t});\r\n\t\t\tdataMega.addEventListener(\"mouseleave\", () => {\r\n\t\t\t\tdataMegas[dataMegaIndex].classList.remove(\"active\");\r\n\t\t\t});\r\n\t\t});\r\n\t} else {\r\n\t\tArray.prototype.forEach.call(dataMegas, (dataMega, dataMegaIndex) => {\r\n\t\t\tdataMega.addEventListener(\"click\", (e) => {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tlet target = dataMega.attributes[\"data-mega\"].value;\r\n\t\t\t\tArray.prototype.forEach.call(\r\n\t\t\t\t\tdataMegaContents,\r\n\t\t\t\t\t(dataMegaContent, index) => {\r\n\t\t\t\t\t\tdataMegaContent.style.display = \"none\";\r\n\t\t\t\t\t\tdataMegas[index].classList.remove(\"active\");\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tdataMega.classList.add(\"active\");\r\n\t\t\t\tdocument.querySelector(\r\n\t\t\t\t\t`[data-mega-content='${target}']`\r\n\t\t\t\t).style.display = \"flex\";\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tdataMegas[0].click();\r\n\t}\r\n};\r\n\r\nconst turnOffPopupWhenClicked = () => {\r\n\t$(\"[data-fancybox]\").on(\"click\", function () {\r\n\t\t$(\".bottom-header\").removeClass(\"active\");\r\n\t\t$(\"header .opacity\").removeClass(\"active\");\r\n\t\t$(\".login-popup\").removeClass(\"open\");\r\n\t\t$(\".cart-panel\").removeClass(\"open\");\r\n\t\tlet _this = $(this).attr(\"data-src\");\r\n\t\t$(\".fancybox-content\").not(_this).parents(\".fancybox-container\").hide();\r\n\t});\r\n\r\n\t$(\"[data-fancybox]\").fancybox({\r\n\t\tcloseExisting: true,\r\n\t\thash: false,\r\n\t\ttouch: false,\r\n\t\t// afterClose: function() {\r\n\t\t// \t$.fancybox.close(true)\r\n\t\t// }\r\n\t});\r\n};\r\n\r\nconst moveAccount = () => {\r\n\tconst move = new MappingListener({\r\n\t\tselector: \".top-header-item.account-item\",\r\n\t\tdesktopWrapper: \".top-header-item.cart\",\r\n\t\tdesktopMethod: \"insertBefore\",\r\n\t\tmobileWrapper: \".mega-menu-wrapper .list\",\r\n\t\tmobileMethod: \"insertBefore\",\r\n\t\tbreakpoints: 1025,\r\n\t}).watch();\r\n};\r\n\r\nconst mobileMenu = () => {\r\n\tconst mobileMenuHandler = () => {\r\n\t\tdocument.querySelector(\".mega-menu-wrapper\").classList.toggle(\"active\");\r\n\t\tlet classListArray = Array.from(\r\n\t\t\tdocument.querySelector(\".mega-menu-wrapper\").classList\r\n\t\t);\r\n\t\tconst windowHeight = window.innerHeight;\r\n\t\tif (classListArray.indexOf(\"active\") !== -1) {\r\n\t\t\tdocument.getElementById(\"header-backdrop\").classList.add(\"active\");\r\n\t\t\tdocument.querySelector(\"body\").style.overflow = \"hidden\";\r\n\t\t\tdocument.querySelector(\"body\").style.height = windowHeight + \"px\";\r\n\t\t\tdocument.querySelector(\"body\").style.position = \"fixed\";\r\n\t\t} else {\r\n\t\t\tdocument.getElementById(\"header-backdrop\").classList.remove(\"active\");\r\n\t\t\tdocument.querySelector(\".account-box\").classList.remove(\"active\");\r\n\t\t\tdocument.querySelector(\"body\").removeAttribute(\"style\");\r\n\t\t}\r\n\t};\r\n\r\n\tdocument\r\n\t\t.querySelector(\".mobile-toggle\")\r\n\t\t.addEventListener(\"click\", mobileMenuHandler);\r\n\tdocument\r\n\t\t.querySelector(\".mega-menu-wrapper .btn-close\")\r\n\t\t.addEventListener(\"click\", mobileMenuHandler);\r\n\tdocument\r\n\t\t.getElementById(\"header-backdrop\")\r\n\t\t.addEventListener(\"click\", mobileMenuHandler);\r\n\r\n\tif (window.innerWidth < 1025) {\r\n\t\tdocument\r\n\t\t\t.querySelector(\".mega-menu-wrapper .account-item\")\r\n\t\t\t.addEventListener(\"click\", () => {\r\n\t\t\t\tdocument\r\n\t\t\t\t\t.querySelector(\".mega-menu-wrapper .account-item .account-box\")\r\n\t\t\t\t\t.classList.toggle(\"active\");\r\n\t\t\t});\r\n\t}\r\n};\r\n\r\nconst addClassHeaderWhenScroll = () => {\r\n\tif ($(window).scrollTop() > 0) {\r\n\t\t$(\"header\").addClass(\"active\");\r\n\t} else {\r\n\t\t$(\"header\").removeClass(\"active\");\r\n\t}\r\n};\r\n\r\nfunction backToTop() {\r\n\t$(window).scroll(function () {\r\n\t\tif ($(this).scrollTop() > 500) {\r\n\t\t\t$(\"#back-to-top\").addClass(\"show\");\r\n\t\t} else {\r\n\t\t\t$(\"#back-to-top\").removeClass(\"show\");\r\n\t\t}\r\n\t});\r\n\r\n\t$(\"#back-to-top\").on(\"click\", function (e) {\r\n\t\te.preventDefault();\r\n\t\t$(\"html,body\").animate({\r\n\t\t\tscrollTop: 0,\r\n\t\t},\r\n\t\t\t1200\r\n\t\t);\r\n\t});\r\n}\r\n\r\nconst replaceAll = (str, find, replace) => {\r\n\treturn str.replace(new RegExp(find, \"g\"), replace);\r\n};\r\n\r\nfunction rangeSliderPrice() {\r\n\tconst formatCurrency = new Intl.NumberFormat(\"vi-VN\", {\r\n\t\tstyle: \"currency\",\r\n\t\tcurrency: \"VND\",\r\n\t\tminimumFractionDigits: 0,\r\n\t});\r\n\r\n\tlet min_price = Number($(\"#slider-range\").attr(\"data-min\"));\r\n\tlet max_price = Number($(\"#slider-range\").attr(\"data-max\"));\r\n\tif (min_price !== max_price) {\r\n\t\tlet curMinPrice = Number($(\"#slider-range\").attr(\"data-current-min\"));\r\n\t\tlet curMaxPrice = Number($(\"#slider-range\").attr(\"data-current-max\"));\r\n\t\t$(\"#slider-range\").slider({\r\n\t\t\trange: true,\r\n\t\t\tmin: min_price,\r\n\t\t\tmax: max_price,\r\n\t\t\tvalues: [curMinPrice, curMaxPrice],\r\n\t\t\tslide: function (event, ui) {\r\n\t\t\t\t$(\"#amount\").val(ui.values[0] + \" - \" + ui.values[1]);\r\n\t\t\t\tconst minCurrency = formatCurrency\r\n\t\t\t\t\t.format(ui.values[0])\r\n\t\t\t\t\t.split(\".\")\r\n\t\t\t\t\t.join(\",\");\r\n\t\t\t\tconst maxCurrency = formatCurrency\r\n\t\t\t\t\t.format(ui.values[1])\r\n\t\t\t\t\t.split(\".\")\r\n\t\t\t\t\t.join(\",\");\r\n\t\t\t\t$(\"#value-text\").html(`${minCurrency} - ${maxCurrency}`);\r\n\t\t\t},\r\n\t\t\tstop: function (event, ui) {\r\n\t\t\t\tif (typeof Redirect == \"function\") {\r\n\t\t\t\t\tRedirect();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t});\r\n\t\t$(\"#amount\").val(\r\n\t\t\t$(\"#slider-range\").slider(\"values\", 0) +\r\n\t\t\t\" - \" +\r\n\t\t\t$(\"#slider-range\").slider(\"values\", 1)\r\n\t\t);\r\n\t\t$(\"#value-text\").html(\r\n\t\t\t`${formatCurrency\r\n\t\t\t\t.format(curMinPrice)\r\n\t\t\t\t.split(\".\")\r\n\t\t\t\t.join(\",\")} - ${formatCurrency\r\n\t\t\t\t\t.format(curMaxPrice)\r\n\t\t\t\t\t.split(\".\")\r\n\t\t\t\t\t.join(\",\")}`\r\n\t\t);\r\n\t} else {\r\n\t\t$(\".block-filter .price\").remove();\r\n\t}\r\n}\r\n\r\nconst findManufactures = () => {\r\n\tconst input = document.querySelector(\".brand .search input\");\r\n\tif (input) {\r\n\t\tinput.addEventListener(\"keyup\", (e) => {\r\n\t\t\tlet currentValue = input.value.toLowerCase();\r\n\t\t\tlet listCheckbox = document.querySelectorAll(\r\n\t\t\t\t\".brand .check-box .form-group\"\r\n\t\t\t);\r\n\t\t\tlistCheckbox.forEach((el) => {\r\n\t\t\t\tlet manufactureName = el\r\n\t\t\t\t\t.querySelector(\"label\")\r\n\t\t\t\t\t.textContent.toLowerCase();\r\n\t\t\t\tif (!manufactureName.includes(currentValue)) {\r\n\t\t\t\t\tel.style.display = \"none\";\r\n\t\t\t\t}\r\n\t\t\t\tif (manufactureName.includes(currentValue)) {\r\n\t\t\t\t\tel.style.display = \"block\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n};\r\n\r\nfunction chanceUrlNewsPage() {\r\n\t$(\".link-news\").each(function (index) {\r\n\t\tvar newsUrlMobile = $(this).attr(\"data-newsMobile\");\r\n\t\tif ($(window).width() < 1024) {\r\n\t\t\t$(this).attr(\"href\", newsUrlMobile);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction getProductQuantity() {\r\n\t$(\".category-list .child\").each(function () {\r\n\t\tvar _thisList = $(this);\r\n\t\tvar productOfThis = 0;\r\n\t\t_thisList.find(\"[data-product]\").each(function () {\r\n\t\t\tvar _thisItem = $(this);\r\n\t\t\tproductOfThis += Number(_thisItem.attr(\"data-product\"));\r\n\t\t});\r\n\t\t_thisList.siblings(\"h5\").attr(\"data-product\", productOfThis);\r\n\t});\r\n\r\n\t$(\".category-list [data-product]\").each(function () {\r\n\t\t$(this)\r\n\t\t\t.find(\"span\")\r\n\t\t\t.html(`(${$(this).attr(\"data-product\")})`);\r\n\t});\r\n\r\n\tvar _thisLink = $(\".category-list [data-product].active\");\r\n\r\n\tif (_thisLink.length > 0) {\r\n\t\t$(\".quantity [data-sum-product]\").html(_thisLink.attr(\"data-product\"));\r\n\t}\r\n}\r\n\r\nfunction showMainReply() {\r\n\t$(\".main-comment .button-comment\").click(function (e) {\r\n\t\te.preventDefault();\r\n\t\t$(this)\r\n\t\t\t.parents(\".block-comment\")\r\n\t\t\t.find(\".main-comment.reply\")\r\n\t\t\t.addClass(\"active\");\r\n\t});\r\n}\r\n\r\n// AJAX COMMENT\r\nfunction AjaxComment() {\r\n\t$(\"body\").on(\"click\", \".submit.comment\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst isLogin = $('#input-check-login input').attr('data-islogin');\r\n\t\tif (isLogin == \"True\") {\r\n\t\t\tvar product_ID = $(this).siblings(\"input[name='content-comment']\").attr(\"product-id\");\r\n\t\t\tvar newRating = $(\".new-comment .rate\").attr(\"data-rate\");\r\n\t\t\tvar newCommentContent = $(\".new-comment .input-comment input[name='content-comment']\").val();\r\n\t\t\tif (newRating == \"\") {\r\n\t\t\t\talert(\"Xin hãy vote cho sản phẩm\");\r\n\t\t\t} else {\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\ttype: \"post\",\r\n\t\t\t\t\turl: \"/binh-luan\",\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\tId: product_ID,\r\n\t\t\t\t\t\tContent: newCommentContent,\r\n\t\t\t\t\t\tVote: newRating,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsuccess: function (res) {\r\n\t\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\t\tlocation.reload();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(res.Message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$.fancybox.open({\r\n\t\t\t\tsrc: '#login',\r\n\t\t\t\topts: {\r\n\t\t\t\t\tafterShow: function (instance, current) { }\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// AJAX REPLY\r\nfunction AjaxReply() {\r\n\t$(\"body\").on(\"click\", \".submit.reply\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst isLogin = $('#input-check-login input').attr('data-islogin');\r\n\t\tif (isLogin == \"True\") {\r\n\t\t\tvar comment_ID = $(this).parents(\".box-reply\").siblings(\".main-comment[comment-id]\").attr(\"comment-id\");\r\n\t\t\tvar replyContent = $(this).siblings(\"input[name='content-comment']\").val();\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: \"post\",\r\n\t\t\t\turl: \"/phan-hoi\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tId: comment_ID,\r\n\t\t\t\t\tContent: replyContent,\r\n\t\t\t\t},\r\n\t\t\t\tsuccess: function (res) {\r\n\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\tlocation.reload();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(res.Message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t$.fancybox.open({\r\n\t\t\t\tsrc: '#login',\r\n\t\t\t\topts: {\r\n\t\t\t\t\tafterShow: function (instance, current) { }\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// AJAX LIKE\r\nfunction AjaxLike() {\r\n\t$(\"body\").on(\"click\", \".button-like-comment\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst isLogin = $('#input-check-login input').attr('data-islogin');\r\n\t\tif (isLogin == \"True\") {\r\n\t\t\tvar likeInfo = {};\r\n\t\t\tlikeInfo.Id = $(this)\r\n\t\t\t\t.parents(\".main-comment[comment-id]\")\r\n\t\t\t\t.attr(\"comment-id\");\r\n\t\t\tif (\r\n\t\t\t\t$(this).attr(\"data-like\") == \"\" ||\r\n\t\t\t\t$(this).attr(\"data-like\") == \"false\"\r\n\t\t\t) {\r\n\t\t\t\tlikeComment = true;\r\n\t\t\t} else {\r\n\t\t\t\tlikeComment = false;\r\n\t\t\t}\r\n\t\t\t$(this).attr(\"data-like\", likeInfo.likeComment);\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: \"post\",\r\n\t\t\t\turl: \"/thich\",\r\n\t\t\t\tdata: likeInfo,\r\n\t\t\t\tsuccess: function (res) {\r\n\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\t$(this).find(\"span\").html(res.Message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(res.Message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t$.fancybox.open({\r\n\t\t\t\tsrc: '#login',\r\n\t\t\t\topts: {\r\n\t\t\t\t\tafterShow: function (instance, current) { }\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction AjaxDeteleComment() {\r\n\t$(\"body\").on(\"click\", \".button-delete-comment\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst isLogin = $('#input-check-login input').attr('data-islogin');\r\n\t\tif (isLogin == \"True\") {\r\n\t\t\tvar deleteInfo = {};\r\n\t\t\tdeleteInfo.Id = $(this)\r\n\t\t\t\t.parents(\".main-comment[comment-id]\")\r\n\t\t\t\t.attr(\"comment-id\");\r\n\t\t\tvar _thisCommentDelete = $(this);\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: \"get\",\r\n\t\t\t\turl: \"/xoa-binhluan\",\r\n\t\t\t\tdata: deleteInfo,\r\n\t\t\t\tsuccess: function (res) {\r\n\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\t_thisCommentDelete.find(\"span\").html(res.Message).addClass(\"deleted\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(res.Message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t$.fancybox.open({\r\n\t\t\t\tsrc: '#login',\r\n\t\t\t\topts: {\r\n\t\t\t\t\tafterShow: function (instance, current) { }\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n\r\nconst getPropertyId = () => {\r\n\tlet propertyId = $(\r\n\t\t\".product-summary .color-item .list-color span.active\"\r\n\t).attr(\"data-propertyId\");\r\n\t$(\".product-summary .add-cart\").attr(\"data-propertyId\", propertyId);\r\n\t$(\".product-summary .color-item .list-color span\").on(\"click\", function () {\r\n\t\t$(this).siblings(\"span\").removeClass(\"active\");\r\n\t\t$(this).addClass(\"active\");\r\n\t\tlet currentPropertyId = $(this).attr(\"data-propertyId\");\r\n\t\t$(\".product-summary .add-cart\").attr(\"data-propertyId\", currentPropertyId);\r\n\t});\r\n};\r\n\r\nconst aboutNavSelect = () => {\r\n\tconst select = document.querySelector(\".about-nav select\");\r\n\tif (select) {\r\n\t\tselect.addEventListener(\"change\", (e) => {\r\n\t\t\tdocument\r\n\t\t\t\t.querySelector(\r\n\t\t\t\t\t`[toggle-\r\n\t\t\t\tfor = $ {\r\n\t\t\t\t\te.srcElement.value\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t\t`\r\n\t\t\t\t)\r\n\t\t\t\t.click();\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst calculatePriceWithShippingFee = () => {\r\n\tconst shippingMethodHandler = (input) => {\r\n\t\tconst currentShippingFee = Number(\r\n\t\t\tinput.parentNode\r\n\t\t\t\t.querySelector(\"label [data-shipping-fee]\")\r\n\t\t\t\t.getAttribute(\"data-shipping-fee\")\r\n\t\t);\r\n\t\tconst tempPrice = Number(\r\n\t\t\tdocument\r\n\t\t\t\t.querySelector(\"[data-temp-price]\")\r\n\t\t\t\t.getAttribute(\"data-temp-price\")\r\n\t\t);\r\n\t\tdocument\r\n\t\t\t.querySelector(\"[data-shipping]\")\r\n\t\t\t.setAttribute(\"data-shipping\", currentShippingFee);\r\n\t\tdocument.querySelector(\"[data-shipping]\").innerHTML =\r\n\t\t\tcurrentShippingFee.toLocaleString() + \" đ\";\r\n\t\tdocument\r\n\t\t\t.querySelector(\"[total-price]\")\r\n\t\t\t.setAttribute(\"total-price\", tempPrice + currentShippingFee);\r\n\t\tdocument.querySelector(\"[total-price]\").innerHTML =\r\n\t\t\t(tempPrice + currentShippingFee).toLocaleString() + \" đ\";\r\n\t};\r\n\tArray.from(document.querySelectorAll(\"[name=shippingselectedvalue]\")).forEach(\r\n\t\t(input) => {\r\n\t\t\tif (input.checked) {\r\n\t\t\t\tshippingMethodHandler(input);\r\n\t\t\t}\r\n\t\t\tinput.addEventListener(\"change\", () => {\r\n\t\t\t\tshippingMethodHandler(input);\r\n\t\t\t});\r\n\t\t}\r\n\t);\r\n};\r\n\r\nconst getUserName = () => {\r\n\tlet userFullName = $(\".top-header .account-item a[href] span\").html();\r\n\tlet userFullNameWidth = $(\".top-header .account-item a[href] span\").width();\r\n\tif (userFullName && userFullNameWidth > 75) {\r\n\t\tuserFullName = userFullName.split(\" \");\r\n\t\tlet setUserName =\r\n\t\t\tuserFullName[userFullName.length - 2] +\r\n\t\t\t\" \" +\r\n\t\t\tuserFullName[userFullName.length - 1];\r\n\t\t$(\".top-header .account-item a[href] span\").html(setUserName);\r\n\t}\r\n};\r\n\r\nconst ajaxForgotPassword = () => {\r\n\t// Get information to get verify code\r\n\t$(\"#forgot-password .form-button button\").on(\"click\", function(e) {\r\n\t\te.preventDefault();\r\n\t\tconst informationToGetPassword = new FormData();\r\n\t\tconst name = $(\"#forgot-password .form-group input\").attr(\"name\");\r\n\t\tconst value = $(\"#forgot-password .form-group input\").val();\r\n\t\tinformationToGetPassword.append(name, value)\r\n\t\tlet urlGetVerifyCode = $(\"#forgot-password .form-button button\").attr(\r\n\t\t\t\"data-action\"\r\n\t\t);\r\n\t\tlet fancyboxSourceVerify = $(\"#forgot-password .form-button button\").attr(\r\n\t\t\t\"data-src\"\r\n\t\t);\r\n\t\tif($(\"#forgot-password form\").valid() == true) {\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: urlGetVerifyCode,\r\n\t\t\t\ttype: \"post\",\r\n\t\t\t\tdata: informationToGetPassword,\r\n\t\t\t\tprocessData: false,\r\n\t\t\t\tcontentType: false,\r\n\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t$(\"#forgot-password .form-button button\").prop('disabled', false);\r\n\t\t\t\t\tif (res.Code === 200) {\r\n\t\t\t\t\t\t$.fancybox.open({\r\n\t\t\t\t\t\t\tsrc: fancyboxSourceVerify,\r\n\t\t\t\t\t\t\ttype: \"inline\",\r\n\t\t\t\t\t\t\topts: {\r\n\t\t\t\t\t\t\t\tcloseExisting: true,\r\n\t\t\t\t\t\t\t\thash: false,\r\n\t\t\t\t\t\t\t\tbeforeShow: function() {\r\n\t\t\t\t\t\t\t\t\t$(\"#verify .popup-wrapper>p\").html(res.Message);\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdocument.querySelector('#noti-login .text_noti').innerHTML = res.Message;\r\n\t\t\t\t\t\t\t$.fancybox.open({\r\n\t\t\t\t\t\t\t\tsrc: '#noti-login',\r\n\t\t\t\t\t\t\t\ttype: 'inline',\r\n\t\t\t\t\t\t\t\topts: {\r\n\t\t\t\t\t\t\t\t\tafterShow: function (instance, current) {\r\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t$.fancybox.close();\r\n\t\t\t\t\t\t\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tbeforeSend: () => {\r\n\t\t\t\t\t$(\"#forgot-password .form-button button\").prop('disabled', true);\r\n\t\t\t\t},\r\n\t\t\t\tcomplete: () => {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', false);\r\n\r\n\t\t\t\t},\r\n\t\t\t\terror: function(err) {\r\n\t\t\t\t\t$(\"#forgot-password .form-button button\").prop('disabled', false);\r\n\r\n\t\t\t\t\talert(err.status);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\t// get verify code to reset password\r\n\t$(\"#verify .form-button button\").on(\"click\", function(e) {\r\n\t\te.preventDefault();\r\n\t\tlet verifyCode = new FormData();\r\n\t\tconst name = $(\"#verify .form-group input\").attr(\"name\");\r\n\t\tconst value = $(\"#verify .form-group input\").val();\r\n\t\tverifyCode.append(name , value)\r\n\t\tlet urlChangePassword = $(\"#verify .form-button button\").attr(\r\n\t\t\t\"data-action\"\r\n\t\t);\r\n\t\tlet fancyboxSourceResetPassword = $(\"#verify .form-button button\").attr(\r\n\t\t\t\"data-src\"\r\n\t\t);\r\n\t\tif($(\"#verify form\").valid() == true) {\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: urlChangePassword,\r\n\t\t\t\ttype: \"post\",\r\n\t\t\t\tdata: verifyCode,\r\n\t\t\t\tprocessData: false,\r\n\t\t\t\tcontentType: false,\r\n\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', false);\r\n\t\t\t\t\tif (res.Code === 200) {\r\n\t\t\t\t\t\t$.fancybox.open({\r\n\t\t\t\t\t\t\tsrc: fancyboxSourceResetPassword,\r\n\t\t\t\t\t\t\ttype: \"inline\",\r\n\t\t\t\t\t\t\topts: {\r\n\t\t\t\t\t\t\t\tcloseExisting: true,\r\n\t\t\t\t\t\t\t\thash: false,\r\n\t\t\t\t\t\t\t\tbeforeShow: function() {\r\n\t\t\t\t\t\t\t\t\t$(\"#reset-password .popup-wrapper>p\").html(res.Message);\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdocument.querySelector('#noti-login .text_noti').innerHTML = res.Message;\r\n\t\t\t\t\t\t\t$.fancybox.open({\r\n\t\t\t\t\t\t\t\tsrc: '#noti-login',\r\n\t\t\t\t\t\t\t\ttype: 'inline',\r\n\t\t\t\t\t\t\t\topts: {\r\n\t\t\t\t\t\t\t\t\tafterShow: function (instance, current) {\r\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t$.fancybox.close();\r\n\t\t\t\t\t\t\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tbeforeSend: () => {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', true);\r\n\t\t\t\t},\r\n\t\t\t\tcomplete: () => {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', false);\r\n\t\t\t\t},\r\n\t\t\t\terror: function(err) {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', false);\r\n\t\t\t\t\talert(err.status);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\t// change pasword\r\n\t// Get information to get verify code\r\n\t$(\"#reset-password .form-button button\").on(\"click\", function(e) {\r\n\t\te.preventDefault();\r\n\t\tconst passwordChange = new FormData();\r\n\t\t$(\"#reset-password .form-group input\").each(function () {\r\n\t\t\tconst name = $(this).attr(\"name\");\r\n\t\t\tconst value = $(this).val();\r\n\t\t\tpasswordChange.append(name, value);\r\n\t\t});\r\n\t\tlet urlGetVerifyCode = $(\"#reset-password .form-button button\").attr(\r\n\t\t\t\"data-action\"\r\n\t\t);\r\n\t\r\n\t\tif($(\"#reset-password form\").valid() == true) {\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: urlGetVerifyCode,\r\n\t\t\t\ttype: \"post\",\r\n\t\t\t\tdata: passwordChange,\r\n\t\t\t\tprocessData: false,\r\n\t\t\t\tcontentType: false,\r\n\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', false);\r\n\t\t\t\t\tdocument.querySelector('#noti-login .text_noti').innerHTML = res.Message;\r\n\t\t\t\t\t$.fancybox.open({\r\n\t\t\t\t\t\tsrc: '#noti-login',\r\n\t\t\t\t\t\ttype: 'inline',\r\n\t\t\t\t\t\topts: {\r\n\t\t\t\t\t\t\tafterShow: function (instance, current) {\r\n\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t$.fancybox.close();\r\n\t\t\t\t\t\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tbeforeSend: () => {\r\n\t\t\t\t\t$(\"#reset-password .form-button button\").prop('disabled', true);\r\n\t\t\t\t},\r\n\t\t\t\tcomplete: () => {\r\n\t\t\t\t\t$(\"#verify .form-button button\").prop('disabled', false);\r\n\t\t\t\t},\r\n\t\t\t\terror: function(err) {\r\n\t\t\t\t\t$(\"#reset-password .form-button button\").prop('disabled', false);\r\n\t\t\t\t\talert(err.status);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst verifyAddressInCheckoutStep = () => {\r\n\tArray.from(\r\n\t\tdocument.querySelectorAll(\".address-item .js-btn-verify-address\")\r\n\t).forEach((btn) => {\r\n\t\tbtn.addEventListener(\"click\", (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tconst addressItem = btn.closest(\".address-item\");\r\n\t\t\tconst name = addressItem\r\n\t\t\t\t.querySelector(\"[data-name]\")\r\n\t\t\t\t.getAttribute(\"data-name\");\r\n\t\t\tconst address = addressItem\r\n\t\t\t\t.querySelector(\"[data-address]\")\r\n\t\t\t\t.getAttribute(\"data-address\");\r\n\t\t\tconst phone = addressItem\r\n\t\t\t\t.querySelector(\"[data-phone]\")\r\n\t\t\t\t.getAttribute(\"data-phone\");\r\n\t\t\tconst city = addressItem\r\n\t\t\t\t.querySelector(\"[data-city]\")\r\n\t\t\t\t.getAttribute(\"data-city\");\r\n\t\t\tconst district = addressItem\r\n\t\t\t\t.querySelector(\"[data-district]\")\r\n\t\t\t\t.getAttribute(\"data-district\");\r\n\t\t\tconst addressForm = document.querySelector(\".add-new-address-form\");\r\n\t\t\taddressForm.querySelector(\"#fullname\").value = name;\r\n\t\t\taddressForm.querySelector(\"#phone\").value = phone;\r\n\t\t\taddressForm.querySelector(\"#address\").value = address;\r\n\t\t\taddressForm.querySelector(\r\n\t\t\t\t\"#ShippingCitySelectedValue\"\r\n\t\t\t).innerHTML = ` `;\r\n\t\t\taddressForm.querySelector(\r\n\t\t\t\t\"#ShippingDistrictSelectedValue\"\r\n\t\t\t).innerHTML = ``;\r\n\t\t\taddressForm.querySelector(\"form\").submit();\r\n\t\t});\r\n\t});\r\n};\r\n\r\nconst editAddressInCheckoutStep = () => {\r\n\tArray.from(\r\n\t\tdocument.querySelectorAll(\".address-item .js-btn-edit-address\")\r\n\t).forEach((btn) => {\r\n\t\tbtn.addEventListener(\"click\", (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tconst addressItem = btn.closest(\".address-item\");\r\n\t\t\tconst name = addressItem\r\n\t\t\t\t.querySelector(\"[data-name]\")\r\n\t\t\t\t.getAttribute(\"data-name\");\r\n\t\t\tconst address = addressItem\r\n\t\t\t\t.querySelector(\"[data-address]\")\r\n\t\t\t\t.getAttribute(\"data-address\");\r\n\t\t\tconst phone = addressItem\r\n\t\t\t\t.querySelector(\"[data-phone]\")\r\n\t\t\t\t.getAttribute(\"data-phone\");\r\n\t\t\tconst city = addressItem\r\n\t\t\t\t.querySelector(\"[data-city]\")\r\n\t\t\t\t.getAttribute(\"data-city\");\r\n\t\t\tconst district = addressItem\r\n\t\t\t\t.querySelector(\"[data-district]\")\r\n\t\t\t\t.getAttribute(\"data-district\");\r\n\t\t\tconst addressForm = document.querySelector(\".add-new-address-form\");\r\n\t\t\taddressForm.querySelector(\"#fullname\").value = name;\r\n\t\t\taddressForm.querySelector(\"#phone\").value = phone;\r\n\t\t\taddressForm.querySelector(\"#address\").value = address;\r\n\t\t\taddressForm.querySelector(\"#ShippingCitySelectedValue\").value = city;\r\n\t\t\taddressForm.querySelector(\r\n\t\t\t\t\"#ShippingDistrictSelectedValue\"\r\n\t\t\t).value = district;\r\n\t\t\t$(\".add-new-address-form\").slideDown();\r\n\t\t});\r\n\t});\r\n};\r\n\r\nconst toggleAddNewsAddressItem = () => {\r\n\t$(\".add-news-address\").on(\"click\", function () {\r\n\t\t$(\".add-new-address-form\").slideToggle();\r\n\t});\r\n};\r\n\r\nconst ajaxDeleteBill = () => {\r\n\t$(\"#cancel-bill button\").on(\"click\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst deleteBill = new FormData();\r\n\t\tdeleteBill.append(\"billid\", $(\"#bill-id\").val());\r\n\t\tconst urlRequest = $(this).attr(\"data-href\");\r\n\t\t$.ajax({\r\n\t\t\turl: urlRequest,\r\n\t\t\tdata: deleteBill,\r\n\t\t\tmethod: \"post\",\r\n\t\t\tprocessData: false,\r\n\t\t\tcontentType: false,\r\n\t\t\tsuccess: function (res) {\r\n\t\t\t\tif (res.Code === 200) {\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t}, 3000);\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(res.Message);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n};\r\n\r\nconst setHeightItemImgBox = () => {\r\n\t$(\".item-list-pro\").each(function () {\r\n\t\t$(this).find(\".box-img\").height($(this).find(\".box-img\").width());\r\n\t});\r\n};\r\n\r\nconst shareSocial = () => {\r\n\tfunction amperoctoplus(s) {\r\n\t\ts = s.replace(/&/g, \"%26\");\r\n\t\ts = s.replace(/#/g, \"%23\");\r\n\t\ts = s.replace(/\\+/g, \"%2B\");\r\n\t\ts = s.replace(/@/g, \"%40\");\r\n\t\ts = s.replace(/:/g, \"%3A\");\r\n\t\treturn s;\r\n\t}\r\n\r\n\tlet currentHREF = amperoctoplus(encodeURI(window.location.href));\r\n\tif (document.querySelector(\".social-facebook a\")) {\r\n\t\tdocument\r\n\t\t\t.querySelector(\".social-facebook a\")\r\n\t\t\t.setAttribute(\r\n\t\t\t\t\"href\",\r\n\t\t\t\t`https://www.facebook.com/sharer/sharer.php?u=${currentHREF}`\r\n\t\t\t);\r\n\t}\r\n\tif (document.querySelector(\".social-twitter a\")) {\r\n\t\tdocument\r\n\t\t\t.querySelector(\".social-twitter a\")\r\n\t\t\t.setAttribute(\r\n\t\t\t\t\"href\",\r\n\t\t\t\t`https://twitter.com/intent/tweet?text=${currentHREF}`\r\n\t\t\t);\r\n\t}\r\n\tif (document.querySelector(\".social-pinterest a\")) {\r\n\t\tdocument\r\n\t\t\t.querySelector(\".social-pinterest a\")\r\n\t\t\t.setAttribute(\r\n\t\t\t\t\"href\",\r\n\t\t\t\t`https://pinterest.com/pin/create/button/?url=${currentHREF}&media=&description=`\r\n\t\t\t);\r\n\t}\r\n\tif (document.querySelector(\".social-linkedin a\")) {\r\n\t\tdocument\r\n\t\t\t.querySelector(\".social-linkedin a\")\r\n\t\t\t.setAttribute(\r\n\t\t\t\t\"href\",\r\n\t\t\t\t`https://www.linkedin.com/shareArticle?mini=true&url=${currentHREF}&title=&summary=&source=`\r\n\t\t\t);\r\n\t}\r\n};\r\n\r\nconst setPhoneNumberFixed = () => {\r\n\tconst numberPhoneFooter = Array.from(\r\n\t\tdocument.querySelectorAll(\".info-company ul li\")\r\n\t);\r\n\tconst phoneNumber = numberPhoneFooter[3]\r\n\t\t.querySelector(\"a\")\r\n\t\t.getAttribute(\"href\");\r\n\tdocument.querySelector(\"#phone-call a\").setAttribute(\"href\", phoneNumber);\r\n};\r\n\r\nconst sliderAboutGiaiPhapChiTiet = () => {\r\n\treturn new Swiper(\".about-5--2-slider .swiper-container\", {\r\n\t\tslidesPerView: 3,\r\n\t\tspeed: 900,\r\n\t\tspaceBetween: 30,\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".about-5--2-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".about-5--2-slider .swiper-button-prev\",\r\n\t\t},\r\n\t\tbreakpoints: {\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 2,\r\n\t\t\t\tspaceBetween: 20,\r\n\t\t\t},\r\n\t\t},\r\n\t});\r\n};\r\n\r\nconst about2slider = () => {\r\n\treturn new Swiper(\".about-1--4 .clients-slider .swiper-container\", {\r\n\t\tslidesPerView: 4,\r\n\t\tloop: true,\r\n\t\tspeed: 1200,\r\n\t\tautoplay: true,\r\n\t\tbreakpoints: {\r\n\t\t\t768: {\r\n\t\t\t\tslidesPerView: 4,\r\n\t\t\t},\r\n\t\t\t576: {\r\n\t\t\t\tslidesPerView: 3,\r\n\t\t\t},\r\n\t\t},\r\n\t\tpagination: {\r\n\t\t\tel: \".about-1--4 .clients-slider .swiper-pagination\",\r\n\t\t\tclickable: true,\r\n\t\t},\r\n\t\tnavigation: {\r\n\t\t\tnextEl: \".about-1--4 .clients-slider .swiper-button-next\",\r\n\t\t\tprevEl: \".about-1--4 .clients-slider .swiper-button-prev\",\r\n\t\t},\r\n\t});\r\n};\r\n\r\nconst aboutNavAjax = () => {\r\n\tconst currentPathnameAfterReload = window.location.pathname;\r\n\t$(\".about-nav nav a\").each(function () {\r\n\t\tconst navPathname = $(this).attr(\"href\");\r\n\r\n\t\tif (currentPathnameAfterReload.indexOf(navPathname) >= 0) {\r\n\t\t\t$(this).addClass(\"active\");\r\n\t\t\t$(\".about-nav nav a\").not(this).removeClass(\"active\");\r\n\t\t}\r\n\r\n\t\tif ($(\".about-5--2\").length > 0) {\r\n\t\t\t$(\".about-nav nav a\").each(function () {\r\n\t\t\t\tif ($(this).attr(\"href\").indexOf(\"/giai-phap\") >= 0) {\r\n\t\t\t\t\t$(this).addClass(\"active\");\r\n\t\t\t\t\t$(\".about-nav nav a\").not(this).removeClass(\"active\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t$(this).on(\"click\", (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tconst url = $(this).attr(\"href\");\r\n\t\t\t$(this).addClass(\"active\");\r\n\t\t\t$(\".about-nav nav a\").not(this).removeClass(\"active\");\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: url,\r\n\t\t\t\ttype: \"get\",\r\n\t\t\t\tsuccess: function (res) {\r\n\t\t\t\t\tif (url.indexOf(\"du-an\") >= 0) {\r\n\t\t\t\t\t\t$(\".about-ajax\").html(\r\n\t\t\t\t\t\t\t`
${$(\r\n\t\t\t\t\t\t\t\tres\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t.find(\".project-list .container\")\r\n\t\t\t\t\t\t\t\t.html()}
`\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\t$(\".about-project .description\").removeClass(\"d-none\");\r\n\t\t\t\t\t\t$(\".about-project .row\").eq(0).addClass(\"row-custom\");\r\n\t\t\t\t\t\t$(\".about-project .col-lg-4\").each(function () {\r\n\t\t\t\t\t\t\t$(this).addClass(\"col-6 col-md-4 about-4--item--col\");\r\n\t\t\t\t\t\t\t$(this).removeClass(\"col-lg-4\");\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconst fullUrl = `${window.location.origin}${url}`;\r\n\t\t\t\t\t\twindow.history.pushState({}, \"\", fullUrl);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\".about-ajax\").html($(res).find(\".about-ajax\").html());\r\n\t\t\t\t\t\tconst fullUrl = `${window.location.origin}${url}`;\r\n\t\t\t\t\t\tif ($(\".about-ajax\").find(\".about-1--4 .clients-slider\")) {\r\n\t\t\t\t\t\t\tabout2slider();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\twindow.history.pushState({}, \"\", fullUrl);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n};\r\n\r\nconst aboutProjectPaginationAjax = () => {\r\n\t$(\"body\").on(\"click\", \".about-ajax .pagination li a\", function (e) {\r\n\t\te.preventDefault();\r\n\t\tconst url = $(this).attr(\"href\");\r\n\t\t$.ajax({\r\n\t\t\turl: url,\r\n\t\t\ttype: \"get\",\r\n\t\t\tsuccess: function (res) {\r\n\t\t\t\tif (url.indexOf(\"du-an\") >= 0) {\r\n\t\t\t\t\t$(\".about-ajax\").html(\r\n\t\t\t\t\t\t`
${$(\r\n\t\t\t\t\t\t\tres\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t.find(\".project-list .container\")\r\n\t\t\t\t\t\t\t.html()}
`\r\n\t\t\t\t\t);\r\n\t\t\t\t\t$(\".about-project .description\").removeClass(\"d-none\");\r\n\t\t\t\t\t$(\".about-project .row\").eq(0).addClass(\"row-custom\");\r\n\t\t\t\t\t$(\".about-project .col-lg-4\").each(function () {\r\n\t\t\t\t\t\t$(this).addClass(\"col-6 col-md-4 about-4--item--col\");\r\n\t\t\t\t\t\t$(this).removeClass(\"col-lg-4\");\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst fullUrl = `${window.location.origin}${url}`;\r\n\t\t\t\t\twindow.history.pushState({}, \"\", fullUrl);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\".about-ajax\").html($(res).find(\".about-ajax\").html());\r\n\t\t\t\t\tconst fullUrl = `${window.location.origin}${url}`;\r\n\t\t\t\t\tif ($(\".about-ajax\").find(\".about-1--4 .clients-slider\")) {\r\n\t\t\t\t\t\tabout2slider();\r\n\t\t\t\t\t}\r\n\t\t\t\t\twindow.history.pushState({}, \"\", fullUrl);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n};\r\n\r\nconst breadcrumbDelete = () => {\r\n\tif ($(\".about-5--2\").length > 0) {\r\n\t\t$(\".about-ajax .breadcrumb-wrapper .container\").html(\r\n\t\t\t`
${$(\r\n\t\t\t\t\".about-ajax .breadcrumb-wrapper .container\"\r\n\t\t\t).html()}
`\r\n\t\t);\r\n\t\t$(\".about-ajax .breadcrumb-wrapper li\").eq(0).remove();\r\n\t\t$(\".about-ajax .breadcrumb-wrapper li\").eq(0).remove();\r\n\t}\r\n};\r\n\r\n// Credit từ David Walsh: https://davidwalsh.name/javascript-debounce-function\r\n\r\n// debounce sẽ return fn và fn sẽ không chạy cho đến khi debounce không được thực thi\r\n// trong khoản thời gian delay. Nếu immediate là true, thì fn sẽ được thực thi ngay lặp tức\r\n// rồi mới được debounced cho những lần tiếp theo.\r\nfunction debounce(fn, delay, immediate) {\r\n\tlet timeout;\r\n\r\n\t// Đây là function sẽ được thực thi khi debouncedKeyUp được thực thi ở ví dụ trên\r\n\treturn function executedFn() {\r\n\t\t// Mình save lại this vào biến context\r\n\t\tlet context = this; // \"this\" context của executedFn\r\n\r\n\t\t// Save lại arguments vào args. Trong JS, arguments giữ giá trị của tất cả tham số được truyền vào cho một function.\r\n\t\t// Cho dù bạn không khai báo tham số cho một hàm, thì khi truyền tham số vào cho hàm đó, các bạn vẫn có thể truy xuất\r\n\t\t// đến các tham số bằng biến arguments này. Theo ví dụ trên, thì arguments ở đây sẽ chứa \"event\" \r\n\t\tlet args = arguments; // \"arguments\" của fn\r\n\r\n\t\t// Function later này sẽ được gọi sau khi delay được chạy xong. \r\n\t\t// Nghĩa là mình return executedFn, khi executedFn được thực thi thì sau khoản delay, later sẽ được thực thi.\r\n\t\tlet later = function () {\r\n\t\t\t// Gán null cho timeout => cho thấy delay đã chạy xong\r\n\t\t\ttimeout = null;\r\n\r\n\t\t\t// Gọi hàm fn với apply\r\n\t\t\tif (!immediate) fn.apply(context, args);\r\n\t\t};\r\n\r\n\t\t// Xác định xem nên gọi fn dựa vào tham số immediate\r\n\t\tlet callNow = immediate && !timeout;\r\n\r\n\t\t// Dòng clearTimeout sẽ reset timeout đang hiện hữu (**existed**). Đây là điều cần thiết, \r\n\t\t// vì mình cần hủy timeout và tạo 1 timeout mới nếu như debounce được thực thi khi \r\n\t\t// delay chưa chạy xong.\r\n\t\tclearTimeout(timeout);\r\n\r\n\t\t// Khởi tạo (lại) timeout mới và gán vào biến timeout để có thể clear/check.\r\n\t\ttimeout = setTimeout(later, delay);\r\n\r\n\t\t// Nếu như immediate là true, thì mình sẽ gọi fn lần đầu tiên ở đây.\r\n\t\tif (callNow) fn.apply(context, args);\r\n\t}\r\n}\r\n\r\nconst ajaxSearch = () => {\r\n\tlet Url;\r\n\tlet Image;\r\n\tlet Alt;\r\n\tlet Title;\r\n\tlet Price;\r\n\t// GIÁ GIẢM\r\n\tlet IsPromotion;\r\n\tlet PromotionPrice;\r\n\tlet PromotionPrice__ToChangePrice;\r\n\t// GIÁ ĐANG CẬP NHẬT\r\n\tlet IsPriceUpdating;\r\n\tlet PriceUpdatingDesc = 'Giá đang cập nhật';\r\n\t// GIÁ LIÊN HỆ\r\n\tlet IsPriceContact;\r\n\tlet PriceContactDesc = 'Giá bán: Liên hệ giá tốt nhất';\r\n\t// funtion get data Ajax on KeyUp\r\n\tconst input__search = document.querySelector('.top-header .search input');\r\n\tconst url = document.querySelector('.top-header .search .fs-sresult').getAttribute('data-url');\r\n\tconst list__itemResult = document.querySelector('.fs-sresult .fs-sremain ul');\r\n\tconst formatCurrency = new Intl.NumberFormat(\"vi-VN\", {\r\n\t\tstyle: \"currency\",\r\n\t\tcurrency: \"VND\",\r\n\t\tminimumFractionDigits: 0,\r\n\t});\r\n\tconst keyUpHandler = e => {\r\n\t\t// do something with event\r\n\t\tlist__itemResult.innerHTML = '';\r\n\t\t$.ajax({\r\n\t\t\ttype: \"GET\",\r\n\t\t\tdata: {\r\n\t\t\t\ttext: input__search.value\r\n\t\t\t},\r\n\t\t\turl: url,\r\n\t\t\tsuccess: function (res) {\r\n\t\t\t\tif (res.Code == 200) {\r\n\t\t\t\t\tfor (let i = 0; i < res.Result.length; i++) {\r\n\t\t\t\t\t\tUrl = res.Result[i].Url;\r\n\t\t\t\t\t\tPrice = formatCurrency.format(res.Result[i].Price);\r\n\t\t\t\t\t\tImage = res.Result[i].Image;\r\n\t\t\t\t\t\tAlt = res.Result[i].Alt;\r\n\t\t\t\t\t\tTitle = res.Result[i].Title;\r\n\t\t\t\t\t\tIsPromotion = res.Result[i].IsPromotion;\r\n\t\t\t\t\t\tPromotionPrice = formatCurrency.format(res.Result[i].PromotionPrice);\r\n\t\t\t\t\t\tIsPriceUpdating = res.Result[i].IsPriceUpdating;\r\n\t\t\t\t\t\tIsPriceContact = res.Result[i].IsPriceContact;\r\n\t\t\t\t\t\t// MỘT SỐ TRƯỜNG HỢP VỀ GIÁ\r\n\t\t\t\t\t\tif (IsPriceUpdating == true) {\r\n\t\t\t\t\t\t\tPrice = PriceUpdatingDesc;\r\n\t\t\t\t\t\t} else if (IsPriceContact == true) {\r\n\t\t\t\t\t\t\tPrice = PriceContactDesc;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst template__result =\r\n\t\t\t\t\t\t\t`
  • \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\"${Alt}\"\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    ${Title}

    \r\n\t\t\t\t\t\t\t\t\t\t

    ${Price}

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • `;\r\n\t\t\t\t\t\tconst template__result_IsPromotion =\r\n\t\t\t\t\t\t\t`
  • \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\"${Alt}\"\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    ${Title}

    \r\n\t\t\t\t\t\t\t\t\t\t

    ${PromotionPrice}

    \r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t${Price}\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • `;\r\n\r\n\t\t\t\t\t\tif (IsPromotion == true) {\r\n\t\t\t\t\t\t\t$(list__itemResult).append(template__result_IsPromotion);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// XUẤT RA MÀN HÌNH KẾT QUẢ \r\n\t\t\t\t\t\t\t$(list__itemResult).append(template__result);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('Đã có lỗi xảy ra => Res.Code = 400');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\tconst debouncedKeyUp = debounce(keyUpHandler, 1000);\r\n\tinput__search.addEventListener('keyup', debouncedKeyUp)\r\n}\r\n\r\nbreadcrumbDelete();\r\n\r\n$(document).ready(function () {\r\n\tsetHeightItemImgBox();\r\n\tobjectFitImages(\"img.ofc\"); // Luôn luôn chậy polyfill cho thuôc tính object-fit: cover trên các phiên bản IE >= 9\r\n\taddClassLazyload(); // Luôn luôn addClass lazyload cho các hình ảnh có thuộc tính [data-src]\r\n\taddClassHeaderWhenScroll();\r\n\tmoveAccount();\r\n\tmobileMenu();\r\n\t// aboutNavSelect();\r\n\tcalculatePriceWithShippingFee();\r\n\tfindManufactures();\r\n\thomeSliderBanner();\r\n\tproductSlider();\r\n\tbrandSlider();\r\n\tclientSlider();\r\n\tsubmenuCategory();\r\n\timgProductSlider();\r\n\tabout2slider();\r\n\tclickRating();\r\n\tshowRating();\r\n\tchooesColor();\r\n\tsliderTheSameProduct();\r\n\tgetUserName();\r\n\t// Ajax\r\n\tajaxSearch();\r\n\tAjaxComment();\r\n\tAjaxReply();\r\n\tAjaxLike();\r\n\tAjaxDeteleComment();\r\n\tajaxForgotPassword();\r\n\taboutNavAjax();\r\n\taboutProjectPaginationAjax();\r\n\t//\r\n\t// clickThenScrollToSection();\r\n\tgetDataBar();\r\n\tlikeComment();\r\n\tbackToTop();\r\n\trangeSliderPrice();\r\n\tchanceUrlNewsPage();\r\n\tshowMainReply();\r\n\tif ($(window).width() < 1024) {\r\n\t\tshowFilter();\r\n\t}\r\n\tproductSliderHotSale();\r\n\tconst recruitmentTab = new Tab(\".job-position .tab-container\");\r\n\tconst cauhoithuonggap = new Tab(\".FaQ .tab-container\");\r\n\tconst ProductDetailTab = new Tab(\".tabs-info-product .tab-container\");\r\n\tconst aboutTab = new Tab(\".about-tab .tab-container\");\r\n\tcountDownSale();\r\n\tintroduceSliderBanner();\r\n\tmegaMenuHover();\r\n\tturnOffPopupWhenClicked();\r\n\tgetPropertyId();\r\n\tgetProductQuantity();\r\n\tverifyAddressInCheckoutStep();\r\n\teditAddressInCheckoutStep();\r\n\ttoggleAddNewsAddressItem();\r\n\tajaxDeleteBill();\r\n\tshareSocial();\r\n\tsetPhoneNumberFixed();\r\n\tsliderAboutGiaiPhapChiTiet();\r\n\tcartQuantity();\r\n});\r\n\r\n$(document).ajaxComplete(function () {\r\n\taddClassLazyload();\r\n});\r\n\r\nwindow.addEventListener(\"scroll\", () => {\r\n\taddClassHeaderWhenScroll();\r\n});\r\n\r\nwindow.addEventListener(\"resize\", () => {\r\n\tsetHeightItemImgBox();\r\n});"]}