summaryrefslogtreecommitdiff
path: root/devel/phrases/order.js
blob: b1f10548d9fd352c4a324478cfc50fcddd7adbce (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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));
}