1 function __fieldify_findfirst(objarr, name)
3 for (var i = 0, obj = objarr[i] ; i < objarr.length ; i++) {
4 var item = obj.getElementsByClassName(name + '_id');
12 // fieldsdescr = { name: { type: 'typename' }, ... }
13 function Fieldify(ancestors, fieldsdescr)
15 this.ancestors = ancestors;
16 this.field = new Array();
17 for (k in fieldsdescr) {
18 this.field[k] = fieldsdescr[k];
19 if (this.field[k].type == 'fields') {
20 var item = __fieldify_findfirst(this.ancestors, k);
22 this.field[k].obj = new Fieldify(item, this.field[k].fields);
28 Fieldify.prototype = {
32 visible: function(is_visible) {
33 this.ancestors[0].style.visibility = (is_visible ? "visible" : "hidden" );
36 // { 'name': 'value' }
37 json2dom: function(field_values)
39 for (k in this.field) {
40 if (this.field[k].type == 'value') {
41 this.fld_value_set(k, field_values[k]);
43 else if (this.field[k].type == 'radio') {
44 this.fld_radio_set(k, field_values[k]);
46 else if (this.field[k].type == 'fields') {
47 this.field[k].obj.json2dom(field_values[k]);
55 for (k in this.field) {
56 if (this.field[k].perms == 'ro')
58 if (this.field[k].type == 'value') {
59 ret[k] = this.fld_value_get(k);
61 else if (this.field[k].type == 'radio') {
62 ret[k] = this.fld_radio_get(k);
64 else if (this.field[k].type == 'fields') {
65 ret[k] = this.field[k].obj.dom2json();
71 fld_value_set: function(name, value)
73 var item = __fieldify_findfirst(this.ancestors, name);
75 item[0].innerHTML = value;
79 fld_value_get: function(name)
81 var item = __fieldify_findfirst(this.ancestors, name);
83 return (item[0].innerHTML);
88 fld_radio_set: function(name, value)
90 var arr = __fieldify_findfirst(this.ancestors, name);
93 if (arr[k].value == value)
94 arr[k].checked = true;
96 arr[k].checked = false;
101 fld_radio_get: function(name)
104 var arr = __fieldify_findfirst(this.ancestors, name);
107 if (arr[k].checked == true) {