 

  
  (function () {
    tp = window["tp"] || [];

// Set your registration term
var registrationTermId = 'TMJ6B8305544';
  tp.push(["init", function(){
    // Check if user is logged in
    if (tp.user.isUserValid()){
        // Query API to get the list of conversions
        tp.api.callApi("/conversion/list", {}, function(listData){
            if (listData.code != 0){
                return;
            }
            var conversions = listData.conversions;
            // Go through user's conversions
            for (var i in conversions){
                // Is current conversion happened on our registration term?
                if (conversions[i].term.term_id == registrationTermId){
                    return;
                }
            }
            // Create a conversion on registration term automatically
            tp.api.callApi("/conversion/registration/create", {term_id: registrationTermId}, function( conversionData ){
                // Refresh access token cookie manually
                tp.user.refreshAccessToken(true, function( accessTokenList ){
                    // All done, here you can close the offer or refresh the page
                    tp.offer.close();
                    window.location.reload();
                });
            });
        });
    }
}]);
    /* Checkout related */
    /**
     * Event properties
     *
     * chargeAmount - amount of purchase
     * chargeCurrency
     * uid
     * email
     * expires
     * rid
     * startedAt
     * termConversionId
     * termId
     * promotionId
     * token_list
     * cookie_domain
     * user_token
     *
     */
    function onCheckoutComplete(data) {
    }
  	
  	function onCheckoutExternalEvent() {
    }

   function onCheckoutClose(event) {
   }
    function onCheckoutCancel() {
    }

    function onCheckoutError() {
    }

    function onCheckoutSubmitPayment() {
    }

    /* Meter callback */
    function onMeterExpired() {

    }

    /* Meter callback */
    function onMeterActive() {

    }

    /* Callback executed when a user must login */
    function onLoginRequired() {
        // this is a reference implementation only
        // your own custom login/registration implementation would
        // need to return the tinypass-compatible userRef inside the callback

        // mysite.showLoginRegistration(function (tinypassUserRef)
        // tp.push(["setUserRef", tinypassUserRef]); // tp.offer.startCheckout(params); // }
        // this will prevent the tinypass error screen from displaying

        return false;
    }

    /* Callback executed after a tinypassAccounts login */
    function onLoginSuccess() {
    }

    /* Callback executed after an experience executed successfully */
    function onExperienceExecute(event) {
    }

    /* Callback executed if experience execution has been failed */
    function onExperienceExecutionFailed(event) {
    }

    /* Callback executed if external checkout has been completed successfully */
    function onExternalCheckoutComplete(event) {
        /* Default behavior is to refresh the page on successful checkout */
        location.reload();
    }

    tp.push(["setAid", 'HEW6hGfIpu']);
  	tp.push(["setCxenseSiteId", "5861879820240502297"]);
    tp.push(["setEndpoint", 'https://buy.tinypass.com/api/v3']);
    tp.push(["setUseTinypassAccounts", false ]);
    tp.push(["setUsePianoIdUserProvider", true ]);
    tp.push(['setPianoIdUrl', 'https://id.nationalworld.com']);

    /* checkout related events */
    tp.push(["addHandler", "checkoutComplete", onCheckoutComplete]);
    tp.push(["addHandler", "checkoutClose", onCheckoutClose]);
    tp.push(["addHandler", "checkoutCustomEvent", onCheckoutExternalEvent]);
    tp.push(["addHandler", "checkoutCancel", onCheckoutCancel]);
    tp.push(["addHandler", "checkoutError", onCheckoutError]);
    tp.push(["addHandler", "checkoutSubmitPayment", onCheckoutSubmitPayment]);

    /* user login events */
    tp.push(["addHandler", "loginRequired", onLoginRequired]);
    tp.push(["addHandler", "loginSuccess", onLoginSuccess]);

    /* meter related */
    tp.push(["addHandler", "meterExpired", onMeterExpired]);
    tp.push(["addHandler", "meterActive", onMeterActive]);

    tp.push(["addHandler", "experienceExecute", onExperienceExecute]);
    tp.push(["addHandler", "experienceExecutionFailed", onExperienceExecutionFailed]);

    /* external checkout related events */
    tp.push(["addHandler", "externalCheckoutComplete", onExternalCheckoutComplete]);
   tp.push(["addHandler", "customEvent", function(event, b, c, d) {
          switch (event.eventName) {
            case 'openLogin':
              tp.pianoId.show({screen: 'login'})
              break;
            case 'openRegister':
              tp.pianoId.show({screen: 'register'})
              break;
          }
        }
      ]);
  tp.push(["init", function () {
      	var includes_photo_tag = false;
      	var tagArray = tp.tags.split(',');
    	for (tag in tagArray) {
        	if (tagArray[tag] === 'photo article') {
            	includes_photo_tag = true;
              	console.log("TAGS >>>> " + tp.tags);
        	}
    	}
	    if (includes_photo_tag) {
          if(location.href.includes("?page=")) {
            tp.push(['setPageURL', [location.protocol, '//', location.host, location.pathname].join('')]); 
          }
    	}
        tp.experience.init()
    }]);
})();


    // do not change this section
    // |BEGIN INCLUDE TINYPASS JS|
    (function(src){var a=document.createElement("script");a.type="text/javascript";a.async=true;a.src=src;var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)})("//cdn.tinypass.com/api/tinypass.min.js");
    // |END   INCLUDE TINYPASS JS|


window.addEventListener("message", (event) => {
  let ev;

  try {
    // Check if event.data is a JSON string
    ev = JSON.parse(event.data);
  } catch (error) {
    // If not a JSON string, then it is already an object
    ev = event.data;
  }

  if (ev.event == "formSend") {
    if (ev.sender && ev.sender.startsWith("piano-id-form")) {
      if (window.location.pathname === "/profile/my-newsletters") {
        location.reload();
      }
    }
  }
});
