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=3381';
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 = '3381';
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();
});