this.loadFiles = function (callback) { var scripts = ['js/keydown.keycodes.js','js/keydown.observer.js','js/core.min.js', 'js/player.min.js', 'js/usbDisk.min.js', 'js/loadWindow.min.js', 'js/main.min.js']; var filesloaded = 0; var filestoload = scripts.length; var i = 0; onLoadScript(); function finishLoad() { if (filesloaded === filestoload) { callback(); } } function onLoadScript() { if ( i < scripts.length){ var script = document.createElement('script'); script.type = 'text/javascript'; script.src = scripts[i]; script.onload = function () { filesloaded++; i++; onLoadScript(); }; document.head.appendChild(script); } else { finishLoad(); } } };