Permalink = {};
Permalink.Utils = {};
Permalink.Utils.importScript = function(url, nodeName)
{
if (nodeName == null) {
nodeName = "head";
}
var script = document.createElement("script");
script.type = "text/javascript";
script.async = true;
script.src = url;
var placement = document.getElementsByTagName(nodeName)[0];
placement.appendChild(script);
};
Permalink.Utils.importStyleSheet = function(url, nodeName)
{
if (nodeName == null) {
nodeName = "head";
}
var link = document.createElement("link");
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = url;
link.media = 'screen';
var placement = document.getElementsByTagName(nodeName)[0];
placement.appendChild(link);
};
Permalink.Utils.parseQueryString = function(query)
{
var params = {};
if (!query) {
return params;
}
if (query.indexOf("?") > -1) {
query = query.substring(query.indexOf("?") + 1);
}
var pairs = query.split(/[;&]/);
for (var i = 0; i < pairs.length; i++) {
var idx = pairs[i].indexOf("=");
var keyVal = [pairs[i].substring(0, idx), pairs[i].substring(idx + 1)];
if (!keyVal || keyVal.length != 2) {
continue;
}
var key = unescape(keyVal[0]);
var val = unescape(keyVal[1]);
val = val.replace(/\+/g, ' ');
params[key] = val;
}
return params;
};
Permalink.Utils.getScriptParameters = function()
{
var scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; i++) {
var src = scripts[i].src;
var idx = src.indexOf("/campaignPage.js?");
if (idx > -1) {
var queryString = src.substring(idx + ("/campaignPage.js".length+1));
return Permalink.Utils.parseQueryString(queryString);
}
}
return null;
};
Permalink.Events = {};
Permalink.Events.addListener = function(object, type, callback)
{
var event = "on" + type;
if (object.addEventListener) {
object.addEventListener(type, callback, false);
} else if (object.attachEvent) {
object.attachEvent(event, callback);
} else if (object[event] != undefined) {
try {
object[event] += callback;
} catch (Error) {
object[event] = callback;
}
}
};
Permalink.Events.removeListener = function(object, type, callback)
{
var event = "on" + type;
if (object.removeEventListener) {
object.removeEventListener(type, callback);
} else if (object.attachEvent) {
object.detachEvent(event, callback);
} else if (object[event] != undefined) {
try {
object[event] -= callback;
} catch (Error) {
object[event] = null;
}
}
};
// google anylitics account vars...
var _gaq = _gaq || [];
_gaq.push(["_setAccount", "UA-17037590-1"]);
_gaq.push(["_trackPageview"]);
Permalink.CampaignPage = {};
Permalink.CampaignPage.init = function()
{
Permalink.Utils.importStyleSheet("page/css/share-btn.css", "head");
if (typeof(jQuery) == "undefined") {
Permalink.Utils.importScript("https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", "head");
}
Permalink.Events.addListener(window, "load", function(e) {
if (typeof($) == 'function' && $ != jQuery) {
jQuery.noConflict();
}
Permalink.CampaignPage.renderShareBar();
});
// write the GA code. note that account variables are defined globally above^^^.
Permalink.Utils.importScript("https://www.google-analytics.com/ga.js", "head");
};
Permalink.CampaignPage.renderShareBar = function()
{
// remove paddings and margins if any...
jQuery('body').css({padding: '0px', margin: '0px'});
var imageMargins = "0px";
if (jQuery.browser.mozilla) {
imageMargins = "-6px";
} else if (jQuery.browser.msie && jQuery.browser.version < 8) {
imageMargins = "-2px";
}
// get paremeters...
var params = Permalink.Utils.getScriptParameters();
if (params == null) {
params.visitorHost = "https://visitor.constantcontact.com";
params.pageName = "";
params.soid = 0;
}
var ts = (new Date()).getTime();
var pageUrl = window.location.href;
// remove hash from page url so to not be shared...
if (window.location.hash) {
pageUrl = pageUrl.substring(0, pageUrl.lastIndexOf(window.location.hash));
}
var pageUrlEscaped = escape(pageUrl);
var body = jQuery('body');
// tracking targets...
var isTrackingEnabled = typeof(__plink_targets) != "undefined";
var targets = {};
if (isTrackingEnabled) {
targets = __plink_targets;
} else {
targets = {
"linkedin.post": "https://www.linkedin.com/shareArticle?url="+pageUrlEscaped,
"addthis.share": "https://www.addthis.com/bookmark.php?v=250&pub=ctctproductstrategy&url="+pageUrlEscaped,
"facebook.share": "https://www.facebook.com/sharer.php?u="+pageUrlEscaped,
"facebook.send": null,
"permalink.view": null,
"twitter.tweet": "https://twitter.com/intent/tweet?status="+params.pageName+"+"+pageUrlEscaped+"+via+%23constantcontact"
};
}
// tracking pixel...
var trackingPixel = '';
if (isTrackingEnabled && targets["permalink.view"] != null) {
trackingPixel = '';
}
// sharebar code...
var sharebar =
'