  (function () {
  window.PianoESPConfig = {
        id: 478
    }
    tp = window["tp"] || [];

    /* 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) {
        /* Default behavior is to refresh the page on successful checkout */
       /* if (event && event.state == "checkoutCompleted") {
            location.reload();
        } */
    }

    function onCheckoutCancel() {
    }

    function onCheckoutError() {
    }

    /* 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", 'RXUl28joTX']);
  	tp.push(["setCxenseSiteId", "1140840696962859807"])
    tp.push(["setEndpoint", 'https://vx.financial-planning.com/api/v3']);
    tp.push(["setUseTinypassAccounts", false ]);
    tp.push(["setUsePianoIdUserProvider", true ]);
    tp.push(['setPianoIdUrl', 'https://auth.financial-planning.com']);
    tp.push(['setComposerHost','https://c2.financial-planning.com']);
    tp.push(['setStaticDomain', 'https://cdn.financial-planning.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]);

    /* user login events */
    tp.push(["addHandler", "loginRequired", onLoginRequired]);
    tp.push(["addHandler", "loginSuccess", onLoginSuccess]);
   
	console.log("Integration script loaded");
   
	tp.push(["addHandler", "loginSuccess", function() {
      	if (window.location.origin === 'https://ce.financial-planning.com') {
            tp.api.callApi('/access/list', {}, function (data) {
                if (typeof data.data != "undefined") {
                    // Loop through all possible access objects
                    for (var i in data.data) {
                        // Was access granted?
                        if (data.data[i].granted) {
                            // All good, user just logged in, we can close the offer
                            tp.offer.close();
                            // Additionally we can refresh the page
                            location.reload();
                        }
                    }
                }
            });
        }
    }]);

    /* 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(["init", function() {
        tp.experience.init();
    }]); */
    

	if (navigator.userAgent.search('iPhone') > 0) {
		tp.push(["setCustomVariable","iPhone","true"]);
	}
	if (navigator.userAgent.search('android') > 0) {
		tp.push(["setCustomVariable","android","true"]);
	}


    // 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.financial-planning.com/api/tinypass.min.js");
    // |END   INCLUDE TINYPASS JS|


