summaryrefslogtreecommitdiff
path: root/devel/phrases/order.js
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-03-16 16:23:39 +0000
committeraarne <aarne@cs.chalmers.se>2007-03-16 16:23:39 +0000
commit232c9cbb3729df3f78e7cd4e2119af30383c7e14 (patch)
treeadafd05ee97f2ace8c55741977d94f74f5f310a1 /devel/phrases/order.js
parentf7ce8940fa0d53718eb30bfc7d0ef9320bafc673 (diff)
thai phrase translator
Diffstat (limited to 'devel/phrases/order.js')
-rw-r--r--devel/phrases/order.js70
1 files changed, 70 insertions, 0 deletions
diff --git a/devel/phrases/order.js b/devel/phrases/order.js
new file mode 100644
index 000000000..b1f10548d
--- /dev/null
+++ b/devel/phrases/order.js
@@ -0,0 +1,70 @@
+var svgNS = "http://www.w3.org/2000/svg";
+
+var currentOrder = new Fun("?");
+
+var talkText;
+
+function say(text) {
+ talkText = text;
+ activateForm("talker");
+}
+
+function newOrder() {
+ currentOrder = new Fun("?");
+
+ document.getElementById("in_abs").value = "";
+
+ setText(document.getElementById("ordertext"), "");
+ setText(document.getElementById("ordertextf"), "");
+ setText(document.getElementById("ordertextt"), "");
+
+ return getOrder();
+}
+
+function getOrder() {
+ activateForm("getorder");
+ return true;
+}
+
+function done(input) {
+ currentOrder = Travel.copyTree(input);
+ document.getElementById("in_abs").value = currentOrder.print();
+
+ sayOrder();
+}
+
+function sayOrder() {
+ var output = currentOrder;
+ var eng = TravelEng.linearize(output);
+ setText(document.getElementById("ordertext"), eng);
+
+ var fin = TravelTha.linearize(output).replace(/ /g,"");
+ setText(document.getElementById("ordertextf"), fin);
+ var tha = TravelThaiP.linearize(output);
+ setText(document.getElementById("ordertextt"), tha);
+ say(tha);
+}
+
+
+
+/* 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 */
+
+function removeChildren(node) {
+ while (node.hasChildNodes()) {
+ node.removeChild(node.firstChild);
+ }
+ }
+
+function setText(node, text) {
+ removeChildren(node);
+ node.appendChild(document.createTextNode(text));
+}