function rand(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled);
}
const ichar = " "; // invisible character
const rawlines = document.getElementById("rawdata").innerHTML;
const lines = rawlines.replaceAll("\n", "").split("
");
let stretched_lines = [];
for (const line of lines) {
let stretched_line = "";
let reading_tag = false;
for (let char of line) {
if (char == ">") {
reading_tag = false;
stretched_line += char;
continue;
}
if (char == "<" || reading_tag) {
reading_tag = true;
stretched_line += char;
continue;
}
stretched_line += ichar.repeat(rand(0, 15));
stretched_line += char;
}
stretched_lines.push(stretched_line);
}
document.getElementById("out").innerHTML = stretched_lines.join("
");
let tickint;
if (localStorage.getItem("played") == "true") {
document.getElementById("out").innerHTML =
document.getElementById("rawdata").innerHTML;
} else {
tickint = setInterval(tick, 7);
}
function tick() {
const lines = document.getElementById("out").innerHTML.split("
");
let outlines = [];
for (let line of lines) {
outlines.push(line.replace(ichar, ""));
}
document.getElementById("out").innerHTML = outlines.join("
");
if (lines.join("
") == outlines.join("
")) {
clearInterval(tickint);
localStorage.setItem("played", "true");
}
}
function replay() {
localStorage.clear();
location.reload();
return false;
}