// Generated by CoffeeScript 1.9.3 (function() { "use strict"; jQuery(function($) { $.ajaxSetup({ cache: true }); var preload, prepareSdk, sdkLoaded; $.support.cors = true; FS2.ns("amazon", { logout: function() { if (typeof amazon !== "undefined") { amazon.Login.logout(); } document.cookie = "amazon_Login_accessToken=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; document.cookie = "amazon_Login_state_cache=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; }, showLwaButtonV2: function() { var buttonConfig = { // set checkout environment merchantId: FS2.val.sellerId, ledgerCurrency: 'JPY', // customize the buyer experience checkoutLanguage: 'ja_JP', productType: 'SignIn', placement: 'Other', buttonColor: FS2.val.amazonButtonColor, // configure sign in signInConfig: { payloadJSON: FS2.val.payload, signature: FS2.val.signature, publicKeyId: FS2.val.publicKeyId, authtoken: FS2.val.v2AuthToken, } }; if (FS2.val.sandboxMode) { buttonConfig.sandbox = true; } amazon.Pay.renderButton('#fs2_lwaButton', buttonConfig); }, showPwaButtonV2: function() { var buttonConfig = { // set checkout environment merchantId: FS2.val.sellerId, ledgerCurrency: 'JPY', // customize the buyer experience checkoutLanguage: 'ja_JP', productType: 'PayAndShip', placement: 'Cart', buttonColor: FS2.val.amazonButtonColor }; if (FS2.val.sandboxMode) { buttonConfig.sandbox = true; } var amazonPayButton = amazon.Pay.renderButton('#fs2_pwaButton', buttonConfig); amazonPayButton.onClick(function() { if (FS2.val.googleAnalyticsEnabled && (ga && !ga.q)) { ga('send', 'event', 'fs2_pay-amazon', 'click', FS2.val.pageName, { 'hitCallback': function() { FS2.amazon.submitAndCheckout(amazonPayButton); } }); } else { FS2.amazon.submitAndCheckout(amazonPayButton); } }); }, submitAndCheckout: function(amazonPayButton) { var form = $('#form'); $("").attr("type", "hidden").attr("name", "payWithAmazonV2").appendTo(form); form.submit(); } }); preload = function() { var deferred; deferred = $.Deferred(); if (typeof window.preAmazonLogin === "function") { window.preAmazonLogin(deferred); } else { deferred.resolve(); } return deferred.promise(); }; sdkLoaded = false; if (typeof amazon !== "undefined" && typeof amazon.Login !== "undefined" && typeof amazon.Login.authorize !== "undefined") { sdkLoaded = true; } prepareSdk = function() { var deferred; deferred = $.Deferred(); if (sdkLoaded) { deferred.resolve(); return deferred.promise(); } window.onAmazonLoginReady = function() { amazon.Login.setClientId(FS2.val.clientId); amazon.Login.setRegion(amazon.Login.Region.AsiaPacific); amazon.Login.setUseCookie(true); amazon.Login.setSandboxMode(FS2.val.sandboxMode); }; $.getScript("https://assets.loginwithamazon.com/sdk/na/login1.js").done(function(script, textStatus) { sdkLoaded = true; deferred.resolve(); }).fail(function(jqxhr, settings, exception) { throw new Error("[Amazon login1.js error]exception:" + exception); }); return deferred.promise(); }; if (FS2.val.v2Enabled) { $("#fs2_lwaButton,#fs2_pwaButton").each(function(i, e) { var button; button = $(e); button.css("cursor", "pointer"); if (e.id == 'fs2_pwaButton') { FS2.amazon.showPwaButtonV2(); } else { FS2.amazon.showLwaButtonV2(); } }); } else { $(".FS2_lwaButton,.FS2_pwaButton").each(function(i, e) { var button, isPopup; button = $(e); button.css("cursor", "pointer"); isPopup = true; if (FS2.val.popup === false || button.hasClass("FS2_nonpopup")) { isPopup = false; } if (location.pathname.indexOf('/ShoppingCart.html') !== -1 || location.pathname.indexOf('/ShoppingCartDetail.html') !== -1) { isPopup = false; } if (FS2.utils.isSSL() && isPopup) { prepareSdk().done(function() { button.click(function(e) { var interactiveOption; e.preventDefault(); interactiveOption = "auto"; if (FS2.val.amazonLoggedOut === true) { FS2.amazon.logout(); interactiveOption = "always"; } amazon.Login.authorize({ scope: "profile payments:widget payments:shipping_address", popup: isPopup, interactive: interactiveOption }, function(response) { if (response.error) { FS2.amazon.logout(); } else { location.href = FS2.val.loginUrl + "?action=" + FS2.val.actionType + "&access_token=" + response.access_token; } }); }); }); } else { button.click(function(e) { e.preventDefault(); if (FS2.val.submit) { return $("#amazonHiddenSubmit").val(encodeURIComponent(location.href)).click(); } else { preload().done(function(callback) { var loginUrl, option, res, timestamp; if (typeof callback === "function") { res = callback(); if (res === false) { return; } } if (isPopup) { loginUrl = FS2.val.loginUrl + "?action=" + FS2.val.actionType; option = FS2.utils.getCenterWindowOption(770, 600); window.open(loginUrl, "fs2_amazon_login", option); } else { timestamp = new Date().getTime(); location.href = FS2.val.loginUrl + "?action=" + FS2.val.actionType + "&popup=0&from=" + (encodeURIComponent(location.href)) + "&ts=" + timestamp; } }); } }); } }); } }); }).call(this);