(function (w, d) {
var businessKey = "otxm0hn2";
var locationKey = "";
var tenantKey = "";
var tag = "";
var accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbnRpdHlJZCI6Im90eG0waG4yIiwiZXhwIjoxNzQwNTY4NDY2LCJpc3MiOiJUcnVzdGlzdCIsImF1ZCI6IldpZGdldHMifQ.zxjy382lUj6nJGDzy38GARXyj2Ai2PGuMcKHVVCPCJ8";
var templates = {
main: '
',
noborder: '
',
};
var responsiveTemplate = '
';
var footer = '
';
function start(f) { /in/.test(document.readyState) ? setTimeout(start, 5, f) : f(); }
// add tags
tsAddCssTag("https://wassets.trustist.com/assets/css/cleanslate.css");
tsAddCssTag("https://wassets.trustist.com/assets/css/reviewslider.css");
w.trustist ??= {};
w.trustist.slider = {
draw: function () {
// iterate over all widgets on the page and render
var divs = d.querySelectorAll("[ts-reviewSliderWidget],div.ts-reviewSliderWidget");
if (divs.length === 0) {
return;
}
for (var i = 0; i < divs.length; i++) {
tsDisplayWidget(divs[i], tenantKey, businessKey, locationKey, tag);
}
}
};
start(w.trustist.slider.draw);
function tsDisplayWidget(target, tenantKey, businessKey, locationKey, tag) {
// get options before cleanslate
var options = tsReadAttributes(target);
var template = templates[options.templateName];
// see if the widget requested a different location
var lkey = options.locationKey || locationKey;
var bkey = options.businessKey || businessKey;
var tkey = options.tenantKey || tenantKey;
var tagkey = options.tag || tag;
// introduce js/css for responsive version
if (options.responsive === "true") {
template = responsiveTemplate;
tsAddCssTag("https://wassets.trustist.com/assets/css/responsiveslides.css");
tsAddScriptTag("https://wassets.trustist.com/assets/js/lib/responsiveslides.min.js");
}
// set the target's identifiers for later drawing
target.setAttribute("ts-location", lkey);
target.setAttribute("ts-business", bkey);
target.setAttribute("ts-tenant", tkey);
target.setAttribute("ts-tag", tagkey);
// put the container on the page
target.innerHTML = template
.replace("{{font-family}}", options.fontFamily)
.replace("{{color}}", options.color)
.replace(new RegExp("{{link-color}}", "g"), options.linkColor)
.replace("{{border-width}}", options.borderWidth)
.replace(new RegExp("{{shadow}}", "g"), options.shadow)
.replace("{{shadow-blur}}", options.shadowBlur)
.replace("{{slider-interval}}", options.sliderInterval * 4); // multiplied by the number of reviews to be displayed for css version
// draw widget
var xhr2 = new XMLHttpRequest();
var url = "https://widget.trustist.com/reviewlistdata?v=1&accessToken=" + accessToken + "&pageSize=" + options.pageSize + "&businessKey=" + bkey;
if (typeof tkey !== "undefined" && tkey !== "") url += "&tenantKey=" + tkey;
if (typeof bkey !== "undefined" && bkey !== "") url += "&businessKey=" + bkey;
if (typeof lkey !== "undefined" && lkey !== "") url += "&locationKey=" + lkey;
if (typeof tagkey !== "undefined" && tagkey !== "") url += "&tag=" + tagkey;
if (options.ratingsAbove > 0) url += "&ratingFrom=" + options.ratingsAbove;
if (options.exclude > '') url += "&exclude=" + options.exclude;
xhr2.open("GET", url);
xhr2.onload = function () {
if (xhr2.status === 200 && xhr2.responseText !== "") {
var reviews = JSON.parse(xhr2.responseText);
// load and draw reviews
tsDrawWidget(target, reviews, tenantKey, businessKey, locationKey, tagkey, options);
}
};
xhr2.send();
}
function tsDrawWidget(target, reviews, tenantKey, businessKey, locationKey, tagKey, options) {
var reviewContent = "";
reviews.forEach(function (review) {
reviewContent += tsRenderReview(review, options);
});
target.innerHTML = target.innerHTML
.replace("", reviewContent);
if (options.suppressFooter !== "true") {
target.innerHTML = target.innerHTML
.replace("", footer);
}
if (options.responsive === "true") {
tsStartResponsiveSlideshow(options.sliderInterval);
}
}
function tsStartResponsiveSlideshow(interval) {
// wait until function becomes available then execute
if (!jQuery(".ts-responsive-slides").responsiveSlides) {
window.setTimeout(tsStartResponsiveSlideshow, 100, interval);
} else {
jQuery(".ts-responsive-slides").responsiveSlides({
pause: true,
timeout: interval * 1000,
nav: true,
namespace: "centered-btns",
});
}
}
function tsRenderReview(review, options) {
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var d = new Date(review.datePublished);
var curr_date = d.getDate();
var curr_month = d.getMonth(); //Months are zero based
var curr_year = d.getFullYear();
var dateString = curr_date + " " + months[curr_month] + " " + curr_year;
var reply = "";
if (review.reply && review.reply !== "") {
var replyDate = new Date(review.replyDate);
var replyDateString = replyDate.getDate() + " " + months[replyDate.getMonth()] + " " + replyDate.getFullYear();
reply = "