summaryrefslogtreecommitdiff
path: root/deprecated/old-lib/javascript/gflib-xhtml-voice.js
blob: fd86601007520facf0b0695405f88f69460b73d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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));
}