Конечно, несколько поздновато, но всё же..
Нафига тут конечные автоматы?
/*
* Функция подсчета количества символов и слов в тексте
* obj - id текстового поля, в которое вводится текст
* obj_word - id поля, куда выводится количество слов
* obj_char - id поля, куда выводится количество символов
*/
function count(obj, obj_word, obj_char) {
var text = document.getElementById(obj).value;
var char_cnt = text.length;
while (text.indexOf(' ') != -1)
text = text.replace(' ', ' ');
if (char_cnt > 0) {
var arWord = text.split(' ');
var word_cnt = arWord.length;
}
else
var word_cnt = 0;
if(text.charAt(text.length - 1) == ' ')
word_cnt--;
document.getElementById(obj_word).value = word_cnt;
document.getElementById(obj_char).value = char_cnt;
}