1
function genJabberXDataTable(x) {
2
var html = '<input type=hidden name="jwchat_form_type" value="jabber:x:data">';
4
if (x.getElementsByTagName('title').item(0))
5
html += "<h1>"+x.getElementsByTagName('title').item(0).firstChild.nodeValue.replace(/\n/g,"<br>")+"</h1>";
6
if (x.getElementsByTagName('instructions').item(0))
7
html += x.getElementsByTagName('instructions').item(0).firstChild.nodeValue.replace(/\n/g,"<br>");
9
if (!x.getElementsByTagName('field').length)
12
html += '<table width="100%">';
13
for (var i=0; i<x.getElementsByTagName('field').length; i++) {
14
var aField = x.getElementsByTagName('field').item(i);
16
switch (aField.getAttribute('type')) {
18
if (aField.firstChild && aField.firstChild.firstChild)
19
html += "<td colspan=2><input type=hidden name='"+aField.getAttribute('var')+"' value='"+aField.firstChild.firstChild.nodeValue+"'></td>";
22
html += "<td colspan=2><b>"+aField.firstChild.firstChild.nodeValue+"</b></td>";
26
html += "<th>" + aField.getAttribute('label') + "</th>";
28
html += "<input type=text size='24' name='" + aField.getAttribute('var') + "'";
29
if (aField.firstChild && aField.firstChild.firstChild)
30
html += " value='" + aField.firstChild.firstChild.nodeValue + "'";
35
html += "<th>" + aField.getAttribute('label') + "</th>";
37
html += "<input type=password size='24' name='" + aField.getAttribute('var') + "'";
38
if (aField.firstChild && aField.firstChild.firstChild)
39
html += " value='" + aField.firstChild.firstChild.nodeValue + "'";
45
html += "<th valign=top>" + aField.getAttribute('label') + "</th>";
47
html += "<textarea cols=24 rows=4 name='" + aField.getAttribute('var') + "'>";
48
if (aField.firstChild && aField.firstChild.firstChild)
49
html += aField.firstChild.firstChild.nodeValue;
50
html += "</textarea>";
54
html += "<th>" + aField.getAttribute('label') + "</th>";
56
html += "<select name='" + aField.getAttribute('var') + "'>";
57
if (aField.childNodes.length) {
59
for (var j=0; j<aField.childNodes.length; j++)
60
if (aField.childNodes.item(j).nodeName == 'value')
61
val = aField.childNodes.item(j).firstChild.nodeValue;
62
for (var j=0; j<aField.childNodes.length; j++) {
63
if (aField.childNodes.item(j).nodeName == 'option') {
64
html += "<option value='" + aField.childNodes.item(j).firstChild.firstChild.nodeValue + "'";
65
if (val && val == aField.childNodes.item(j).firstChild.firstChild.nodeValue)
67
html += ">"+aField.childNodes.item(j).getAttribute('label')+"</option>";
75
html += "<th>" + aField.getAttribute('label') + "</th>";
77
html += "<select name='" + aField.getAttribute('var') + "' "
79
if (aField.childNodes.length) {
80
for (var j=0; j<aField.childNodes.length; j++) {
81
if (aField.childNodes.item(j).nodeName == 'option') {
82
html += "<option value='" + aField.childNodes.item(j).firstChild.firstChild.nodeValue + "'";
83
// if (x.o[i].value == x.o[i].o[j].value)
84
// html += " selected";
85
html += ">"+aField.childNodes.item(j).getAttribute('label')+"</option>";
93
html += "<th>" + aField.getAttribute('label') + "</th>";
95
html += "<input type=checkbox name='" +aField.getAttribute('var') + "'";
96
if (aField.firstChild && aField.firstChild.firstChild && aField.firstChild.firstChild.nodeValue == '1')
102
srcW.Debug.log("unknown type: " + aField.getAttribute('type'),1);
112
function genJabberXDataReply(form) {
113
var xml = "<x xmlns='jabber:x:data' type='submit'>";
115
var els = form.elements;
116
for (var i=0; i<els.length; i++) {
117
if (els[i].name == '' || els[i].value == '' || els[i].name == 'jwchat_form_type')
119
xml += "<field var='" +els[i].name + "'><value>";
120
if (els[i].type == 'checkbox')
121
xml += (els[i].checked) ? '1':'0';
124
xml += "</value></field>";