// Copyright (c) 2017 Florian Klampfer
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
// Compress via uglify:
// uglifyjs load-js.js -c -m > load-js.min.js
!(function (window, document) {
"use strict";
function addEvent(el, type, cb, opts) {
if (el.addEventListener) el.addEventListener(type, cb, opts);
else if (el.attachEvent) el.attachEvent("on" + type, cb);
else el["on" + type] = cb;
}
window.loadJS = function (src, cb) {
var script = document.createElement("script");
script.src = src;
if (cb) addEvent(script, "load", cb, { once: true });
var ref = document.scripts[0];
ref.parentNode.insertBefore(script, ref);
return script;
};
window._loaded = false;
window.loadJSDeferred = function (src, cb) {
var script = document.createElement("script");
script.src = src;
function insert() {
window._loaded = true;
if (cb) addEvent(script, "load", cb, { once: true });
var ref = document.scripts[0];
ref.parentNode.insertBefore(script, ref);
}
if (window._loaded) insert();
else addEvent(window, "load", insert, { once: true });
return script;
};
window.setRel = window.setRelStylesheet = function (id) {
var link = document.getElementById(id);
function set() {
this.rel = "stylesheet";
}
addEvent(link, "load", set, { once: true });
};
})(window, document);