var query = window.location.search.substring(1);
var args = {};
var vars = query.split("&");
- for (var i = 0;i < vars.length; i++) {
- var pair = vars[i].split("=");
- args[pair[0]] = pair[1];
+ for (var i = 0; i < vars.length; i++) {
+ if (vars[i].length > 0) {
+ var pair = vars[i].split("=");
+ args[pair[0]] = pair[1];
+ }
}
return args;
}
Index.addMessage = function(text) {
var messages = document.getElementById("messages");
- messages.innerText = messages.innerText + text + "\n";
+ messages.textContent = messages.textContent + text + "\n";
}
Index.start = function() {
if (!(sampleName)) {
sampleName = "interestingShapes";
}
- var sample = Samples[sampleName];
+ var sampleIndex = Samples.indexOf(sampleName);
+ var sample = Samples.data[sampleIndex];
var data = sample.data;
var redraw = function() {
Index.draw(document.getElementById("graph"), data, palette.read());
}
+ var selector = document.getElementById("selector").getElementsByTagName("select")[0];
+ for (var idx in Samples.data) {
+ var entry = Samples.data[idx];
+ var option = document.createElement("option");
+ option.value = entry.id;
+ option.textContent = entry.title;
+ selector.appendChild(option);
+ }
+ selector.onchange = function() {
+ var id = selector.options[selector.selectedIndex].value;
+ var url = document.URL;
+ var qmIndex = url.indexOf("?");
+ if (qmIndex >= 0) {
+ url = url.substring(0, qmIndex);
+ }
+ url = url + "?sample=" + id;
+ for (var idx in variables) {
+ if (idx != "sample") {
+ url = url + "&" + idx + "=" + variables[idx];
+ }
+ }
+ window.location = url;
+ }
+ selector.selectedIndex = sampleIndex;
var palette = new Palette();
palette.create(document, document.getElementById("optionsPalette"));
palette.write(sample.options);