(function() {// is array polyfill
if(!Array.isArray) {
  Array.isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };
}

    window.PersonalizeFX = window.PersonalizeFX || {};
    window.PersonalizeFX.client_id = "950";
    window.PersonalizeFX.pgid = "0";
    window.PersonalizeFX.gaDimension = "";

    PersonalizeFX.blocksPreview = null;

    PersonalizeFX.groupNames = {
        "61fbfed5b00c110c66eb63cb": "Contractors",
        "632318cdb00c112832fee79e": "Restaurants",
        "63231916b00c116332fee79e": "Telecommunications",
        "63231956b00c115232fee79e": "Churches",
        "6323197bb00c115232fee79f": "Educational Services/Schools",
        "63231997b00c118632fee79e": "Musical Groups/Artists",
        "63231a3fb00c110c33fee79e": "Property Managers",
        };
    PersonalizeFX.blocks = {

"63231a3fb00c110c33fee79e" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvcHJvcGVydHktaW1nLXYwMS1zY2FsZWQuanBnIiBhbHQ9IkFuIG9wZW4gY29uY2VwdCBvZmZpY2Ugc3BhY2UiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhbm5lci1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIGNvbC1tZC04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFubmVyLXRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPlNvdW5kcHJvb2ZpbmcgU29sdXRpb25zIGZvciBDb21tZXJjaWFsIFByb3BlcnR5IE1hbmFnZXJzPC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwdXNoLWJvdHRvbSI+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vcHJvZHVjdC1jYXRlZ29yeS9zb3VuZHByb29maW5nLW1hdGVyaWFscy8iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHRhYmluZGV4PSItMSI+VmlldyBTb3VuZHByb29maW5nIFByb2R1Y3RzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
"63231997b00c118632fee79e" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvbXVzaWMtaW1nLXYwMS1zY2FsZWQuanBnIiBhbHQ9IkEgcmVjb3JkaW5nIHN0dWRpbyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFubmVyLWNvbnRlbnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIgY29sLW1kLTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXItdGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+U291bmRwcm9vZmluZyBTb2x1dGlvbnMgZm9yIE11c2ljIFN0dWRpb3M8L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InB1c2gtYm90dG9tIj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5zb3VuZHByb29mY293LmNvbS9zb3VuZHByb29mLWEtc3BhY2UtcmVzdGF1cmFudC1vZmZpY2UvcmVjb3JkaW5nLXN0dWRpby1zb3VuZHByb29maW5nLyIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdGFiaW5kZXg9Ii0xIj5WaWV3IFNvdW5kcHJvb2ZpbmcgUHJvZHVjdHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4=',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
"6323197bb00c115232fee79f" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvZWR1Y2F0aW9uLWltZy12MDEtc2NhbGVkLmpwZyIgYWx0PSJBIGxhcmdlIHVuaXZlcnNpdHkgY2xhc3Nyb29tIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXItY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhbm5lci10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5Tb3VuZHByb29maW5nIFNvbHV0aW9ucyBmb3IgU2Nob29scyAmIFVuaXZlcnNpdGllczwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHVzaC1ib3R0b20iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNvdW5kcHJvb2Zjb3cuY29tL3NvdW5kcHJvb2ZpbmctMTAxL3NjaG9vbC1zb3VuZHByb29maW5nLyIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdGFiaW5kZXg9Ii0xIj5WaWV3IFNvdW5kcHJvb2ZpbmcgUHJvZHVjdHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4=',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
"63231956b00c115232fee79e" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvY2h1cmNoLWltZy12MDEtc2NhbGVkLmpwZyIgYWx0PSJSb3dzIG9mIHBld3MgaW4gYSBjaHVyY2giPgogICAgICAgIDxkaXYgY2xhc3M9ImJhbm5lci1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIGNvbC1tZC04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFubmVyLXRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPlNvdW5kcHJvb2ZpbmcgU29sdXRpb25zIGZvciBQbGFjZXMgb2YgV29yc2hpcDwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHVzaC1ib3R0b20iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNvdW5kcHJvb2Zjb3cuY29tL3NvdW5kcHJvb2YtYS1zcGFjZS1yZXN0YXVyYW50LW9mZmljZS9jaHVyY2gtd29yc2hpcC1jZW50ZXItc291bmRwcm9vZmluZy8iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHRhYmluZGV4PSItMSI+VmlldyBTb3VuZHByb29maW5nIFByb2R1Y3RzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
"63231916b00c116332fee79e" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvY2FsbC1jZW50ZXItaW1nLXYwMS1zY2FsZWQuanBnIiBhbHQ9IkRlc2tzIGluIGEgY2FsbCBjZW50ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhbm5lci1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIGNvbC1tZC04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFubmVyLXRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPlNvdW5kcHJvb2ZpbmcgU29sdXRpb25zIGZvciBDYWxsIENlbnRlcnM8L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InB1c2gtYm90dG9tIj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5zb3VuZHByb29mY293LmNvbS9zb3VuZHByb29maW5nLTEwMS9vZmZpY2Utc291bmRwcm9vZmluZy9jYWxsLWNlbnRlciIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdGFiaW5kZXg9Ii0xIj5WaWV3IFNvdW5kcHJvb2ZpbmcgUHJvZHVjdHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4=',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
"632318cdb00c112832fee79e" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvcmVzdGF1cmFudC1pbWctdjAxLXNjYWxlZC5qcGciIGFsdD0iQSBjYWZlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXItY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhbm5lci10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5Tb3VuZHByb29maW5nIFNvbHV0aW9ucyBmb3IgUmVzdGF1cmFudHM8L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InB1c2gtYm90dG9tIj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5zb3VuZHByb29mY293LmNvbS9zb3VuZHByb29mLWEtc3BhY2UtcmVzdGF1cmFudC1vZmZpY2UvcmVzdGF1cmFudC1zb3VuZHByb29maW5nLyIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdGFiaW5kZXg9Ii0xIj5WaWV3IFNvdW5kcHJvb2ZpbmcgUHJvZHVjdHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4=',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
"61fbfed5b00c110c66eb63cb" : [
		{
        "elementId" : 'banner-slider',
        "elementType" : 'class',
        "content" : 'PHNlY3Rpb24gY2xhc3M9InBmeC1iYW5uZXIiPgogICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuc291bmRwcm9vZmNvdy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvY29udHJhY3RvcnMtaW1nLXYwMS1zY2FsZWQuanBnIiBhbHQ9IlJvb20gdGhhdCBoYXMgYmVlbiBndXR0ZWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhbm5lci1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIGNvbC1tZC04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFubmVyLXRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPlNvdW5kcHJvb2ZpbmcgU29sdXRpb25zIGZvciBDb250cmFjdG9yczwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHVzaC1ib3R0b20iPkNhbGwgb3IgY29udGFjdCB1cyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBidWxrIG9yZGVyIGRpc2NvdW50cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5zb3VuZHByb29mY293LmNvbS9wcm9kdWN0LWNhdGVnb3J5L3NvdW5kcHJvb2ZpbmctbWF0ZXJpYWxzLyIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdGFiaW5kZXg9Ii0xIj5WaWV3IFNvdW5kcHJvb2ZpbmcgUHJvZHVjdHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4=',
        "uris" : [],
                "method" : 'replaceWith'
	        },
	],
    };
    PersonalizeFX.processStop = function() {
        clearInterval(PersonalizeFX.interval);
        window.PersonalizeFX.startTime = +new Date();
        PersonalizeFX.doReplace();
        window.PersonalizeFX.stopTime = +new Date();
    };
    PersonalizeFX.process = function() {
        if (PersonalizeFX.support.getCookie("mcfxMode") == null) {
            PersonalizeFX.support.setCookie("mcfxMode", "live");
        }
        if (PersonalizeFX.support.getCookie("mcfxPGIDForce") != null) {
            PersonalizeFX.pgid = PersonalizeFX.support.getCookie("mcfxPGIDForce");
        }
        else {


//        if (PersonalizeFX.support.getCookie("mcfxPGID") == null) {
            var url = ("https:" == document.location.protocol ? "https://" : "http://") + "api.leadmanagerfx.com/personalize/groupmatch/950";

            var fx_referrer = PersonalizeFX.support.getCookie("fx_referrer");
            if (fx_referrer == null)
                fx_referrer = document.referrer;

            // Query String - Try to save the original
            var fx_qs = PersonalizeFX.support.getCookie("fx_qs");
            if (fx_qs == null || fx_qs == "") {
                fx_qs =  encodeURIComponent(location.search);
                PersonalizeFX.support.setCookie("fx_qs", encodeURIComponent(location.search), 1);
            }

            let visitorId = PersonalizeFX.support.getCookie("__fx") || PersonalizeFX.support.getCookie("fx_uuid");
            var data = "fx_uuid=" + visitorId + "&fx_referrer=" + fx_referrer + "&fx_qs=" + fx_qs;
            var response = PersonalizeFX.support.ajaxPost(url, data);
            var rObj = JSON.parse(response);


            // Set a cookie to indicate we need to count this as a 'unique' visitor
            // If this value is '1', the ctfx code will pass along a flag with the visit
            // to indicate it should be counted as a 'unique' visitor in pfx
            if (rObj.mcfxPGID) {
                var mcfxPGIDcount = PersonalizeFX.support.getCookie("mcfxPGIDcount")

                if (! PersonalizeFX.support.getCookie("mcfxPGIDcount")) {
                    PersonalizeFX.support.setCookie("mcfxPGIDcount", 1)
                } else {
                    mcfxPGIDcount++;
                    PersonalizeFX.support.setCookie("mcfxPGIDcount", mcfxPGIDcount);
                }
            }


            PersonalizeFX.support.setCookie("mcfxPGID", rObj.mcfxPGID);
            PersonalizeFX.support.setCookie("mcfxLAT", rObj.mcfxLAT);
            PersonalizeFX.support.setCookie("mcfxLNG", rObj.mcfxLNG);
//        }
          PersonalizeFX.pgid = PersonalizeFX.support.getCookie("mcfxPGID");
          PersonalizeFX.uLoc = {lat: PersonalizeFX.support.getCookie("mcfxLAT"), lng: PersonalizeFX.support.getCookie("mcfxLNG")};
        }

        PersonalizeFX.interval = setInterval (PersonalizeFX.doReplace, 10);
        setTimeout (PersonalizeFX.doReplace(), 10);
    };


    PersonalizeFX.toolbarCallback = function (toolbarData) {
        $(document.body).append(toolbarData.content);
    };
    PersonalizeFX.doReplace = function() {
        if (PersonalizeFX.pgid == 0)
        {
            return;
        }

        var blocks = PersonalizeFX.blocks[PersonalizeFX.pgid];

        if (PersonalizeFX.support.getCookie('mcfxMode') == 'preview')
        {
            if (! PersonalizeFX.blocksPreview) {
                var previewContentURL = ("https:" == document.location.protocol ? "https://" : "http://") + "api.leadmanagerfx.com/personalize/previewContent/950";
                var response = PersonalizeFX.support.ajaxGet(previewContentURL);
                var responseObj= JSON.parse(response);

                PersonalizeFX.blocksPreview = responseObj.previewContent;
            }
            blocks = PersonalizeFX.blocksPreview[PersonalizeFX.pgid];
        }

        if (blocks != undefined && blocks.constructor === Array) {
        for(var i = 0; i < blocks.length; i++) {
            var obj = blocks[i];
            var content = PersonalizeFX.support.Base64.decode(obj.content);
            var uriMatch = false;
            if (obj.uris.length == 0) {
                uriMatch = true;
            }
            else {
                for (var dan = 0; dan < obj.uris.length; dan++) {
                    if (obj.uris[dan] == window.location.pathname)
                    {
                        uriMatch = true;
                    }
                }
            }

            if (uriMatch == true) {

                jqueryObjectString = undefined;
                if (obj.elementType == 'id') {
                    jqueryObjectString = '#' + obj.elementId;
                }
                else if (obj.elementType == 'class') {
                    jqueryObjectString = '.' + obj.elementId;
                }

                if (typeof (jqueryObjectString) !== 'undefined')
                {
                    if (obj.method == "replaceWith") {
                        PersonalizeFX.swapContent(obj.elementType, obj.elementId, content);
                    }
                    else {
                          var pageElements = [];

                          if (obj.elementType== 'id') {
                              var singlePageElement = document.getElementById(obj.elementId);

                              if (singlePageElement == '' || singlePageElement == undefined || singlePageElement == null) {
                               continue;
                              }

                              pageElements.push(singlePageElement);

                           } else if (obj.elementType == 'class') {
                              pageElements = document.getElementsByClassName(obj.elementId);

                           }


                           if (pageElements.length < 1) {
                               continue;
                           }

                           var j;
                           for (j=0; j < pageElements.length; j++ ) {
                               pageElements[j].innerHTML=content;
                           }

                    }
                }
            }

        }
        }
    };

    PersonalizeFX.swapContent = function (replaceType, replaceID, replacementHTML) {
        var parent = undefined;
        var pageElements = [];

        if (replaceType == 'id') {
            var singlePageElement = document.getElementById(replaceID);

            if (singlePageElement == '' || singlePageElement == undefined || singlePageElement == null) {
                return;
            }

            pageElements.push(singlePageElement);

        } else if (replaceType == 'class') {
            pageElements = document.getElementsByClassName(replaceID);
        }

        if (pageElements.length < 1) {
            return;
        }


        var i;
        for (i=0; i < pageElements.length; i++ ) {

            parent = pageElements[i].parentNode

            var nodes = parent.childNodes;

            var node;
            var len = nodes.length;
            for (var j=0; j < len; j++) {
                node = nodes[j];

                if (replaceType == 'class') {
                    if (node.className != '' && node.className != undefined) {
                        if (node.className == replaceID) {
                            PersonalizeFX.replaceNode (node, replacementHTML, parent);
                        }
                    }
                }

                else if (replaceType == 'id') {
                    if (node.id != "" && node.id != undefined) {
                        if (node.id == replaceID) {
                            PersonalizeFX.replaceNode (node, replacementHTML, parent);
                        }
                    }
                }
            }

        }
    }


    PersonalizeFX.replaceNode = function (node, html, parent) {

        var tempDiv = document.createElement('div');
        var tempData = document.createDocumentFragment();

        tempDiv.innerHTML = html;

        var elements = tempDiv.childNodes;
        var x;

        while (x=tempDiv.firstChild) {
            tempData.appendChild(x);
        }

        parent.replaceChild(tempData, node);

    }


    PersonalizeFX.support = {};
    PersonalizeFX.support.getCookie = function(c_name) {
        var i, x, y, ARRcookies = document.cookie.split(";");
        for (i = 0; i < ARRcookies.length; i++) {
            x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
            y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
            x = x.replace(/^\s+|\s+$/g, "");
            if (x == c_name) {
                return unescape(y);
            }
        }
    };
    PersonalizeFX.support.setCookie = function(c_name, value, exdays) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(value) + ((exdays == null) ? "" : "; path=/; expires=" + exdate.toUTCString());
        document.cookie = c_name + "=" + c_value;
    };
    PersonalizeFX.support.ajaxPost = function(url, passData) {
        if (window.XMLHttpRequest) {
            AJAX = new XMLHttpRequest();
        } else {
            AJAX = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (AJAX) {
            AJAX.open("POST", url, false);
            AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            AJAX.send(passData);
            return AJAX.responseText;
        } else {
            return false;
        }
    }
    PersonalizeFX.support.ajaxGet  = function(url) {
        if (window.XMLHttpRequest) {
            AJAX = new XMLHttpRequest();
        } else {
            AJAX = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (AJAX) {
            AJAX.open("GET", url, false);
            AJAX.send();
            return AJAX.responseText;
        } else {
            return false;
        }
    }


    PersonalizeFX.setGADimension = function() {

        if(PersonalizeFX.gaDimension !== '' ) {
            var dimensionValue = (PersonalizeFX.support.getCookie("mcfxPGID") !== null)
                                ? PersonalizeFX.groupNames[PersonalizeFX.support.getCookie("mcfxPGID")]
                                : "Default";

            //use legacy if exists
            if( typeof _gaq !== 'undefined' ) {
                _gaq.push(['_setCustomVar',
                  Number(PersonalizeFX.gaDimension.replace(/^dimension/, '')),
                  'PersonalizeFX',
                  dimensionValue,
                  2
               ]);
            }
            // use __gaTracker if exists
            else if( typeof __gaTracker !== 'undefined' ) {
                PersonalizeFX.gaDimension = /^dimension/.test(PersonalizeFX.gaDimension)
                    ? PersonalizeFX.gaDimension
                    : 'dimension'+PersonalizeFX.gaDimension;

                __gaTracker('set', PersonalizeFX.gaDimension, dimensionValue);
            }
            // standard Universal
            else if(typeof ga !== 'undefined' ){
                PersonalizeFX.gaDimension = /^dimension/.test(PersonalizeFX.gaDimension)
                    ? PersonalizeFX.gaDimension
                    : 'dimension'+PersonalizeFX.gaDimension;


                ga('set', PersonalizeFX.gaDimension, dimensionValue);
            }
        }

    }


    PersonalizeFX.getQueryStringParams = function (name) {
        var val = decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null;
        return val;
    }

    PersonalizeFX.support.Base64 = {
        _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

        decode : function (input) {
            var output = "";
            var chr1, chr2, chr3;
            var enc1, enc2, enc3, enc4;
            var i = 0;

            input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

            while (i < input.length) {

                enc1 = this._keyStr.indexOf(input.charAt(i++));
                enc2 = this._keyStr.indexOf(input.charAt(i++));
                enc3 = this._keyStr.indexOf(input.charAt(i++));
                enc4 = this._keyStr.indexOf(input.charAt(i++));

                chr1 = (enc1 << 2) | (enc2 >> 4);
                chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
                chr3 = ((enc3 & 3) << 6) | enc4;

                output = output + String.fromCharCode(chr1);

                if (enc3 != 64) {
                    output = output + String.fromCharCode(chr2);
                }
                if (enc4 != 64) {
                    output = output + String.fromCharCode(chr3);
                }

            }

            output = PersonalizeFX.support.Base64._utf8_decode(output);

            return output;

        },


        _utf8_decode : function (utftext) {
            var string = "";
            var i = 0;
            var c = c1 = c2 = 0;

            while ( i < utftext.length ) {

                c = utftext.charCodeAt(i);

                if (c < 128) {
                    string += String.fromCharCode(c);
                    i++;
                }
                else if((c > 191) && (c < 224)) {
                    c2 = utftext.charCodeAt(i+1);
                    string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                    i += 2;
                }
                else {
                    c2 = utftext.charCodeAt(i+1);
                    c3 = utftext.charCodeAt(i+2);
                    string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                    i += 3;
                }

            }

            return string;
        }
    }



    if (!document.getElementsByClassName) {
        document.getElementsByClassName = function(cn) {
            var allT = document.getElementsByTagName("*"),
                allCN = [],
                i = 0,
                a;
            while (a = allT[i++]) {
                a.className == cn ? allCN[allCN.length] = a : null;
            }
            return allCN;
        }
    }

!function (name, definition) {

  if (typeof module != 'undefined') module.exports = definition()
  else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)
  else this[name] = definition()

}('domready', function () {

  var fns = [], listener
    , doc = document
    , hack = doc.documentElement.doScroll
    , domContentLoaded = 'DOMContentLoaded'
    , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)


  if (!loaded)
  doc.addEventListener(domContentLoaded, listener = function () {
    doc.removeEventListener(domContentLoaded, listener)
    loaded = 1
    while (listener = fns.shift()) listener()
  })

  return function (fn) {
    loaded ? setTimeout(fn, 0) : fns.push(fn)
  }

});

