';
for (var i = 0; i < reviewSources.length; i++) {
var link = reviewSources[i];
var altText = "Leave a review for Esquires Coffee on " + link.name;
if (link.description) {
altText += " - " + link.description;
}
reviewLinkTemplate += '
';
}
reviewLinkTemplate += "
";
} else {
reviewLinkTemplate = reviewTemplate;
}
}
else {
reviewLinkTemplate = reviewTemplate;
}
}
if (typeof options.logoUrl !== "undefined" && options.logoUrl !== null && options.logoUrl !== "") {
logoStyle = "background-image: url(" + options.logoUrl + ") !important;";
}
var reviewCountText = `{{reviewCount}} ${tsGetCustomerReviewText(options.language)}`;
if (options.reviewCountLocation === "bottom") {
template && (template = template.replace("", reviewCountText));
} else {
content && (content = content.replace("", reviewCountText));
}
var captionStyle = "";
captionStyle = tsAddStyle(options.captionColour, "color", captionStyle);
template = template
.replace("{{content}}", content)
.replace("{{caption}}", options.caption)
.replace("{{captionStyle}}", captionStyle);
widgetStyle = tsAddStyle(options.borderRadius, "border-radius", widgetStyle);
widgetStyle = tsAddStyle(options.borderWidth, "border-width", widgetStyle);
widgetScoreStyle = tsAddStyle(options.colour, "color", widgetScoreStyle);
viewLinkStyle = tsAddStyle(options.viewLinkColour, "color", viewLinkStyle);
reviewLinkStyle = tsAddStyle(options.reviewLinkColour, "color", reviewLinkStyle);
reviewLinkStyle = tsAddStyle(options.reviewLinkFontFamily, "font-family", reviewLinkStyle);
reviewLinkStyle = tsAddStyle(options.reviewLinkFontSize, "font-size", reviewLinkStyle);
reviewLinkDivStyle = tsAddStyle(options.reviewLinkBackgroundColour, "background-color", reviewLinkDivStyle);
reviewLinkDivStyle = tsAddStyle(options.reviewLinkBorderRadius, "border-radius", reviewLinkDivStyle);
reviewLinkDivStyle = tsAddStyle(options.reviewLinkMarginTop, "margin-top", reviewLinkDivStyle);
target.innerHTML = template
.replace("", reviewLinkTemplate)
.replace("", options.suppressLogo ? "" : logo)
.replace(new RegExp("{{url}}", "g"), options.reviewPageUrl || "https://www.trustist.com/local-reviews/Website-Review-esquires-coffee-reviews-3432.html")
.replace(new RegExp("{{reviewScore}}", "g"), "4.2")
.replace(new RegExp("{{reviewCount}}", "g"), "14784")
.replace(new RegExp("{{reviewLink}}", "g"), reviewLink)
.replace("{{widgetStyle}}", widgetStyle)
.replace("{{viewLinkStyle}}", viewLinkStyle)
.replace("{{reviewLinkStyle}}", reviewLinkStyle)
.replace("{{reviewLinkDivStyle}}", reviewLinkDivStyle)
.replace("{{widgetScoreStyle}}", widgetScoreStyle)
.replace("{{starsPercent}}", (templateDef.starsWidth * 4.2 / 5).toFixed(0))
.replace("{{leaveReviewText}}", tsGetLeaveReviewText(options))
.replace("{{logoStyle}}", logoStyle)
.replace(new RegExp("{{rel}}", "g"), rel)
.replace(new RegExp("{{target}}", "g"), options.target);
}
function tsGetCustomerReviewText(lang) {
if (lang === "fr") {
return "Avis des clients";
} else if (lang === "de") {
return "Kundenbewertungen";
} else if (lang === "ro") {
return "Recenzii ale clientilor";
} else if (lang === "it") {
return "recensioni dei clienti";
} else if (lang === "gr") {
return "Κριτικές Πελατών";
}
return "Customer Reviews";
}
function tsGetLeaveReviewText(options) {
if (options.language === "fr") {
return "LIRE UN EXAMEN";
} else if (options.language === "de") {
return "EINE REZENSION SCHREIBEN";
} else if (options.language === "ro") {
return "REEXAMINARE LASATI";
} else if (options.language === "it") {
return "Lascia una recensione";
} else if (options.language === "gr") {
return "Αφήσετε μια κριτική";
}
return options.reviewLinkText;
}
function tsAddStyle(optionProperty, styleName, compiledStyle) {
if (typeof optionProperty !== "undefined" && optionProperty !== null) {
compiledStyle += styleName + ": " + optionProperty + " !important; ";
}
return compiledStyle;
}
function tsReadAttributes(target) {
return {
templateName: target.getAttribute("ts-widget") || "widget",
suppressReviewLink: target.getAttribute("ts-suppress-review-link") || false,
suppressLogo: target.getAttribute("ts-suppress-logo") || false,
colour: target.getAttribute("ts-colour") || "#e7711b",
reviewLinkFontSize: target.getAttribute("ts-review-link-font-size") || "16px",
reviewLinkFontFamily: target.getAttribute("ts-review-link-font-family") || "Arial, sans-serif",
reviewLinkColour: target.getAttribute("ts-review-link-colour") || target.getAttribute("ts-colour") || "#e7711b",
reviewLinkDecoration: target.getAttribute("ts-review-link-decoration"),
reviewLinkBackgroundColour: target.getAttribute("ts-review-link-background-colour"),
reviewLinkBorderRadius: target.getAttribute("ts-review-link-border-radius"),
reviewLinkMarginTop: target.getAttribute("ts-review-link-margin-top"),
reviewLinkText: target.getAttribute("ts-review-link-text") || "LEAVE A REVIEW",
captionColour: target.getAttribute("ts-caption-colour") || "auto",
noFollow: target.getAttribute("ts-nofollow") || true,
borderRadius: target.getAttribute("ts-border-radius"),
borderWidth: target.getAttribute("ts-border-width") || "1px",
locationKey: target.getAttribute("ts-location"),
businessKey: target.getAttribute("ts-business"),
language: target.getAttribute("ts-language"),
viewLinkColour: target.getAttribute("ts-view-link-colour") || target.getAttribute("ts-colour") || "#e7711b",
logoUrl: target.getAttribute("ts-logo-url"),
reviewPageUrl: target.getAttribute("ts-reviews-url"),
reviewLinks: target.getAttribute("ts-review-links"),
caption: target.getAttribute("ts-caption") || "Rating: {{reviewScore}} - {{reviewCount}} reviews",
target: target.getAttribute("ts-target") || "_blank",
reviewCountLocation: target.getAttribute("ts-review-count-location") || "content",
};
}
function tsAddCssTag(url) {
var includedAlready = tsCheckIfIncluded(url);
var head = d.getElementsByTagName("head")[0];
if (!includedAlready) {
var tag = d.createElement("link");
tag.rel = "stylesheet";
tag.type = "text/css";
tag.href = url;
head.appendChild(tag);
}
}
function tsCheckIfIncluded(file) {
var links = d.getElementsByTagName("link");
for (var i = 0; i < links.length; i++) {
if (links[i].href?.substr(-file.length) === file)
return true;
}
var scripts = d.getElementsByTagName("script");
for (var j = 0; j < scripts.length; j++) {
if (scripts[j].src?.substr(-file.length) === file)
return true;
}
return false;
}
})(window, document);