1 function pad_fixed(value,field) {
4 for (var i = value.length; i<40; i++) {
5 padding = padding + ' ';
7 } else if (field == 'LDR') {
8 for (var i = value.length; i<24; i++) {
9 padding = padding + ' ';
16 function handle_fixed_change(ev) {
17 mw.sdump('D_CAT','Entering handle_fixed_change\n');
18 if (ev.target.tagName != 'textbox') { mw.sdump('D_CAT','early exit\n'); return; }
20 var field = t.getAttribute('field');
21 var spos = t.getAttribute('spos');
22 var epos = t.getAttribute('epos');
23 var size = t.getAttribute('size');
24 if ( (epos - spos + 1) != size ) {
25 mw.sdump('D_CAT','Invalid fixed field DTD: field='+field+' spos='+spos+
26 ' epos='+epos+' size='+size+'\n');
27 alert('Invalid fixed field DTD: field='+field+' spos='+spos+
28 ' epos='+epos+' size='+size+'\n');
30 if (t.value.length > size) {
31 t.value = t.value.substr(0,size);
32 } else if (t.value.length < size) {
34 for (var i = 0; i<(size-t.value.length); i++) {
35 padding = padding + ' ';
37 t.value = t.value + padding;
39 var fixed = find_textbox('ctrl_rows', field);
40 //mw.sdump('D_CAT','length of fixed: ' + fixed.value.length + '\n');
41 fixed.value = fixed.value + pad_fixed(fixed.value,field);
42 mw.sdump('D_CAT','length of fixed: ' + fixed.value.length + '\n');
44 //mw.sdump('D_CAT','field='+field+' spos='+spos+' epos='+epos+' size='+size+' t="'+t.value+'"\n');
45 mw.sdump('D_CAT','replacing "'+fixed.value+'"\n');
46 fixed.value = fixed.value.substr(0,spos) + t.value + fixed.value.substr(1+Number(epos));
47 mw.sdump('D_CAT',' with "'+fixed.value+'"\n');
50 function find_textbox(where, field) {
51 var rows = document.getElementById(where).childNodes;
54 if (typeof(rows[r])=='object') {
55 //mw.sdump('D_CAT',r + ':' + rows[r] + '\n');
56 var t = rows[r].childNodes[0].firstChild;
57 if (t.value == field) {
58 return rows[r].childNodes[1].firstChild;
59 } else if (t.value < field) {
60 ideal_sibling = rows[r];
64 var new_r = build_ctrl_row('ctrl_' + new_row_id--);
65 new_r.setAttribute('notempty','true');
66 new_r.setAttribute('newnode','true');
67 if (ideal_sibling.nextSibling) {
68 rows.insertBefore(new_r,ideal_sibling.nextSibling);
70 rows.appendChild(new_r);
72 new_r.childNodes[0].firstChild.value = field;
73 new_r.childNodes[1].firstChild.value = padding;
74 return new_r.childNodes[1].firstChild;
77 function fixed_fields_update_all(grid) {
78 var g = document.getElementById(grid);
79 var nl = g.getElementsByTagName('textbox');
81 if (typeof(nl[i])=='object') {
83 var field = t.getAttribute('field');
84 var spos = t.getAttribute('spos');
85 var epos = t.getAttribute('epos');
86 var size = t.getAttribute('size');
87 var data = find_textbox('ctrl_rows',field);
88 data.value = data.value + pad_fixed(data.value,field);
89 t.value = data.value.substr(spos,size);
95 function fixed_fields_hide_all(grid) {
96 var g = document.getElementById(grid);
97 var nl = g.getElementsByTagName('label');
99 if (typeof(nl[i])=='object') {
100 nl[i].setAttribute('hidden','true');
103 nl = g.getElementsByTagName('textbox');
105 if (typeof(nl[i])=='object') {
106 nl[i].setAttribute('hidden','true');
111 function fixed_fields_show_all(grid) {
112 var g = document.getElementById(grid);
113 var nl = g.getElementsByTagName('label');
115 if (typeof(nl[i])=='object') {
116 nl[i].setAttribute('hidden','false');
119 nl = g.getElementsByTagName('textbox');
121 if (typeof(nl[i])=='object') {
122 nl[i].setAttribute('hidden','false');
127 function fixed_fields_show_only(grid,attr) {
128 fixed_fields_hide_all(grid);
129 fixed_fields_update_all(grid);
130 var g = document.getElementById(grid);
131 var nl = g.getElementsByTagName('label');
133 if (typeof(nl[i])=='object') {
134 if (nl[i].getAttribute(attr) == 'true') {
135 nl[i].setAttribute('hidden','false');
139 nl = g.getElementsByTagName('textbox');
141 if (typeof(nl[i])=='object') {
142 if (nl[i].getAttribute(attr) == 'true') {
143 nl[i].setAttribute('hidden','false');