Lead #1847

Company
Jack & Drury Accountants Ltd
Website
http://jackanddruryaccountants.com
Best Contact
Email
info@jackanddruryaccountants.com (generic)

Override

Captured Pages

View text

                    
View text

                    
View text

                    
View text

                    
View text

                    
View text

                    
Emails: info@jackanddruryaccountants.com, 555-555-5555mymail@mailservice.com, 402374info@jackanddruryaccountants.com
View text
Why Choose Us Our Services Testimonials Address 10 Street Name, City NameCountry, Zip Code Get in touch 555-555-5555mymail@mailservice.com Why Choose Us Our Services Testimonials CONTACT US Chartered Certified Accountants Jack & Drury Accountants is a family run accountancy practice based in Billericay working with clients across the UK. As members of the Association of Chartered Certified Accountants we pride ourselves not only on our extensive knowledge but on being approachable and making our clients feel at ease. Request A Quotation .st0-1843181731{fill:#B7C1C3;} Affordable Prices Efficient Services Fix Fee Packages Why Choose Us? Jack & Drury Accountants provide an efficient and precise accountancy service covering personal tax, corporation tax, CIS, VAT, and various other aspects within taxation with over 12 years in practice.Whilst the services provided are typical of any accountancy practice, what makes us different is the personal service that we offer. Included within our fixed fee packages are face-to-face meetings at a location of your preference and a 24/7 monitoring of emails and texts. We are based in Billericay, Essex, but offer our services across the UK from sole traders up to small and medium sized businesses. There is no limit to the industries that we cover with existing clients in hair and beauty, construction, health and fitness, TV production and finance.For a free consultation regarding your accountancy needs please contact us at info@jackanddruryaccountants.com or fill in the form below. If you prefer to speak directly or by text, then please contact us on 01277 402374 or 07774048380. Request A Quotation Describe some quality or feature of the company. Write a short paragraph about it and choose an appropriate icon. Short title Limited Company Accounts We ensure all HMRC & Companies House yearend reporting requirements are met in a timely and tax efficient manner. Company Secretarial Services We will keep all company records up to date with the relevant authorities. VAT We will monitor your VAT situation and if necessary, register your business for VAT. Then as relevant deadlines approach, we’ll prepare and submit your vat returns. Self-Assessment Whether you are a sole trader, high PAYE earner, landlord, CIS subcontractor or must submit a return for any other reason, we can assist. CIS Returns We can prepare and submit contactor monthly returns, assist with gross status applications or reclaim any overpaid CIS held at source. HMRC We have vast experience in dealing with all aspects of HMRC including but not limited to arranging payment plans on overdue tax, appealing a tax decision, or co-operating with an investigation. Our Latest Reviews Rating ACCA Certified As practicing members of the ACCA, we adhere to the ACCA Code of Ethics. Our commitment is reflected in dedicated policies and practices governing our interactions with clients. These encompass Anti Money Laundering, Client Engagement, Fee Terms, Client Funds, and Professional Indemnity. Contact Us Name: Email: Phone: Message: Thank you for contacting us.We will get back to you as soon as possible. Oops, there was an error sending your message.Please try again later. Jack & Drury Accountants 01277 402374info@jackanddruryaccountants.com Why Choose Us Our Services Testimonials @font-face { font-family: "CenturyPSPro-Italic"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-Italic-4b04_400.ttf"); font-weight: 400; font-style: normal; } @font-face { font-family: "CenturyPSPro-Bold"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-Bold-3c0e_400.ttf"); font-weight: 400; font-style: normal; } @font-face { font-family: "CenturyPSPro-BoldItalic"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-BoldItalic-7504_400.ttf"); font-weight: 400; font-style: normal; } @font-face { font-family: "CenturyPSPro"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-fbf1_400.ttf"); font-weight: 400; font-style: normal; } img[width][height] { height: auto; } body[data-page-alias="home"] #dm [data-show-on-page-only="home"] { display: block !important; } .font-size-22, .size-22, .size-22 > font { font-size: 22px !important; }.font-size-16, .size-16, .size-16 > font { font-size: 16px !important; }.font-size-65, .size-65, .size-65 > font { font-size: 65px !important; }.font-size-24, .size-24, .size-24 > font { font-size: 24px !important; }.font-size-50, .size-50, .size-50 > font { font-size: 50px !important; }.font-size-20, .size-20, .size-20 > font { font-size: 20px !important; } var isWLR = true; window.customWidgetsFunctions = {}; window.customWidgetsStrings = {}; window.collections = {}; window.currentLanguage = "ENGLISH" window.isSitePreview = false; window.customWidgetsFunctions["f6ba52a1b66d4987903b87fdb476a9ce~270"] = function (element, data, api) { let actionLink = "https://googlereviews.api-files.com/admin/php/actions.php"; let create = new Create(); let siteID = data.siteId; let device = data.device; let headerHeight = $('.dmHeaderContainer').css("position") == "fixed" ? parseFloat($('.dmHeaderContainer').outerHeight()) : 0; let scrollTo = $(element).offset().top - headerHeight - 30; let noReviewText = "No Reviews Yet!"; let starIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" style="width: 25px; height: auto;"> <path d="M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z" /> `; let reviewList = data.config.reviewList; let emptyReview = data.config.emptyReview; let hideEmptyReview = data.config.hideEmptyReview; let hideImage = data.config.hideImage ? 'hideImage' : ''; let hideHeader = data.config.hideHeader; let shadow = data.config.shadow; let starColor = data.config.starColor; let layout = data.config.layout; let type = data.config.type; // Filter Options let lowestRating = parseFloat(data.config.lowestRating); let sortBy = data.config.sortBy ? data.config.sortBy : "default"; let transReviews = data.config.transReviews; // Slider Options let autoplay = data.config.autoplay; let autoplayDelay = data.config.autoplayDelay; let loop = data.config.loop; let pagination = data.config.pagination; let navigation = data.config.navigation; let desktopSlidesPerView = data.config.desktopSlidesPerView; let tabletSlidesPerView = data.config.tabletSlidesPerView; let mobileSlidesPerView = data.config.mobileSlidesPerView; // Pagination Options let desktopPageSize = parseInt(data.config.desktopPageSize); let tabletPageSize = parseInt(data.config.tabletPageSize); let mobilePageSize = parseInt(data.config.mobilePageSize); // Card Options let cardDesktop = data.config.cardDesktop let cardTablet = data.config.cardTablet let cardMobile = data.config.cardMobile // List Options let defaultShown = data.config.defaultShown; let buttonAlignment = data.config.buttonAlignment; // Read More let desktopCollapsedLine = data.config.desktopCollapsedLine; let tabletCollapsedLine = data.config.tabletCollapsedLine; let mobileCollapsedLine = data.config.mobileCollapsedLine; // Schema.org Markup // let schemaMarkup = data.config.schemaMarkup; let schemaMarkup = true; let ballonBackground = data.config.ballonBackground; let slidesPerView, pageSize, cardPerRow, collapsedLine, activeLocation, reviewsLength, rating_average; switch (device) { case 'desktop': slidesPerView = desktopSlidesPerView; pageSize = desktopPageSize; cardPerRow = cardDesktop; break; case 'tablet': slidesPerView = tabletSlidesPerView; pageSize = tabletPageSize; cardPerRow = cardTablet; break; default: slidesPerView = mobileSlidesPerView; pageSize = mobilePageSize; cardPerRow = cardMobile; } //CREATE MULTIPLE LINK SOURCE CSS cssLibrary('fontAwesomeSource', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css'); cssLibrary('paginationCss', 'https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.1.4/pagination.css'); cssLibrary('swiperCSS', 'https://unpkg.com/swiper/swiper-bundle.min.css'); dmAPI.runOnReady('init', function () { dmAPI.loadScript('https://cdnjs.cloudflare.com/ajax/libs/Readmore.js/2.0.2/readmore.js', function () { dmAPI.loadScript('https://unpkg.com/swiper/swiper-bundle.min.js', function () { dmAPI.loadScript('https://irt-cdn.multiscreensite.com/8914113fe39e47bcb3040f2b64f71b02/files/uploaded/paginates.min.js', function () { dmAPI.loadScript('https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.3/luxon.min.js', function () { // GET BUSINESS DETAILS FOR PLACE ID let businessDetailsOption = { action: "Fetch Account Owner Details", tableName: "Site Widgets", columnName: "Site Name", keyword: siteID } let checkDetails = action(businessDetailsOption); checkDetails.then(resp => { activeLocation = JSON.parse(resp).response.records[0].fields['Active Location']; let companyDetails = JSON.parse(resp).response.records[0].fields['Company Details']; let splitCompanyDetails = companyDetails.split("~"); let fixedCompanyDetails = splitCompanyDetails.map((i, index) => { let afterDescription = i.substring(i.indexOf(`","address"`)); let rawDescription = i.substring(i.indexOf("description") + 14).replace(afterDescription, ""); let formattedDescription = rawDescription.replaceAll('"', '\\"'); let fixedDescription = i.replace(rawDescription, formattedDescription); return fixedDescription; }); let activeCompany = fixedCompanyDetails.map(i => JSON.parse(i)); let activeCompanyList = reviewButton(activeCompany); $(element).find('div.gr-Button-Column').html(activeCompanyList); let numButton = $(element).find("div.gr-Buttons-Wrapper a").length > 5 ? $(element).find("div.gr-Buttons-Wrapper").css({ "overflow-y": "scroll" }) : ''; }); // GET REVIEWS FROM ACTIVE LOCATION let options = { action: "Get Reviews", tableName: "Site Widgets", columnName: "Site Name", keyword: siteID }; let getReviews = action(options); getReviews.then((response, request) => { let resp = JSON.parse(response).response; if (request == "success") { if (resp.length >= 1) { userReviews(response) schemaMarkup && schema(resp) $("div.gr-Rate-Star.rate-1 svg:nth-child(-n+1), div.gr-Rate-Star.rate-2 svg:nth-child(-n+2), div.gr-Rate-Star.rate-3 svg:nth-child(-n+3), div.gr-Rate-Star.rate-4 svg:nth-child(-n+4), div.gr-Rate-Star.rate-5 svg:nth-child(-n+5)").css("fill", starColor); } else { if (data.inEditor) { $(element).find('.gr-Main-Container').html(`<div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">${noReviewText} `); } else { setTimeout(preloader(), 3000); } } } else { if (data.inEditor) { $(element).find('.gr-Main-Container').html(`<div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">Error on Data Structure `); } else { setTimeout(preloader(), 3000); } } }); $(element).find('div.ballon div.gr-Rate-Wrapper').css({ "background-color": `${ballonBackground}` }); $(element).find('div.ballon div.gr-Arrow-Container').css({ "border-top-color": `${ballonBackground}` }) if (shadow && layout !== 'ballon') $(element).find("div.gr-Main-Container").addClass("swiper-shadow"); hideHeader && $(element).find(".gr-Header-Section").hide(); $('div.swiper div div.swiper-slide').mouseenter(function () { $(this).css({ "cursor": "grab" }) }).mouseleave(function () { $(this).css({ "cursor": "default" }) }).mousedown(function () { $(this).css({ "cursor": "grabbing" }) }) }); }); }); }); }); function reviewButton(items) { const removeDup = removeDuplicatedKey(items, 'placeID'); // const removeDup = removeDuplicates(items.map(i => locationDetails = JSON.parse(i)), 'placeID'); if (removeDup.length > 1) { return `<nav> <label for="touch"> <span>Write a review <input type="checkbox" id="touch"> <div class="gr-Buttons-Wrapper"> ${createButton(removeDup)} `; } else { return createButton(removeDup); } } function createButton(removeDup) { return removeDup.map(function (i) { if (!activeLocation.includes(i.locationName)) return ''; return `<a class="gr-Location-Button" href="https://search.google.com/local/writereview?placeid=${i.placeID}" target="_blank"> <div class="gr-Location-Name"> <p>${i.locationName} `; }).join(''); } function userReviews(response) { let raw_reviews = JSON.parse(response).response; if (!raw_reviews) { $(element).find('.gr-Main-Container').html(` <div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">${noReviewText} `); $(element).find(".widget-Loader-Container").hide(); $(element).find(".gr-Main-Container").show(); } let reviews = raw_reviews.filter(i => { // let comment = i.comment ? i.comment : i.review ? i.review.comment : ""; let review = i.original_review ? i.original_review : i.review ? i.translated_review : ""; if (hideEmptyReview == true) { if (!review) return } let userRating = i.starRating ? create.numRate(i.starRating) : create.numRate(i.review.starRating); return userRating >= lowestRating; }); reviewsLength = reviews.length; let totalRating = raw_reviews.map((i) => { return create.numRate(i.review ? i.review.starRating : i.starRating); }); rating_average = totalRating.reduce((a, b) => { return a + b; }) / totalRating.length; $(element).find('.gr-Title-Ratings').html(`<span>Average: ${rating_average.toFixed(2)} rating out of ${totalRating.length} reviews`); if (Object.keys(JSON.parse(response).response).length <= 0) { $(element).find('.googleReview-Section-Results').html(` <div class="googleReview-Section-NoResults"> <svg width="50px" height="50px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg"> <g id="#000000ff"> <path opacity="1.00" d=" M 121.40 21.55 C 144.36 20.07 167.74 26.29 186.87 39.09 C 208.00 53.06 223.90 74.76 230.69 99.18 C 237.74 124.07 235.30 151.53 223.84 174.73 C 213.09 196.82 194.47 214.96 172.09 225.10 C 149.20 235.61 122.52 237.52 98.35 230.43 C 73.57 223.33 51.69 206.82 37.92 185.04 C 24.72 164.44 19.09 139.17 22.15 114.90 C 24.97 91.29 36.12 68.81 53.09 52.16 C 71.17 34.17 95.91 23.02 121.40 21.55 M 124.28 75.36 C 119.98 76.88 117.11 81.38 117.34 85.91 C 117.36 103.61 117.27 121.32 117.38 139.02 C 117.41 144.57 122.43 149.43 127.97 149.31 C 133.53 149.45 138.58 144.60 138.61 139.03 C 138.71 121.02 138.70 103.01 138.62 85.01 C 138.70 77.99 130.76 72.65 124.28 75.36 M 124.43 160.66 C 117.68 162.72 115.14 171.98 119.67 177.31 C 124.42 183.66 136.01 181.83 138.08 173.98 C 141.17 166.05 132.32 157.36 124.43 160.66 Z" /> <div class="googleReview-NoResults-Text">${noReviewText} `); $(element).find(".widget-Loader-Container").hide(); $(element).find(".gr-Main-Container").show(); return; } let reviewsDOM = create.layoutDOM(reviews); $(element).find('.swiper-wrapper').html(reviewsDOM); if (type == "slider") { $(element).find(".gr-Main-Container").addClass("swiper"); const collapseDescription = setTimeout(readMoreDescription, 100); if (navigation && type == "slider") { $(element).find(".gr-Main-Container").append(`<div class="swiper-button-next"><div class="swiper-button-prev">`); } if (pagination && type == "slider") { $(element).find(".gr-Main-Container").append(`<div class="swiper-pagination">`); } const swiper = new Swiper('.swiper', { loop, slidesPerView, spaceBetween: 20, autoplay: { delay: autoplayDelay, disableOnInteraction: true, }, pagination: { el: '.swiper-pagination', dynamicBullets: true, clickable: true, }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }) if (!autoplay) swiper.autoplay.stop() } else if (type == "list") { $(element).find(".gr-Main-Container").addClass("list"); $(element).find(".gr-Main-Container").append(`<div class="swiper-load-button"><div class="swiper-load-more">Show More<div class="swiper-load-less">Show Less`); $(element).find("div.gr-Text-Description").removeClass('text-ellipsis'); // const collapseDescription = setTimeout(readMoreDescription, 100); if (buttonAlignment == 'right') { $(element).find('div.swiper-load-button div').css({ "margin-right": "0" }); } if (buttonAlignment == 'left') { $(element).find('div.swiper-load-button div').css({ "margin-left": "0" }); } loadMoreLess(); } else { $(element).find(".gr-Main-Container").addClass("grid"); $(element).find(".gr-Main-Container").pagination({ dataSource: reviews, pageSize, callback: function (data, pagination) { let structure = data.length != 0 ? create.layoutDOM(data) : ` <div class="googleReview-Section-NoResults"> <svg width="50px" height="50px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg"> <g id="#000000ff"> <path opacity="1.00" d=" M 121.40 21.55 C 144.36 20.07 167.74 26.29 186.87 39.09 C 208.00 53.06 223.90 74.76 230.69 99.18 C 237.74 124.07 235.30 151.53 223.84 174.73 C 213.09 196.82 194.47 214.96 172.09 225.10 C 149.20 235.61 122.52 237.52 98.35 230.43 C 73.57 223.33 51.69 206.82 37.92 185.04 C 24.72 164.44 19.09 139.17 22.15 114.90 C 24.97 91.29 36.12 68.81 53.09 52.16 C 71.17 34.17 95.91 23.02 121.40 21.55 M 124.28 75.36 C 119.98 76.88 117.11 81.38 117.34 85.91 C 117.36 103.61 117.27 121.32 117.38 139.02 C 117.41 144.57 122.43 149.43 127.97 149.31 C 133.53 149.45 138.58 144.60 138.61 139.03 C 138.71 121.02 138.70 103.01 138.62 85.01 C 138.70 77.99 130.76 72.65 124.28 75.36 M 124.43 160.66 C 117.68 162.72 115.14 171.98 119.67 177.31 C 124.42 183.66 136.01 181.83 138.08 173.98 C 141.17 166.05 132.32 157.36 124.43 160.66 Z" /> <div class="googleReview-NoResults-Text">${noReviewText} `; $(element).find('div.swiper-wrapper').html(structure); const collapseDescription = setTimeout(readMoreDescription, 100); $(element).find('div.gr-Main-Container.grid div.swiper-wrapper').css({'grid-template-columns': `repeat(${cardPerRow}, 1fr)`}) }, afterPageOnClick: function () { window.scrollTo({ top: scrollTo, behavior: 'smooth' }); }, afterNextOnClick: function () { window.scrollTo({ top: scrollTo, behavior: 'smooth' }); }, afterPreviousOnClick: function () { window.scrollTo({ top: scrollTo, behavior: 'smooth' }); }, afterPaging: function () { $('.googleReview-Panel-Item').hide().fadeIn(); } }); } switch (layout) { case 'postcard': $(element).find(".swiper-wrapper").addClass("postcard"); break; case 'ballon': $(element).find(".swiper-wrapper").addClass("ballon"); break; default: $(element).find(".swiper-wrapper").addClass("classic"); } setTimeout(preloader(), 3000); } function Create() { this.layoutDOM = (obj) => { let key = sortBy == "NtoO" || sortBy == "OtoN" ? "createTime" : "starRating"; if (sortBy) { obj.sort((a, b) => { let sort_a = a[key] ? this.numRate(a[key]) : this.numRate(a.review[key]); let sort_b = b[key] ? this.numRate(b[key]) : this.numRate(b.review[key]); switch (sortBy) { case "LtoH": return sort_a < sort_b ? -1 : 1; case "HtoL": return sort_a > sort_b ? -1 : 1; case "OtoN": return sort_a < sort_b ? -1 : 1; case "NtoO": return sort_a > sort_b ? -1 : 1; default: return obj; } }); } let noData = `<div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">${obj.length} result found. `; return obj.length != 0 ? create.structure(obj) : noData; } this.structure = (obj) => { return obj.map(i => { let displayName = i.displayName ? i.displayName : i.review.displayName; let defaultImage = `https://via.placeholder.com/150.png?text=${displayName.charAt(0)}`; let reviewsText = transReviews ? i.translated_review : i.original_review; // let comment = i.comment ? i.comment : i.review ? i.review.comment : ""; let userRating = i.starRating ? this.numRate(i.starRating) : this.numRate(i.review.starRating); let profilePhotoUrl = i.profilePhotoUrl ? i.profilePhotoUrl : i.review.profilePhotoUrl; let createTime = i.createTime ? i.createTime : i.review.createTime; let DateTime = luxon.DateTime; let friendlyDate = DateTime.fromISO(createTime).toLocaleString(DateTime.DATE_FULL); let newDate = DateTime.fromISO(createTime).toRelative(); return `<div class="swiper-slide gr-Section-Slide"> <div> <div class="gr-Img-Wrapper ${hideImage}"> <img src="${profilePhotoUrl ? i.profilePhotoUrl : defaultImage}" alt="${displayName}'s Image" draggable="false"> <div class="gr-Info-Wrapper"> <div class="gr-Info-Text"> <div class="gr-Text-Name">${displayName} <div class="gr-Text-Date" title="${friendlyDate}">${newDate} <div class="gr-Rate-Wrapper"> <div class="gr-Rate-Star rate-${userRating}"> ${starIcon}${starIcon}${starIcon}${starIcon}${starIcon} <div class="gr-Arrow-Container"> <div class="gr-Text-Description text-ellipsis">${reviewsText ? reviewsText : ''} `; }).join(""); //<div class="gr-Text-Description text-ellipsis">${reviewsText ? reviewsText : ''} || <div class="gr-Text-Description text-ellipsis">${comment ? comment.replace('(Translated by Google) ','') :""} //<i class="fa-solid fa-star"> <i class="fa-solid fa-star"> <i class="fa-solid fa-star"> <i class="fa-solid fa-star"> <i class="fa-solid fa-star"> }; this.numRate = (str) => { let rates = ['ZERO', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE']; if (!rates.includes(str)) { return new Date(str); } return rates.indexOf(str); }; } function schema(resp) { let schemaData = '' resp.reverse().slice(0, 1).map(i => { let addressRegion, postalCode, streetAddress, phoneNumber; let splitCompanyDetails = i.company_details.split("~"); splitCompanyDetails.filter(j => { let data = JSON.parse(j); if (data.locationName == i.active_location) { addressRegion = data.regionCode postalCode = data.PostalCode streetAddress = data.Street phoneNumber = data.phoneNumber } }) schemaData = ` { "@context": "https://schema.org/", "@type": "Review", "itemReviewed": { "@type": "Organization", "image": "", "name": "${i.active_location}", "servesCuisine": "", "priceRange": "", "telephone": "${phoneNumber}", "address" :{ "@type": "PostalAddress", "streetAddress": "${streetAddress}", "addressLocality": "", "addressRegion": "", "postalCode": "${postalCode}", "addressCountry": "${addressRegion}" } }, "reviewRating": { "@type": "Rating", "ratingValue": "${create.numRate(i.starRating)}" }, "name": "${i.original_review}", "author": { "@type": "Person", "name": "${i.displayName}" }, "publisher": { "@type": "Organization", "name": "" } } ` }) const script = document.createElement('script') script.setAttribute('type', 'application/ld+json') script.textContent = schemaData $(element).append(script) } function loadMoreLess() { // let defaultShown = 3; //3 || 6 || 9 $(`div.swiper-wrapper div.gr-Section-Slide:lt(${defaultShown})`).show(); $('div.swiper-load-less').hide(); $('div.swiper-load-more').on('click', function (e) { e.preventDefault(); // $('div.swiper-load-less').show(); shown = $('div.swiper-wrapper div.gr-Section-Slide:visible').length + 3; if (shown < reviewsLength) { $('div.swiper-wrapper div.gr-Section-Slide:lt(' + shown + ')').show(); } else { $('div.swiper-wrapper div.gr-Section-Slide:lt(' + shown + ')').show(); $('div.swiper-load-more').hide(); $('div.swiper-load-less').show(); } $('html,body').animate({ scrollTop: $(this).offset().top }, 1000) }) // .on('mouseup', function () { // const collapseDescription = setTimeout(readMoreDescription, 100); // }) $('div.swiper-load-less').on('click', function (e) { e.preventDefault(); // const collapseDescription = setTimeout(readMoreDescription, 100); $(`div.swiper-wrapper div.gr-Section-Slide:lt(${defaultShown})`).show(); $('div.swiper-load-more').show(); // if (shown >= reviewsLength) { // $('div.swiper-load-more').hide() // $(this).show() // } else { // $('div.swiper-load-more').show() // $(this).hide(); // } $('html,body').animate({ scrollTop: $(this).offset().top }, 1000) }) } function readMoreDescription() { let textHeightArr = []; $(element).find("div.gr-Text-Description").each((index, element) => { let textHeight = $(element).height(); textHeightArr.push(textHeight); }) let collapsedHeight = textHeightArr.reduce(function (accumulatedValue, currentValue) { return Math.max(accumulatedValue, currentValue); }); $(element).find("div.ballon div div.gr-Rate-Wrapper").css({ "min-height": `${collapsedHeight + 104.5}px` }); $(element).find("div.gr-Text-Description").removeClass('text-ellipsis'); $(element).find('div.gr-Text-Description').readmore({ speed: 500, collapsedHeight, moreLink: '<div class="gr-Text-ReadMore"><span class="text">Read More', lessLink: '<div class="gr-Text-ReadMore"><span class="text">Read Less', embedCSS: true, startOpen: false }); } function cssLibrary(id, href) { if (!document.getElementById(id)) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.id = id; link.rel = 'stylesheet'; link.type = 'text/css'; link.href = href; link.crossOrigin = 'anonymous'; head.appendChild(link); } } function action(data) { return $.ajax({ url: actionLink, method: "POST", data: JSON.stringify(data) }); } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); } function removeDuplicates(array, key) { return array.reduce(function (arr, item) { const removed = arr.filter(function (i) { return i[key] !== item[key]; }); return [...removed, item]; }, []); } function removeDuplicatedKey(arr, key) { return [...new Map(arr.map(item => [item[key], item])).values()] } function preloader() { $(element).find('div.widget-Loader-Container').fadeOut().remove() $(element).find('div.gr-Main-Container').fadeIn() } }; var d_version = "production_5937"; var build = "2025-11-17T07_48_19"; window['v' + 'ersion'] = d_version; function buildEditorParent() { window.isMultiScreen = true; window.editorParent = {}; window.previewParent = {}; window.assetsCacheQueryParam = "?version=2025-11-17T07_48_19"; try { var _p = window.parent; if (_p && _p.document && _p.$ && _p.$.dmfw) { window.editorParent = _p; } else if (_p.isSitePreview) { window.previewParent = _p; } } catch (e) { } } buildEditorParent(); var _jquery = window.$; var jqueryAliases = ['$', 'jquery', 'jQuery']; jqueryAliases.forEach((alias) => { Object.defineProperty(window, alias, { get() { return _jquery; }, set() { console.warn("Trying to over-write the global jquery object!"); } }); }); window.jQuery.migrateMute = true; window.cookiesNotificationMarkupPreview = 'null'; window.INSITE = window.INSITE || {}; window.INSITE.device = "desktop"; window.rtCommonProps = {}; rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; rtCommonProps["runtimecollector.url"] = 'https://rtc.multiscreensite.com'; rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; rtCommonProps["inlineEditGrid.snap"] =true; rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; rtCommonProps["rt.pushnotifs.force.button"] =true; rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; rtCommonProps["common.mapbox.js.override"] =false; rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; rtCommonProps["isCoverage.test"] =false; rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; rtCommonProps["feature.flag.mappy.kml"] =false; rtCommonProps["common.resources.dist.cdn"] =true; rtCommonProps["common.build.dist.folder"] = 'production/5937'; rtCommonProps["common.resources.cdn.host"] = 'https://static.cdn-website.com'; rtCommonProps["common.resources.folder"] = 'https://static.cdn-website.com/mnlt/production/5937'; rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; rtCommonProps["feature.flag.runOnReadyNewTask"] =true; rtCommonProps["isAutomation.test"] =false; rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; rtCommonProps['common.mapsProvider'] = 'mapbox'; rtCommonProps['common.mapsProvider.version'] = '0.52.0'; rtCommonProps['common.geocodeProvider'] = 'mapbox'; rtCommonProps['common.map.defaults.radiusSize'] = '1500'; rtCommonProps['common.map.defaults.radiusBg'] = 'rgba(255, 255, 255, 0.4)'; rtCommonProps['common.map.defaults.strokeColor'] = 'rgba(255, 255, 255, 1)'; rtCommonProps['common.map.defaults.strokeSize'] = '2'; rtCommonProps['server.for.resources'] = ''; rtCommonProps['feature.flag.lazy.widgets'] = true; rtCommonProps['feature.flag.single.wow'] = false; rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; rtCommonProps['feature.flag.mark.anchors'] = true; rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; rtCommonProps["images.sizes.small"] =160; rtCommonProps["images.sizes.mobile"] =640; rtCommonProps["images.sizes.tablet"] =1280; rtCommonProps["images.sizes.desktop"] =1920; rtCommonProps["modules.resources.cdn"] =true; rtCommonProps["import.images.storage.imageCDN"] = 'https://lirp.cdn-website.com/'; rtCommonProps["feature.flag.runtime.inp.threshold"] =150; rtCommonProps["feature.flag.performance.logs"] =true; rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; // feature flags that's used out of runtime module (in legacy files) rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; rtCommonProps["streamline.monolith.personalization.skipRuleConditionsForPreview.enabled"] =true; rtCommonProps["streamline.personalization.decodeTimeZone.enabled"] =false; window.rtFlags = {}; rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =true; rtFlags["scripts.widgetCount.enabled"] =true; rtFlags["fnb.animations.tracking.enabled"] =true; rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; rtFlags["ecom.ecwid.old.store.fix.facebook.share"] = true; rtFlags["feature.flag.photo.gallery.exact.size"] =true; rtFlags["geocode.search.localize"] =false; rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; rtFlags["twitter.heightLimit.enabled"] = true; rtFlags["runtime.lottieOverflow"] =false; rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; rtFlags["contact.form.browserValidation.enabled"] =true; rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; rtFlags["runtime.cwv.report.cls.enabled"] =true; rtFlags["runtime.cwv.report.lcp.enabled"] =false; rtFlags["flex.runtime.popup.with.show"] =true; rtFlags["contact.form.useActiveForm"] =true; rtFlags["runtime.ssr.productStore.internal.observer"] =true; rtFlags["runtime.ssr.productCustomizations"] =true; $(window).bind("orientationchange", function (e) { $.layoutManager.initLayout(); }); $(document).resize(function () { }); (function() { if (!window.location.search) { return; } const cleanParams = window.location.search.substring(1); // Strip ? const queryParams = cleanParams.split('&'); const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; const domain = 'domain=' + window.location.hostname; const path = "path=/"; queryParams.forEach((param) => { const [key, value = ''] = param.split('='); if (key.startsWith('utm_')) { const cookieName = "_dm_rt_" + key.substring(4); const cookie = cookieName + "=" + value; const joined = [cookie, expires, domain, path].join(";"); document.cookie = joined; } }); }()); var _dm_gaq = {}; var _gaq = _gaq || []; var _dm_insite = []; window.dataLayer = window.dataLayer || []; window.dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); window.dmsnowplow = window.snowplow; dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker appId: '6918ebc1' }); // snowplow queries element styles so we wait until CSS calculations are done. requestAnimationFrame(() => { dmsnowplow('trackPageView'); _dm_insite.forEach((rule) => { // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here // the tracking is in popup.js if (rule.actionName !== "popup") { dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); } window?.waitForDeferred?.('dmAjax', () => { $.DM.events.trigger('event-ruleTriggered', {value: rule}); }); }); }); Share by: window?.waitForDeferred?.('dmAjax', () => { // Collects client data and updates cookies used by smart sites window.expireDays = 365; window.visitLength = 30 * 60000; $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); }); Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; Parameters.NavigationAreaParams.LessButtonText = 'LESS'; Parameters.HomeLinkText = 'Home';
Emails: info@jackanddruryaccountants.com, 555-555-5555mymail@mailservice.com, 402374info@jackanddruryaccountants.com
View text
Why Choose Us Our Services Testimonials Address 10 Street Name, City NameCountry, Zip Code Get in touch 555-555-5555mymail@mailservice.com Why Choose Us Our Services Testimonials CONTACT US Chartered Certified Accountants Jack & Drury Accountants is a family run accountancy practice based in Billericay working with clients across the UK. As members of the Association of Chartered Certified Accountants we pride ourselves not only on our extensive knowledge but on being approachable and making our clients feel at ease. Request A Quotation .st0-1843181731{fill:#B7C1C3;} Affordable Prices Efficient Services Fix Fee Packages Why Choose Us? Jack & Drury Accountants provide an efficient and precise accountancy service covering personal tax, corporation tax, CIS, VAT, and various other aspects within taxation with over 12 years in practice.Whilst the services provided are typical of any accountancy practice, what makes us different is the personal service that we offer. Included within our fixed fee packages are face-to-face meetings at a location of your preference and a 24/7 monitoring of emails and texts. We are based in Billericay, Essex, but offer our services across the UK from sole traders up to small and medium sized businesses. There is no limit to the industries that we cover with existing clients in hair and beauty, construction, health and fitness, TV production and finance.For a free consultation regarding your accountancy needs please contact us at info@jackanddruryaccountants.com or fill in the form below. If you prefer to speak directly or by text, then please contact us on 01277 402374 or 07774048380. Request A Quotation Describe some quality or feature of the company. Write a short paragraph about it and choose an appropriate icon. Short title Limited Company Accounts We ensure all HMRC & Companies House yearend reporting requirements are met in a timely and tax efficient manner. Company Secretarial Services We will keep all company records up to date with the relevant authorities. VAT We will monitor your VAT situation and if necessary, register your business for VAT. Then as relevant deadlines approach, we’ll prepare and submit your vat returns. Self-Assessment Whether you are a sole trader, high PAYE earner, landlord, CIS subcontractor or must submit a return for any other reason, we can assist. CIS Returns We can prepare and submit contactor monthly returns, assist with gross status applications or reclaim any overpaid CIS held at source. HMRC We have vast experience in dealing with all aspects of HMRC including but not limited to arranging payment plans on overdue tax, appealing a tax decision, or co-operating with an investigation. Our Latest Reviews Rating ACCA Certified As practicing members of the ACCA, we adhere to the ACCA Code of Ethics. Our commitment is reflected in dedicated policies and practices governing our interactions with clients. These encompass Anti Money Laundering, Client Engagement, Fee Terms, Client Funds, and Professional Indemnity. Contact Us Name: Email: Phone: Message: Thank you for contacting us.We will get back to you as soon as possible. Oops, there was an error sending your message.Please try again later. Jack & Drury Accountants 01277 402374info@jackanddruryaccountants.com Why Choose Us Our Services Testimonials @font-face { font-family: "CenturyPSPro-Italic"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-Italic-4b04_400.ttf"); font-weight: 400; font-style: normal; } @font-face { font-family: "CenturyPSPro-Bold"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-Bold-3c0e_400.ttf"); font-weight: 400; font-style: normal; } @font-face { font-family: "CenturyPSPro-BoldItalic"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-BoldItalic-7504_400.ttf"); font-weight: 400; font-style: normal; } @font-face { font-family: "CenturyPSPro"; src: url("https://irp.cdn-website.com/6918ebc1/fonts/CenturyPSPro-fbf1_400.ttf"); font-weight: 400; font-style: normal; } img[width][height] { height: auto; } body[data-page-alias="home"] #dm [data-show-on-page-only="home"] { display: block !important; } .font-size-22, .size-22, .size-22 > font { font-size: 22px !important; }.font-size-16, .size-16, .size-16 > font { font-size: 16px !important; }.font-size-65, .size-65, .size-65 > font { font-size: 65px !important; }.font-size-24, .size-24, .size-24 > font { font-size: 24px !important; }.font-size-50, .size-50, .size-50 > font { font-size: 50px !important; }.font-size-20, .size-20, .size-20 > font { font-size: 20px !important; } var isWLR = true; window.customWidgetsFunctions = {}; window.customWidgetsStrings = {}; window.collections = {}; window.currentLanguage = "ENGLISH" window.isSitePreview = false; window.customWidgetsFunctions["f6ba52a1b66d4987903b87fdb476a9ce~270"] = function (element, data, api) { let actionLink = "https://googlereviews.api-files.com/admin/php/actions.php"; let create = new Create(); let siteID = data.siteId; let device = data.device; let headerHeight = $('.dmHeaderContainer').css("position") == "fixed" ? parseFloat($('.dmHeaderContainer').outerHeight()) : 0; let scrollTo = $(element).offset().top - headerHeight - 30; let noReviewText = "No Reviews Yet!"; let starIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" style="width: 25px; height: auto;"> <path d="M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z" /> `; let reviewList = data.config.reviewList; let emptyReview = data.config.emptyReview; let hideEmptyReview = data.config.hideEmptyReview; let hideImage = data.config.hideImage ? 'hideImage' : ''; let hideHeader = data.config.hideHeader; let shadow = data.config.shadow; let starColor = data.config.starColor; let layout = data.config.layout; let type = data.config.type; // Filter Options let lowestRating = parseFloat(data.config.lowestRating); let sortBy = data.config.sortBy ? data.config.sortBy : "default"; let transReviews = data.config.transReviews; // Slider Options let autoplay = data.config.autoplay; let autoplayDelay = data.config.autoplayDelay; let loop = data.config.loop; let pagination = data.config.pagination; let navigation = data.config.navigation; let desktopSlidesPerView = data.config.desktopSlidesPerView; let tabletSlidesPerView = data.config.tabletSlidesPerView; let mobileSlidesPerView = data.config.mobileSlidesPerView; // Pagination Options let desktopPageSize = parseInt(data.config.desktopPageSize); let tabletPageSize = parseInt(data.config.tabletPageSize); let mobilePageSize = parseInt(data.config.mobilePageSize); // Card Options let cardDesktop = data.config.cardDesktop let cardTablet = data.config.cardTablet let cardMobile = data.config.cardMobile // List Options let defaultShown = data.config.defaultShown; let buttonAlignment = data.config.buttonAlignment; // Read More let desktopCollapsedLine = data.config.desktopCollapsedLine; let tabletCollapsedLine = data.config.tabletCollapsedLine; let mobileCollapsedLine = data.config.mobileCollapsedLine; // Schema.org Markup // let schemaMarkup = data.config.schemaMarkup; let schemaMarkup = true; let ballonBackground = data.config.ballonBackground; let slidesPerView, pageSize, cardPerRow, collapsedLine, activeLocation, reviewsLength, rating_average; switch (device) { case 'desktop': slidesPerView = desktopSlidesPerView; pageSize = desktopPageSize; cardPerRow = cardDesktop; break; case 'tablet': slidesPerView = tabletSlidesPerView; pageSize = tabletPageSize; cardPerRow = cardTablet; break; default: slidesPerView = mobileSlidesPerView; pageSize = mobilePageSize; cardPerRow = cardMobile; } //CREATE MULTIPLE LINK SOURCE CSS cssLibrary('fontAwesomeSource', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css'); cssLibrary('paginationCss', 'https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.1.4/pagination.css'); cssLibrary('swiperCSS', 'https://unpkg.com/swiper/swiper-bundle.min.css'); dmAPI.runOnReady('init', function () { dmAPI.loadScript('https://cdnjs.cloudflare.com/ajax/libs/Readmore.js/2.0.2/readmore.js', function () { dmAPI.loadScript('https://unpkg.com/swiper/swiper-bundle.min.js', function () { dmAPI.loadScript('https://irt-cdn.multiscreensite.com/8914113fe39e47bcb3040f2b64f71b02/files/uploaded/paginates.min.js', function () { dmAPI.loadScript('https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.3/luxon.min.js', function () { // GET BUSINESS DETAILS FOR PLACE ID let businessDetailsOption = { action: "Fetch Account Owner Details", tableName: "Site Widgets", columnName: "Site Name", keyword: siteID } let checkDetails = action(businessDetailsOption); checkDetails.then(resp => { activeLocation = JSON.parse(resp).response.records[0].fields['Active Location']; let companyDetails = JSON.parse(resp).response.records[0].fields['Company Details']; let splitCompanyDetails = companyDetails.split("~"); let fixedCompanyDetails = splitCompanyDetails.map((i, index) => { let afterDescription = i.substring(i.indexOf(`","address"`)); let rawDescription = i.substring(i.indexOf("description") + 14).replace(afterDescription, ""); let formattedDescription = rawDescription.replaceAll('"', '\\"'); let fixedDescription = i.replace(rawDescription, formattedDescription); return fixedDescription; }); let activeCompany = fixedCompanyDetails.map(i => JSON.parse(i)); let activeCompanyList = reviewButton(activeCompany); $(element).find('div.gr-Button-Column').html(activeCompanyList); let numButton = $(element).find("div.gr-Buttons-Wrapper a").length > 5 ? $(element).find("div.gr-Buttons-Wrapper").css({ "overflow-y": "scroll" }) : ''; }); // GET REVIEWS FROM ACTIVE LOCATION let options = { action: "Get Reviews", tableName: "Site Widgets", columnName: "Site Name", keyword: siteID }; let getReviews = action(options); getReviews.then((response, request) => { let resp = JSON.parse(response).response; if (request == "success") { if (resp.length >= 1) { userReviews(response) schemaMarkup && schema(resp) $("div.gr-Rate-Star.rate-1 svg:nth-child(-n+1), div.gr-Rate-Star.rate-2 svg:nth-child(-n+2), div.gr-Rate-Star.rate-3 svg:nth-child(-n+3), div.gr-Rate-Star.rate-4 svg:nth-child(-n+4), div.gr-Rate-Star.rate-5 svg:nth-child(-n+5)").css("fill", starColor); } else { if (data.inEditor) { $(element).find('.gr-Main-Container').html(`<div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">${noReviewText} `); } else { setTimeout(preloader(), 3000); } } } else { if (data.inEditor) { $(element).find('.gr-Main-Container').html(`<div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">Error on Data Structure `); } else { setTimeout(preloader(), 3000); } } }); $(element).find('div.ballon div.gr-Rate-Wrapper').css({ "background-color": `${ballonBackground}` }); $(element).find('div.ballon div.gr-Arrow-Container').css({ "border-top-color": `${ballonBackground}` }) if (shadow && layout !== 'ballon') $(element).find("div.gr-Main-Container").addClass("swiper-shadow"); hideHeader && $(element).find(".gr-Header-Section").hide(); $('div.swiper div div.swiper-slide').mouseenter(function () { $(this).css({ "cursor": "grab" }) }).mouseleave(function () { $(this).css({ "cursor": "default" }) }).mousedown(function () { $(this).css({ "cursor": "grabbing" }) }) }); }); }); }); }); function reviewButton(items) { const removeDup = removeDuplicatedKey(items, 'placeID'); // const removeDup = removeDuplicates(items.map(i => locationDetails = JSON.parse(i)), 'placeID'); if (removeDup.length > 1) { return `<nav> <label for="touch"> <span>Write a review <input type="checkbox" id="touch"> <div class="gr-Buttons-Wrapper"> ${createButton(removeDup)} `; } else { return createButton(removeDup); } } function createButton(removeDup) { return removeDup.map(function (i) { if (!activeLocation.includes(i.locationName)) return ''; return `<a class="gr-Location-Button" href="https://search.google.com/local/writereview?placeid=${i.placeID}" target="_blank"> <div class="gr-Location-Name"> <p>${i.locationName} `; }).join(''); } function userReviews(response) { let raw_reviews = JSON.parse(response).response; if (!raw_reviews) { $(element).find('.gr-Main-Container').html(` <div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">${noReviewText} `); $(element).find(".widget-Loader-Container").hide(); $(element).find(".gr-Main-Container").show(); } let reviews = raw_reviews.filter(i => { // let comment = i.comment ? i.comment : i.review ? i.review.comment : ""; let review = i.original_review ? i.original_review : i.review ? i.translated_review : ""; if (hideEmptyReview == true) { if (!review) return } let userRating = i.starRating ? create.numRate(i.starRating) : create.numRate(i.review.starRating); return userRating >= lowestRating; }); reviewsLength = reviews.length; let totalRating = raw_reviews.map((i) => { return create.numRate(i.review ? i.review.starRating : i.starRating); }); rating_average = totalRating.reduce((a, b) => { return a + b; }) / totalRating.length; $(element).find('.gr-Title-Ratings').html(`<span>Average: ${rating_average.toFixed(2)} rating out of ${totalRating.length} reviews`); if (Object.keys(JSON.parse(response).response).length <= 0) { $(element).find('.googleReview-Section-Results').html(` <div class="googleReview-Section-NoResults"> <svg width="50px" height="50px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg"> <g id="#000000ff"> <path opacity="1.00" d=" M 121.40 21.55 C 144.36 20.07 167.74 26.29 186.87 39.09 C 208.00 53.06 223.90 74.76 230.69 99.18 C 237.74 124.07 235.30 151.53 223.84 174.73 C 213.09 196.82 194.47 214.96 172.09 225.10 C 149.20 235.61 122.52 237.52 98.35 230.43 C 73.57 223.33 51.69 206.82 37.92 185.04 C 24.72 164.44 19.09 139.17 22.15 114.90 C 24.97 91.29 36.12 68.81 53.09 52.16 C 71.17 34.17 95.91 23.02 121.40 21.55 M 124.28 75.36 C 119.98 76.88 117.11 81.38 117.34 85.91 C 117.36 103.61 117.27 121.32 117.38 139.02 C 117.41 144.57 122.43 149.43 127.97 149.31 C 133.53 149.45 138.58 144.60 138.61 139.03 C 138.71 121.02 138.70 103.01 138.62 85.01 C 138.70 77.99 130.76 72.65 124.28 75.36 M 124.43 160.66 C 117.68 162.72 115.14 171.98 119.67 177.31 C 124.42 183.66 136.01 181.83 138.08 173.98 C 141.17 166.05 132.32 157.36 124.43 160.66 Z" /> <div class="googleReview-NoResults-Text">${noReviewText} `); $(element).find(".widget-Loader-Container").hide(); $(element).find(".gr-Main-Container").show(); return; } let reviewsDOM = create.layoutDOM(reviews); $(element).find('.swiper-wrapper').html(reviewsDOM); if (type == "slider") { $(element).find(".gr-Main-Container").addClass("swiper"); const collapseDescription = setTimeout(readMoreDescription, 100); if (navigation && type == "slider") { $(element).find(".gr-Main-Container").append(`<div class="swiper-button-next"><div class="swiper-button-prev">`); } if (pagination && type == "slider") { $(element).find(".gr-Main-Container").append(`<div class="swiper-pagination">`); } const swiper = new Swiper('.swiper', { loop, slidesPerView, spaceBetween: 20, autoplay: { delay: autoplayDelay, disableOnInteraction: true, }, pagination: { el: '.swiper-pagination', dynamicBullets: true, clickable: true, }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }) if (!autoplay) swiper.autoplay.stop() } else if (type == "list") { $(element).find(".gr-Main-Container").addClass("list"); $(element).find(".gr-Main-Container").append(`<div class="swiper-load-button"><div class="swiper-load-more">Show More<div class="swiper-load-less">Show Less`); $(element).find("div.gr-Text-Description").removeClass('text-ellipsis'); // const collapseDescription = setTimeout(readMoreDescription, 100); if (buttonAlignment == 'right') { $(element).find('div.swiper-load-button div').css({ "margin-right": "0" }); } if (buttonAlignment == 'left') { $(element).find('div.swiper-load-button div').css({ "margin-left": "0" }); } loadMoreLess(); } else { $(element).find(".gr-Main-Container").addClass("grid"); $(element).find(".gr-Main-Container").pagination({ dataSource: reviews, pageSize, callback: function (data, pagination) { let structure = data.length != 0 ? create.layoutDOM(data) : ` <div class="googleReview-Section-NoResults"> <svg width="50px" height="50px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg"> <g id="#000000ff"> <path opacity="1.00" d=" M 121.40 21.55 C 144.36 20.07 167.74 26.29 186.87 39.09 C 208.00 53.06 223.90 74.76 230.69 99.18 C 237.74 124.07 235.30 151.53 223.84 174.73 C 213.09 196.82 194.47 214.96 172.09 225.10 C 149.20 235.61 122.52 237.52 98.35 230.43 C 73.57 223.33 51.69 206.82 37.92 185.04 C 24.72 164.44 19.09 139.17 22.15 114.90 C 24.97 91.29 36.12 68.81 53.09 52.16 C 71.17 34.17 95.91 23.02 121.40 21.55 M 124.28 75.36 C 119.98 76.88 117.11 81.38 117.34 85.91 C 117.36 103.61 117.27 121.32 117.38 139.02 C 117.41 144.57 122.43 149.43 127.97 149.31 C 133.53 149.45 138.58 144.60 138.61 139.03 C 138.71 121.02 138.70 103.01 138.62 85.01 C 138.70 77.99 130.76 72.65 124.28 75.36 M 124.43 160.66 C 117.68 162.72 115.14 171.98 119.67 177.31 C 124.42 183.66 136.01 181.83 138.08 173.98 C 141.17 166.05 132.32 157.36 124.43 160.66 Z" /> <div class="googleReview-NoResults-Text">${noReviewText} `; $(element).find('div.swiper-wrapper').html(structure); const collapseDescription = setTimeout(readMoreDescription, 100); $(element).find('div.gr-Main-Container.grid div.swiper-wrapper').css({'grid-template-columns': `repeat(${cardPerRow}, 1fr)`}) }, afterPageOnClick: function () { window.scrollTo({ top: scrollTo, behavior: 'smooth' }); }, afterNextOnClick: function () { window.scrollTo({ top: scrollTo, behavior: 'smooth' }); }, afterPreviousOnClick: function () { window.scrollTo({ top: scrollTo, behavior: 'smooth' }); }, afterPaging: function () { $('.googleReview-Panel-Item').hide().fadeIn(); } }); } switch (layout) { case 'postcard': $(element).find(".swiper-wrapper").addClass("postcard"); break; case 'ballon': $(element).find(".swiper-wrapper").addClass("ballon"); break; default: $(element).find(".swiper-wrapper").addClass("classic"); } setTimeout(preloader(), 3000); } function Create() { this.layoutDOM = (obj) => { let key = sortBy == "NtoO" || sortBy == "OtoN" ? "createTime" : "starRating"; if (sortBy) { obj.sort((a, b) => { let sort_a = a[key] ? this.numRate(a[key]) : this.numRate(a.review[key]); let sort_b = b[key] ? this.numRate(b[key]) : this.numRate(b.review[key]); switch (sortBy) { case "LtoH": return sort_a < sort_b ? -1 : 1; case "HtoL": return sort_a > sort_b ? -1 : 1; case "OtoN": return sort_a < sort_b ? -1 : 1; case "NtoO": return sort_a > sort_b ? -1 : 1; default: return obj; } }); } let noData = `<div class="gr-Section-NoResults"> <i class="fas fa-exclamation-circle"> <div class="gr-NoResults-Text">${obj.length} result found. `; return obj.length != 0 ? create.structure(obj) : noData; } this.structure = (obj) => { return obj.map(i => { let displayName = i.displayName ? i.displayName : i.review.displayName; let defaultImage = `https://via.placeholder.com/150.png?text=${displayName.charAt(0)}`; let reviewsText = transReviews ? i.translated_review : i.original_review; // let comment = i.comment ? i.comment : i.review ? i.review.comment : ""; let userRating = i.starRating ? this.numRate(i.starRating) : this.numRate(i.review.starRating); let profilePhotoUrl = i.profilePhotoUrl ? i.profilePhotoUrl : i.review.profilePhotoUrl; let createTime = i.createTime ? i.createTime : i.review.createTime; let DateTime = luxon.DateTime; let friendlyDate = DateTime.fromISO(createTime).toLocaleString(DateTime.DATE_FULL); let newDate = DateTime.fromISO(createTime).toRelative(); return `<div class="swiper-slide gr-Section-Slide"> <div> <div class="gr-Img-Wrapper ${hideImage}"> <img src="${profilePhotoUrl ? i.profilePhotoUrl : defaultImage}" alt="${displayName}'s Image" draggable="false"> <div class="gr-Info-Wrapper"> <div class="gr-Info-Text"> <div class="gr-Text-Name">${displayName} <div class="gr-Text-Date" title="${friendlyDate}">${newDate} <div class="gr-Rate-Wrapper"> <div class="gr-Rate-Star rate-${userRating}"> ${starIcon}${starIcon}${starIcon}${starIcon}${starIcon} <div class="gr-Arrow-Container"> <div class="gr-Text-Description text-ellipsis">${reviewsText ? reviewsText : ''} `; }).join(""); //<div class="gr-Text-Description text-ellipsis">${reviewsText ? reviewsText : ''} || <div class="gr-Text-Description text-ellipsis">${comment ? comment.replace('(Translated by Google) ','') :""} //<i class="fa-solid fa-star"> <i class="fa-solid fa-star"> <i class="fa-solid fa-star"> <i class="fa-solid fa-star"> <i class="fa-solid fa-star"> }; this.numRate = (str) => { let rates = ['ZERO', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE']; if (!rates.includes(str)) { return new Date(str); } return rates.indexOf(str); }; } function schema(resp) { let schemaData = '' resp.reverse().slice(0, 1).map(i => { let addressRegion, postalCode, streetAddress, phoneNumber; let splitCompanyDetails = i.company_details.split("~"); splitCompanyDetails.filter(j => { let data = JSON.parse(j); if (data.locationName == i.active_location) { addressRegion = data.regionCode postalCode = data.PostalCode streetAddress = data.Street phoneNumber = data.phoneNumber } }) schemaData = ` { "@context": "https://schema.org/", "@type": "Review", "itemReviewed": { "@type": "Organization", "image": "", "name": "${i.active_location}", "servesCuisine": "", "priceRange": "", "telephone": "${phoneNumber}", "address" :{ "@type": "PostalAddress", "streetAddress": "${streetAddress}", "addressLocality": "", "addressRegion": "", "postalCode": "${postalCode}", "addressCountry": "${addressRegion}" } }, "reviewRating": { "@type": "Rating", "ratingValue": "${create.numRate(i.starRating)}" }, "name": "${i.original_review}", "author": { "@type": "Person", "name": "${i.displayName}" }, "publisher": { "@type": "Organization", "name": "" } } ` }) const script = document.createElement('script') script.setAttribute('type', 'application/ld+json') script.textContent = schemaData $(element).append(script) } function loadMoreLess() { // let defaultShown = 3; //3 || 6 || 9 $(`div.swiper-wrapper div.gr-Section-Slide:lt(${defaultShown})`).show(); $('div.swiper-load-less').hide(); $('div.swiper-load-more').on('click', function (e) { e.preventDefault(); // $('div.swiper-load-less').show(); shown = $('div.swiper-wrapper div.gr-Section-Slide:visible').length + 3; if (shown < reviewsLength) { $('div.swiper-wrapper div.gr-Section-Slide:lt(' + shown + ')').show(); } else { $('div.swiper-wrapper div.gr-Section-Slide:lt(' + shown + ')').show(); $('div.swiper-load-more').hide(); $('div.swiper-load-less').show(); } $('html,body').animate({ scrollTop: $(this).offset().top }, 1000) }) // .on('mouseup', function () { // const collapseDescription = setTimeout(readMoreDescription, 100); // }) $('div.swiper-load-less').on('click', function (e) { e.preventDefault(); // const collapseDescription = setTimeout(readMoreDescription, 100); $(`div.swiper-wrapper div.gr-Section-Slide:lt(${defaultShown})`).show(); $('div.swiper-load-more').show(); // if (shown >= reviewsLength) { // $('div.swiper-load-more').hide() // $(this).show() // } else { // $('div.swiper-load-more').show() // $(this).hide(); // } $('html,body').animate({ scrollTop: $(this).offset().top }, 1000) }) } function readMoreDescription() { let textHeightArr = []; $(element).find("div.gr-Text-Description").each((index, element) => { let textHeight = $(element).height(); textHeightArr.push(textHeight); }) let collapsedHeight = textHeightArr.reduce(function (accumulatedValue, currentValue) { return Math.max(accumulatedValue, currentValue); }); $(element).find("div.ballon div div.gr-Rate-Wrapper").css({ "min-height": `${collapsedHeight + 104.5}px` }); $(element).find("div.gr-Text-Description").removeClass('text-ellipsis'); $(element).find('div.gr-Text-Description').readmore({ speed: 500, collapsedHeight, moreLink: '<div class="gr-Text-ReadMore"><span class="text">Read More', lessLink: '<div class="gr-Text-ReadMore"><span class="text">Read Less', embedCSS: true, startOpen: false }); } function cssLibrary(id, href) { if (!document.getElementById(id)) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.id = id; link.rel = 'stylesheet'; link.type = 'text/css'; link.href = href; link.crossOrigin = 'anonymous'; head.appendChild(link); } } function action(data) { return $.ajax({ url: actionLink, method: "POST", data: JSON.stringify(data) }); } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); } function removeDuplicates(array, key) { return array.reduce(function (arr, item) { const removed = arr.filter(function (i) { return i[key] !== item[key]; }); return [...removed, item]; }, []); } function removeDuplicatedKey(arr, key) { return [...new Map(arr.map(item => [item[key], item])).values()] } function preloader() { $(element).find('div.widget-Loader-Container').fadeOut().remove() $(element).find('div.gr-Main-Container').fadeIn() } }; var d_version = "production_5937"; var build = "2025-11-17T07_48_19"; window['v' + 'ersion'] = d_version; function buildEditorParent() { window.isMultiScreen = true; window.editorParent = {}; window.previewParent = {}; window.assetsCacheQueryParam = "?version=2025-11-17T07_48_19"; try { var _p = window.parent; if (_p && _p.document && _p.$ && _p.$.dmfw) { window.editorParent = _p; } else if (_p.isSitePreview) { window.previewParent = _p; } } catch (e) { } } buildEditorParent(); var _jquery = window.$; var jqueryAliases = ['$', 'jquery', 'jQuery']; jqueryAliases.forEach((alias) => { Object.defineProperty(window, alias, { get() { return _jquery; }, set() { console.warn("Trying to over-write the global jquery object!"); } }); }); window.jQuery.migrateMute = true; window.cookiesNotificationMarkupPreview = 'null'; window.INSITE = window.INSITE || {}; window.INSITE.device = "desktop"; window.rtCommonProps = {}; rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; rtCommonProps["runtimecollector.url"] = 'https://rtc.multiscreensite.com'; rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; rtCommonProps["inlineEditGrid.snap"] =true; rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; rtCommonProps["rt.pushnotifs.force.button"] =true; rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; rtCommonProps["common.mapbox.js.override"] =false; rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; rtCommonProps["isCoverage.test"] =false; rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; rtCommonProps["feature.flag.mappy.kml"] =false; rtCommonProps["common.resources.dist.cdn"] =true; rtCommonProps["common.build.dist.folder"] = 'production/5937'; rtCommonProps["common.resources.cdn.host"] = 'https://static.cdn-website.com'; rtCommonProps["common.resources.folder"] = 'https://static.cdn-website.com/mnlt/production/5937'; rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; rtCommonProps["feature.flag.runOnReadyNewTask"] =true; rtCommonProps["isAutomation.test"] =false; rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; rtCommonProps['common.mapsProvider'] = 'mapbox'; rtCommonProps['common.mapsProvider.version'] = '0.52.0'; rtCommonProps['common.geocodeProvider'] = 'mapbox'; rtCommonProps['common.map.defaults.radiusSize'] = '1500'; rtCommonProps['common.map.defaults.radiusBg'] = 'rgba(255, 255, 255, 0.4)'; rtCommonProps['common.map.defaults.strokeColor'] = 'rgba(255, 255, 255, 1)'; rtCommonProps['common.map.defaults.strokeSize'] = '2'; rtCommonProps['server.for.resources'] = ''; rtCommonProps['feature.flag.lazy.widgets'] = true; rtCommonProps['feature.flag.single.wow'] = false; rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; rtCommonProps['feature.flag.mark.anchors'] = true; rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; rtCommonProps["images.sizes.small"] =160; rtCommonProps["images.sizes.mobile"] =640; rtCommonProps["images.sizes.tablet"] =1280; rtCommonProps["images.sizes.desktop"] =1920; rtCommonProps["modules.resources.cdn"] =true; rtCommonProps["import.images.storage.imageCDN"] = 'https://lirp.cdn-website.com/'; rtCommonProps["feature.flag.runtime.inp.threshold"] =150; rtCommonProps["feature.flag.performance.logs"] =true; rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; // feature flags that's used out of runtime module (in legacy files) rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; rtCommonProps["streamline.monolith.personalization.skipRuleConditionsForPreview.enabled"] =true; rtCommonProps["streamline.personalization.decodeTimeZone.enabled"] =false; window.rtFlags = {}; rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =true; rtFlags["scripts.widgetCount.enabled"] =true; rtFlags["fnb.animations.tracking.enabled"] =true; rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; rtFlags["ecom.ecwid.old.store.fix.facebook.share"] = true; rtFlags["feature.flag.photo.gallery.exact.size"] =true; rtFlags["geocode.search.localize"] =false; rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; rtFlags["twitter.heightLimit.enabled"] = true; rtFlags["runtime.lottieOverflow"] =false; rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; rtFlags["contact.form.browserValidation.enabled"] =true; rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; rtFlags["runtime.cwv.report.cls.enabled"] =true; rtFlags["runtime.cwv.report.lcp.enabled"] =false; rtFlags["flex.runtime.popup.with.show"] =true; rtFlags["contact.form.useActiveForm"] =true; rtFlags["runtime.ssr.productStore.internal.observer"] =true; rtFlags["runtime.ssr.productCustomizations"] =true; $(window).bind("orientationchange", function (e) { $.layoutManager.initLayout(); }); $(document).resize(function () { }); (function() { if (!window.location.search) { return; } const cleanParams = window.location.search.substring(1); // Strip ? const queryParams = cleanParams.split('&'); const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; const domain = 'domain=' + window.location.hostname; const path = "path=/"; queryParams.forEach((param) => { const [key, value = ''] = param.split('='); if (key.startsWith('utm_')) { const cookieName = "_dm_rt_" + key.substring(4); const cookie = cookieName + "=" + value; const joined = [cookie, expires, domain, path].join(";"); document.cookie = joined; } }); }()); var _dm_gaq = {}; var _gaq = _gaq || []; var _dm_insite = []; window.dataLayer = window.dataLayer || []; window.dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); window.dmsnowplow = window.snowplow; dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker appId: '6918ebc1' }); // snowplow queries element styles so we wait until CSS calculations are done. requestAnimationFrame(() => { dmsnowplow('trackPageView'); _dm_insite.forEach((rule) => { // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here // the tracking is in popup.js if (rule.actionName !== "popup") { dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); } window?.waitForDeferred?.('dmAjax', () => { $.DM.events.trigger('event-ruleTriggered', {value: rule}); }); }); }); Share by: window?.waitForDeferred?.('dmAjax', () => { // Collects client data and updates cookies used by smart sites window.expireDays = 365; window.visitLength = 30 * 60000; $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); }); Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; Parameters.NavigationAreaParams.LessButtonText = 'LESS'; Parameters.HomeLinkText = 'Home';