2 // fieldsdescr = { name: { type: 'typename' }, ... }
3 function Fieldify(ancestor, fieldsdescr)
5 this.ancestor = ancestor;
7 this.field = new Array();
8 for (k in fieldsdescr) {
9 this.field[k] = fieldsdescr[k];
13 Fieldify.prototype = {
17 visible: function(is_visible) {
18 this.ancestor.style.visibility = (is_visible ? "visible" : "hidden" );
21 // { 'name': 'value' }
22 json2dom: function(field_values)
24 for (k in this.field) {
25 if (this.field[k].type == 'value') {
26 this.fld_value_set(k, field_values[k]);
28 else if (this.field[k].type == 'radio') {
29 this.fld_radio_set(k, field_values[k]);
37 for (k in this.field) {
38 if (this.field[k].perms == 'ro')
40 if (this.field[k].type == 'value') {
41 ret[k] = this.fld_value_get(k);
43 else if (this.field[k].type == 'radio') {
44 ret[k] = this.fld_radio_get(k);
50 fld_value_set: function(name, value)
52 this.ancestor.getElementsByClassName(name + '_id')[0].innerHTML = value;
55 fld_value_get: function(name)
57 return this.ancestor.getElementsByClassName(name + '_id')[0].innerHTML;
60 fld_radio_set: function(name, value)
62 var arr = this.ancestor.getElementsByClassName(name + '_id');
65 if (arr[k].value == value)
66 arr[k].checked = true;
68 arr[k].checked = false;
72 fld_radio_get: function(name)
74 var arr = this.ancestor.getElementsByClassName(name + '_id');
78 if (arr[k].checked == true) {