var api = "https://api-s-2.playerauctions.com/"; var pastatic = "/Static"; var gameMenuAPI = "https://api-s-1.playerauctions.com/content/"; var currencyType = "USD"; //默认 var NickName = ""; var memberClass = 0; //pa 全局变量 var CookiePrefix = "Production"; var memberAPI = "https://api-s-1.playerauctions.com/member/"; var memberInfo = ""; var token = $.cookie(CookiePrefix + "_access_token") || ""; var currentUrl = window.location.href; var mpa = "https://account.playerauctions.com/"; // var mpa2 = ''; var pa = "https://me.playerauctions.com/"; var rootPath = ""; var storePath = "https://store.playerauctions.com/"; var baseUrl = "https://www.playerauctions.com/"; var shopurl = "https://user.playerauctions.com/"; var startTradingBtn = mpa + "login.html?returnUrl=" + currentUrl; var isAccountSuspended = null; var OLPLoading = false; //主页特性方法 var rolutionRole = { seller: function () { $("#marketplace-hook").hide(); }, buyer: function () { $("#left-register-btn").addClass("btn-disabled").attr({ disabled: "disabled", href: "javascript:void(0);" }); $("#right-register-btn").attr("href", pa + "member/sellersetting/"); } }; var Layer = function (id, layer) { this.container = _$(id); this.layer = _$(layer); this.bindEvent(); }; Layer.prototype = { on: function (ele, type, fn) { ele.addEventListener ? ele.addEventListener(type, fn, false) : ele.attachEvent("on", type, fn); return this; }, bindEvent: function () { var _this = this; function hideLayer() { _this.layer.className = "nodetreeUserInfo"; $(".header-item .icon-arrowon--dropdown").removeClass("up"); } function showLayer() { _this.layer.className = "nodetreeUserInfo show"; $(".header-item .icon-arrowon--dropdown").addClass("up"); } _this .on(_this.container, "mouseenter", function () { throttle(true, hideLayer); throttle(showLayer, { time: 100 }); }) .on(_this.container, "mouseleave", function () { throttle(hideLayer); throttle(true, showLayer); }); } }; var extend = function (target, source) { for (var property in source) { target[property] = source[property]; } return target; }; var throttle = function () { var isClear = arguments[0], fn; if (typeof isClear === "boolean") { fn = arguments[1]; fn.__throttleID && clearTimeout(fn.__throttleID); } else { fn = isClear; param = arguments[1]; var p = extend( { context: null, args: [], time: 200 }, param ); arguments.callee(true, fn); fn.__throttleID = setTimeout(function () { fn.apply(p.context, p.args); }, p.time); } }; function accountPanelInit(memberInfo) { $("#accountPanel").empty(); //清空上一次的结果 $("#nodetreeUserInfo_mobile").empty(); //清空上一次的结果 var accountUrl = RootPath + "/account"; var topPanel = $("#accountPanel"); var nodeTree_tpl = $("#nodetreeUserInfo"); var topTpl = 'LOG IN' + 'SIGN UP' + '
' + '
' + '
"; var nodetreeUserInfo = '
' + '
Dashboard' + 'Orders - Buy ' + 'Messages ' + // '//im-sandbox.playerauctions.com/' + // '" target="_blank" class="userMsg" id="userMsg" target="_blank">Instant Messages' + 'Account Settings' + '
' + '' + 'Logout
'; topPanel.append(topTpl); if ($(window).width() < 768) { $(".loginedWrapper").append(nodetreeUserInfo); $("#accountPanel").on("click", function () { $("#nodetreeUserInfo").toggleClass("show"); }); } else { $(".loginedWrapper").append(nodetreeUserInfo); $("#accountPanel").on("click", function () { $("#nodetreeUserInfo").toggleClass("show"); }); initLayer(); } } function toggleMenu() { var $accountlist = $("#userInfo .account-menu"); $("#userInfo").hover( function () { $accountlist.show(); }, function () { $accountlist.hide(); } ); } function setItems(name, obj) { localStorage.setItem(name, JSON.stringify(obj)); } function getItems(name) { return JSON.parse(localStorage.getItem(name)); } function OrderActionCount() { //加载数据 loadData(); function loadData() { var items = getItems("items"); if (!items) { //判断是否第一次加载页面 loadAJax(); } //如果超过30秒,重新请求连接 else if (new Date(new Date().getTime() - items.time).getSeconds() >= 30) { loadAJax(); } else { //刷新时调用 setActionAddress(); } } //请求连接 function loadAJax() { if (token != "") { $.ajax({ url: memberAPI + "member/Messages", headers: { Authorization: "bearer " + token || "" }, type: "GET", dataType: "json", success: function (data) { var obj = { AvailableBalance: data.AvailableBalance ? data.AvailableBalance.toFixed(2) : "0.00", Pending: data.PendingCount, Message: data.MessageCount, WishList: data.WishListCount, PendingPaymentCount: data.PendingPaymentCount, PendingDelivCount: data.PendingDelivCount, time: new Date().getTime() }; setItems("items", obj); setActionAddress(); }, error: function (reason) { setItems("items", ""); } }); } } //设置动作地址 function setActionAddress() { var items = getItems("items"); if (!items.Message && !items.PendingPaymentCount && !items.PendingDelivCount) { $(".i-circle-solid>span").text("no pending notification"); $("#msgLive").text("no pending notification"); $(".i-circle-solid").hide(); } if (items.Message >= 0) { $("#userMsg span>span").text("(" + items.Message + ")"); $("#top-notification>span").text(items.Message); } if (items.Pending >= 0) { $("#top-msg>span").text(items.Pending); } if (items.PendingPaymentCount >= 0) { $("#orderMsg span>span").text("(" + items.PendingPaymentCount + ")"); } if (items.PendingDelivCount >= 0) { $("#orderMsgSell span>span").text("(" + items.PendingDelivCount + ")"); } if (Number(items.Message + items.Pending) > 0) { $("#msgDot span").text("Pending notifications"); $("#msgLive").text("Pending notifications"); } else { $("#msgDot span").text("No notifications"); } var availableBalance = "$" + items.AvailableBalance; jQuery("#aMyBalance").text(availableBalance); $("#messages span").text(items.Message || 0); } //设置30秒执行 setInterval(loadData, 30000); } function getMember() { var _html = ""; accountPanelInit(); var _OLPLoading = OLPLoading; if (token != "") { $.ajax({ type: "GET", url: memberAPI + "member/Get", headers: { Authorization: "bearer " + token || "" }, dataType: "json", success: function (data) { // Account suspend status, 1=normal, -1=suspend, 0=no email isAccountSuspended = data.Status; // On New Olp only, the loadOfferInfo function will be declared and called here. if (typeof loadOfferInfo === "function") { loadOfferInfo(); } if (!_OLPLoading) { $(".offer-search-reset").eq(0).addClass("loaded").html("Reset"); $(".offer-search-count").show(); } $(".btn-sigin").hide(); $(".btn-login").hide(); $(".icon-account").hide(); $("#logined").show(); $("#btn--start").html("ALL GAMES"); startTradingBtn = baseUrl + "game-index"; setMember(data); // Enable OLP buttons after memberInfo is set. $(".btn-buy-now").prop("disabled", false); typeof loginCtrl == "function" && loginCtrl(data); $(".toploading").removeClass("toploading"); $("#tapCapture").addClass("logedinClass"); }, error: function (reason) { startTradingBtn = mpa + "login.html?returnUrl=" + currentUrl; $("#logined").hide(); $(".btn-sigin").removeClass("hide"); $(".btn-login").removeClass("hide"); $(".icon-account").addClass("show"); // $('#accountBtn>a').html('error') // typeof loginCtrl == "function" && loginCtrl(reason); $(".toploading").removeClass("toploading"); }, complete: function (data) { // $('#accountPanel a').removeClass('show'); // typeof loginCtrl == "function" && loginCtrl(data); } }); } else { $(".btn-buy-now").prop("disabled", false); $(".icon-account").addClass("show"); $(".btn-sigin").removeClass("hide"); $(".btn-login").removeClass("hide"); $(".toploading").removeClass("toploading"); if (!_OLPLoading) { $(".offer-search-reset").eq(0).addClass("loaded").html("Reset"); $(".offer-search-count").show(); } } } function judgeRole(memberClassNo) { var _memberClassNo = parseInt(memberClassNo); var ret = ""; switch (_memberClassNo) { case 0: ret = "NotVerified"; break; case 1: ret = "Verified"; break; case 2: ret = "Buyer"; break; case 3: ret = "Seller"; break; case 4: ret = "ExpericedSeller"; break; case 5: ret = "VerifiedSeller"; break; case 6: ret = "PowerSeller"; break; default: ret = ""; break; } return ret; } function setMember(member) { memberInfo = member.MemberClass.MemberClassNo; memberClass = parseInt(memberInfo); $("#logined").show(); $("#accountBtn .accountBtnUsername").html(member.NickName); $(".block-sub-banner h3.username").html(member.NickName); if (member.MemberLogo) { $(".personal-avatar").attr("src", member.MemberLogo); } setItems("NickName", member.NickName); memberInfo >= 0 && setLoginerBtnStatus(); } function setLoginerBtnStatus() { var role = (memberInfo >= 3 && "seller") || "buyer"; if (role === "buyer") { $(".seller_desktop").hide(); $(".seller_mobile").hide(); } rolutionRole[role](); } function resetTabs() { $("#myTabContent").hide(); $("#myTab li").removeClass("active"); $(".nav-tabs").css("border-bottom", "0px"); $("#myTab > li:first-child a").css("border-right", "1px solid #2E333C"); } function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } var url = window.location.search ? "&" : "?"; function queryConfig(filters) { var _str = ""; var Pager = filters.Pager; var FilterParams = filters.FilterParams; for (var o in FilterParams) { if (FilterParams[o]) { _str += o + "=" + FilterParams[o] + "&"; } } for (var o in Pager) { if (Pager[o] != -1 && Pager[o]) { _str += o + "=" + Pager[o] + "&"; } } var _str = _str.substring(0, _str.length - 1); return "?" + _str; } function myGetQueryString(name, ignore) { var ignoreParams = (ignore && "i") || ""; var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", ignoreParams); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } //手风琴效果 $("#accordion li:first").css("border-top", "2px solid rgba(66, 70, 78, 0.28)"); var Accordion = function (el, multiple) { this.el = el || {}; this.multiple = multiple || false; var links = this.el.find(".link"); links.on("click", { el: this.el, multiple: this.multiple }, this.dropdown); }; Accordion.prototype.dropdown = function (e) { var $el = e.data.el; ($this = $(this)), ($next = $this.next()); $next.slideToggle(); $this.parent().toggleClass("open"); if (!e.data.multiple) { $el.find(".submenu").not($next).slideUp().parent().removeClass("open"); } }; new Accordion($(".accordion"), false); function pending() { if (memberInfo >= 3) { window.location = pa + "member/sellorder/?type=2"; } else { window.location = pa + "member/myorder/"; } } function setfooterdropbox(cb) { //设置底部弹出盒子(语言框和货币类型框) $(".dropbox-btn").on("click", function (e) { var oParent = $(this).parent(); oParent.toggleClass("active"); var showDropBox = oParent.hasClass("active"); var oDropbox = oParent.find(".dropbox"); oDropbox[showDropBox ? "fadeIn" : "fadeOut"](); e.preventDefault(); e.stopPropagation(); e.cancelBubble = true; typeof cb == "function" && cb.call(this, e); }); var docClick = document.onclick || function () {}; $(document).on("click", function (e) { docClick(e); $(".dropbox-wrapper").removeClass("active").find(".dropbox").fadeOut(); }); } function setSelectBox(type, cb) { type = (type && "." + type) || ""; //设置选中盒子 $(type + ".select-hook").on("click", function (e) { if (type == ".currency-select-hook") { var cType = $(this).find("span").html() || "$"; $.cookie("currencyType", cType == "¥" ? "CNY" : "USD"); } var currencyType = $.cookie("currencyType") || "USD"; var oParent = $(this).parentsUntil(".select-box").parent(); var oTar = oParent.find(".select-target-box"); oTar.html($(this).html()); //oTar.html(currencyType=="CNY"?"¥":"$"); typeof cb == "function" && cb.call(this, e); $(this).parentsUntil(".dropbox-wrapper").parent().removeClass("active").find(".dropbox").fadeOut(); e.preventDefault(); e.stopPropagation(); e.cancelBubble = true; }); } function setHeaderNav() { $("#gameMenuOuter").on("click", ".header-nav-item", function () { var oTarSrc = $(this).find("a").attr("href"); oTarSrc && (window.location.href = oTarSrc); }); } function getMaxFromArray(array) { array = (array instanceof Array && array) || []; return array.sort(function (a, b) { return b - a; })[0]; } function setEqual(wrapId, styleItem, boxClass) { if (!wrapId) return null; boxClass = boxClass || ".equalbox"; var styleSizeArr = []; var equalBoxs = $(wrapId).find(boxClass); $.each(equalBoxs, function (index, item) { styleSizeArr[styleSizeArr.length] = parseFloat($(item).css(styleItem)); }); equalBoxs.css(styleItem, getMaxFromArray(styleSizeArr) + "px"); } function addHoverCorner(selector, targetSelector) { if (!selector || $(selector).length <= 0) return false; var oHover = $(selector); oHover.on("mouseenter", targetSelector, function (e) { var oTar = $(this); oTar.addClass("has-corner-hover"); if (!oTar.find(".corner-bg").length) { oTar.append(''); } }); } function toLower(str) { return ("" + str).toLowerCase(); } function addFocusEffets() { $("input[type='text']") .on("focus", function () { $(this).parent(".filter-group").addClass("act"); }) .on("blur", function () { $(this).parent(".filter-group").removeClass("act"); }); } function parseSearch(mySearch) { var _search = mySearch.slice(1); var _searchArr = _search.split("&"); var _json = {}; _searchArr.forEach(function (item, idx) { var _cur = item.split("="); _json[_cur[0]] = _cur[1]; }); return _json; } function signOut() { setItems("items", null); window.location = mpa + "SignOut.html?returnUrl=" + currentUrl; } function toPercent(point) { var str = Number(point * 100).toFixed(1); str += "%"; return str; } function getPercent(num, total) { num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } return total <= 0 ? "0%" : Math.round((num / total) * 10000) / 100.0 + "%"; } function getFeedback(table, search, className) { var url = api + "api/Feedback/" + "UserFeedBackInfo"; var _default = { UserNames: usernames, GameSeo: "", ProducttypeKey: "" }; search = search ? search : _default; search = JSON.stringify(search); $.ajax({ type: "POST", url: url, contentType: "application/json; charset=utf-8", dataType: "json", data: search, success: function (data) { result = data.Result; if (className == "list") { initOffersFeedback(table, result); } if (className == "detail") { initOfferDetailFeedback(table, result); } }, error: function (reason) {} }); } function initOfferDetailFeedback(table, data) { $.each(data, function (i, v) { if (v.TotalReviews) { $(table) .find(".detail-rating-reviews") .html( '
' + v.TotalReviews + "

