Mini Kabibi Habibi

Current Path : C:/Program Files/McAfee/WebAdvisor/MFW/packages/webadvisor/
Upload File :
Current File : C:/Program Files/McAfee/WebAdvisor/MFW/packages/webadvisor/wa-amazon-upsell.js

/* Accept Amazon Extension UI */
(function (wa, $) {
  var ui = (wa.UI = wa.UI || {});
  var _window = wa.Core.Window;
  var _external = wa.Utils.External;
  var _settings = wa.Utils.Settings;
  var _instrument = wa.Utils.Instrument;
  var browserCode = _instrument.getBrowserTypeCode();

  ui.accept_extension = function () {
    var $el = {
      balloonCard: $("#balloon__card"),
      headerText: $("#content__text-header"),
      contentText: $("#content__text-description"),
      contentText2: $("#content__text-description_2"),
      acceptBtn: $("#content__actions-accept"),
      declineBtn: $("#content__actions-decline"),
      footerLegal: $("#footer__legal"),
    };

    (show = function () {
      _window.ready(function () {
        var payload = JSON.parse(_external.getArgument("toast_data"));
        init(payload);

        _window.show();
      });
    }),
      (init = function (payload) {
        var lang = wa.Utils.Lang(wa.Utils.Lang.ResType.UT).get;
        var toastCount = Number(payload["toast_count"]);
        var toastCohort = Number(payload["toast_cohort"]);
        var amazonExtnStatus = Number(payload["amazon_extension_status"]);
        var url = payload["url"];

        // Polyfill of isNaN for IE version < 12;
        Number.isNaN =
          Number.isNaN ||
          function isNaN(input) {
            return typeof input === "number" && input !== input;
          };

        // Validate toastCount is valid;
        if (Number.isNaN(toastCount)) {
          _window.close();
          return;
        }

        // Validate toastCohort is valid;
        if (Number.isNaN(toastCohort)) {
          _window.close();
          return;
        }

        // Validate amazonExtnStatus is valid
        if (Number.isNaN(amazonExtnStatus)) {
          _window.close();
          return;
        }

        // Set window size
        _window.setWidth("510");

        // Add overlay localized content
        var headerLocale = "";
        var contentLocale = "";
        var contentLocale2 = "";
        var acceptLocale = "";
        var declineLocale = "";
        var productName = lang("AMAZON_UPSELL_PRODUCT_NAME");

        if (toastCohort === 3) {
          _window.setHeight("320");

          headerLocale = lang("AMAZON_UPSELL_HEADER_VARIANT_1");
          contentLocale = lang(
            "AMAZON_UPSELL_TOAST_CONTENT_VARIANT_1_FIRST"
          ).format("<strong>" + productName + "</strong>");
          contentLocale2 = lang(
            "AMAZON_UPSELL_TOAST_CONTENT_VARIANT_1_SECOND"
          ).format("<br/>");
          acceptLocale = lang("AMAZON_UPSELL_TOAST_ACCEPT");

          $(".balloon").addClass("balloon-I");
          $(".balloon__card").addClass("balloon__card-I");
        } else if (toastCohort === 4) {
          _window.setHeight("370");

          headerLocale = lang("AMAZON_UPSELL_HEADER_VARIANT_2");
          contentLocale = lang(
            "AMAZON_UPSELL_TOAST_CONTENT_VARIANT_2_FIRST"
          ).format("<strong>" + productName + "</strong>");
          contentLocale2 = lang(
            "AMAZON_UPSELL_TOAST_CONTENT_VARIANT_2_SECOND"
          ).format("<br/>");
          acceptLocale = lang("AMAZON_UPSELL_TOAST_ACCEPT");

          $(".balloon").addClass("balloon-II");
          $(".balloon__card").addClass("balloon__card-II");
        }

        declineLocale =
          toastCount === 1
            ? lang("AMAZON_UPSELL_TOAST_REMIND_LATER")
            : lang("AMAZON_UPSELL_TOAST_DECLINE");

        $el.contentText.html(contentLocale);
        $el.contentText2.html(contentLocale2);

        $el.headerText.html(headerLocale);
        $el.acceptBtn.html(acceptLocale);
        $el.declineBtn.html(declineLocale);
        $el.footerLegal.html(lang("AMAZON_UPSELL_TOAST_LEGAL"));

        sendTelemetry(
          "Impression",
          toastCount,
          toastCohort,
          amazonExtnStatus,
          url
        );

        $el.acceptBtn.click(function () {
          var extnStoreUrl =
            "https://chrome.google.com/webstore/detail/amazon-assistant-for-chro/pbjikboenpfhbbejgkoklgkhjpfogcam?hl=en-US";
          _external.browserNavigate(
            _window.getBrowserType().toUpperCase(),
            extnStoreUrl
          );
          sendTelemetry(
            "Accepted",
            toastCount,
            toastCohort,
            amazonExtnStatus,
            url
          );

          _window.close();
        });

        $el.declineBtn.click(function () {
          sendTelemetry(
            "Declined",
            toastCount,
            toastCohort,
            amazonExtnStatus,
            url
          );

          _window.close();
        });
      }),
      (sendTelemetry = function (
        actionType,
        toastCount,
        toastCohort,
        amazonExtnStatus,
        url
      ) {
        var variation =
          toastCohort === 3 ? "toast_safer_smarter" : "toast_time_money";
        var trigger = "";

        switch (amazonExtnStatus) {
          case 0:
            trigger = "installed_disabled";
            break;
          case 2:
            trigger = "installed_rejected";
            break;
          case 3:
            trigger = "not_installed";
            break;
          default:
            break;
        }
      });

    return {
      show: show,
    };
  };
})((window.WebAdvisor = window.WebAdvisor || {}), jQuery);

$(function () {
  var balloon = new WebAdvisor.UI.accept_extension();
  balloon.show();
});

//4936012D695E75AB04D5BF9786393CC534D2A6D6772564D8653A29AFE3767CCC6EF9A23DB24BF8D75254B1BF11EB0D1F2753FAEB01EEB8A1045C7A7C1B6C85FD++