summaryrefslogtreecommitdiff
path: root/old-lib/javascript/gflib-xhtml-voice.js
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
committeraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
commite89fdae2fa1626348d8025824a7469252fa85e42 (patch)
treec7d46bbd0494043b4bd6f917a25a7687517d0547 /old-lib/javascript/gflib-xhtml-voice.js
parent3049b59b35b25381a7c6787444165c200d66e08b (diff)
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'old-lib/javascript/gflib-xhtml-voice.js')
-rw-r--r--old-lib/javascript/gflib-xhtml-voice.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/old-lib/javascript/gflib-xhtml-voice.js b/old-lib/javascript/gflib-xhtml-voice.js
new file mode 100644
index 000000000..fd8660100
--- /dev/null
+++ b/old-lib/javascript/gflib-xhtml-voice.js
@@ -0,0 +1,54 @@
+/* Output */
+
+function sayText(text) {
+ document.voice_output_text = text;
+ activateForm("voice_output");
+}
+
+/* XHTML+Voice Utilities */
+
+function activateForm(formid) {
+ var form = document.getElementById(formid);
+ var e = document.createEvent("UIEvents");
+ e.initEvent("DOMActivate","true","true");
+ form.dispatchEvent(e);
+}
+
+
+/* DOM utilities */
+
+/* Gets the head element of the document. */
+function getHeadElement() {
+ var hs = document.getElementsByTagName("head");
+ if (hs.length == 0) {
+ var head = document.createElement("head");
+ document.documentElement.insertBefore(head, document.documentElement.firstChild);
+ return head;
+ } else {
+ return hs[0];
+ }
+}
+
+/* Gets the body element of the document. */
+function getBodyElement() {
+ var bs = document.getElementsByTagName("body");
+ if (bs.length == 0) {
+ var body = document.createElement("body");
+ document.documentElement.appendChild(body);
+ return body;
+ } else {
+ return bs[0];
+ }
+}
+
+/* Removes all the children of a node */
+function removeChildren(node) {
+ while (node.hasChildNodes()) {
+ node.removeChild(node.firstChild);
+ }
+}
+
+function setText(node, text) {
+ removeChildren(node);
+ node.appendChild(document.createTextNode(text));
+}