usingNamespace("Biz.ProductList")["Common"] = { cmpItemListInQueryString: [], initialize: function () { if (!Biz.ProductList.Config) { return; }; var cfg = Biz.ProductList.Config; if (cfg.multiAction) { var ocmpItemList = cfg.baseQueryString.get("CompareItemList"); if (!String.isNullOrEmpty(ocmpItemList)) { ocmpItemList = ocmpItemList.split(","); var els = Web.UI.Form.getElements("formProductListDataGrid", "CompareItem"); if (els && els.length > 0) { for (var i = 0; i < els.length; ++i) { if (ocmpItemList.contains(els[i].value)) { els[i].checked = true; ocmpItemList.remove(els[i].value); }; }; }; cfg.baseQueryString.set("CompareItemList", ocmpItemList.join(",")); }; }; }, redirect: function (url) { if (url) { window.location.href = url.replace(/%2D/g, "-").replace(/%5F/g, "_"); } else { var cfg = Biz.ProductList.Config; var ocmpItemList = Biz.ProductList.Common.getSelectedItems(); if (ocmpItemList.length > 0) { cfg.baseQueryString.set("CompareItemList", ocmpItemList.join(",")); } else { cfg.baseQueryString.set("CompareItemList", ""); }; var qs = cfg.baseQueryString.toString(); qs = (qs.length > 0) ? (cfg.url && cfg.url.indexOf('?') > -1 ? "&" : "?") + qs : ""; window.location.href = cfg.url + qs.replace(/%2D/g, "-").replace(/%5F/g, "_"); }; }, getSelectedItems: function () { var pdlc = Biz.ProductList.Common; var ccmpItemList = Web.UI.Form.getValues("formProductListDataGrid", "CompareItem"); var ocmpItemList = pdlc.cmpItemListInQueryString; if (ocmpItemList && ocmpItemList.length > 0) { ocmpItemList = ocmpItemList; } else { ocmpItemList = []; }; for (i = 0; i < ccmpItemList.length; i++) { if (!ocmpItemList.contains(ccmpItemList[i])) { ocmpItemList.add(ccmpItemList[i]); }; }; return ocmpItemList; }, setSelectStatus: function () { var orderedItems = Web.StateManager.Cookies.get(Web.StateManager.Cookies.Name.PRDLIST, "Layout"); var $listView = jQuery("#ListView"); var $gridView = jQuery("#GridView"); if (orderedItems == "l") { $listView.click(); } else { $gridView.click(); } }, fillSelect: function (o, v) { if (o) { for (var i = 0; i < o.options.length; i++) { if (o.options[i].value == v) { o.options[i].selected = true; break; }; }; } } }; usingNamespace("Biz.ProductList")["Search"] = { keywordTmp: "", hisInDesc: "", oldIns: "", innerSearching: function (n) { var v = $(n).value; var DEF = Web.Lang.searchWithin.toUpperCase(); var cfg = Biz.ProductList.Config; if (!String.isNullOrEmpty(v)) { if (v.toUpperCase() != DEF) { var hisInsKeywords = cfg.baseQueryString.get("hisInDesc"); var oldInsKeywords = cfg.baseQueryString.get("SrchInDesc"); cfg.baseQueryString.set("hisInDesc", (!String.isNullOrEmpty(hisInsKeywords) ? hisInsKeywords + ", " : "") + (!String.isNullOrEmpty(oldInsKeywords) ? oldInsKeywords : "") ); cfg.baseQueryString.set("SrchInDesc", v); var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { cfg.baseQueryString.set("LayoutView", layoutValue.value); }; var manufactory = cfg.Manufactory; if (manufactory && manufactory != "") { cfg.baseQueryString.set("Manufactory", manufactory); } var moduleID = cfg.ModuleID; var pageID = cfg.PageID; var baseOnItemNumber = cfg.BaseOnItemNumber; var baseOnSubCategoryID = cfg.BaseOnSubCategoryID; var baseOnKeyword = cfg.BaseOnKeyword; var displayedItems = cfg.DisplayedItems; var navigation = cfg.Navigation; if (moduleID) { cfg.baseQueryString.set("ModuleID", moduleID); } if (pageID) { cfg.baseQueryString.set("PageID", pageID); } if (baseOnItemNumber) { cfg.baseQueryString.set("BaseOnItemNumber", baseOnItemNumber); } if (baseOnSubCategoryID) { cfg.baseQueryString.set("BaseOnSubCategoryID", baseOnSubCategoryID); } if (baseOnKeyword) { cfg.baseQueryString.set("BaseOnKeyword", baseOnKeyword); } if (displayedItems) { cfg.baseQueryString.set("DisplayedItems", displayedItems); } if (navigation) { cfg.baseQueryString.set("navigation", navigation); } if (cfg.isDailyDeal) { cfg.baseQueryString.set("Page", null); if (cfg.name) { cfg.baseQueryString.set("name", cfg.name); } } else { cfg.baseQueryString.set("Page", 1); cfg.baseQueryString.set("PageSize", cfg.pagesize); } cfg.baseQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); Biz.ProductList.Common.redirect(); }; } }, initInput: function (n) { if ($(n)) { Biz.ProductList.Search.keywordTmp = $(n).value; $(n).value = ""; }; }, initInnerSearch: function () { jQuery(document).ready(function (e) { jQuery("#SrchInDesc_top").focus(function () { Biz.ProductList.Search.initInput('SrchInDesc_top'); }); jQuery("#SrchInDesc_top").keydown(function (event) { if (event.keyCode == 13) { Biz.ProductList.Search.innerSearching('SrchInDesc_top'); } }); jQuery("#btn_InnerSearch").click(function (n) { Biz.ProductList.Search.innerSearching('SrchInDesc_top'); }); }); } }; usingNamespace("Biz.ProductList")["NeweggSoldRadioUrl"] = { Detailed: { redirectUrl: function () { var cfg = Biz.ProductList.Config; var nValue = cfg.baseQueryString.get("N"); NEG.run(function (require) { var loading = require("Biz.Common.Loading2016"); loading.show(); if (nValue != null) { if (nValue == -1) { cfg.baseQueryString.set("N", "8000"); } if (nValue.length > 0 && !nValue.split(' ').contains("8000")) { cfg.baseQueryString.set("N", nValue.trim() + " " + "8000"); } } else { cfg.baseQueryString.set("N", "8000"); } if (cfg.isDailyDeal) { cfg.baseQueryString.set("page", null); if (cfg.name) { cfg.baseQueryString.set("name", cfg.name); } } else { cfg.baseQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); cfg.baseQueryString.set("page", "1"); } Biz.ProductList.Common.redirect(); }); }, redirectAllSeller: function () { var cfg = Biz.ProductList.Config; var nValue = cfg.baseQueryString.get("N"); if (nValue != null) { if (nValue.length > 0 && nValue.split(' ').contains("8000")) { NEG.run(function (require) { var loading = require("Biz.Common.Loading2016"); loading.show(); cfg.baseQueryString.set("N", nValue.replace(/\s*8000/i, '')); if (cfg.isDailyDeal) { cfg.baseQueryString.set("page", null); if (cfg.name) { cfg.baseQueryString.set("name", cfg.name); } } else { cfg.baseQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); cfg.baseQueryString.set("page", "1"); } Biz.ProductList.Common.redirect(); }); } } } }, initSoldBy: function () { jQuery(document).ready(function (e) { jQuery('.form-radiobox').click(function () { var $this = jQuery(this); var $radio = $this.children()[0]; if (true == !!$radio.checked) { return false; } else { if ("Newegg" == $this.text().trim()) { Biz.ProductList.NeweggSoldRadioUrl.Detailed.redirectUrl(); } else { Biz.ProductList.NeweggSoldRadioUrl.Detailed.redirectAllSeller(); } } return false; }); }); } }; usingNamespace("Biz.ProductList")["View"] = { Detailed: { changeOrder: function (idx, p, f, e) { var cfg = Biz.ProductList.Config; var tid = Biz.Store; var n = Web.StateManager.Cookies.Name.CFG; if (!idx) { idx = document.getElementById("Order_" + p).value; }; if (idx) { cfg.baseQueryString.set("Order", cfg.DetailedView.orderMapping[idx]); if (f) { if (tid && !String.isNullOrEmpty(n)) { if (tid.Subcategory) { Web.StateManager.Cookies.save(n, { "Tid": tid.Tid }); }; }; cfg.sortQueryString.set("Order", cfg.DetailedView.orderMapping[idx]); var qs = cfg.sortQueryString.toString(); qs = (qs.length > 0) ? ((cfg.subCategoryUrl && cfg.subCategoryUrl.indexOf("?") > -1) ? "&" : "?") + qs : ""; var qsArray = qs.split('&'); var s = ""; for (var i = 0; i < qsArray.length; i++) { if (qsArray[i].indexOf("Page=") > -1) { if (i != qsArray.length - 1) { s += "Page=1&"; } else { s += "page=1"; } } else { if (i != qsArray.length - 1) { s += qsArray[i] + "&"; } else { s += qsArray[i]; } } } Biz.ProductList.Common.redirect(cfg.subCategoryUrl + s); } else { var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { cfg.baseQueryString.set("LayoutView", layoutValue.value); }; var moduleID = cfg.ModuleID; var pageID = cfg.PageID; var baseOnItemNumber = cfg.BaseOnItemNumber; var baseOnSubCategoryID = cfg.BaseOnSubCategoryID; var baseOnKeyword = cfg.BaseOnKeyword; var displayedItems = cfg.DisplayedItems; var navigation = cfg.Navigation; if (moduleID) { cfg.baseQueryString.set("ModuleID", moduleID); } if (pageID) { cfg.baseQueryString.set("PageID", pageID); } if (baseOnItemNumber) { cfg.baseQueryString.set("BaseOnItemNumber", baseOnItemNumber); } if (baseOnSubCategoryID) { cfg.baseQueryString.set("BaseOnSubCategoryID", baseOnSubCategoryID); } if (baseOnKeyword) { cfg.baseQueryString.set("BaseOnKeyword", baseOnKeyword); } if (displayedItems) { cfg.baseQueryString.set("DisplayedItems", displayedItems); } if (navigation) { cfg.baseQueryString.set("navigation", navigation); } if (cfg.isDailyDeal) { if (cfg.name) { cfg.baseQueryString.set("name", cfg.name); } } else { cfg.baseQueryString.set("PageSize", cfg.pagesize); } cfg.baseQueryString.set("Page", null); Biz.ProductList.Common.redirect(); } }; }, changeOrder4SEO: function (idx, p, f, e, url) { var cfg = Biz.ProductList.Config; var tid = Biz.Store; var n = Web.StateManager.Cookies.Name.CFG; if (!idx) { idx = document.getElementById("Order_" + p).value; }; if (idx) { cfg.baseQueryString.set("Order", cfg.DetailedView.orderMapping[idx]); if (f) { if (tid && !String.isNullOrEmpty(n)) { if (tid.Subcategory) { Web.StateManager.Cookies.save(n, { "Tid": tid.Tid }); }; }; var order = cfg.DetailedView.orderMapping[idx]; cfg.sortQueryString.set("Order", order); var qs = cfg.sortQueryString.toString(); qs = (qs.length > 0) ? "?" + qs : ""; var qsArray = qs.split('&'); var s = ""; var rs = "?"; for (var i = 0; i < qsArray.length; i++) { var nv = qsArray[i].split("="); var oldformat = "{" + nv[0].trim().toUpperCase().replace("?", "") + "}"; var hasadd = false; if (url.indexOf(oldformat) > -1) { url = url.replace(oldformat, nv[1]); hasadd = true; } if (qsArray[i].indexOf("Page=") > -1) { if (i != qsArray.length - 1) { s += "Page=1&"; } else { s += "page=1"; } } else { if (i != qsArray.length - 1) { s += qsArray[i] + "&"; if (!hasadd) { rs += qsArray[i].replace("?", "") + "&"; } } else { s += qsArray[i]; if (!hasadd) { rs += qsArray[i].replace("?", ""); } } } } if (url) { url = url + rs; window.location.href = url; return; } Biz.ProductList.Common.redirect(cfg.subCategoryUrl + s); } else { var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { cfg.baseQueryString.set("LayoutView", layoutValue.value); }; var moduleID = cfg.ModuleID; var pageID = cfg.PageID; var baseOnItemNumber = cfg.BaseOnItemNumber; var baseOnSubCategoryID = cfg.BaseOnSubCategoryID; var baseOnKeyword = cfg.BaseOnKeyword; var displayedItems = cfg.DisplayedItems; var navigation = cfg.Navigation; if (moduleID) { cfg.baseQueryString.set("ModuleID", moduleID); } if (pageID) { cfg.baseQueryString.set("PageID", pageID); } if (baseOnItemNumber) { cfg.baseQueryString.set("BaseOnItemNumber", baseOnItemNumber); } if (baseOnSubCategoryID) { cfg.baseQueryString.set("BaseOnSubCategoryID", baseOnSubCategoryID); } if (baseOnKeyword) { cfg.baseQueryString.set("BaseOnKeyword", baseOnKeyword); } if (displayedItems) { cfg.baseQueryString.set("DisplayedItems", displayedItems); } if (navigation) { cfg.baseQueryString.set("navigation", navigation); } cfg.baseQueryString.set("Page", null); cfg.baseQueryString.set("PageSize", cfg.pagesize); Biz.ProductList.Common.redirect(); } }; } }, Summary: { changeOrder: function (sortBy, orderBy) { orderBy = (orderBy.length == 0) ? '0' : orderBy; var cfg = Biz.ProductList.Config; cfg.baseQueryString.set("SortBy", sortBy); cfg.baseQueryString.set("OrderBy", orderBy); Biz.ProductList.Common.redirect(); }, updateSettings: function () { var pagesize = Number.parse(Web.UI.Form.getValue("formSummaryFieldSettings", "F25")); if (pagesize < 10) { pagesize = 10; }; if (pagesize > 100) { pagesize = 100; }; var cfg = Biz.ProductList.Config; var pageCount = Math.floor(((cfg.itemCount - 1) / pagesize) + 1); if (cfg.pagesize != pagesize) { cfg.baseQueryString.set("Page", 1) }; cfg.baseQueryString.set("FieldChange", "Y"); cfg.baseQueryString.set("FieldChoose", Web.UI.Form.getValues("formSummaryFieldSettings", "Field")); Web.StateManager.Cookies.save(Web.StateManager.Cookies.Name.PRDLIST, { "FV": "1" }); Biz.ProductList.Common.redirect(); } }, change: function () { var cfg = Biz.ProductList.Config; cfg.baseQueryString.set("DisplayStyle", Web.UI.Form.getValue("formProductListSearch", "DisplayStyle")); Biz.ProductList.Common.redirect(); }, showCustomizeOptions: function (item) { if (item) { if ($(item).style.display == "none") { $(item).style.display = "block"; } else { $(item).style.display = "none"; } } } }; usingNamespace("Biz.ProductList")["Layout"] = { gridView: function () { var bpl = Biz.ProductList.Layout; bpl.applyClass($("bcaProductCell"), "productCells"); bpl.applyClass(bpl.classSelector("img", "gridOff", $("bodyCenterArea")), "gridOn"); bpl.applyClass(bpl.classSelector("img", "listOn", $("bodyCenterArea")), "listOff"); Biz.Page.Display.AutoWidthProductCellNewLayout(); //fix ie bugs for regular combo images var smallImgs = document.getElementsByName("smallImg"); if (smallImgs && smallImgs.length > 0) { for (var ind = 0; ind < smallImgs.length; ind++) { bpl.applyClass(smallImgs[ind], "imgThumb"); } } var ic = jQuery(".items-view .item-container").length; for (var j = 1; j <= ic; j++) { Web.UI.Control.setAttribute($('lineDescriptionID' + j), { "style.display": "none" }); Web.UI.Control.setAttribute($('titleDescriptionID' + j), { "style.display": "inline" }); } if (ic >= 3) { for (var i = 1; i <= ic; i++) { Web.UI.Control.setAttribute($('cellItem' + i), { "style.paddingTop": "0px" }); Web.UI.Control.setAttribute($('cellItem' + i), { "style.paddingBottom": "0px" }); Web.UI.Control.setAttribute($('cellItem' + i), { "style.paddingLeft": "5px" }); Web.UI.Control.setAttribute($('cellItem' + i), { "style.paddingRight": "5px" }); }; }; Web.StateManager.Cookies.save(Web.StateManager.Cookies.Name.PRDLIST, { "Layout": "g" }); var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { layoutValue.value = ""; }; var isProductList = Web.Config.Environment.WWWPage.IsProductList; if (isProductList) { var bodyClass = document.body.className; if (bodyClass.indexOf("productListPage list") > 0) { bodyClass = bodyClass.replace("productListPage list", "productListPage cells"); document.body.setAttribute("class", bodyClass); } } bpl.initHooklogicAds(); }, listView: function () { var bpl = Biz.ProductList.Layout; bpl.applyClass($("bcaProductCell"), "productList"); bpl.applyClass(bpl.classSelector("img", "listOff", $("bodyCenterArea")), "listOn"); bpl.applyClass(bpl.classSelector("img", "gridOn", $("bodyCenterArea")), "gridOff"); var smallImgs = document.getElementsByName("smallImg"); if (smallImgs && smallImgs.length > 0) { for (var ind = 0; ind < smallImgs.length; ind++) { bpl.applyClass(smallImgs[ind], "imgThumb"); } } var ic = jQuery(".items-view .item-container").length; for (var j = 1; j <= ic; j++) { Web.UI.Control.setAttribute($('titleDescriptionID' + j), { "style.display": "none" }); Web.UI.Control.setAttribute($('lineDescriptionID' + j), { "style.display": "inline" }); } if (ic >= 3) { for (var i = 1; i <= ic; i++) { Web.UI.Control.setAttribute($('cellItem' + i), { "style.padding": "0.5em 200px 0.5em 140px" }); }; }; Web.StateManager.Cookies.save(Web.StateManager.Cookies.Name.PRDLIST, { "Layout": "l" }); var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { layoutValue.value = ""; }; var isProductList = Web.Config.Environment.WWWPage.IsProductList; if (isProductList) { var bodyClass = document.body.className; if (bodyClass.indexOf("productListPage cells") > 0) { bodyClass = bodyClass.replace("productListPage cells", "productListPage list"); document.body.setAttribute("class", bodyClass); } } bpl.initHooklogicAds(); }, classSelector: function (strTagName, strClassName, objParentNode) { var arrElements = (strTagName == "*" && document.all) ? document.all : Object.isNull(objParentNode) ? document.getElementsByTagName(strTagName) : objParentNode.getElementsByTagName(strTagName); var arrReturnElements = new Array(); strClassName = strClassName.replace(/\-/g, "\\-"); var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"); var oElement; for (var i = 0; i < arrElements.length; i++) { oElement = arrElements[i]; if (oRegExp.test(oElement.className)) { arrReturnElements.push(oElement); }; }; return arrReturnElements; }, applyClass: function (a, c) { if (Object.getTypeName(a) != "Array") { a = [a]; }; for (var i = 0; i < a.length; i++) { Web.UI.Control.setAttribute(a[i], { "className": c }); }; }, initHooklogicAds: function () { var adsId = "hl_2_999_inner"; var ads = jQuery("#" + adsId).first(); if (ads && ads.length > 0) { ads.hide(); } if (!Biz.ProductList.Config.HooklogicAds.enable) { return; } var adsHtml = "
"; var featureItem = jQuery("#FeatureItemContainer").first(); var cells = jQuery("#bcaProductCell > .version600 > div:visible"); var featureItemCellCount = featureItem && featureItem.length > 0 ? 1 : 0; if (featureItemCellCount == 0 && cells && cells.length > 0) { if (jQuery(cells).first().hasClass("featuredProduct")) { featureItemCellCount = 1; } } var normaltemCount = cells.length - featureItemCellCount; var tagPreItemConfig = Biz.ProductList.Config.HooklogicAds.tagPosition - 1; var tagPreItem = normaltemCount < tagPreItemConfig ? normaltemCount : tagPreItemConfig; var adsIndex = tagPreItem - 1 + featureItemCellCount; if (adsIndex > 0) { var adsCell = cells[adsIndex]; if (adsCell) { if (ads && ads.length > 0) { jQuery(adsCell).after(ads); ads.show(); } else { jQuery(adsCell).after(adsHtml); } } } }, initLayout: function () { jQuery(document).ready(function () { jQuery("#view-type .btn-group-cell").click(function () { var $btn = jQuery(this).children()[0]; if ("ListView" == $btn.id) { Biz.ProductList.Layout.listView(); } else { Biz.ProductList.Layout.gridView(); } }); jQuery("#view-type .btn-group-cell").keydown(function () { var $btn = jQuery(this).children()[0]; if ("ListView" == $btn.id) { Biz.ProductList.Layout.listView(); } else { Biz.ProductList.Layout.gridView(); } }); }); } }; usingNamespace("Biz.ProductList")["Pagination"] = { setPageQS: function (p) { p = Number.parse(p); if (p > 0) { var cfg = Biz.ProductList.Config; p = (p > cfg.pageCount) ? cfg.pageCount : p; cfg.baseQueryString.set("Page", p); }; }, go: function (p) { p = Number.parse(p); if (p > 0) { Biz.ProductList.Pagination.setPageQS(p); Biz.ProductList.Common.redirect(); }; }, changePagesize: function (p, f, e, searchPanelVersio) { p = Number.parse(p); if (p > 0) { var cfg = Biz.ProductList.Config; var pageCount = Math.floor(((cfg.itemCount - 1) / p) + 1); var tid = Biz.Store; var n = Web.StateManager.Cookies.Name.CFG; if (e.id == "select_top") { var selectBottom = $("select_bottom"); if (selectBottom) { selectBottom.value = p; } } if (e.id == "select_bottom") { $("select_top").value = p; } if (f) { if (tid && !String.isNullOrEmpty(n)) { if (tid.Subcategory) { Web.StateManager.Cookies.save(n, { "Tid": tid.Tid }); } }; cfg.sortQueryString.set("PageSize", p); cfg.sortQueryString.set("Page", null); var qs = cfg.sortQueryString.toString(); qs = (qs.length > 0) ? ((cfg.subCategoryUrl && cfg.subCategoryUrl.indexOf("?") > -1) ? "&" : "?") + qs : ""; Biz.ProductList.Common.redirect(cfg.subCategoryUrl + qs); } else { cfg.baseQueryString.set("PageSize", p); cfg.baseQueryString.set("Page", null); var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { cfg.baseQueryString.set("LayoutView", layoutValue.value); }; var moduleID = cfg.ModuleID; var pageID = cfg.PageID; var baseOnItemNumber = cfg.BaseOnItemNumber; var baseOnSubCategoryID = cfg.BaseOnSubCategoryID; var baseOnKeyword = cfg.BaseOnKeyword; var displayedItems = cfg.DisplayedItems; //5920 var navigation = cfg.Navigation; if (moduleID) { cfg.baseQueryString.set("ModuleID", moduleID); } if (pageID) { cfg.baseQueryString.set("PageID", pageID); } if (baseOnItemNumber) { cfg.baseQueryString.set("BaseOnItemNumber", baseOnItemNumber); } if (baseOnSubCategoryID) { cfg.baseQueryString.set("BaseOnSubCategoryID", baseOnSubCategoryID); } if (baseOnKeyword) { cfg.baseQueryString.set("BaseOnKeyword", baseOnKeyword); } if (displayedItems) { cfg.baseQueryString.set("DisplayedItems", displayedItems); } //5920 if (navigation) { cfg.baseQueryString.set("navigation", navigation); } cfg.baseQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); Biz.ProductList.Common.redirect(); } }; }, changePagesize4SEO: function (p, f, e, url, searchPanelVersio) { p = Number.parse(p); if (p > 0) { var cfg = Biz.ProductList.Config; var pageCount = Math.floor(((cfg.itemCount - 1) / p) + 1); var tid = Biz.Store; var n = Web.StateManager.Cookies.Name.CFG; if (e.id == "select_top") { var selectBottom = $("select_bottom"); if (selectBottom) { selectBottom.value = p; } } if (e.id == "select_bottom") { $("select_top").value = p; } if (f) { if (tid && !String.isNullOrEmpty(n)) { if (tid.Subcategory) { Web.StateManager.Cookies.save(n, { "Tid": tid.Tid }); } }; cfg.sortQueryString.set("PageSize", p); cfg.sortQueryString.set("Page", null); url = decodeURIComponent(url); //for url rewrite if (url) { if (url.indexOf('?') > -1) { url = url + "&PageSize=" + p; } else { url = url + "?PageSize=" + p; } if (cfg.pageIdex == 1) { url = decodeURIComponent(url).replace(/\/(\w+?-?)?{PAGE}/ig, "") } else { if (cfg.pageIdex > pageCount && pageCount == 1) { url = decodeURIComponent(url).replace(/\/(\w+?-?)?{PAGE}/ig, "") } else { url = url.replace(/{Page}/ig, pageCount); } } window.location.href = url; return; }; if (cfg.pageIdex > pageCount) { cfg.sortQueryString.set("Page", pageCount); }; var qs = cfg.sortQueryString.toString(); qs = (qs.length > 0) ? "?" + qs : ""; Biz.ProductList.Common.redirect(cfg.subCategoryUrl + qs); } else { cfg.baseQueryString.set("PageSize", p); cfg.baseQueryString.set("Page", null); var layoutValue = document.getElementsByName("dailyDealLayout")[0]; if (layoutValue) { cfg.baseQueryString.set("LayoutView", layoutValue.value); }; var moduleID = cfg.ModuleID; var pageID = cfg.PageID; var baseOnItemNumber = cfg.BaseOnItemNumber; var baseOnSubCategoryID = cfg.BaseOnSubCategoryID; var baseOnKeyword = cfg.BaseOnKeyword; var displayedItems = cfg.DisplayedItems; //5920 var navigation = cfg.Navigation; if (moduleID) { cfg.baseQueryString.set("ModuleID", moduleID); } if (pageID) { cfg.baseQueryString.set("PageID", pageID); } if (baseOnItemNumber) { cfg.baseQueryString.set("BaseOnItemNumber", baseOnItemNumber); } if (baseOnSubCategoryID) { cfg.baseQueryString.set("BaseOnSubCategoryID", baseOnSubCategoryID); } if (baseOnKeyword) { cfg.baseQueryString.set("BaseOnKeyword", baseOnKeyword); } if (displayedItems) { cfg.baseQueryString.set("DisplayedItems", displayedItems); } //5920 if (navigation) { cfg.baseQueryString.set("navigation", navigation); } cfg.baseQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); Biz.ProductList.Common.redirect(); } }; }, setCMPQS: function (p, po) { p = Number.parse(p); if (p > 0) { Biz.ProductList.Pagination.setPageQS(p); var cfg = Biz.ProductList.Config; var ocmpItemList = Biz.ProductList.Common.getSelectedItems(); if (ocmpItemList.length > 0) { cfg.baseQueryString.set("CompareItemList", ocmpItemList.join(",")); } else { cfg.baseQueryString.set("CompareItemList", ""); }; var qs = cfg.baseQueryString.toString(); qs = (qs.length > 0) ? "?" + qs : ""; if (po) { Web.UI.Control.setAttribute(po, { "href": cfg.url + qs }); }; }; }, init: function () { jQuery(document).ready(function (e) { jQuery('.form-select').delegate('select', 'change', function () { var $self = jQuery(this); var newSelection = $self.children("option").filter(":selected").text(); $self.siblings(".form-select-name").text(newSelection); //$self.children("option").removeAttr('selected'); //$self.children("option").filter("[value=" + newSelection + "]").attr("selected", "selected"); }); }); }, loading: function () { NEG.run(function (require) { var loading = require("Biz.Common.Loading2016"); var tid = Biz.Store; var cfg = Web.StateManager.Cookies.Name.CFG; if (tid && !String.isNullOrEmpty(cfg)) { if (tid.Subcategory) { Web.StateManager.Cookies.save(cfg, { "Tid": tid.Tid }); }; }; loading.show(); }); }, changePagination: function (currentPage, pageCount) { jQuery('.btn-group#page_NavigationBar').find('.btn-group-cell').each(function () { var $self = jQuery(this); $self.click(function (e) { var tid = Biz.Store; var cfg = Biz.ProductList.Config; var $this = jQuery(this); var isEllipsis = false; var numButton = true; var fixBtn = $this.find('button'); var fixNum = fixBtn.text(); var isCurBtn = $this.find('.btn.is-current'); var curNum = isCurBtn.text(); var isArrow = false; if ($this.find('i').length > 0) { var name = $this.find('i').attr('class'); isArrow = true; // Prev bottom if (name == "fa fa-caret-left" && currentPage > 1) { numButton = false; if (cfg && cfg.subCategoryUrl == "") { Biz.ProductList.Pagination.go4ProductList(currentPage - 1); } else { Biz.ProductList.Pagination.go4SubCategory(currentPage - 1); } } // Next bottom if (name == "fa fa-caret-right" && currentPage < pageCount) { numButton = false; if (cfg && cfg.subCategoryUrl == "") { Biz.ProductList.Pagination.go4ProductList(currentPage + 1); } else { Biz.ProductList.Pagination.go4SubCategory(currentPage + 1); } } } if (fixNum.trim() == "..." || fixNum == curNum) { isEllipsis = true; } if (numButton && !isEllipsis && !isArrow) { if (cfg && cfg.subCategoryUrl == "") { Biz.ProductList.Pagination.go4ProductList(fixNum); } else { Biz.ProductList.Pagination.go4SubCategory(fixNum); } } }); }); }, go4ProductList: function (pageNumber) { var cfg = Biz.ProductList.Config; var num = Number.parse(pageNumber); if (num > 0) { num = (num > cfg.pageCount) ? cfg.pageCount : num; cfg.baseQueryString.set("Page", num); cfg.baseQueryString.set("PageSize", cfg.pagesize); cfg.baseQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); Biz.ProductList.Pagination.loading(); Biz.ProductList.Common.redirect(); } }, go4SubCategory: function (pageNumber) { var tid = Biz.Store; var cfg = Biz.ProductList.Config; var num = Number.parse(pageNumber); cfg.sortQueryString.set("Page", num); cfg.sortQueryString.set("PageSize", cfg.pagesize); cfg.sortQueryString.set("order", cfg.DetailedView.orderMapping[cfg.order]); var qs = cfg.sortQueryString.toString(); qs = (qs.length > 0) ? ((cfg.subCategoryUrl && cfg.subCategoryUrl.indexOf("?") > -1) ? "&" : "?") + qs : ""; var cookieCfg = Web.StateManager.Cookies.Name.CFG; if (tid && !String.isNullOrEmpty(cookieCfg)) { if (tid.Subcategory) { Web.StateManager.Cookies.save(cookieCfg, { "Tid": tid.Tid }); } } Biz.ProductList.Pagination.loading(); Biz.ProductList.Common.redirect(cfg.subCategoryUrl + qs); } }; usingNamespace("Biz.ProductList")["SearchFilter"] = { initSearchFilter: function () { jQuery(document).ready(function () { NEG.run(function (require) { var loading = require("Biz.Common.Loading2016"); jQuery(".filter-choice").click(function () { var $removeLink = jQuery(this).attr('removeLink'); if ($removeLink) { loading.show(); Biz.ProductList.Common.redirect($removeLink); } }); jQuery("#btn_reset_filter").click(function () { var $resetLink = jQuery(this).attr('resetLink'); if ($resetLink) { loading.show(); Biz.ProductList.Common.redirect($resetLink); } }); }); }); } }; //js from product.js usingNamespace("Biz.ProductList")["Item"] = { add: function (link) { if (Biz.ProductList.video.getCookie() == "1") { setTimeout(function () { window.location.href = link; }, 200); } else { window.location.href = link; } }, init: function () { NEG.run(function (require) { var popup = require('Biz.Common.Popup'); if (jQuery('.cellphoneFreeShipping-popup').length > 0) { popup('.cellphoneFreeShipping-popup', { icon: "warning", header: true }); } if (jQuery('.cellphoneSecure-popup').length > 0) { popup('.cellphoneSecure-popup', { icon: "info" }); } if (jQuery('.combo-map-popup').length > 0) { popup('.combo-map-popup', { icon: "info" }); } }); } }; //js from product.js usingNamespace("Biz.ProductList")["video"] = { getCookie: function () { var wsc = Web.StateManager.Cookies; var strData = wsc.get(wsc.Name.DEVICEINFO, "InvodoVideoFlag"); return strData; } }; NEG.Module("Biz.ProductList.PersonalizationZeroSearchResultPage", function (require) { var jQuery = require("NEG.ThirdParty.JQuery"); var storage = require('Biz.Storage'); var resourceMananger = require("Biz.UI.ResourceManager"); function personalization(filterItem, desc, zeroSearchResultPageID, isPreview) { var viewedItem = storage.getItem("ItemViewed", new Array()); var shoppingCartItem = Biz.Common.ShoppingItem.extractFromOrderInfo(); var wishlistItem = Web.StateManager.Cookies.get("NV_WISHLIST"); var orderedItem = Web.StateManager.Cookies.get(Web.StateManager.Cookies.Name.PRDLIST, "ItemOrdered"); var searchKeyword = storage.getItem("ItemSearchKeywords", ""); var subCookie = function (source, maxlength, delimiter) { var result = source; if (source) { var sourceArray = source.split(delimiter); if (sourceArray.length > maxlength) { result = sourceArray.slice(0, maxlength).join(delimiter); } } return result; }; var getParameters = function () { var viewedItems = viewedItem.join("#"); var shoppingCartItems = subCookie(shoppingCartItem, 20, "&"); var wishlistItems = subCookie(wishlistItem, 20, "&"); var orderedItems = subCookie(orderedItem, 10, ","); var searchKeywords = ""; if (searchKeyword) { var keyValue = searchKeyword.split("|"); if (keyValue.length >= 2) { searchKeywords = keyValue[1]; } } return "v=" + escape(viewedItems) + "&s=" + escape(shoppingCartItems) + "&w=" + escape(wishlistItems) + "&o=" + escape(orderedItems) + "&k=" + escape(searchKeywords); }; var getAjaxParameters = function () { return "zeroSearchResultPageID=" + zeroSearchResultPageID + "&Description=" + desc + "&q=" + filterItem + "&ispreview=" + isPreview + "&NewPers=2016" + "&" + getParameters(); }; return { getData: function () { var script = document.getElementById("personalizationAjaxJs"); if (script && script != null) { document.getElementsByTagName('head')[0].removeChild(script); } script = document.createElement("script"); script.type = "text/javascript"; script.id = 'personalizationAjaxJS'; script.src = resourceMananger.Url.www("Common/Ajax/PersonalizationZeroSearchResultPage2016.aspx") + "?" + getAjaxParameters(); document.getElementsByTagName('head')[0].appendChild(script); }, renderData: function (pData) { if (pData.length > 0) { var modules = pData.split("|||###|||"); if (modules != null && modules.length > 1) { jQuery("#ProductListPersonalization1 .loader").remove(); if (modules[0] == "" && modules[1] == "") { return; } for (var i = 0; i < modules.length; i++) { jQuery("#ProductListPersonalization" + (i + 1)).append(modules[i]); } }; var perModules = jQuery("a[href*='Product/ProductList.aspx?Submit=Pers']"); jQuery.each(perModules, function (index, value) { value.href += "&" + getParameters(); }); } else { jQuery("#ProductListPersonalization1 .loader").remove(); } Biz.Common.Swiper.init("#ProductListPersonalization1"); Biz.Common.Swiper.init("#ProductListPersonalization2"); } }; }; return personalization; }); NEG.Module("Biz.Product.Compare", function (require) { var storage = require("Biz.Storage"); var $ = require("NEG.ThirdParty.JQuery"); var name = "Compare"; var compare = function (options) { var me = arguments.callee; if (!(this instanceof me)) { return new me(options); } options = NEG.merge({ 'inputSelector': '.item-compare-box input', 'compareGroup': '.item-compare-list', 'maxSelected': 5, 'storeID': -1, 'goCompare': null, 'compare': ".popover-body #gocompare", 'reset': ".popover-body #compatereset", 'isMasterCombo': false, 'popup': '#compareListPopup', 'popbutton': '.item-compare-box .form-checkbox', "removebutton": "#compareListPopup .item-compare-remove", "container": ".item-compare-box" }, options); var init = function () { //for dailydeal page lazyload $(options.inputSelector).unbind("click"); $(options.goCompareSelector).unbind("click"); $(options.selectAndCompare).unbind("click"); $(options.container).unbind("mouseenter"); $(options.container).unbind("mouseleave"); $(options.compare).unbind("click"); $(options.reset).unbind("click"); $(options.inputSelector).on("click", selectItem); $(options.goCompareSelector).on("click", goCompare); $(options.selectAndCompare).on("click", selectAndCompare); $(options.container).on("mouseenter", showPopup); $(options.container).on("mouseleave", delayHidePopUp); $(options.compare).on("click", goCompare); $(options.reset).on("click", reset); rebuildItemHtml(); }; var utility = { normalizeCompareString: function (str) { return str.replace(/combo./g, ""); }, buildCompareString: function (compareData) { var compareString = compareData.storeID + "|"; var itemString = ''; for (var i = 0; i < compareData.itemList.length - 1; i++) { itemString += compareData.itemList[i] + "^" + compareData.itemList[i] + ","; } itemString += compareData.itemList[compareData.itemList.length - 1] + "^" + compareData.itemList[compareData.itemList.length - 1]; return this.normalizeCompareString(compareString + itemString); } }; var timerhandler; var showPopup = function () { clearTimeout(timerhandler); var compareData = storage.getItem(name, {}); if (options.isMasterCombo !== compareData.isMasterCombo || !compareData.itemList || compareData.itemList.length < 1) { return; } if (!compareData.descriptionList || compareData.descriptionList.length < 1) { var compareData = storage.getItem(name, {}); compareData.storeID = options.storeID; compareData.isMasterCombo = options.isMasterCombo; compareData.itemList = []; compareData.imageList = []; compareData.descriptionList = []; storage.setItem(name, compareData); return; } rebuildItemHtml(); var popup = $(options.popup); if ($(this).offset().left <= popup.innerWidth()) { popup.removeClass('left').addClass('right'); } else { popup.removeClass('right').addClass('left'); } $(this).append(popup); popup.css("top", "-" + (popup.height() / 2 - 10) + "px"); popup.show(); }; var hidePopup = function () { clearTimeout(timerhandler); var popup = $(options.popup); popup.appendTo($(document.body)); popup.hide(); }; var delayHidePopUp = function () { timerhandler = setTimeout(hidePopup, 200); }; var goCompare = function () { var compareData = storage.getItem(name, null); if (!compareData.itemList || compareData.itemList.length < 2) { alert(Web.Lang.selectMore); return; } if (options.goCompare) { options.goCompare.call(api); } }; var getItemByIndex = function (index) { var compareData = storage.getItem(name, null); if (!compareData || !compareData.itemList) { return null; } var itemNumber = compareData.itemList[index]; return itemNumber; }; var rebuildItemHtml = function () { var compareData = storage.getItem(name, {}); if (options.isMasterCombo !== compareData.isMasterCombo) { return; } $(options.popup + " .items-compare").remove(); var items = Biz.Product.CompareConfig.compareItems; for (var i = 0; i < items.length; i++) { $('input[neg-itemNumber=' + items[i] + ']').prop('checked', false); } if (compareData && compareData.itemList && compareData.itemList.length > 0) { for (var i = 0; i < compareData.itemList.length; i++) { var itemNumber = compareData.itemList[i]; addItemHtml(i); $('input[neg-itemNumber=' + itemNumber + ']').prop('checked', true); } } var popup = $(options.popup); popup.css("top", "-" + (popup.height() / 2 - 10) + "px"); //for dailydeal page lazyload $(options.removebutton).unbind("click"); $(options.removebutton).on("click", deleteItem); }; var selectItem = function () { var itemNumber = $(this).attr('neg-itemNumber'); (this && this.checked) ? addItem(this, itemNumber) : removeItem(itemNumber); }; var selectAndCompare = function () { var compareData = storage.getItem(name, {}); var itemNumber = $(this).attr('neg-itemNumber'); if (compareData && compareData.itemList && compareData.itemList.length > 0 && $.inArray(itemNumber, compareData.itemList) > -1) { goCompare(); return; } addItem($('input[neg-itemNumber=' + itemNumber + ']')[0], itemNumber); goCompare(); return; }; var deleteItem = function () { var index = $(this).attr('neg-index'); var itemNumber = getItemByIndex(index); if (itemNumber) { removeItem(itemNumber); } $('input[neg-itemNumber=' + itemNumber + ']').prop('checked', false); }; var removeItem = function (itemNumber) { removeItemStorage(itemNumber); rebuildItemHtml(); var compareData = storage.getItem(name, {}); if (!compareData || !compareData.itemList || compareData.itemList.length < 1) { hidePopup(); } }; var removeItemStorage = function (itemNumber) { var compareData = storage.getItem(name, null); if (!compareData || !compareData.itemList) { return; } var index = $.inArray(itemNumber, compareData.itemList); if (index === -1) { return; } /*save localStorage*/ if (!compareData.itemList) { return; } compareData.itemList = $.grep(compareData.itemList, function (n) { return n !== itemNumber; }); compareData.imageList = $.grep(compareData.imageList, function (v, n) { return n !== index; }); try { compareData.descriptionList = $.grep(compareData.descriptionList, function (v, n) { return n !== index; }); } catch (e) { } storage.setItem(name, compareData); }; var reset = function () { var compareData = storage.getItem(name, {}); compareData.storeID = options.storeID; compareData.isMasterCombo = options.isMasterCombo; compareData.itemList = []; compareData.imageList = []; compareData.descriptionList = []; storage.setItem(name, compareData); rebuildItemHtml(); hidePopup(); }; var addItem = function (input, itemNumber) { var compareData = storage.getItem(name, {}); if (options.isMasterCombo !== compareData.isMasterCombo) { compareData = {}; storage.setItem(name, compareData); } if (compareData.itemList && compareData.itemList.length > options.maxSelected - 1) { if (input) { $(input).attr("checked", false); } alert(Web.Lang.selectMaxItems); return; } if ($.inArray(itemNumber, compareData.itemList) > -1) { return; } var index = (compareData.itemList = (compareData.itemList || [])).push(itemNumber) - 1; var thumbs = Biz.Product.CompareConfig.Thumbs; var imageUrl; if (thumbs.length > 0) { var currentThumb = null; $.each(thumbs, function (i, element) { if (element.itemNumber == itemNumber) { currentThumb = element; } }); if (currentThumb != null) { imageUrl = currentThumb.imageUrl; } } var description = $(input).parents(options.container).parents("div.item-info").find(".item-title").text().trim(); compareData.storeID = options.storeID; compareData.isMasterCombo = options.isMasterCombo; (compareData.imageList = (compareData.imageList || [])).push(imageUrl); (compareData.descriptionList = (compareData.descriptionList || [])).push(description); storage.setItem(name, compareData); addItemHtml(index); rebuildItemHtml(); clearTimeout(timerhandler); var popup = $(options.popup); $(input).parents(options.container).append(popup); if ($(input).parents(options.container).offset().left <= popup.innerWidth()) { popup.removeClass('left').addClass('right'); } else { popup.removeClass('right').addClass('left'); } popup.css("top", "-" + (popup.height() / 2 - 10) + "px"); popup.show(); $(input).attr("checked", true); }; var htmlTemplate = '