+\r
+ if ($('#editor').length) {\r
+ var $editor = $('#editor');\r
+ var $previewer = $('#previewer');\r
+ var $container = $('#editor-metrics');\r
+\r
+ var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;\r
+ var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;\r
+ var editor_interval = null;\r
+\r
+ $editor.focus(function() {\r
+ if (editor_interval == null) {\r
+ editor_interval = window.setInterval(function() {\r
+ recalc_metrics();\r
+ }, 200);\r
+ }\r
+ });\r
+\r
+ function recalc_metrics() {\r
+ var text = $previewer.text();\r
+\r
+ var char_count = text.length;\r
+ var fullStr = text + " ";\r
+ var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");\r
+ var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");\r
+ var splitString = cleanedStr.split(" ");\r
+ var word_count = splitString.length - 1;\r
+\r
+ var metrics = char_count + " " + (char_count == 1 ? messages.character : messages.characters);\r
+ metrics += " / " + word_count + " " + (word_count == 1 ? messages.word : messages.words);\r
+ $container.html(metrics);\r
+ }\r
+ }\r