PersonalizeFX.process();

domready( function () {

    var bodyElement = document.getElementsByTagName("body");
    var callbackFunction = 'function PFXtoolbarCallback(toolbarData) {if(toolbarData.groupId) {PersonalizeFX.support.setCookie("mcfxPGIDForce", toolbarData.groupId); PersonalizeFX.support.setCookie("mcfxMode", "preview"); window.location.reload();} var body = document.getElementsByTagName("body"); var newData = document.createElement("div"); newData.innerHTML += toolbarData.content; body[body.length-1].appendChild(newData);  var newscript = document.createElement("script"); newscript.type="text/javascript"; newscript.src = document.location.protocol+"//leadmanagerfx.com/admin-resources/personalizefx/toolbar.js"; body[body.length-1].appendChild(newscript);   };';

    var toolbarScript = document.createElement('script');
    toolbarScript.type = 'text/javascript';
    toolbarScript.appendChild(document.createTextNode(callbackFunction));

    bodyElement[bodyElement.length-1].appendChild(toolbarScript);

    var url = ("https:" == document.location.protocol ? "https://" : "http://") + "pfx.marketingcloudfx.com/personalize/toolbar/950?callback=PFXtoolbarCallback";

    toolbarScript = document.createElement('script');
    toolbarScript.type = 'text/javascript';
    toolbarScript.src = url;
    bodyElement[bodyElement.length-1].appendChild(toolbarScript);

    PersonalizeFX.processStop();


    if(PersonalizeFX.gaDimension !== '' ) {
        var dimensionValue = (PersonalizeFX.support.getCookie("mcfxPGID") !== null)
                                ? PersonalizeFX.groupNames[PersonalizeFX.support.getCookie("mcfxPGID")]
                                : "Default";

        //use legacy if exists
        if( typeof _gaq !== 'undefined' ) {
            _gaq.push(['_setCustomVar',
              Number(PersonalizeFX.gaDimension.replace(/^dimension/, '')),
              'PersonalizeFX',
              dimensionValue,
              2
           ]);
        }
        // use __gaTracker if exists
        else if( typeof __gaTracker !== 'undefined' ) {
            PersonalizeFX.gaDimension = /^dimension/.test(PersonalizeFX.gaDimension)
                ? PersonalizeFX.gaDimension
                : 'dimension'+PersonalizeFX.gaDimension;

            __gaTracker('set', PersonalizeFX.gaDimension, dimensionValue);
        }
        // standard Universal
        else if(typeof ga !== 'undefined' ){
            PersonalizeFX.gaDimension = /^dimension/.test(PersonalizeFX.gaDimension)
                ? PersonalizeFX.gaDimension
                : 'dimension'+PersonalizeFX.gaDimension;


            ga('set', PersonalizeFX.gaDimension, dimensionValue);
        }
    }
});
})();