$(function () { //Mobile search $("#btnSearchMobile").click(function () { var keyWord = $("#keyWordMobile").val(); if (keyWord == undefined) { keyWord = ""; } location.href = "/Search_EN.aspx?keyword=" + keyWord; }); //Increase paging url $("a[data-page-number]").each(function () { var nm = $(this).attr("data-page-number"); var url = getUrl("page", nm); if (url.indexOf("#price")<0) { url += "#price"; } $(this).attr("href", url); }); $(".Fil_l").on("click", "li", function () { var data = $(this).data(); if ($(this).hasClass("Sel_h")) { $(this).removeClass("Sel_h"); window.location.href = removeUrlSearch("page", removeUrl(data.key)); } else { $(this).addClass("Sel_h"); window.location.href = removeUrlSearch("page", getUrl(data.key, data.name)); } }); $(".Sel_O").click(function (event) { var $target = $(event.target); if ($target.get(0).tagName == "LI" || $target.get(0).tagName == "A") { var $conditionElement = $(this).parent(); var condition = new Conditions($conditionElement, $target); condition.singSearch($conditionElement, $target); } else if ($target.get(0).tagName == "IMG") { var $conditionElement = $(this).parent().parent(); var condition = new Conditions($conditionElement, $target); condition.singSearch($conditionElement, $target); } }); displaySearchConditions(); $(".Sel_Y").on("click", "b[data-key]", function () { var $target = $(this); $target.parent().remove(); window.location.href = removeUrl($target.attr("data-key")); }); $("a[data-field='column']").click(function () { $("a[data-field='column']").removeClass("current"); $(this).addClass("current"); }) }) //Function: Get url address function getUrl(name, value) { var search = window.location.search; value = escape(value); var url = ""; if (getQry("cbn")!=null) { url = window.location.href; } else { url = $("#Scheme").val() + "://" + window.location.host + "/SupplierPriceList_EN.aspx?cbn=" + $("#cbnumber").val(); } if (search) { var searchs = search.replace(/\?/g, "").split("&"); var repeater = false; for (var i = 0; i < searchs.length; i++) { if (searchs[i].indexOf(name + "=") == 0) { searchs[i] = name + "=" + value; repeater = true; break; } } if (!repeater) { searchs.push(name + "=" + value); } return url.replace(search, "?"+ searchs.join("&")); } else { if (url.indexOf("?")<0) { return url + "&" + name + "=" + value; } else { return url + "&" + name + "=" + value; } } }; //Function: delete url address function removeUrlSearch(name, url) { var patter = "&" + name + "=[^&#]+"; return url.replace(new RegExp(patter), ""); }; function removeUrl(name, url) { var search = window.location.search; if (search) { var searchs = search.replace(/\?/g, "").split("&"); var index = -1; for (var i = 0; i < searchs.length; i++) { if (searchs[i].indexOf(name + "=") == 0) { index = i; break; } } if (index > -1) { searchs.splice(index, 1); } if (searchs.length > 0) { return window.location.href.replace(search, "?" + searchs.join("&")); } else { return window.location.href.replace(search, ""); } } } function displaySearchConditions() { var parameters = getSearchParameters(); if (parameters.length == 0) { $(".Sel_Y").hide(); } else { var simepleQuery = ""; for (var i = 0; i < parameters.length; i++) { var parameter = parameters[i]; $(".Sel_Y ul").append("
  • " + parameter.name + "
  • "); //综合搜索 $("li[data-key='" + parameter.key + "']").each(function () { var text = $(this).text(); var name = $(this).attr("data-name").toLocaleLowerCase(); if (name == parameter.name.toLocaleLowerCase()) { $(this).toggleClass("Sel_h"); return false; } }) } } } //Function: Get the query parameter value function getSearchParameters() { var search = window.location.search; var parameters = []; if (search) { var searchs = search.replace(/\?/g, "").split("&"); //Letters or letters + numbers are dynamic query conditions, two letters are fixed queries for (var i = 0; i < searchs.length; i++) { var parameter = searchs[i].split("="); var key = parameter[0]; var name = unescape(parameter[1]).replace("<", "").replace(">", "").replace("script", "").replace(/\|/g, "、"); switch (key) { case "ec": switch (name) { case "1": name = "Manufacturer"; break; } break; case "st": name = "In sptock"; break; case "hp": name = "Price"; break; default: name = name.replace("<", "").replace(">", "").replace("script", "").replace(/\|/g, "、"); break; } var patter = /^(?:cbn|kwd|page)$/i; if (!patter.test(key)) { parameters.push({ key: key, name: name }); } } } return parameters; } function Conditions(containerElement, targetElement) { var _containerElement = containerElement; var _targetElement = targetElement; this.singSearch = function () { if (_containerElement.hasClass("Sel_multiple")) { targetElement.toggleClass("Sel_h"); //Activate OK button var selectedLength = _containerElement.find(".Sel_h").length; var $save = _containerElement.find(":button[data-operator='save']"); if (selectedLength > 0) { $save.prop("disabled", false); } else { $save.prop("disabled", true); } } else { var data = targetElement.data(); var redirectUrl = getUrl(data.key, data.name); if (redirectUrl.indexOf("#price") < 0) { redirectUrl = redirectUrl + "#price"; } window.location.href = removeUrlSearch("page", redirectUrl); } }; } function getSearchKeyWord() { var search = window.location.search; if (search) { var reg = new RegExp(/kwd=([^&]+)/); var matchs = reg.exec(search); if (matchs != null && matchs.length >= 2) { return decodeURIComponent(matchs[1]).replace("<", "").replace(">", "").replace("script", "").replace("'", "").replace("\"", ""); } } return ""; }; function getQry(name) {//Get page pass parameters var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return (r[2]); return null; }