|
[ Index ]
|
Source Code Reference for V1.00
|
[Summary view]
[Print]
[Text view]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 if (navigator.userAgent.indexOf('MSIE') != -1) {
21 var undefined = null;
22 }
23
24 navigator.family='ie';
25 if (window.navigator.userAgent.toLowerCase().match(/gecko/)) {
26 navigator.family = 'gecko';
27 }
28 if (navigator.userAgent.toLowerCase().indexOf('opera') + 1 || window.opera) {
29 navigator.family = 'opera';
30 }
31
32
33
34
35
36
37
38
39 function center_window(width, height) {
40 var ix = window.outerWidth;
41 var iy = window.outerHeight;
42 var mx = window.screenX;
43 var my = window.screenY;
44 var result;
45
46 var cx;
47 var cy;
48
49 if (width <= 0) {
50 width = ix;
51 cx = mx;
52 } else {
53 mx += ( ix / 2 );
54 mx -= ( width / 2 );
55 cx = Math.round(mx);
56 }
57 if (height <= 0) {
58 cy = my;
59 height = iy;
60 } else {
61 my += ( iy / 2 );
62 my -= ( height / 2 );
63 cy = Math.round(my);
64 }
65
66 result = 'screenX=' + cx + ',screenY=' + cy + ',outerHeight=' + height + ',outerWidth=' + width;
67 return result;
68 }
69
70
71
72
73
74
75 function CompItem(key, data) {
76 this.key = key;
77 this.data = data;
78 this.compare = comp_keys;
79 this.equals = comp_equal;
80 }
81
82
83
84
85 function comp_keys(target) {
86 if (this.key == target.key) return 0;
87 if (this.key < target.key) return -1;
88 return 1;
89 }
90
91
92 function comp_equal(target) {
93 if (this.key == target) return true;
94 return false;
95 }
96
97
98 function Comparable() {
99 this.list = new Array();
100 this.add = ca_add;
101 this.find = ca_find;
102 this.length = ca_length;
103 this.get = ca_get;
104 this.search = ca_search;
105 this.count = 0;
106 }
107
108
109 function ca_add(key, data) {
110 var last_id = this.search(key);
111 if (last_id != -1) {
112 this.list[last_id] = new CompItem(key, data);
113 } else {
114 this.list[this.count] = new CompItem(key, data);
115 this.count++;
116 }
117
118 }
119
120
121 function ca_find(key) {
122 var end = this.list.length;
123 for ( var i = 0; i < end; i++) {
124 cp = this.list[i];
125 if (cp.equals(key)) {
126 return cp.data;
127 }
128 }
129 return undefined;
130 }
131
132
133 function ca_search(key) {
134 var end = this.list.length;
135 for ( var i = 0; i < end; i++) {
136 cp = this.list[i];
137 if (cp.equals(key)) {
138 return i;
139 }
140 }
141 return -1;
142 }
143
144
145 function ca_length() {
146 return this.list.length;
147 }
148
149
150 function ca_get(id) {
151 return this.list[id];
152 }
153
154
155
156 function HTMLex() {
157 this.addTable = _HTMLaddTable;
158 this.addRow = _HTMLaddRow;
159 this.addHeader = _HTMLaddHeader;
160 this.addHeaderNode = _HTMLaddHeaderNode;
161 this.addCell = _HTMLaddCell;
162 this.addCellNode = _HTMLaddCellNode;
163 this.addTextInput = _HTMLaddTextInput;
164 this.addHidden = _HTMLaddHidden;
165 this.addTextNode = _HTMLaddTextNode;
166 this.addNode = _HTMLaddNode;
167 this.addSpan = _HTMLaddSpan;
168 this.addSelect = _HTMLaddSelect;
169 this.addOption = _HTMLaddOption;
170 }
171
172
173 function _HTMLaddTable(id, width, border) {
174 var c = new Comparable;
175 if (width) {
176 c.add('width', width);
177 }
178 if (border) {
179 c.add('border', border);
180 }
181 if (id) {
182 c.add('id', id);
183 }
184 return this.addNode('table', false, c);
185 }
186
187
188 function _HTMLaddRow(id) {
189 var tr = document.createElement('tr');
190 if (id) {
191 tr.setAttribute('id', id);
192 }
193 return tr;
194 }
195
196
197 function _HTMLaddHeaderNode(node, id, width) {
198 var c = new Comparable;
199 if (id) {
200 c.add('id', id);
201 }
202 if (width) {
203 c.add('width', width);
204 }
205 return this.addNode('th', node, c);
206 }
207
208
209 function _HTMLaddHeader(text, id, width) {
210 var c = new Comparable;
211 if (id) {
212 c.add('id', id);
213 }
214 if (width) {
215 c.add('width', width);
216 }
217 return this.addTextNode('th', text, c);
218 }
219
220
221 function _HTMLaddCell(text, id, width, bold) {
222 var c = new Comparable;
223 if (id) {
224 c.add('id', id);
225 }
226 if (width) {
227 c.add('width', width);
228 }
229 return this.addTextNode('td', text, c, bold);
230 }
231
232
233 function _HTMLaddSpan(text, id) {
234 var c = new Comparable;
235 if (id) {
236 c.add('id', id);
237 }
238 return this.addTextNode('span', text, c);
239 }
240
241
242 function _HTMLaddCellNode(node, id, width) {
243 var c = new Comparable;
244 if (id) {
245 c.add('id', id);
246 }
247 if (width) {
248 c.add('width', width);
249 }
250 return this.addNode('td', node, c);
251 }
252
253
254 function _HTMLaddTextNode(type, text, args, bold) {
255 var node = document.createElement(type);
256 if (bold) {
257 var b = node.appendChild(document.createElement('b'));
258 if (text) {
259 b.appendChild(document.createTextNode(text));
260 }
261 } else {
262 if (text) {
263 node.appendChild(document.createTextNode(text));
264 }
265 }
266 var i;
267 if (args) {
268 for (i = args.length() -1; i >=0; i--) {
269 var elem = args.get(i);
270 node.setAttribute(elem.key, elem.data);
271 }
272 }
273 return node;
274 }
275
276
277 function _HTMLaddNode(type, child, args) {
278 var node = document.createElement(type);
279 if (child) {
280 node.appendChild(child);
281 }
282 var i;
283 for (i = args.length() -1; i >=0; i--) {
284 var elem = args.get(i);
285 node.setAttribute(elem.key, elem.data);
286 }
287 return node;
288 }
289
290
291 function _HTMLaddTextInput(id, value, size, maxlength) {
292 var c = new Comparable;
293 c.add('id', id);
294 c.add('name', id);
295 c.add('type', 'text');
296 if (size) {
297 c.add('size', size);
298 }
299 if (maxlength) {
300 c.add('maxlength', maxlength);
301 }
302 if (value) {
303 c.add('value', value);
304 }
305 return this.addNode('input', false, c);
306 }
307
308
309 function _HTMLaddHidden(id, value) {
310 var c = new Comparable;
311 c.add('id', id);
312 c.add('name', id);
313 if (navigator.family == "gecko" || navigator.family == "opera"){
314 c.add('type', 'hidden');
315 type = 'input';
316 } else {
317 type = 'textarea';
318 c.add('className', 'hidden');
319 }
320 c.add('value', value);
321 return this.addNode(type, false, c);
322 }
323
324
325 function _HTMLaddSelect(id, cls, multi) {
326 var c = new Comparable;
327 c.add('id', id);
328 c.add('name', id);
329 if (cls) {
330 c.add('class', cls);
331 }
332 if (multi) {
333 c.add('multiple', 'multiple');
334 }
335 return this.addNode('select', false, c);
336 }
337
338
339 function _HTMLaddOption(value, text, selected) {
340 var c = new Comparable;
341 c.add('value', value);
342 if (selected) {
343 c.add('selected', 'selected');
344 }
345 return this.addTextNode('option', text, c);
346 }
347
348
349 function CommonEvent(e) {
350
351
352
353 var target = null;
354 var x = 0;
355 var y = 0;
356 var type = null;
357 var button = null;
358 var keycode = null;
359 var altKey = false;
360 var shiftKey = false;
361 var ctrlKey = false;
362 var metaKey = false;
363
364 if (e) {
365 if (e.target) {
366 this.target = e.target;
367 this.type = e.type;
368 this.x = e.x;
369 this.y = e.y;
370 if (e.modifiers) {
371 this.altKey = (e.modifiers & ALT_MASK) ? true : false;
372 this.ctrlKey = (e.modifiers & CONTROL_MASK) ? true : false;
373 this.shiftKey = (e.modifiers & SHIFT_MASK) ? true : false;
374 this.metaKey = (e.modifiers & META_MASK) ? true : false;
375 } else {
376 if (e.altKey) this.altKey = true;
377 if (e.shiftKey) this.shiftKey = true;
378 if (e.ctrlKey) this.ctrlKey = true;
379 if (e.metaKey) this.metaKey = true;
380 }
381 if (e.type.substr(0,3).toLowerCase() == 'key') {
382 this.keycode = e.which;
383 } else {
384 this.button = e.which;
385 }
386 } else {
387 this.target = e;
388 this.type = 'field';
389 }
390 } else if (event) {
391 this.target = event.srcElement;
392 this.type = event.type;
393 this.x = event.x;
394 this.y = event.y;
395 this.button = event.button;
396 this.keycode = event.keyCode;
397 this.altKey = event.altKey;
398 this.shiftKey = event.shiftKey;
399 this.ctrlKey = event.ctrlKey;
400 }
401 }
402
403
404 function ucfirst(s, delim) {
405 if (!delim) {
406 delim = ' ';
407 }
408 var a = s.split(delim);
409 var res = "";
410 var start = false;
411 for (var i = 0; i < a.length; i++) {
412 if (start) {
413 res += " ";
414 } else {
415 start = true;
416 }
417 res += a[i].substr(0, 1).toUpperCase() + a[i].substr(1);
418 }
419 return res;
420 }
421
422
423
424
425 function clear_span(id) {
426 var span = document.getElementById(id);
427 if (span) {
428 if (span.hasChildNodes()) {
429 for (var i = span.childNodes.length - 1; i >= 0; i--) {
430 span.removeChild(span.childNodes.item(i));
431 }
432 }
433 }
434 return span;
435 }
436
437
438 function show_message(fname, txt) {
439 display_message(txt, fname + '_message');
440 }
441
442
443 function show_instruction(txt) {
444 display_message(txt, 'instruct');
445 }
446
447
448
449
450
451
452
453
454 function display_message(txt, elem) {
455 var span = document.getElementById(elem);
456 if (span == null) {
457 return;
458 }
459
460 var text;
461 if (span.hasChildNodes()) {
462 text = span.childNodes.item(0);
463 text.nodeValue = txt;
464 } else {
465 text = span.appendChild(document.createTextNode(txt));
466 }
467 }
468
469
470 function clear_message(fname) {
471 reset_message( fname + '_message');
472 }
473
474 function clear_instruction() {
475 reset_message('instruct');
476 }
477
478
479
480
481
482
483
484 function reset_message(elem) {
485 var span = document.getElementById(elem);
486 if (span == null) {
487 return;
488 }
489
490 var text;
491 if (span.hasChildNodes()) {
492 text = span.childNodes.item(0);
493 text.nodeValue = '';
494 } else {
495 text = span.appendChild(document.createTextNode(''));
496 }
497 }
498
499
500
501
502
503
504
505 function find_anchor(a) {
506 for (var i = 0; i < document.anchors.length; i++) {
507 if (document.anchors[i].name == a) {
508 return true;
509 }
510 }
511 return false;
512 }
513
514
515 function getInnerHeight(win) {
516 var winHeight;
517 if (win.innerHeight) {
518 winHeight = win.innerHeight;
519 } else if (win.document.documentElement && win.document.documentElement.clientHeight) {
520 winHeight = win.document.documentElement.clientHeight;
521 } else if (win.document.body) {
522 winHeight = win.document.body.clientHeight;
523 } else {
524 winHeight = 0;
525 }
526 return winHeight;
527 }
528
529
530
531
532
533
534
535
536 var saved_rows = new Comparable;
537
538 function toggle_collapse(item, collapse) {
539 var item_image = document.getElementById('image_' + item);
540 if (! item_image) {
541 return false;
542 }
543
544 var item_elem = document.getElementById('r_' + item);
545 var parent = item_elem.parentNode;
546
547
548
549
550
551 var bottom = item_image.name.substr(item_image.name.length-2,2);
552 if (bottom == '_0') {
553
554 if (collapse) {
555 return false;
556 }
557 var orig = saved_rows.find(item);
558 if (orig) {
559
560 var next = item_elem.nextSibling;
561 for (var j = 0, j_cmp = orig.length; j < j_cmp; j++)
562 parent.insertBefore(orig[j], next);
563 item_image.name = item_image.id + '_1';
564 item_image.src = './images/arrow-down.gif';
565 }
566 } else {
567
568 item_image.name = item_image.id + '_0';
569 item_image.src = './images/arrow-right.gif';
570 var row_array = new Array();
571 var rid = 0;
572 var sib = item_elem.nextSibling;
573 var level_item = document.getElementById('rl_' + item);
574 var level = level_item.value;
575 while (sib) {
576 if (! sib.id) {
577 sib = sib.nextSibling;
578 continue;
579 }
580 var sib_id = sib.id.substr(2);
581 var sublevel = document.getElementById('rl_' + sib_id).value;
582 if (sublevel <= level)
583 break;
584 var nxt = sib.nextSibling;
585
586 row_array[rid++] = parent.removeChild(sib);
587 sib = nxt;
588 }
589 saved_rows.add(item, row_array);
590 }
591 return true;
592 }
593
594 function collapse_all(parent) {
595 var parent_elem = document.getElementById(parent);
596 for (var i = 0, i_cmp = parent_elem.childNodes.length; i < i_cmp; i++) {
597 if (parent_elem.childNodes[i].tagName == 'TR' && parent_elem.childNodes[i].id) {
598 toggle_collapse(parent_elem.childNodes[i].id.substr(2), true);
599 }
600 }
601 }
602
603 var show_tab_function = null;
604 var hide_tab_function = null;
605
606 function show_tab(i) {
607 hide_tabs();
608 if (show_tab_function) {
609 show_tab_function(i);
610 return;
611 }
612 var tab = document.getElementById('tab_' + i);
613 tab.style.display = 'block';
614 tab = document.getElementById('toptab_' + i);
615 tab.className = 'tabon';
616 tab.style = 'font-style:bold;';
617 }
618
619 function hide_tabs() {
620 if (hide_tab_function) {
621 hide_tab_function();
622 return;
623 }
624 var tabs = document.getElementsByTagName('td');
625 var i;
626 for(i = 0; i < tabs.length; i++) {
627 if (tabs[i].className == 'tabon') {
628 tabs[i].className = 'taboff';
629 tabs[i].style = 'font-style:normal;';
630 }
631 }
632
633 tabs = document.getElementsByTagName('div');
634 for(i = 0; i < tabs.length; i++) {
635 if (tabs[i].className == 'tab') {
636 tabs[i].style.display = 'none';
637 }
638 }
639 }
640 hide_tab_function = gt_hide_tabs;
641 show_tab_function = gt_show_tab;
642
643 function expand_collapse(id, table_name, option, opt_level, root) {
644 var expand = (option == 'expand' ? 1 : 0);
645 var collapse = (option == 'collapse' ? 1 : 0);
646 var level = (opt_level == 0 ? 0 : (opt_level > 0 ? opt_level : -1));
647
648
649
650 var include_root = (root ? root : 0);
651
652 var done = false;
653
654 var found = false;
655
656
657 var trs = document.getElementsByTagName('tr');
658
659 for (var i=0;i < trs.length;i++) {
660 var tr_name = trs.item(i).id;
661
662 if ((tr_name.indexOf(id) >= 0) && level<0) {
663 var tr = document.getElementById(tr_name);
664 if (collapse || expand) {
665 if (collapse) {
666 if (navigator.family == "gecko" || navigator.family == "opera"){
667 tr.style.visibility = "collapse";
668 tr.style.display = "none";
669 var img_expand = document.getElementById(tr_name+'_expand');
670 var img_collapse = document.getElementById(tr_name+'_collapse');
671 if (img_expand==null) {
672 var img_expand = document.getElementById(id+'_expand');
673 }
674 if (img_collapse==null) {
675 var img_collapse = document.getElementById(id+'_collapse');
676 }
677 img_collapse.style.display = "none";
678 img_expand.style.display = "inline";
679 } else {
680 tr.style.display = "none";
681 var img_expand = document.getElementById(tr_name+'_expand');
682 var img_collapse = document.getElementById(tr_name+'_collapse');
683 if (img_expand==null) {
684 var img_expand = document.getElementById(id+'_expand');
685 }
686 if (img_collapse==null) {
687 var img_collapse = document.getElementById(id+'_collapse');
688 }
689 img_collapse.style.display = "none";
690 img_expand.style.display = "inline";
691 }
692 } else {
693 if (navigator.family == "gecko" || navigator.family == "opera"){
694 tr.style.visibility = "visible";
695 tr.style.display = "";
696 var img_expand = document.getElementById(tr_name+'_expand');
697 var img_collapse = document.getElementById(tr_name+'_collapse');
698 if (img_expand==null) {
699 var img_expand = document.getElementById(id+'_expand');
700 }
701 if (img_collapse==null) {
702 var img_collapse = document.getElementById(id+'_collapse');
703 }
704 img_collapse.style.display = "inline";
705 img_expand.style.display = "none";
706 } else {
707 tr.style.display = "";
708 var img_expand = document.getElementById(tr_name+'_expand');
709 var img_collapse = document.getElementById(tr_name+'_collapse');
710 if (img_expand==null) {
711 var img_expand = document.getElementById(id+'_expand');
712 }
713 if (img_collapse==null) {
714 var img_collapse = document.getElementById(id+'_collapse');
715 }
716 img_collapse.style.display = "inline";
717 img_expand.style.display = "none";
718 }
719 }
720 } else {
721 if (navigator.family == "gecko" || navigator.family == "opera"){
722 tr.style.visibility = (tr.style.visibility == '' || tr.style.visibility == "collapse") ? "visible" : "collapse";
723 tr.style.display = (tr.style.display == "none") ? "" : "none";
724 var img_expand = document.getElementById(tr_name+'_expand');
725 var img_collapse = document.getElementById(tr_name+'_collapse');
726 if (img_expand==null) {
727 var img_expand = document.getElementById(id+'_expand');
728 }
729 if (img_collapse==null) {
730 var img_collapse = document.getElementById(id+'_collapse');
731 }
732 img_collapse.style.display = (tr.style.visibility == 'visible') ? "inline" : "none";
733 img_expand.style.display = (tr.style.visibility == '' || tr.style.visibility == "collapse") ? "inline" : "none";
734 } else {
735 tr.style.display = (tr.style.display == "none") ? "" : "none";
736 var img_expand = document.getElementById(tr_name+'_expand');
737 var img_collapse = document.getElementById(tr_name+'_collapse');
738 if (img_expand==null) {
739 var img_expand = document.getElementById(id+'_expand');
740 }
741 if (img_collapse==null) {
742 var img_collapse = document.getElementById(id+'_collapse');
743 }
744 img_collapse.style.display = (tr.style.display == '') ? "inline" : "none";
745 img_expand.style.display = (tr.style.display == 'none') ? "inline" : "none";
746 }
747 }
748
749
750 } else if((tr_name.indexOf(id) >= 0) && level>=0 && !done && !found && !include_root) {
751
752 found = true;
753 var tr = document.getElementById(tr_name);
754 var img_expand = document.getElementById(tr_name+'_expand');
755 var img_collapse = document.getElementById(tr_name+'_collapse');
756 if (img_expand==null) {
757 var img_expand = document.getElementById(id+'_expand');
758 }
759 if (img_collapse==null) {
760 var img_collapse = document.getElementById(id+'_collapse');
761 }
762 if (!(img_collapse==null)) {
763 img_collapse.style.display = (img_collapse.style.display == 'none') ? "inline" : "none";
764 }
765 if (!(img_expand==null)) {
766 img_expand.style.display = (img_expand.style.display == 'none') ? "inline" : "none";
767
768 opt = (img_expand.style.display == "inline") ? "collapse" : "expand";
769 collapse = (opt == 'collapse' ? 1 : 0);
770 expand = (opt == 'expand' ? 1 : 0);
771 }
772
773 } else if((tr_name.indexOf(id) >= 0) && level>=0 && include_root) {
774 found = true;
775 var tr = document.getElementById(tr_name);
776 current_level = parseInt(tr_name.substr(tr_name.indexOf('>')+1,tr_name.indexOf('<')-tr_name.indexOf('>')-1));
777
778 if (collapse) {
779 if (navigator.family == "gecko" || navigator.family == "opera"){
780
781 if ((include_root == 1 && level == 0) || (current_level > 0)) {
782 tr.style.visibility = "collapse";
783 tr.style.display = "none";
784 }
785 var img_expand = document.getElementById(tr_name+'_expand');
786 var img_collapse = document.getElementById(tr_name+'_collapse');
787 if (img_expand==null) {
788 var img_expand = document.getElementById(id+'_expand');
789 }
790 if (img_collapse==null) {
791 var img_collapse = document.getElementById(id+'_collapse');
792 }
793 if (!(img_collapse==null)) {
794 img_collapse.style.display = "none";
795 }
796 if (!(img_expand==null)) {
797 img_expand.style.display = "inline";
798 }
799 } else {
800
801 if ((include_root == 1 && level == 0) || (current_level > 0)) {
802 tr.style.display = "none";
803 }
804 var img_expand = document.getElementById(tr_name+'_expand');
805 var img_collapse = document.getElementById(tr_name+'_collapse');
806 if (img_expand==null) {
807 var img_expand = document.getElementById(id+'_expand');
808 }
809 if (img_collapse==null) {
810 var img_collapse = document.getElementById(id+'_collapse');
811 }
812 if (!(img_collapse==null)) {
813 img_collapse.style.display = "none";
814 }
815 if (!(img_expand==null)) {
816 img_expand.style.display = "inline";
817 }
818 }
819 } else {
820 if (navigator.family == "gecko" || navigator.family == "opera"){
821
822 if ((include_root == 1 && level == 0) || (current_level > 0)) {
823 tr.style.visibility = "visible";
824 tr.style.display = "";
825 }
826 var img_expand = document.getElementById(tr_name+'_expand');
827 var img_collapse = document.getElementById(tr_name+'_collapse');
828 if (img_expand==null) {
829 var img_expand = document.getElementById(id+'_expand');
830 }
831 if (img_collapse==null) {
832 var img_collapse = document.getElementById(id+'_collapse');
833 }
834 if (!(img_collapse==null)) {
835 img_collapse.style.display = "inline";
836 }
837 if (!(img_expand==null)) {
838 img_expand.style.display = "none";
839 }
840 } else {
841
842 if ((include_root == 1 && level == 0) || (current_level > 0)) {
843 tr.style.display = "";
844 }
845 var img_expand = document.getElementById(tr_name+'_expand');
846 var img_collapse = document.getElementById(tr_name+'_collapse');
847 if (img_expand==null) {
848 var img_expand = document.getElementById(id+'_expand');
849 }
850 if (img_collapse==null) {
851 var img_collapse = document.getElementById(id+'_collapse');
852 }
853 if (!(img_collapse==null)) {
854 img_collapse.style.display = "inline";
855 }
856 if (!(img_expand==null)) {
857 img_expand.style.display = "none";
858 }
859 }
860 }
861
862
863 } else if(level>0 && !done && (found || level==0)) {
864
865 current_level = parseInt(tr_name.substr(tr_name.indexOf('>')+1,tr_name.indexOf('<')-tr_name.indexOf('>')-1));
866
867 if (current_level < level) {
868 done = true;
869
870 return;
871 } else {
872 var tr = document.getElementById(tr_name);
873 if (collapse) {
874 if (navigator.family == "gecko" || navigator.family == "opera"){
875 tr.style.visibility = "collapse";
876 tr.style.display = "none";
877 var img_expand = document.getElementById(tr_name+'_expand');
878 var img_collapse = document.getElementById(tr_name+'_collapse');
879 if (img_expand==null) {
880 var img_expand = document.getElementById(id+'_expand');
881 }
882 if (img_collapse==null) {
883 var img_collapse = document.getElementById(id+'_collapse');
884 }
885 if (!(img_collapse==null)) {
886 img_collapse.style.display = "none";
887 }
888 if (!(img_expand==null)) {
889 img_expand.style.display = "inline";
890 }
891 } else {
892 tr.style.display = "none";
893 var img_expand = document.getElementById(tr_name+'_expand');
894 var img_collapse = document.getElementById(tr_name+'_collapse');
895 if (img_expand==null) {
896 var img_expand = document.getElementById(id+'_expand');
897 }
898 if (img_collapse==null) {
899 var img_collapse = document.getElementById(id+'_collapse');
900 }
901 if (!(img_collapse==null)) {
902 img_collapse.style.display = "none";
903 }
904 if (!(img_expand==null)) {
905 img_expand.style.display = "inline";
906 }
907 }
908 } else {
909 if (navigator.family == "gecko" || navigator.family == "opera"){
910 tr.style.visibility = "visible";
911 tr.style.display = "";
912 var img_expand = document.getElementById(tr_name+'_expand');
913 var img_collapse = document.getElementById(tr_name+'_collapse');
914 if (img_expand==null) {
915 var img_expand = document.getElementById(id+'_expand');
916 }
917 if (img_collapse==null) {
918 var img_collapse = document.getElementById(id+'_collapse');
919 }
920 if (!(img_collapse==null)) {
921 img_collapse.style.display = "inline";
922 }
923 if (!(img_expand==null)) {
924 img_expand.style.display = "none";
925 }
926 } else {
927 tr.style.display = "";
928 var img_expand = document.getElementById(tr_name+'_expand');
929 var img_collapse = document.getElementById(tr_name+'_collapse');
930 if (img_expand==null) {
931 var img_expand = document.getElementById(id+'_expand');
932 }
933 if (img_collapse==null) {
934 var img_collapse = document.getElementById(id+'_collapse');
935 }
936 if (!(img_collapse==null)) {
937 img_collapse.style.display = "inline";
938 }
939 if (!(img_expand==null)) {
940 img_expand.style.display = "none";
941 }
942 }
943 }
944 }
945 }
946 }
947 }
948
949 function expandAll(id, table_name) {
950 expand_collapse(id, table_name, 'expand');
951 }
952
953 function collapseAll(id, table_name) {
954 expand_collapse(id, table_name, 'collapse');
955 }
956
957
958 function addOption(selectId, val, txt) {
959 var objOption = new Option(txt, val);
960 document.getElementById(selectId).options.add(objOption);
961 }
962
963
964
965
966
967
968
969
970
971
972
973