(function(){ function escapeHTML(html) { var fn=function(tag) { var charsToReplace = { '&': '&', '<': '<', '>': '>', '"': '"' }; return charsToReplace[tag] || tag; } return html.replace(/[&<>"]/g, fn); } function syncTyping() { var beforeSelection, selection, afterSelection; beforeSelection = this.value.slice(0, this.selectionStart); selection = this.value.slice(this.selectionStart, this.selectionEnd) afterSelection = this.value.slice(this.selectionEnd) document.getElementById("typing").innerHTML = beforeSelection + (this.selectionStart == this.selectionEnd ? "" : "") + "" + selection + "" + afterSelection; } var commandline = document.getElementById("command"); commandline.value = ""; commandline.focus(); commandline.onkeydown = syncTyping; commandline.onkeyup = syncTyping; commandline.onselect = syncTyping; function handleForm() { var scrollback = document.getElementById('scrollback'); var val = this.command.value; this.command.value = ''; document.getElementById("typing").innerHTML = ''; scrollback.innerHTML = scrollback.innerHTML + 'a>' + escapeHTML(val) + '
Command not found.
'; return false; } document.forms[0].onsubmit = handleForm; }());