" + toPercent(v.Rating) + " Positive Feedback

" ); } else { $(table).find(".detail-rating-reviews").html("

No reviews yet

"); } initOfferDetailTrustWorthySeller(data); }); } function initOfferDetailTrustWorthySeller(data) { $.each(data, function (i, v) { var total = v.TotalReviews; var rating = v.Rating * 100; if (parseInt(rating) < 100) { rating = rating.toFixed(1); } var seller; var desc; if (total <= 5 || rating < 90) { return; } if (rating > 97) { seller = "Legendary Seller"; desc = "epic"; } else if (rating > 94) { seller = "Awesome Seller"; desc = "astonishing"; } else if (rating > 89) { seller = "Reputable Seller"; desc = "reputable"; } $("#trustworthyseller").html( '

icon-positive ' + seller + "

" + total + " orders sold with an " + desc + " " + rating + "% rating!

" ); }); } function initInputNumberCustomStyle() { $('
+
-
').insertAfter(".quantity input"); $(".quantity").each(function () { var spinner = jQuery(this), input = spinner.find('input[type="number"]'), btnUp = spinner.find(".quantity-up"), btnDown = spinner.find(".quantity-down"), min = input.attr("min"), max = input.attr("max"); btnUp.click(function () { var oldValue = parseFloat(input.val()); if (oldValue >= max) { var newVal = oldValue; } else { var newVal = oldValue + 1; } spinner.find("input").val(newVal); spinner.find("input").trigger("change"); }); btnDown.click(function () { var oldValue = parseFloat(input.val()); if (oldValue <= min) { var newVal = oldValue; } else { var newVal = oldValue - 1; } spinner.find("input").val(newVal); spinner.find("input").trigger("change"); }); }); } function initSliderCustomStyle() { $("input[type=range]") .on("input", function (e) { var min = e.target.min, max = e.target.max, val = e.target.value; $(e.target).css({ backgroundSize: ((val - min) * 100) / (max - min) + "% 100%" }); }) .trigger("input"); } var setSession = function (key, value) { if (!key || !value) return; sessionStorage.setItem(key, value); }; var getSession = function (key) { if (!key) return; return sessionStorage.getItem(key); }; function _$(id) { return document.getElementById(id); } function initLayer() { new Layer("logined", "nodetreeUserInfo"); } function loadIMBtn() { var IMContactBtn = document.querySelector("#IMPageLink"); if (IMContactBtn) { document.querySelector("#IMPageLink").addEventListener("click", function (e) { e.preventDefault(); if (!window.openedTab || window.openedTab.closed) { window.openedTab = window.open("//im-sandbox.playerauctions.com/?offerid=" + offerId, "_blank"); } else { window.openedTab.focus(); } }); } } $(function () { loadIMBtn(); getMember(); OrderActionCount(); setfooterdropbox(); addFocusEffets(); setHeaderNav(); $("#search").autocomplete({ baseUrl: api }); /* Disable Search Loading Icon*/ $("#search-input").attr("placeholder", "Find your games...").attr("disabled", false); $("#icon-pl").css("display", "block"); $("#icon-pl2").css("display", "none"); $("#btn--start").click(function () { window.location = startTradingBtn; }); // $("#btn--view-games").click(function(){ // window.location = baseUrl +'game-index'; // }) $("#myTab li a").click(function (e) { if ($(this).parent("li").hasClass("active")) { resetTabs(); $(this).parent("li").removeClass("active"); $(this).removeClass("active"); $(".mask-normal").hide(); e.stopPropagation(); } else { $(".mask-normal").show(); $("#myTabContent").show(); $(".nav-tabs").css("border-bottom", "1px solid #ffa300"); $("#myTab a").css("border", "0"); } }); $(".mask-normal").click(function () { $(".mask-normal").hide(); resetTabs(); }); $(".pa-details .pa-nav-tabs li").click(function () { var i = $(this).index(); $(this).addClass("active").attr("tabindex", "0").attr("aria-selected", "true").siblings().removeClass("active").attr("aria-selected", "false"); $(".tab-content").eq(i).siblings(".tab-content").removeClass("show"); $(".tab-content").eq(i).addClass("show").siblings(".tab-content").addClass("hide"); }); $(".pa-details .pa-nav-tabs li").on("keyup", function (e) { if (e.keyCode == 13) { var i = $(this).index(); $(this).addClass("active").attr("tabindex", "0").attr("aria-selected", "true").siblings().removeClass("active").attr("aria-selected", "false"); $(".tab-content").eq(i).siblings(".tab-content").removeClass("show"); $(".tab-content").eq(i).addClass("show").siblings(".tab-content").addClass("hide"); } }); $("#read-more").click(function (e) { var width = $(document).width(); $(".guardian-hide-lg").toggle(); $(this).toggleClass("read-switch"); $(this).html(($(this).hasClass("read-switch") && "Hide") || "Read more"); //手机 if (width <= 768) { $(".guardian-hide-xs").toggle(); } else { $(".guardian-hide-xs").show(); } }); $(".icon-account").click(function (e) { if (!memberInfo) { window.location = mpa + "login.html?returnUrl=" + currentUrl; return; } if ($(this).children("img").hasClass("account-active")) return; window.location = RootPath + "/account"; }); $(".icon-search").on("click", function (e) { $(this).toggleClass("icon-search-active"); $(".games-search, .header-item-full").toggleClass("slidedownactive"); $(".mask-mob").toggleClass("active"); }); $(".list-group dl dt").click(function (event) { var width = $(document).width(); //手机 if (width <= 768) { $(this).parent("dl").children("dd").toggle(); $(this).toggleClass("show-up"); } }); $("#allgames").hover( function (e) { $("#gameMenu").show(); $(this).addClass("game-menu-active"); e.stopPropagation(); }, function (e) {} ); $("#gameMenu").hover( function (e) {}, function (e) { $(this).hide(); $("#allgames").removeClass("game-menu-active"); } ); $("#gameMenu #letterMenu li").hover( function (e) { $(this).children(".gameMenuPOP").show(); }, function (e) { $(this).children(".gameMenuPOP").hide(); if ($(".gameMenuPOP").is(":visible") || $("#gameMenu").is(":visible")) { $("#gameMenu").show(); } } ); $(".gameMenuPOP").hover( function (e) { $(this).prev("span").addClass("menu-active"); }, function (e) { $(this).prev("span").removeClass("menu-active"); if ($("#gameMenu").is(":visible")) { $("#gameMenu").hide(); $("#allgames").removeClass("game-menu-active"); } } ); $(".alphabetNav").on("click", function (event) { var alphabet = $(this).children("span"); alphabet.hasClass("alphabetHide") ? alphabet.attr("class", "alphabetShow") && $(this).removeClass("border-b") : alphabet.attr("class", "alphabetHide") && $(this).addClass("border-b"); $(this).next(".alphabetList").toggle(); }); $("#dropdownToggle").on("click", function () { if ($(".nodetree").css("display") == "block") { $(".nodetree").css("display", "none"); $(this).attr("aria-expanded", "false"); } else { $(".nodetree").css("display", "block"); $(this).attr("aria-expanded", "true"); } }); $("#dropdownToggle").on("keyup", function disableSearchDropdown(e) { if (e.keyCode == 9) { $("#search").removeClass("auto"); $(".featured-games.dropdown").removeClass("disabled"); } }); $(".toggle-dropdown").on("click", function () { var _submenu = $(this).siblings(".submenu"); if (_submenu.css("display") == "block") { _submenu.css("display", "none"); $(this).attr("aria-expanded", "false"); } else { $(".toggle-dropdown").siblings(".submenu").css("display", "none"); _submenu.css("display", "block"); $(this).attr("aria-expanded", "true"); } }); $("#howToBuy").on("keyup", function disableSearchDropdown(e) { if (e.keyCode == 9) { $(".nodetree").css("display", "none"); $("#dropdownToggle").attr("aria-expanded", "false"); } }); $("#userInfo").on("click", function () { if ($("#nodetreeUserInfo").hasClass("show")) { $(this).attr("aria-expanded", "false"); } else { $(this).attr("aria-expanded", "true"); } }); $("#btn--start").on("keyup", function (e) { if (e.keyCode == 9) { $("#nodetreeUserInfo").removeClass("show"); $("#nodetreeUserInfo").attr("aria-expanded", "false"); } }); document.querySelectorAll(".alphabet").forEach((item) => { item.addEventListener("click", function (e) { e.currentTarget.children[0].ariaExpanded == "true" ? (e.currentTarget.children[0].ariaExpanded = "false") : (e.currentTarget.children[0].ariaExpanded = "true"); }); }); var currentSkipHash = $("#skipMain").attr("href"); if ($(currentSkipHash).length === 0 && $("h1").length > 0 && !$("h1").prop("id")) { $("h1").attr("id", `main`); } else if ($(currentSkipHash).length === 0 && currentSkipHash == "#main" && $(".main").length > 0) { $(".main").attr("id", `main`); } }); function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // var r = window.location.search.substr(1).match(reg); // if (r != null) return unescape(r[2]); return null; // }