if (typeof mpw_prescriptionLoaderLoaded == 'undefined') { mpw_prescriptionLoaderLoaded = true; var MBWLoadStateType = { LOADING: 0, LOADED: 1 }; function MBWScript() { var state = MBWLoadStateType.LOADING; var callbacksOnLoad = []; this.setLoaded = function () { state = MBWLoadStateType.LOADED; for (var i in callbacksOnLoad) { if (callbacksOnLoad.hasOwnProperty(i)) { callbacksOnLoad[i](); } } }; this.onLoad = function (callback) { if (state === MBWLoadStateType.LOADED) { callback(); } else { callbacksOnLoad.push(callback); } }; } function MBWScriptList() { var scripts = {}; this.getOrCreateScriptInstance = function(src) { if (!this.getScriptInstance(src)) { scripts[src] = new MBWScript(); } return scripts[src]; } this.getScriptInstance = function(src) { return scripts[src]; } this.onLoad = function (src, callback) { var script = this.getOrCreateScriptInstance(src); if (callback) { script.onLoad(callback); } return script; }; } if (!window.mpw_loaded_scripts) { window.mpw_loaded_scripts = new MBWScriptList(); } mpw_include_script = function (src, callback) { var scriptAlreadyLoaded = !! mpw_loaded_scripts.getScriptInstance(src); var scriptInstance = mpw_loaded_scripts.onLoad(src, callback); if (scriptAlreadyLoaded) { return true; } var script = document.createElement('script'); script.type = "text/javascript"; var scriptLoaded = false; if (callback) { script.onreadystatechange = function () { if (scriptLoaded) return; if (this.readyState == 'complete' || this.readyState == 'loaded') { scriptLoaded = true; scriptInstance.setLoaded(); } }; script.charset = "utf-8"; script.onload = function() { if (scriptLoaded) return; scriptLoaded = true; scriptInstance.setLoaded(); } } script.src = src + (src.indexOf('?') != -1 ? '&' : '?') + 'rev=3166'; document.getElementsByTagName('head')[0].appendChild(script); }; window.mpw_instances = window.mpw_instances || []; window.mpw_script_loaded = window.mpw_script_loaded || false; function MedicosearchPrescriptionWidget(config) { config.rev = '3166'; this.config = config; this.initialized = false; this.parent = null; if (mpw_script_loaded) { this.initialize(); } else { mpw_instances.push(this); } return this; } MedicosearchPrescriptionWidget.prototype.initialize = function() { this.parent = new MedicosearchPrescriptionWidgetApp(this.config); this.initialized = true; } function mpw_on_script_loaded() { for (var i = 0; i < mpw_instances.length; i++) { var instance = mpw_instances[i]; if (!instance.initialized) { instance.initialize(); } } } } mpw_include_script('https://www.medicosearch.ch/widget/booking/2.0.0/build/prescriptionApp.js', function() { mpw_script_loaded = true; mpw_on_script_loaded(); });