// I have javascript, especially this broke-ass edition of it. - N3X
const MAX_WORDS = 32;
let $errPane = null;
let $resetButton = null;
let $submitButton = null;
let $wordlen = null;
let $words = null;
function addError(message) {
$errPane.append($('
').text(message));
}
function validate() {
let v = $words.val();
// Clear previous errors.
$errPane.html('');
// Make sure there's SOMETHING in the textbox.
if(v.length <= 0) {
// Update wordcount.
$wordlen.text("0/"+MAX_WORDS.toString());
$wordlen.css('color', '#ff0000');
// Throw error.
addError('Empty field.');
return false;
}
let words = v.split(' ');
let word = '';
let errored = false;
let i=0;
// Get rid of zero-length entries in the wordlist.
// effectively words=words.filter(word => word.length > 0);
// but LOL IE8
let nuwords = [];
for(i=0;i 0)
nuwords.push(word);
}
words = nuwords;
// Update word counter
$wordlen.text(words.length.toString()+"/"+MAX_WORDS.toString());
$wordlen.css('color', (words.length > 0 && words.length < MAX_WORDS) ? '#cccccc' : '#ff0000');
// Check word count
if(words.length < 1) {
addError('At least one word is required.');
return false;
}
if(words.length > MAX_WORDS) {
addError('Too many words, maximum is '+MAX_WORDS.toString()+'.');
return false;
}
// Check if the words are in our list.
for(i=0;i word.length > 0);
// but LOL IE8
let nuwords = [];
for(i=0;i 0)
nuwords.push(word);
}
words = nuwords;
if(validate()) {
window.location = "?src="+airef+";play_announcement="+words.join('+');
}
});
$resetButton.click(function(e) {
$words.val('');
validate();
});
$submitButton.prop('disabled', !validate());
});