function getRandomChar() {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890";
var randomChar = chars.charAt((Math.floor(Math.random() * chars.length)));
return randomChar;
}
function renderLogo(logoId, name, horizontalPadding, verticalPadding, logoUrl="#") {
var logoDiv = document.getElementById(logoId);
var paddingLength = ((horizontalPadding * 2 + name.length) * verticalPadding) + horizontalPadding;
console.log(paddingLength);
var currentText = logoDiv.innerText;
var currentLength = logoDiv.textContent.replace(/\n/g, "").length;
setTimeout(function() {
if (currentLength < paddingLength * 2 + name.length) {
if (currentLength > 0 && currentLength % (horizontalPadding * 2 + name.length) == 0) {
logoDiv.innerHTML += "
";
}
if (currentLength == paddingLength) {
var textSpan = document.createElement("a");
textSpan.href= logoUrl;
logoDiv.appendChild(textSpan);
}
if (currentLength < paddingLength || currentLength >= paddingLength + name.length) {
logoDiv.innerHTML += getRandomChar();
} else {
var logoLength = currentLength - paddingLength;
var textSpan = logoDiv.querySelector("a");
textSpan.textContent += name.charAt(logoLength);
}
renderLogo(logoId, name, horizontalPadding, verticalPadding, logoUrl);
}
}, 80)
}
function initLogo(targetId, name, padX=4, padY=2, logoUrl="#") {
var target = document.getElementById(targetId);
var str = "";
var str2 = "";
for (i=0; i < (name.length + (padX * 2)); i++) {
str += "x";
}
for (i=0; i < (padY * 2) + 1; i++ ){
str2 += str + "
";
}
var tmpSpan = document.createElement("span");
tmpSpan.classList.add("hidden");
tmpSpan.innerHTML = str2;
target.appendChild(tmpSpan);
var logoWidth = tmpSpan.offsetWidth;
var logoHeight = tmpSpan.offsetHeight;
target.removeChild(tmpSpan);
target.style.width = (logoWidth + 1) + "px";
target.style.marginLeft = ((logoWidth / 2) * -1) + "px";
target.style.height = (logoHeight + 1) + "px";
target.style.marginTop = ((logoHeight / 2) * -1) + "px";
renderLogo(targetId, name, padX, padY, logoUrl);
}