/** FHRSWidget.Core.js: shared functionality for widgets **/ // Namespace definition : All Widget Classes should be created in this namespace // if (!window.FHRSWidget47156) { window.FHRSWidget47156 = {}; } // Widget Core Constructor // FHRSWidget47156.Core = function () { // Write out Parent Div where script is placed // Widget content can then be attached to this div through the DOM this.parentDivId = 'CoreJsBaseDiv-47156'; document.write('
'); }; // Widget Core Class Definition // FHRSWidget47156.Core.prototype = { // Create any HTML element // createTag: function (tagName, innerHtml, cssClass) { var tag = $c_47156(tagName); if (cssClass) { this.setCssClass(tag, cssClass); } if (innerHtml) { tag.innerHTML = innerHtml; } return tag; }, // Create Unordered List of Hyperlinks // createHyperlinkList: function (dataCollection, businessUrl, ratingImageUrl, listId, cssClass) { this.parentDiv = $g_47156(this.parentDivId); // Remove existing list with this Id, if exists // Create list var list; list = $c_47156('div'); list.id = listId; list.name = listId; if (cssClass !== '') { this.setCssClass(list, cssClass); } // Add items to list var div; for (index in dataCollection) { var item = dataCollection[index]; div = $c_47156('div'); var businessName = item.BusinessName; var ratingKey = item.RatingKey; var postCode = item.PostCode; if (businessName) { var hyperlink = this.createHyperlink(null, businessName, businessUrl + item.FHRSID, null, 'listhyperlink'); div.appendChild(hyperlink); var image = this.createTag('div', postCode, null); div.appendChild(image); image = this.createTag('div', '', null); div.appendChild(image); } else { var norating = this.createTag('div', '', null); div.appendChild(norating); } list.appendChild(div); } return list; }, // Create a hyperlink and attach event handlers if needed // createHyperlink: function (hyperlinkId, text, href, onClickFunction, cssClass, target) { hyperlink = $c_47156('a'); if (hyperlinkId) { hyperlink.id = hyperlinkId; hyperlink.name = hyperlinkId; } hyperlink.title = text; hyperlink.innerHTML = ('
' + text + '
'); //text)); if (href) { hyperlink.href = href; } if (cssClass !== null && cssClass !== '') { this.setCssClass(hyperlink, cssClass); } if (target) { hyperlink.setAttribute("target", target); } // Attach onclick event handlers if (onClickFunction) { hyperlink.onclick = onClickFunction; var onClickHandler = new Function(hyperlink.onclick); if (hyperlink.addEventListener) { hyperlink.addEventListener('click', onClickHandler, false); } else if (hyperlink.attachEvent) { hyperlink.attachEvent('onclick', onClickHandler); } } return hyperlink; }, // Adds CSS Class to any element // setCssClass: function (elem, cls) { elem.setAttribute('class', cls); elem.setAttribute('className', cls); }, // Attach a Stylesheet to document // attachStyleSheet: function (path, linkId) { var doc = document.getElementsByTagName('head').item(0); var link = $c_47156('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = path; link.id = linkId; doc.appendChild(link); return false; }, // Attach a new script, useful for simulating postbacks // attachScript: function (path, scriptId) { script = $c_47156('script'); script.src = path; script.type = 'text/javascript'; script.id = scriptId; this.parentDiv.appendChild(script); return false; } }; // Shortcut for GetElementsById // function $g_47156(elem) { return document.getElementById(elem); } // Shortcut for CreateElement // function $c_47156(elem) { return document.createElement(elem); } // Construct a new core object var core47156 = new FHRSWidget47156.Core(); /** FHRSWidget.Widget.js: renders list of dev events **/ // Widget Constructor // FHRSWidget47156.Widget = function() { // Get reference to main div. All widget content will be children of this div this.parentDiv = document.getElementById(core47156.parentDivId); this.businessUrl = "https://ratings.food.gov.uk/business/"; this.ratingImageUrl = "https://api1-ratings.food.gov.uk/images/scores/small/"; this.fhrsEstablishmentData = [{"AddressLine1":"Kinder Day Nurseries","AddressLine2":"Silverdale Road","AddressLine3":"Royal Tunbridge Wells","AddressLine4":"Kent","BusinessName":"Tunbridge Wells Nursery","BusinessType":"Caring Premises","BusinessTypeID":5,"Distance":null,"FHRSID":47156,"Geocode":{"Latitude":null,"Longitude":null},"LocalAuthorityBusinessID":"11\/00109\/MIXED","LocalAuthorityCode":"192","LocalAuthorityEmailAddress":"EHAdmin@Midkent.gov.uk","LocalAuthorityName":"Tunbridge Wells","LocalAuthorityWebSite":"http:\/\/www.tunbridgewells.gov.uk","NewRatingPending":false,"PostCode":"TN4 9HU","RatingDate":"03 April 2024","RatingKey":"fhrs_1_en-gb","RatingValue":"1","ReInspectionResult":null,"RightToReply":"<p>\u000d\u000a\u0009<span style="font-size: 12pt; font-family: Aptos, sans-serif;">Since the inspection we have recruited a new experienced chef who had been with us as an agency chef previously and our management team deep cleaned the kitchen the following day to ensure the high standards returned.&nbsp; All actions that are within our power to fix immediately were completed the following week and we have been working with contractors to fix all actions.<\/span><\/p>\u000d\u000a<div>\u000d\u000a\u0009<span style="font-size: 12pt; font-family: Aptos, sans-serif;">We are looking forward to the follow up inspection so that we can demonstrate our usual standards and we will be booking a rescoring at the earliest opportunity<\/span><br \/>\u000d\u000a\u0009<div>\u000d\u000a\u0009\u0009&nbsp;<\/div>\u000d\u000a<\/div>\u000d\u000a","SchemeType":"FHRS","Scores":{"ConfidenceInManagement":20,"Hygiene":10,"Structural":5}}]; } // Widget : Core Class Definition // FHRSWidget47156.Widget.prototype = { // Main function for Events Widget : Handles rendering the widget to the consuming site // render: function () { var child1 = core47156.createHyperlinkList(this.fhrsEstablishmentData, this.businessUrl, this.ratingImageUrl, 'eventList47156', 'widgetcontainer'); var child2 = core47156.createTag('br'); var els = document.getElementsByClassName("47156"); for (var i = 0; i < els.length; i++) { // Create Border and Shadow and return Content Div var contentDiv = this.createContentBorder(els[i]); // Create and Attach Events List contentDiv.appendChild(child1); contentDiv.appendChild(child2); } }, // Create Border, Shadow, and Content Div // createContentBorder: function (localParentDiv) { var outerDiv = core47156.createTag('div', '', 'widget1'); var innerDiv = core47156.createTag('div', '', 'widget2'); var contentDiv = core47156.createTag('div', '', 'widget3'); innerDiv.appendChild(contentDiv); outerDiv.appendChild(innerDiv); localParentDiv.appendChild(outerDiv); return contentDiv; } }; // Create Widget Object var ev_w_47156 = new FHRSWidget47156.Widget(); ev_w_47156.render();