1$(function () { 2 //夿°ãå®ç¾© 3 var apiTimeout = 20000; 4 5 var imgBasePath = "https://img.tsite.jp/resources/tsite/top/"; 6 7 var apiEndpoints = { 8 userStatus: "https://tsite.jp/tm/pc/login/STKIp0001100.do", 9 infoList: "https://tsite.jp/tm/pc/login/STKIp0001200.do", 10 }; 11 12 var jsonpEndpoints = { 13 maintenance: { 14 url: "https://img.tsite.jp/system/shirase/maintenance.json", 15 callback: "__maintenance_info", 16 }, 17 topbanner: { 18 url: "https://img.tsite.jp/resources/tsite/top/json/topbanner.json", 19 callback: "callback_topbanner", 20 }, 21 topbanner2: { 22 url: "https://img.tsite.jp/resources/tsite/top/json/topbanner2.json", 23 callback: "callback_topbanner2", 24 }, 25 store: { 26 url: "https://img.tsite.jp/resources/tsite/top/json/store.json", 27 callback: "callback_search", 28 }, 29 osusume: { 30 url: "https://img.tsite.jp/resources/tsite/top/json/osusume2.json", 31 callback: "callback_osusume", 32 }, 33 main: { 34 url: "https://img.tsite.jp/resources/tsite/top/json/main.json", 35 callback: "callback_main", 36 }, 37 footer: { 38 url: "https://img.tsite.jp/resources/tsite/top/json/footer.json", 39 callback: "callback_footer", 40 }, 41 }; 42 43 var areaUserStatus = "10"; 44 var areaInfoList = "20"; 45 46 var errorMessages = { 47 userStatus: { 48 9901: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 49 9902: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 50 9903: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 51 401: "", 52 402: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 53 900: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 54 970: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 55 990: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 56 800: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 57 9999: "ãã ãã¾ãã¤ã³ãæ å ±ã表示ã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 58 }, 59 infoList: { 60 9901: "ãã ãã¾è¡¨ç¤ºã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 61 9902: "ãã ãã¾è¡¨ç¤ºã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 62 9903: "ãã ãã¾è¡¨ç¤ºã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 63 990: "ãã ãã¾è¡¨ç¤ºã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 64 800: "ãã ãã¾è¡¨ç¤ºã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 65 9999: "ãã ãã¾è¡¨ç¤ºã§ãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã", 66 }, 67 }; 68 69 //ããã»ã¹å®ç¾© 70 loadUserStatus(); 71 loadInfoList(); 72 loadTopBanner(); 73 loadTopBanner2(); 74 loadMainSlider(); 75 loadOsusume(); 76 loadStore(); 77 loadFooterSlider(); 78 loadMaintenance(); 79 80 //颿°å®ç¾© 81 82 // APIã®éä¿¡é¨å 83 function fetchJson(payloadOptions) { 84 var defaultOptions = { 85 url: payloadOptions, 86 type: "GET", 87 dataType: "json", 88 timeout: apiTimeout, 89 // ãªã¯ã¨ã¹ããããã¼ã®å¦çãå¾ã§è¿½è¨ 90 }; 91 var options = $.extend({}, defaultOptions, payloadOptions); 92 return $.ajax(options); 93 } 94 95 // å¤é¨jsonã(JSONP)ãåå¾ãã颿° 96 function fetchJsonp(url, callbackName) { 97 var options = { 98 url: url, 99 dataType: "jsonp", 100 jsonpCallback: callbackName, 101 }; 102 return fetchJson(options); 103 } 104 105 function getResponseData(jqXHR) { 106 if (jqXHR.responseJSON) { 107 return jqXHR.responseJSON; 108 } else if (jqXHR.responseText) {
109 try { 110 return JSON.parse(jqXHR.responseText); 111 } catch (e) { 112 // ãã¼ã¹ã§ããªãå ´åã¯nullãè¿ã 113 return null; 114 } 115 } else { 116 return null; 117 } 118 } 119 120 function checkAjaxError(jqXHR, textStatus, errorThrown) { 121 return { 122 jqXHR: jqXHR, 123 textStatus: textStatus, 124 errorThrown: errorThrown, 125 responseData: getResponseData(jqXHR), 126 }; 127 } 128 129 function checkResponseStatus(response, allowCodes) { 130 allowCodes = allowCodes || ["000"]; 131 132 if (response.status && response.status.code) { 133 var code = response.status.code; 134 var isCheck = allowCodes.indexOf(code) !== -1; 135 136 if (!isCheck) { 137 var error = new Error("APIãã¨ã©ã¼ãè¿ãã¾ãã: " + code); 138 error.statusCode = code; 139 error.response = response; 140 return $.Deferred().reject(error).promise(); 141 } 142 } 143 144 return response; 145 } 146 147 // å¤é¨JSONã®ã¬ã¹ãã³ã¹ãæ¤è¨¼ãã颿°ãå®ç¾© 148 function validateExternalJsonpData(data) { 149 try { 150 if (Array.isArray(data)) { 151 for (var i = 0; i < data.length; i++) { 152 if (typeof data[i] !== "object") { 153 return false; 154 } 155 } 156 } else { 157 return false; 158 } 159 160 return true; 161 } catch (e) { 162 return false; 163 } 164 } 165 166 // maintenance.json å°ç¨ã®ããªãã¼ã·ã§ã³é¢æ°ãæ°è¦è¿½å 167 function validateMaintenanceData(data) { 168 try { 169 if (typeof data !== "object" || data === null || Array.isArray(data)) { 170 return false; 171 } 172 // "000" ã¾ã㯠"007" ãåå¨ããã 173 if (!data["000"] && !data["007"]) { 174 return false; 175 } 176 // infoãé åã§ãããã¨ãç¢ºèª 177 if (data["000"] && !Array.isArray(data["000"].info)) { 178 return false; 179 } 180 if (data["007"] && !Array.isArray(data["007"].info)) { 181 return false; 182 } 183 184 return true; 185 } catch (e) { 186 return false; 187 } 188 } 189 190 // ã¨ã©ã¼ãã³ããªã³ã°ã®é¢æ°ãå®ç¾© 191 function generateErrorCode(areaCode, statusCode) { 192 return "VTP-DR-" + areaCode + "-" + statusCode; 193 } 194 195 function getStatusCodeFromAjaxError(jqXHR, textStatus) { 196 if (textStatus === "timeout") { 197 return "9901"; 198 } else if (jqXHR && jqXHR.status !== 200) { 199 return "9902"; 200 } else if (textStatus === "parsererror") { 201 return "9903"; 202 } else { 203 return "9999"; 204 } 205 } 206 207 function showErrorMessage(selector, areaCode, statusCode) { 208 var errorCode = generateErrorCode(areaCode, statusCode); 209 var message; 210 211 if (areaCode === areaUserStatus) { 212 message = 213 errorMessages.userStatus[statusCode] || 214 errorMessages.userStatus["9999"]; 215 } else if (areaCode === areaInfoList) { 216 message = 217 errorMessages.infoList[statusCode] || errorMessages.infoList["9999"]; 218 } else { 219 message = 220 "æ³å®å¤ã®ã¨ã©ã¼ãçºçãã¾ããããã°ããçµã£ã¦ããå度ã試ããã ããã"; 221 } 222 223 $(selector).html( 224 '<div class="error-box" data-error-code="' + 225 errorCode + 226 '">' + 227 '<p class="error-message">' + 228 message + 229 "ï¼" + 230 errorCode + 231 "ï¼</p>" + 232 "</div>", 233 ); 234 } 235 236 function handleUserStatusError(errorInfo) { 237 var statusCode; 238 239 if (errorInfo.statusCode) { 240 statusCode = errorInfo.statusCode; 241 } else { 242 statusCode = getStatusCodeFromAjaxError( 243 errorInfo.jqXHR, 244 errorInfo.textStatus, 245 ); 246 } 247 248 // 401ã¯æªãã°ã¤ã³ãªã®ã§ã¨ã©ã¼è¡¨ç¤ºããªã 249 if (statusCode === "401") { 250 showNotLoggedIn(); 251 $(".newt-header-register-box").hide(); 252 return; 253 } 254 255 $(".newt-header-loading").hide(); 256 $(".newt-header-register-box").hide(); 257 showErrorMessage(".newt-header-user-info", areaUserStatus, statusCode); 258 $(".newt-header-user-info").show(); 259 } 260 261 function handleInfoListError(errorInfo) { 262 var statusCode; 263 264 if (errorInfo.statusCode) { 265 statusCode = errorInfo.statusCode; 266 } else { 267 statusCode = getStatusCodeFromAjaxError( 268 errorInfo.jqXHR, 269 errorInfo.textStatus, 270 ); 271 } 272 273 $("#newt-top-info .loading-spinner").hide(); 274 showErrorMessage( 275 "#newt-top-info .newt-top-sec-inner", 276 areaInfoList, 277 statusCode, 278 ); 279 } 280 281 // ã¦ã¼ã¶ã¼ã¹ãã¼ã¿ã¹ç³»ã®é¢æ°å®ç¾© 282 function loadUserStatus() { 283 fetchJson(apiEndpoints.userStatus) 284 .then(function (data) { 285 // ã¹ãã¼ã¿ã¹ã³ã¼ãã®ãã§ãã¯ï¼'000'ã¨'401'ãæ£å¸¸æ±ãï¼ 286 return checkResponseStatus(data, ["000", "401", "402"]); 287 }) 288 .then(function (data) { 289 // 402ã®å ´åã¯ãã°ã¤ã³ç¶æ ã§ä¼å¡æ å ±åæ å¾ ã¡è¡¨ç¤º 290 if (data.status && data.status.code === "402") { 291 showLoggedIn(); 292 $("#newt-user-name").hide(); 293 hideVmoney(); 294 showVpoint(".wait"); 295 return null; 296 } 297 return data; 298 }) 299 .then(function (data) { 300 if (data) { 301 // ã¬ã¹ãã³ã¹ãã¼ã¿ãDOMã«åæ 302 renderUserStatus(data); 303 } 304 }) 305 .fail(function (errorOrJqXHR, textStatus, errorThrown) { 306 var errorInfo; 307 if (textStatus !== undefined) { 308 // ã¨ã©ã¼ãã³ããªã³ã°ï¼æ¢ã«å®è£ æ¸ã¿ã®é¢æ°ã¸ï¼ 309 errorInfo = checkAjaxError(errorOrJqXHR, textStatus, errorThrown); 310 } else { 311 errorInfo = errorOrJqXHR; // æ¢ã«ã¨ã©ã¼ãªãã¸ã§ã¯ããæ¸¡ããã¦ããå ´å 312 } 313 handleUserStatusError(errorInfo); 314 }); 315 } 316 317 // ã¦ã¼ã¶ã¼ã¹ãã¼ã¿ã¹ã®ãã¼ã¿ãå ã«ãDOMãæ´æ°ãã颿°ãå®ç¾© 318 function renderUserStatus(data) { 319 var results = data.results; 320 var loginFlg = results.login_flg; 321 var userStatus = results.user_status || {}; 322 323 if (loginFlg !== "1") { 324 showNotLoggedIn(); 325 return; 326 } 327 328 showLoggedIn(); 329 330 // ã¦ã¼ã¶ã¼å表示 331 if (userStatus.name) { 332 $(".var_NAME").html(userStatus.name); 333 } 334 335 if (userStatus.member_flg === "1" && userStatus.vpointflg === "1") { 336 $("#newt-user-name").hide(); 337 hideVmoney(); 338 showVpoint(".wait"); 339 return; 340 } 341 342 // Vãã¤ã³ãã»Vããã¼è¡¨ç¤º 343 var formatted = formatPointMoney(results); 344 345 if (formatted.pointFmt === "" && formatted.moneyFmt === "") { 346 hideVmoney(); 347 showVpoint(".wait"); 348 } else { 349 if (formatted.pointFmt === "") { 350 showVpoint(".no-confirm"); 351 } else { 352 showVpoint(".normal"); 353 var pointBalance = userStatus.point_info 354 ? userStatus.point_info.balance 355 : ""; 356 $(".var_TPOINT_F").html(pointBalance); 357 } 358 359 var vmoneyDisplayState = getVmoneyDisplayState(userStatus); 360 361 if (vmoneyDisplayState.type === "hidden") { 362 hideVmoney(); 363 } else if (vmoneyDisplayState.type === "no-confirm") { 364 showVmoney(".no-confirm"); 365 } else { 366 showVmoney(".normal"); 367 $(".var_TMONEY_F").html(vmoneyDisplayState.balance); 368 } 369 } 370 } 371 372 function getVmoneyDisplayState(userStatus) { 373 if (userStatus.member_type === "2") { 374 return { type: "hidden" }; 375 } 376 377 if (userStatus.vmoney_card_flg === "0") { 378 return { type: "hidden" }; 379 } 380 381 if (userStatus.money_return_cd !== "00") { 382 return { type: "no-confirm" }; 383 } 384 385 if (userStatus.first_charge_flg === "0") { 386 return { type: "normal", balance: "0" }; 387 } 388 389 return { 390 type: "normal", 391 balance: userStatus.money_info ? userStatus.money_info.balance : "", 392 }; 393 } 394 395 // ãã¤ã³ãã¨ããã¼ã®è¡¨ç¤ºå½¢å¼ãæ´ãã颿°ãå®ç¾© 396 function formatPointMoney(data) { 397 var result = { pointFmt: "", moneyFmt: "" }; 398 var userStatus = data.user_status; 399 400 if (!userStatus || Object.keys(userStatus).length === 0) { 401 return result; 402 } 403 404 var memberType = userStatus.member_type; 405 var memberFlg = userStatus.member_flg; 406 var moneyReturnCd = userStatus.money_return_cd; 407 var vmoneyCardFlg = userStatus.vmoney_card_flg; 408 var firstChargeFlg = userStatus.first_charge_flg; 409 var pointBalance = userStatus.point_info 410 ? userStatus.point_info.balance 411 : ""; 412 var moneyBalance = userStatus.money_info 413 ? userStatus.money_info.balance 414 : ""; 415 416 if (memberFlg === "2") { 417 return result; 418 } 419 420 if (memberType === "1") { 421 if (memberFlg === "1") { 422 if (pointBalance !== "") { 423 result.pointFmt = "<i>" + pointBalance + "</i><span>pt</span>"; 424 } else { 425 result.pointFmt = '<i class="str">ç¾å¨ã確èªã§ãã¾ãã</i>'; 426 } 427 if (moneyReturnCd === "00") { 428 if (vmoneyCardFlg === "1") { 429 if (firstChargeFlg === "1") { 430 result.moneyFmt = "<i>" + moneyBalance + "</i><span>å</span>"; 431 } else { 432 result.moneyFmt = '<i class="str">ãå©ç¨ãããã¾ãã</i>'; 433 } 434 } else { 435 result.moneyFmt = '<i class="str">ãå©ç¨ãããã¾ãã</i>'; 436 } 437 } 438 } 439 } else if (memberType === "2") { 440 if (memberFlg === "1") { 441 if (pointBalance !== "") { 442 result.pointFmt = "<i>" + pointBalance + "</i><span>pt</span>"; 443 } else { 444 result.pointFmt = '<i class="str">ç¾å¨ã確èªã§ãã¾ãã</i>'; 445 } 446 } 447 } 448 449 return result; 450 } 451 452 // 表示é表示ã®é¢æ°ãå®ç¾© 453 function showVpoint(className) { 454 $("#newt-user-tpoint").find(className).css("display", "block"); 455 } 456 457 function showVmoney(className) { 458 $("#newt-user-tmoney").find(className).css("display", "block"); 459 } 460 461 function hideVmoney() { 462 $("#newt-user-tpoint").addClass("full"); 463 $("#newt-user-tmoney").hide(); 464 } 465 466 // ãã°ã¤ã³æ¸ã¿ã®UIã«åãæ¿ãã颿°ãå®ç¾© 467 function showLoggedIn() { 468 $(".newt-header-loading").hide(); 469 $(".newt-header-login").hide(); 470 $("#newt-top-beginner").hide(); 471 $(".newt-header-register-box").hide(); 472 $(".newt-gnav-login").hide(); 473 $(".newt-header-user-info").show(); 474 $(".newt-gnav-logout").show(); 475 $(".newt-sub-nav-logout").show(); 476 $("#newt-gfooter").css("padding-bottom", "0"); 477 } 478 479 // æªãã°ã¤ã³ã®UIã«åãæ¿ãã颿°ãå®ç¾© 480 function showNotLoggedIn() { 481 $(".newt-header-loading").hide(); 482 $(".newt-header-user-info").hide(); 483 $(".newt-gnav-logout").hide(); 484 $(".newt-sub-nav-logout").hide(); 485 $("#newt-top-guide").hide(); 486 $("#newt-top-faq").hide(); 487 $(".newt-header-login").show(); 488 $("#newt-top-beginner").show(); 489 $(".newt-header-register-box").show(); 490 $(".newt-gnav-login").show(); 491 $(".newt-sub-nav-info a").attr("href", "https://info.tsite.jp/?page=info"); 492 $(".newt-nav-info a").attr("href", "https://info.tsite.jp/?page=info"); 493 } 494 495 // ãç¥ãããªã¹ãã®é¢æ°å®ç¾© 496 function loadInfoList() { 497 fetchJson(apiEndpoints.infoList) 498 .then(function (data) { 499 return checkResponseStatus(data, ["000"]); 500 }) 501 .then(function (data) { 502 renderInfoList(data); 503 }) 504 .fail(function (errorOrJqXHR, textStatus, errorThrown) { 505 var errorInfo; 506 if (textStatus !== undefined) { 507 errorInfo = checkAjaxError(errorOrJqXHR, textStatus, errorThrown); 508 } else { 509 errorInfo = errorOrJqXHR; 510 } 511 handleInfoListError(errorInfo); 512 }); 513 } 514 515 //ãç¥ãããªã¹ãã®ãã¼ã¿ãå ã«ãDOMãæ´æ°ãã颿°ãå®ç¾© 516 function renderInfoList(data) { 517 var results = data.results; 518 var infoList = results.info_list || []; 519 var shouldUseWideLabel = wideInfoLabel(infoList); 520 521 $("#newt-top-info .loading-spinner").hide(); 522 523 if (infoList.length === 0) { 524 $("#newt-top-info").hide(); 525 return; 526 } 527 528 var $list = $("<ul>"); 529 if (shouldUseWideLabel) { 530 $list.addClass("newt-top-info-list--wide-label"); 531 } 532 533 for (var i = 0; i < infoList.length; i++) { 534 var html = createInfoHtml(infoList[i]); 535 $list.append(html); 536 } 537 538 $("#infoAdd").html($list).show(); 539 540 // ãç¥ããä¸è¦§ãã¿ã³ã®ãªã³ã¯å ã¨ã¤ãã³ããè¨å® 541 var firstItem = infoList[0]; 542 var listUrl = 543 "https://info.tsite.jp/?net_id=" + firstItem.net_id + "&page=info"; 544 545 $(".newt-top-info-btn.newt-top-btn-link a").attr({ 546 href: listUrl, 547 onclick: 548 "dataLayer.push({category:'top',action:'content',label:'info_list',event:'clickEventTrigger'});", 549 }); 550 551 $(".newt-top-info-btn.newt-top-btn-link").show(); 552 } 553 554 function wideInfoLabel(infoList) { 555 for (var i = 0; i < infoList.length; i++) { 556 if ((infoList[i].service_nm || "").length >= 8) { 557 return true; 558 } 559 } 560 561 return false;
562 } 563 564 // htmlãçæãã颿°ãå®ç¾© 565 function createInfoHtml(infoList) { 566 var redirectFlg = infoList.redirect_flg; 567 var html = ""; 568 569 // redirect_flgã"0"ã®å ´åããç¥ãããã¡ã¤ã³ä»¥å¤ã®æ å ±ãæ²è¼ 570 if (redirectFlg === "0") { 571 html = 572 "<li>" + 573 '<a href="' + 574 infoList.redirect_url + 575 "\" onclick=\"dataLayer.push({category:'top',action:'content',label:'info_notice_detile_link',event:'clickEventTrigger'});\">" + 576 (infoList.service_nm 577 ? '<div class="newt-label">' + infoList.service_nm + "</div>" 578 : '<div class="newt-label newt-label--empty"></div>') + 579 '<div class="newt-date">' + 580 infoList.keisaidate_from + 581 "</div>" + 582 "<p>" + 583 infoList.title + 584 "</p>" + 585 "</a>" + 586 "</li>"; 587 } 588 // redirect_flgã"1"ã®å ´åããç¥ãããã¡ã¤ã³ã®æ å ±ãæ²è¼ 589 else if (redirectFlg === "1") { 590 var detailUrl = 591 infoList.info_domain_nm + 592 "/detail/?net_id=" + 593 infoList.net_id + 594 "&info_id=" + 595 infoList.srs_no; 596 html = 597 "<li>" + 598 '<a href="' + 599 detailUrl + 600 "\" onclick=\"dataLayer.push({category:'top',action:'content',label:'info_notice_detile_link',event:'clickEventTrigger'});\">" + 601 (infoList.service_nm 602 ? '<div class="newt-label">' + infoList.service_nm + "</div>" 603 : '<div class="newt-label newt-label--empty"></div>') + 604 '<div class="newt-date">' + 605 infoList.keisaidate_from + 606 "</div>" + 607 "<p>" + 608 infoList.title + 609 "</p>" + 610 "</a>" + 611 "</li>"; 612 } 613 614 return html; 615 } 616 617 // éè¦ãªãç¥ããã®é¢æ°å®ç¾© 618 function loadMaintenance() { 619 var endpoint = jsonpEndpoints.maintenance; 620 621 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 622 if (!validateMaintenanceData(data)) { 623 return; 624 } 625 renderMaintenance(data); 626 }); 627 } 628 629 function renderMaintenance(data) { 630 var maxLength = 5; 631 var commonInfoData = []; 632 var otherInfoData = []; 633 var commonInfoReleaseData = []; 634 var otherInfoReleaseData = []; 635 636 var currentDate = new Date(); 637 638 if (!data["000"] && !data["007"]) { 639 $(".newt-header-info").remove(); 640 return false; 641 } 642 643 // 000 ãã¼ã¿ 644 commonInfoData = !data["000"] ? [] : data["000"].info; 645 // 007 ãã¼ã¿ 646 otherInfoData = !data["007"] ? [] : data["007"].info; 647 648 if (!commonInfoData.length && !otherInfoData.length) { 649 $(".newt-header-info").remove(); 650 return false; 651 } 652 653 $(".newt-header-info")[0].style.visibility = "visible"; 654 var wrap = $("#newt-header-info-list")[0]; 655 if (!wrap) { 656 return false; 657 } 658 659 // æ²è¼æ¥sort ==================================================== 660 for (var i = 0; i < commonInfoData.length; i++) { 661 var startDate = new Date(commonInfoData[i].start.replace(/-/g, "/")); 662 var endDate = new Date(commonInfoData[i].end.replace(/-/g, "/")); 663 commonInfoData[i].start = commonInfoData[i].start.replace(/-/g, "/"); 664 commonInfoData[i].end = commonInfoData[i].end.replace(/-/g, "/"); 665 666 if (startDate < currentDate && endDate > currentDate) { 667 commonInfoReleaseData.push(commonInfoData[i]); 668 } 669 } 670 for (var i = 0; i < otherInfoData.length; i++) { 671 var startDate = new Date(otherInfoData[i].start.replace(/-/g, "/")); 672 var endDate = new Date(otherInfoData[i].end.replace(/-/g, "/")); 673 otherInfoData[i].start = otherInfoData[i].start.replace(/-/g, "/"); 674 otherInfoData[i].end = otherInfoData[i].end.replace(/-/g, "/"); 675 676 if (startDate < currentDate && endDate > currentDate) { 677 otherInfoReleaseData.push(otherInfoData[i]); 678 } 679 } 680 commonInfoReleaseData.sort((a, b) => new Date(b.start) - new Date(a.start)); 681 otherInfoReleaseData.sort((a, b) => new Date(b.start) - new Date(a.start)); 682 var commonInfoDataLength = Math.min( 683 commonInfoReleaseData.length, 684 maxLength, 685 ); 686 687 // å ±éã==================================================== 688 for (var i = 0; i < commonInfoDataLength; i++) { 689 var p = document.createElement("p"); 690 691 if (commonInfoReleaseData[i].link) { 692 var a = document.createElement("a"); 693 a.href = commonInfoReleaseData[i].link; 694 a.innerHTML = commonInfoReleaseData[i].message; 695 a.onclick = function () { 696 dataLayer.push({ 697 category: "common", 698 action: "header", 699 label: "info_important", 700 event: "clickEventTrigger", 701 }); 702 }; 703 p.appendChild(a); 704 } else { 705 var span = document.createElement("span"); 706 span.innerHTML = commonInfoReleaseData[i].message; 707 p.appendChild(span); 708 } 709 wrap.appendChild(p); 710 } 711 712 // å ±é以å¤ã==================================================== 713 if (commonInfoDataLength < 5) { 714 var otherInfoDataLength = Math.min( 715 otherInfoReleaseData.length, 716 maxLength - commonInfoDataLength, 717 ); 718 for (var i = 0; i < otherInfoDataLength; i++) { 719 var p = document.createElement("p"); 720 721 if (otherInfoReleaseData[i].link) { 722 var a = document.createElement("a"); 723 a.href = otherInfoReleaseData[i].link; 724 a.innerHTML = otherInfoReleaseData[i].message; 725 a.onclick = function () { 726 dataLayer.push({ 727 category: "common", 728 action: "header", 729 label: "info_important", 730 event: "clickEventTrigger", 731 }); 732 }; 733 p.appendChild(a); 734 } else { 735 var span = document.createElement("span"); 736 span.innerHTML = otherInfoReleaseData[i].message; 737 p.appendChild(span); 738 } 739 wrap.appendChild(p); 740 } 741 } 742 743 // ãç¥ããæç¡ ãã§ãã¯ã==================================================== 744 if (!commonInfoReleaseData.length && !otherInfoReleaseData.length) { 745 $("#newt-ghedaer").addClass("no-info"); 746 $(".newt-header-info").remove(); 747 return false;
748 } 749 } 750 751 // ãããããã¼ã®é¢æ°å®ç¾© 752 function loadTopBanner() { 753 var endpoint = jsonpEndpoints.topbanner; 754 755 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 756 if (data === null) { 757 return; 758 } 759 if (!validateExternalJsonpData(data)) { 760 return; 761 } 762 renderTopBanner(data); 763 }); 764 } 765 766 //TOPããã¼ã®ãã¼ã¿ãå ã«ãDOMãæ´æ°ãã颿°ãå®ç¾© 767 function renderTopBanner(data) { 768 if (data === null) { 769 $(".newt-header-info-bnr").remove(); 770 } 771 if (data === null) { 772 return false; 773 } 774 775 var wrap = $("#newt-info-bnr")[0]; 776 if (!wrap) { 777 return false; 778 } 779 var ul = document.createElement("ul"); 780 var len = Math.min(data.length, 5); 781 782 for (var i = 0; i < len; i++) { 783 var li = document.createElement("li"); 784 var a = document.createElement("a"); 785 var pcimg = new Image(); 786 pcimg.src = imgBasePath + "banner/" + data[i].pcimg; 787 pcimg.className = "newt-ignore-sp"; 788 var spimg = new Image(); 789 spimg.src = imgBasePath + "banner/" + data[i].spimg; 790 spimg.className = "newt-ignore-pc"; 791 a.href = data[i].link; 792 a.dataset.index = i; 793 a.onclick = function () { 794 var rel = this.dataset.index; 795 if (window.matchMedia("(min-width: 768px)").matches) { 796 dataLayer.push({ 797 category: "common", 798 action: "header", 799 label: data[rel].pcimg, 800 event: "clickEventTrigger", 801 }); 802 } else { 803 dataLayer.push({ 804 category: "common", 805 action: "header", 806 label: data[rel].spimg, 807 event: "clickEventTrigger", 808 }); 809 } 810 }; 811 a.appendChild(pcimg); 812 a.appendChild(spimg); 813 li.appendChild(a); 814 ul.appendChild(li); 815 wrap.appendChild(ul); 816 817 // ï¼ Timerè¨å®ãï¼ï¼ï¼ï¼ï¼ï¼ï¼ 818 li.style.display = "none"; 819 setTopBannerTimer(li, data[i].release_start, data[i].release_end); 820 } 821 822 // ï¼ ãã㼠表示ãã§ãã¯ãï¼ï¼ï¼ï¼ï¼ï¼ï¼ 823 var bnrList = $(".newt-header-info-bnr li"); 824 var isNonBnr = true; 825 826 checkBnrStatus(bnrList); 827 setInterval(function () { 828 checkBnrStatus(bnrList); 829 }, 1000); 830 } 831 832 // ã¿ã¤ãã¼è¨å®ï¼æ²è¼æéãã§ãã¯ï¼ 833 function setTopBannerTimer(_elm, _start, _end) { 834 var timer; 835 var st = _start.split("-"); 836 var et = _end.split("-"); 837 838 var startTime = new Date( 839 st[0] + "/" + st[1] + "/" + st[2] + " " + st[3] + ":" + st[4], 840 ); 841 var endTime = new Date( 842 et[0] + "/" + et[1] + "/" + et[2] + " " + et[3] + ":" + et[4], 843 ); 844 845 checkTime(); 846 847 timer = setInterval(function () { 848 checkTime(); 849 }, 1000); 850 851 function checkTime() { 852 var now = new Date(); 853 if (now >= startTime && now <= endTime) { 854 _elm.style.display = "block"; 855 _elm.dataset.status = "visible"; 856 } else { 857 _elm.style.display = "none"; 858 _elm.dataset.status = "hidden"; 859 } 860 } 861 } 862 863 // ããã¼è¡¨ç¤ºãã§ã㯠864 function checkBnrStatus(bnrList) { 865 var bnrCount = 0; 866 867 for (var i = 0; i < bnrList.length; i++) { 868 var status = $(bnrList[i]).attr("data-status"); 869 if (status == "visible") { 870 isNonBnr = false; 871 } 872 873 if (status == "hidden") { 874 bnrCount++; 875 if (bnrCount == bnrList.length) { 876 isNonBnr = true; 877 } 878 } 879 880 if (isNonBnr) { 881 $("#newt-ghedaer").addClass("no-bnr"); 882 } else { 883 $("#newt-ghedaer").removeClass("no-bnr"); 884 } 885 } 886 } 887 888 // ä¸éããã¼ã®é¢æ°å®ç¾© 889 function loadTopBanner2() { 890 var endpoint = jsonpEndpoints.topbanner2; 891 892 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 893 if (data === null) { 894 return; 895 } 896 if (!validateExternalJsonpData(data)) { 897 return; 898 } 899 renderTopBanner2(data); 900 }); 901 } 902 903 //ä¸éããã¼ã®ãã¼ã¿ãå ã«ãDOMãæ´æ°ãã颿°ãå®ç¾© 904 function renderTopBanner2(data) { 905 if (data === null) { 906 $(".newt-top-inner__banner").remove(); 907 return false;
908 } 909 910 var wrap = $(".newt-top-inner__banner")[0]; 911 if (!wrap) { 912 return false; 913 } 914 915 // æ¢åã®éçã³ã³ãã³ããã¯ãªã¢ 916 wrap.innerHTML = ""; 917 918 var ul = document.createElement("ul"); 919 var len = Math.min(data.length, 5); 920 921 for (var i = 0; i < len; i++) { 922 var li = document.createElement("li"); 923 var a = document.createElement("a"); 924 var pcimg = new Image(); 925 pcimg.src = imgBasePath + "banner/" + data[i].pcimg; 926 pcimg.className = "newt-ignore-sp"; 927 var spimg = new Image(); 928 spimg.src = imgBasePath + "banner/" + data[i].spimg; 929 spimg.className = "newt-ignore-pc"; 930 a.href = data[i].link; 931 a.dataset.index = i; 932 a.onclick = function () { 933 var rel = this.dataset.index; 934 if (window.matchMedia("(min-width: 768px)").matches) { 935 dataLayer.push({ 936 category: "excv_cal", 937 action: "img_click", 938 label: data[rel].pcimg, 939 event: "clickEventTrigger", 940 }); 941 } else { 942 dataLayer.push({ 943 category: "excv_cal", 944 action: "img_click", 945 label: data[rel].spimg, 946 event: "clickEventTrigger", 947 }); 948 } 949 }; 950 a.appendChild(pcimg); 951 a.appendChild(spimg); 952 li.appendChild(a); 953 ul.appendChild(li); 954 955 // Timerè¨å®ï¼æ²è¼æéãã§ãã¯ï¼ 956 li.style.display = "none"; 957 setTopBanner2Timer(li, data[i].release_start, data[i].release_end); 958 } 959 960 wrap.appendChild(ul); 961 962 // ããã¼è¡¨ç¤ºãã§ã㯠963 var bnrList = $(".newt-top-inner__banner li"); 964 checkTopBanner2Status(bnrList); 965 setInterval(function () { 966 checkTopBanner2Status(bnrList); 967 }, 1000); 968 } 969 970 // ä¸éããã¼ ã¿ã¤ãã¼è¨å®ï¼æ²è¼æéãã§ãã¯ï¼ 971 function setTopBanner2Timer(_elm, _start, _end) { 972 var timer; 973 var st = _start.split("-"); 974 var et = _end.split("-"); 975 976 var startTime = new Date( 977 st[0] + "/" + st[1] + "/" + st[2] + " " + st[3] + ":" + st[4], 978 ); 979 var endTime = new Date( 980 et[0] + "/" + et[1] + "/" + et[2] + " " + et[3] + ":" + et[4], 981 ); 982 983 checkTime(); 984 985 timer = setInterval(function () { 986 checkTime(); 987 }, 1000); 988 989 function checkTime() { 990 var now = new Date(); 991 if (now >= startTime && now <= endTime) { 992 _elm.style.display = "block"; 993 _elm.dataset.status = "visible"; 994 } else { 995 _elm.style.display = "none"; 996 _elm.dataset.status = "hidden"; 997 } 998 } 999 } 1000 1001 // ä¸éãã㼠表示ãã§ã㯠1002 function checkTopBanner2Status(bnrList) { 1003 var bnrCount = 0; 1004 for (var i = 0; i < bnrList.length; i++) { 1005 var status = $(bnrList[i]).attr("data-status"); 1006 if (status == "visible") { 1007 $(".newt-top-inner__banner").show(); 1008 return; 1009 } 1010 if (status == "hidden") { 1011 bnrCount++; 1012 } 1013 } 1014 if (bnrCount == bnrList.length) { 1015 $(".newt-top-inner__banner").hide(); 1016 } 1017 } 1018 1019 // TOPã«ã«ã¼ã»ã«ããã¼ã®é¢æ°å®ç¾© 1020 function loadMainSlider() { 1021 if (!$(".newt-top-slide-contents")[0]) { 1022 return; 1023 } 1024 1025 var endpoint = jsonpEndpoints.main; 1026 1027 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 1028 if (!validateExternalJsonpData(data)) { 1029 return; 1030 } 1031 renderMainSlider(data); 1032 }); 1033 } 1034 1035 // TOPã«ã«ã¼ã»ã«ããã¼ã®ãã¼ã¿ãå ã«ãDOMãæ´æ°ãã颿°ãå®ç¾© 1036 function renderMainSlider(data) { 1037 var fvData = []; 1038 var ramdomData = []; 1039 1040 for (var i = 0; i < data.length; i++) { 1041 if (data[i].id) { 1042 fvData.push(data[i]); 1043 } else { 1044 ramdomData.push(data[i]); 1045 } 1046 } 1047 1048 fvData.sort(function (a, b) { 1049 if (a.id < b.id) return -1; 1050 if (a.id > b.id) return 1; 1051 return 0; 1052 }); 1053 1054 for (i = ramdomData.length - 1; i > 0; i--) { 1055 var j = Math.floor(Math.random() * (i + 1)); 1056 var tmp = ramdomData[i]; 1057 ramdomData[i] = ramdomData[j]; 1058 ramdomData[j] = tmp; 1059 } 1060 1061 var sortedData = fvData.concat(ramdomData); 1062 1063 var fixData; 1064 1065 if (sortedData.length > 2 && sortedData.length < 6) { 1066 fixData = []; 1067 for (var j = 0; j < 2; j++) { 1068 for (var k = 0; k < sortedData.length; k++) { 1069 fixData.push(sortedData[k]); 1070 } 1071 } 1072 } else if (sortedData.length == 2) { 1073 fixData = []; 1074 for (var j = 0; j < 3; j++) { 1075 for (var k = 0; k < sortedData.length; k++) { 1076 fixData.push(sortedData[k]); 1077 } 1078 } 1079 } else { 1080 fixData = sortedData; 1081 } 1082 1083 var container = $(".newt-top-slide-contents")[0]; 1084 if (!container) { 1085 return; 1086 } 1087 1088 // DOMæ§é ãåçã«çæ 1089 var slideWrap = document.createElement("div"); 1090 slideWrap.className = "newt-top-slide-wrap"; 1091 var mainSlider = document.createElement("div"); 1092 mainSlider.id = "newt-top-slide"; 1093 slideWrap.appendChild(mainSlider); 1094 1095 var navWrap = document.createElement("div"); 1096 navWrap.className = "newt-top-slide-nav-wrap"; 1097 var mainSliderNav = document.createElement("div"); 1098 mainSliderNav.id = "newt-top-slide-nav"; 1099 navWrap.appendChild(mainSliderNav); 1100 1101 container.appendChild(slideWrap); 1102 container.appendChild(navWrap); 1103 1104 var navW = Math.min(sortedData.length * 80, 400); 1105 $(mainSliderNav).css({ 1106 width: navW, 1107 marginLeft: -navW / 2, 1108 }); 1109 1110 for (var i = 0; i < fixData.length; i++) { 1111 var div = document.createElement("div"); 1112 var span = document.createElement("span"); 1113 var a = document.createElement("a"); 1114 1115 var img = new Image(); 1116 img.src = imgBasePath + "banner/" + fixData[i].img; 1117 a.href = fixData[i].link; 1118 a.dataset.label = fixData[i].img; 1119 1120 a.appendChild(img); 1121 span.appendChild(a); 1122 div.appendChild(span); 1123 mainSlider.appendChild(div); 1124 } 1125 1126 for (var i = 0; i < sortedData.length; i++) { 1127 var div = document.createElement("div"); 1128 var span = document.createElement("span"); 1129 var a = document.createElement("a"); 1130 1131 var img = new Image(); 1132 img.src = imgBasePath + "banner/" + sortedData[i].img; 1133 1134 a.href = "javascript:void(0)"; 1135 1136 a.appendChild(img); 1137 span.appendChild(a); 1138 div.appendChild(span); 1139 mainSliderNav.appendChild(div); 1140 } 1141 1142 // Slickã¹ã©ã¤ãã¼ã®åæå 1143 initMainSlick(sortedData); 1144 1145 $(".newt-top-slide-contents").show(); 1146 } 1147 1148 function initMainSlick(data) { 1149 var showCountMain; 1150 var showCountNav; 1151 var navTarget; 1152 1153 if (data.length == 1) { 1154 showCountMain = 1; 1155 showCountNav = 1; 1156 } else { 1157 showCountMain = 5; 1158 showCountNav = Math.min(data.length, 5); 1159 } 1160 1161 if (data.length > 5) { 1162 navTarget = "#newt-top-slide-nav"; 1163 } 1164 var mainSlideElm = $("#newt-top-slide"); 1165 var mainSlideNav = $("#newt-top-slide-nav"); 1166 1167 mainSlideElm.slick({ 1168 autoplay: true, 1169 autoplaySpeed: 3000, 1170 speed: 500, 1171 slidesToShow: showCountMain, 1172 slidesToScroll: 1,
1173 arrows: false, 1174 centerMode: true, 1175 asNavFor: navTarget, 1176 centerPadding: "0", 1177 touchThreshold: 8, 1178 responsive: [ 1179 { 1180 breakpoint: 768, 1181 settings: { 1182 slidesToShow: 1, 1183 slidesToScroll: 1, 1184 centerMode: true, 1185 centerPadding: "40px", 1186 dots: true, 1187 touchThreshold: 5, 1188 }, 1189 }, 1190 ], 1191 }); 1192 1193 mainSlideNav.slick({ 1194 speed: 400, 1195 slidesToShow: showCountNav, 1196 slidesToScroll: 1, 1197 asNavFor: "#newt-top-slide", 1198 focusOnSelect: true, 1199 variableWidth: true, 1200 }); 1201 1202 var mainSlideNavList = $("#newt-top-slide-nav .slick-slide"); 1203 1204 if (data.length <= 5) { 1205 mainSlideElm.on("afterChange", function (currentSlide, nextSlide) { 1206 var currentSlide = mainSlideElm.slick("slickCurrentSlide"); 1207 1208 currentSlide = currentSlide % data.length; 1209 mainSlideNavList.removeClass("slick-current"); 1210 mainSlideNavList.eq(currentSlide).addClass("slick-current"); 1211 }); 1212 } 1213 1214 // GA 1215 $("#newt-top-slide .slick-slide a").on("click", function () { 1216 var label = $(this).data("label"); 1217 sendGaPv(label); 1218 }); 1219 1220 function sendGaPv(label) { 1221 dataLayer.push({ 1222 category: "top", 1223 action: "main_bnr", 1224 label: label, 1225 event: "clickEventTrigger", 1226 }); 1227 } 1228 } 1229 1230 // ä»é±ããããã®é¢æ°å®ç¾© 1231 function loadOsusume() { 1232 var endpoint = jsonpEndpoints.osusume; 1233 1234 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 1235 if (!validateExternalJsonpData(data)) { 1236 return; 1237 } 1238 renderOsusume(data); 1239 }); 1240 } 1241 1242 function renderOsusume(data) { 1243 var $wrap = $("#newt-top-recommend-list"); 1244 var $ul = $("<ul>"); 1245 1246 for (var i = 0; i < data.length; i++) { 1247 var $li = $("<li>"); 1248 var $a = $("<a>", { 1249 href: data[i].link, 1250 rel: i, 1251 onclick: 1252 "dataLayer.push({category: 'top', action: 'campaign', label: '" + 1253 data[i].img_banner + 1254 "', event: 'clickEventTrigger'});", 1255 }); 1256 var $figure = $("<figure>"); 1257 var $div = $("<div>", { class: "newt-top-recommend-list-txt" }); 1258 var $span = $("<span>", { class: "label", html: data[i].service }); 1259 var $p = $("<p>").html(data[i].lead); 1260 var $img = $("<img>", { 1261 src: imgBasePath + "banner/" + data[i].img_banner, 1262 }); 1263 1264 $figure.append($img); 1265 $div.append($span, $p); 1266 $a.append($figure, $div); 1267 $li.append($a); 1268 $ul.append($li); 1269 } 1270 $wrap.append($ul); 1271 } 1272 1273 // 貯ã¾ãã»ä½¿ãããåºã®é¢æ°å®ç¾© 1274 function loadStore() { 1275 var endpoint = jsonpEndpoints.store; 1276 1277 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 1278 if (!validateExternalJsonpData(data)) { 1279 return; 1280 } 1281 renderStore(data); 1282 }); 1283 } 1284
1285 function renderStore(data) { 1286 var releaseData = []; 1287 var currentDate = new Date(); 1288 1289 // ãªãªã¼ã¹sort ==================================================== 1290 1291 for (var i = 0; i < data.length; i++) { 1292 var st = data[i].release.split("-"); 1293 var startDate = new Date( 1294 st[0] + "/" + st[1] + "/" + st[2] + " " + st[3] + ":" + st[4], 1295 ); 1296 data[i].release = startDate; 1297 1298 if (startDate < currentDate) { 1299 releaseData.push(data[i]); 1300 } 1301 } 1302 1303 releaseData.sort((a, b) => new Date(b.release) - new Date(a.release)); 1304 1305 var wrap = document.getElementById("newt-top-saveuse-list"); 1306 var ul = document.createElement("ul"); 1307 1308 for (var i = 0; i < releaseData.length; i++) { 1309 var li = document.createElement("li"); 1310 var a = document.createElement("a"); 1311 a.href = releaseData[i].link; 1312 a.dataset.index = i; 1313 a.onclick = function () { 1314 var rel = this.dataset.index; 1315 dataLayer.push({ 1316 category: "top", 1317 action: "shop", 1318 label: releaseData[rel].img, 1319 event: "clickEventTrigger", 1320 }); 1321 }; 1322 1323 li.dataset.release = releaseData[i].release; 1324 var releaseDate = new Date(releaseData[i].release); 1325 var limitDate = new Date(releaseData[i].release); 1326 limitDate = limitDate.setDate(releaseDate.getDate() + releaseData[i].new); 1327 if (currentDate < new Date(limitDate)) { 1328 a.className = "new"; 1329 } 1330 var img = new Image(); 1331 img.src = imgBasePath + "banner/" + releaseData[i].img; 1332 1333 a.appendChild(img); 1334 li.appendChild(a); 1335 ul.appendChild(li); 1336 } 1337 var urlGet = location.href; 1338 if (!urlGet.match(/logout|STKIp0001003/)) { 1339 wrap.appendChild(ul); 1340 } 1341 } 1342 1343 //ããã¿ã¼ã«ã«ã¼ã»ã«ããã¼ã®é¢æ°å®ç¾© 1344 function loadFooterSlider() { 1345 if (!$(".newt-footer-sld-bnr-slider")[0]) { 1346 return; 1347 } 1348 1349 var endpoint = jsonpEndpoints.footer; 1350 1351 fetchJsonp(endpoint.url, endpoint.callback).done(function (data) { 1352 if (!validateExternalJsonpData(data)) { 1353 return; 1354 } 1355 renderFooterSlider(data); 1356 }); 1357 } 1358 1359 function renderFooterSlider(data) { 1360 var fvData = []; 1361 var randomData = []; 1362 1363 for (var i = 0; i < data.length; i++) { 1364 if (data[i].id) { 1365 fvData.push(data[i]); 1366 } else { 1367 randomData.push(data[i]); 1368 } 1369 } 1370 1371 fvData.sort(function (a, b) { 1372 if (a.id < b.id) return -1; 1373 if (a.id > b.id) return 1; 1374 return 0; 1375 }); 1376 1377 for (i = randomData.length - 1; i > 0; i--) { 1378 var j = Math.floor(Math.random() * (i + 1)); 1379 var tmp = randomData[i]; 1380 randomData[i] = randomData[j]; 1381 randomData[j] = tmp; 1382 } 1383 1384 var sortedData = fvData.concat(randomData); 1385 1386 var wrap = $(".newt-footer-sld-bnr-slider")[0]; 1387 1388 for (var i = 0; i < sortedData.length; i++) { 1389 var div = document.createElement("div"); 1390 var span = document.createElement("span"); 1391 var a = document.createElement("a"); 1392 var figure = document.createElement("figure"); 1393 var img = new Image(); 1394 img.src = imgBasePath + "banner/" + sortedData[i].img; 1395 a.dataset.label = sortedData[i].img; 1396 a.href = sortedData[i].link; 1397 1398 figure.appendChild(img); 1399 a.appendChild(figure); 1400 span.appendChild(a); 1401 div.appendChild(span); 1402 wrap.appendChild(div); 1403 } 1404 1405 initFooterSlick(); 1406 } 1407 1408 function initFooterSlick() { 1409 var sendFlag = []; 1410 var newtFooterSldBnrSlider = $(".newt-footer-sld-bnr-slider"); 1411 1412 $(window).on("scroll", function () { 1413 watchFooterSlider(newtFooterSldBnrSlider, sendFlag); 1414 }); 1415 1416 newtFooterSldBnrSlider 1417 .slick({ 1418 autoplay: true, 1419 autoplaySpeed: 3000, 1420 speed: 400, 1421 slidesToShow: 4, 1422 slidesToScroll: 1, 1423 responsive: [ 1424 { 1425 breakpoint: 768, 1426 settings: { 1427 slidesToShow: 1, 1428 slidesToScroll: 1, 1429 centerMode: true, 1430 centerPadding: "75px", 1431 }, 1432 }, 1433 ], 1434 }) 1435 .on("afterChange", function () { 1436 watchFooterSlider(newtFooterSldBnrSlider, sendFlag); 1437 }); 1438 1439 $(".newt-footer-sld-bnr-slider .slick-slide a").on("click", function () { 1440 var label = $(this).data("label"); 1441 dataLayer.push({ 1442 category: "carousel", 1443 action: "click", 1444 label: label, 1445 event: "clickEventTrigger", 1446 }); 1447 }); 1448 1449 function sendGaPv(label) { 1450 dataLayer.push({ 1451 category: "carousel", 1452 action: "view", 1453 label: label, 1454 event: "clickEventTrigger", 1455 }); 1456 } 1457 1458 function watchFooterSlider() { 1459 if (!isVisible(newtFooterSldBnrSlider)) { 1460 return false;
1461 } 1462 newtFooterSldBnrSlider 1463 .find('.slick-slide[aria-hidden = "false"] a') 1464 .each(function (index, element) { 1465 var _label = $(element).data("label"); 1466 1467 if (sendFlag.indexOf(_label) == -1) { 1468 sendFlag.push(_label); 1469 sendGaPv(_label); 1470 } 1471 }); 1472 } 1473 1474 function isVisible(target) { 1475 var _tH = target.height(); 1476 var _per = _tH * 0.6; 1477 var _sT = $(window).scrollTop() - _per; 1478 var _sB = _sT + window.innerHeight; 1479 var _tT = target.offset().top; 1480 var _tB = _tT + _tH - _per * 2; 1481 1482 if (_sB > _tT && _sT < _tB) { 1483 return true; 1484 } 1485 1486 return false; 1487 } 1488 } 1489 1490 // ãããã¢ããæ©è½ 1491 var popupConfig = { 1492 startDate: new Date(2026, 7, 1, 0, 0, 0), // 2026/08/01 00:00:00 1493 endDate: new Date(2026, 8, 30, 23, 59, 59), // 2026/09/30 23:59:59 1494 showRatio: 0.9, // 表示確ç 1495 reShowInterval: 604800000, // 7æ¥ï¼ããªç§ï¼ 1496 lpUrl: 'https://web.tsite.jp/cpn/vpoint/coupon-matsuri2/?hensei=tsite_popup', 1497 imagePc: imgBasePath + 'img/top/_r4vp_popup_coupon_matsuri2_pc.png', 1498 imageSp: imgBasePath + 'img/top/_r4vp_popup_coupon_matsuri2_sp.png', 1499 cookieGroupKey: 'vp_popup_group', 1500 cookieClosedKey: 'vp_popup_closed_at' 1501 }; 1502 1503 function getCookie(name) { 1504 var nameEQ = name + '='; 1505 var ca = document.cookie.split(';'); 1506 for (var i = 0; i < ca.length; i++) { 1507 var c = ca[i].trim(); 1508 if (c.indexOf(nameEQ) === 0) { 1509 return c.substring(nameEQ.length); 1510 } 1511 } 1512 return null; 1513 } 1514 1515 function setCookie(name, value, expiresDate) { 1516 var expires = expiresDate ? '; expires=' + expiresDate.toUTCString() : ''; 1517 var cookieStr = name + '=' + value + expires + '; path=/; SameSite=Lax; Secure'; 1518 document.cookie = cookieStr; 1519 } 1520 1521 function injectPopupStyles() { 1522 if (document.getElementById('vp-popup-styles')) { 1523 return; 1524 } 1525 1526 var styles = document.createElement('style'); 1527 styles.id = 'vp-popup-styles'; 1528 styles.textContent = '' + 1529 '#vp-popup { display: none; } ' + 1530 '#vp-popup.is-open { display: flex; } ' + 1531 '.vp-popup { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; } ' + 1532 '.vp-popup__overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); z-index: -1; opacity: 1; animation: none; } ' + 1533 '.vp-popup__body { position: relative; width: 90%; max-width: 375px; background: #fff; border-radius: 12px; padding: 44px 14px 14px; box-sizing: border-box; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); opacity: 0; animation: vpPopupBodyFadeIn 0.42s ease forwards; } ' + 1534 '@keyframes vpPopupBodyFadeIn { from { opacity: 0; } to { opacity: 1; } } ' + 1535 '.vp-popup__img--pc { display: none; width: 100%; height: auto; } ' + 1536 '.vp-popup__img--sp { display: block; width: 100%; height: auto; } ' + 1537 '.vp-popup__kv { display: block; font-size: 0; line-height: 0; cursor: pointer; } ' + 1538 '.vp-popup__btn { position: relative; display: block; padding: 0; width: 90%; max-width: 312px; height: 44px; background: #e60012; color: #fff; text-decoration: none; border: none; border-radius: 6px; margin: 12px auto 0; cursor: pointer; font-size: 16px; font-weight: bold; text-align: center; line-height: 44px; box-sizing: border-box; } ' + 1539 '.vp-popup__btn:after { content: ">"; position: absolute; right: 16px; top: 0; font-weight: bold; } ' + 1540 '.vp-popup__close { position: absolute; top: 8px; right: 10px; width: 28px; height: 28px; background: none; border: none; cursor: pointer; z-index: 1; font-size: 22px; line-height: 28px; text-align: center; color: #333; padding: 0; } ' + 1541 '.vp-popup__close:before { content: "\\00d7"; } ' + 1542 '@media (min-width: 768px) { ' + 1543 '.vp-popup__body { max-width: 600px; padding: 48px 16px 16px; } ' + 1544 '.vp-popup__img--pc { display: block; } ' + 1545 '.vp-popup__img--sp { display: none; } ' + 1546 '.vp-popup__btn { width: 312px; } ' + 1547 '} '; 1548 1549 document.head.appendChild(styles); 1550 } 1551 1552 var popupPrevOverflow = ''; 1553 1554 // ãããã¢ãã表示å¦ç 1555 function showPopup() { 1556 var popupElm = document.getElementById('vp-popup'); 1557 if (!popupElm) { 1558 var popupHtml = '' + 1559 '<div id="vp-popup" class="vp-popup">' + 1560 '<div class="vp-popup__overlay" data-popup-close></div>' + 1561 '<div class="vp-popup__body">' + 1562 '<button type="button" class="vp-popup__close" data-popup-close></button>' + 1563 '<a href="' + popupConfig.lpUrl + '" ' + 1564 'class="vp-popup__kv" ' + 1565 'data-popup-link ' + 1566 'rel="noopener noreferrer" ' + 1567 'onclick="dataLayer.push({category:\'tsite_top\',action:\'btn_click\',label:\'tsite_popup\',event:\'clickEventTrigger\'});">' + 1568 '<img class="vp-popup__img--pc" src="' + popupConfig.imagePc + '" alt="ã¯ã¼ãã³ç¥ã" />' + 1569 '<img class="vp-popup__img--sp" src="' + popupConfig.imageSp + '" alt="ã¯ã¼ãã³ç¥ã" />' + 1570 '</a>' + 1571 '<a href="' + popupConfig.lpUrl + '" ' + 1572 'class="vp-popup__btn" ' + 1573 'data-popup-link ' + 1574 'rel="noopener noreferrer" ' + 1575 'onclick="dataLayer.push({category:\'tsite_top\',action:\'btn_click\',label:\'tsite_popup\',event:\'clickEventTrigger\'});"' + 1576 '>詳細ãè¦ã</a>' + 1577 '</div>' + 1578 '</div>'; 1579 1580 var tempDiv = document.createElement('div'); 1581 tempDiv.innerHTML = popupHtml; 1582 document.body.appendChild(tempDiv.firstChild); 1583 popupElm = document.getElementById('vp-popup'); 1584 } 1585 1586 popupPrevOverflow = document.body.style.overflow; 1587 document.body.style.overflow = 'hidden'; 1588 1589 attachPopupEventListeners(); 1590 1591 popupElm.classList.add('is-open'); 1592 1593 dataLayer.push({ 1594 event: 'popup_imp', 1595 banner_name: '2608_SummerCP' 1596 }); 1597 } 1598 1599 function closePopup() { 1600 var popupElm = document.getElementById('vp-popup'); 1601 if (!popupElm || !popupElm.classList.contains('is-open')) { 1602 return; 1603 } 1604 1605 var nowMs = new Date().getTime();
1606 setCookie(popupConfig.cookieClosedKey, String(nowMs), popupConfig.endDate); 1607 1608 popupElm.classList.remove('is-open'); 1609 1610 document.body.style.overflow = popupPrevOverflow; 1611 1612 dataLayer.push({ 1613 category: 'tsite_top', 1614 action: 'btn_click', 1615 label: 'tsite_popup_close', 1616 event: 'clickEventTrigger' 1617 }); 1618 } 1619 1620 function attachPopupEventListeners() { 1621 var closeElms = document.querySelectorAll('[data-popup-close]'); 1622 1623 for (var i = 0; i < closeElms.length; i++) { 1624 closeElms[i].addEventListener('click', function(e) { 1625 e.preventDefault(); 1626 closePopup(); 1627 }); 1628 } 1629 1630 document.addEventListener('keydown', function popupEscHandler(e) { 1631 if (e.key === 'Escape') { 1632 var popupElm = document.getElementById('vp-popup'); 1633 if (popupElm && popupElm.classList.contains('is-open')) { 1634 closePopup(); 1635 document.removeEventListener('keydown', popupEscHandler); 1636 } 1637 } 1638 }); 1639 } 1640 1641 function initPopup() { 1642 if (location.pathname !== '/') { 1643 return; 1644 } 1645 1646 var now = new Date(); 1647 if (now < popupConfig.startDate || now >= popupConfig.endDate) { 1648 return; 1649 } 1650 1651 if (!navigator.cookieEnabled) { 1652 return; 1653 } 1654 1655 var groupValue = getCookie(popupConfig.cookieGroupKey); 1656 if (!groupValue) { 1657 var rand = Math.random(); 1658 if (rand < popupConfig.showRatio) { 1659 groupValue = 'show'; 1660 } else { 1661 groupValue = 'hide'; 1662 } 1663 setCookie(popupConfig.cookieGroupKey, groupValue, popupConfig.endDate); 1664 } 1665 1666 if (groupValue !== 'show') { 1667 return; 1668 } 1669 1670 var closedAtTimestamp = getCookie(popupConfig.cookieClosedKey); 1671 if (closedAtTimestamp) { 1672 var closedAt = Number(closedAtTimestamp); 1673 var elapsedTime = now.getTime() - closedAt; 1674 if (elapsedTime < popupConfig.reShowInterval) { 1675 return; 1676 } 1677 } 1678 1679 injectPopupStyles(); 1680 showPopup(); 1681 } 1682 1683 initPopup(); 1684});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.