var widget = widget || {}; widget.domain = "estimate.clcfiles.com"; widget.element = null; widget.start = (function () { if (widget.isDebug()) { console.info("App Start"); console.info("Debugging On"); } if (document.getElementById("estimatorWidget")) { widget.domain = window.location.host; widget.element = document.getElementById("estimatorWidget"); widget.loadStyle("css/font-awesome.css"); widget.loadStyle("css/rangeslider.css"); widget.loadStyle("css/site.css"); widget.loadjquery(); widget.loadModule("js/rangeslider.min.js"); widget.loadModule("js/jquery.csv.min.js"); widget.loadModule("widget/estimator.js"); } }); widget.loadjquery = function () { if (typeof (window.jQuery) == "undefined") { widget.log('missing jquery?'); widget.loadScript("//" + widget.domain + "/lib/jquery/dist/jquery.js?t=" + new Date().getTime()); } } widget.loadModule = function (scriptName) { if (scriptName != "") { widget.loadScript("//" + widget.domain + "/" + scriptName) // todo: restore: + "?t=" + new Date().getTime()); } }; widget.loadingMessage = function () { widget.element.innerText = "Loading..."; }; widget.loadScript = function (src) { var script = document.createElement('script'); script.src = src; script.async = false; document.head.appendChild(script); }; widget.loadStyle = function (stylesheet) { var link; link = document.createElement("link"); link.href = "//" + widget.domain + "/" + stylesheet + "?t=" + new Date().getTime(); link.type = "text/css"; link.rel = "stylesheet"; document.getElementsByTagName("head")[0].appendChild(link); }; widget.toggleDebug = function () { var debugKey = 'widget::debug'; var result = window.sessionStorage.getItem(debugKey); if (result == "1") { window.sessionStorage.removeItem(debugKey); console.info("Debug off. Refresh the page."); } else { window.sessionStorage.setItem(debugKey, "1"); console.info("Debug on. Refresh the page."); } }; widget.isDebug = function () { return window.sessionStorage.getItem('widget::debug') === "1"; }; widget.log = function (message) { if (widget.isDebug()) { console.log(message); } }; document.addEventListener("DOMContentLoaded", function (event) { widget.start(); });