window.HTML2print = window.HTML2print || {};
(function(undefined) {
'use strict';
HTML2print.Docs = function() {};
HTML2print.Docs.prototype.initialize = function(src) {
this.src = src || {};
var viewport = document.getElementById("viewport");
var toolbar = document.getElementById("toolbar");
var select = document.createElement('select');
select.setAttribute('name', 'documents');
for (var key in this.src) {
var elt = document.createElement("option");
elt.setAttribute('value', this.src[key]);
var txt = document.createTextNode(key);
elt.appendChild(txt);
select.appendChild(elt);
}
toolbar.insertBefore(select, toolbar.firstChild);
// restores last document or loads the first one
var hash = window.location.hash;
if (hash && hash.substring(0,2) === "#!") {
var src = hash.substring(2);
viewport.src = src;
select.value = src;
} else {
var stateObj = { doc: select.value };
window.history.pushState(stateObj, "", "#!" + select.value);
viewport.src = select.value;
};
// push to history when on changes document
select.addEventListener("change", function(event) {
var stateObj = { doc: this.value };
window.history.pushState(stateObj, "", "#!" + this.value);
viewport.src = this.value;
});
}
})();