var elementToDisableId; var validationFunction; var messageElementId; var messageIfValid; function LS_CSV(elementToDisableId, messageElementId, validationFunction, messageIfValid) { this.elementToDisableId = elementToDisableId; this.validationFunction = validationFunction; this.messageElementId = messageElementId; this.messageIfValid = messageIfValid; } function update(str, dontUpdateMessage) { var message = this.validationFunction(str); var elementToDisable = document.getElementById(this.elementToDisableId); if (message === this.messageIfValid) { elementToDisable.disabled = false; } if (dontUpdateMessage) { return; } var messageSpan = document.createElement('span'); var messageElement = document.getElementById(this.messageElementId); messageSpan.setAttribute('id', 'message_for_' + this.messageElementId); while (messageElement.firstChild) { if (messagElement.firstChild.id === messageSpan.id) { messageElement.removeChild(messageElement.firstChild); } } messageSpan.appendChild(document.createTextNode(message)); messageElement.appendChild(messageSpan); }