1 var allmessages_nodelist
= false;
2 var allmessages_modified
= false;
3 var allmessages_timeout
= false;
4 var allmessages_running
= false;
6 function allmessagesmodified() {
7 allmessages_modified
= !allmessages_modified
;
11 function allmessagesfilter() {
12 if ( allmessages_timeout
)
13 window
.clearTimeout( allmessages_timeout
);
15 if ( !allmessages_running
)
16 allmessages_timeout
= window
.setTimeout( 'allmessagesfilter_do();', 500 );
19 function allmessagesfilter_do() {
20 if ( !allmessages_nodelist
)
23 var text
= document
.getElementById('allmessagesinput').value
.toLowerCase();
24 var nodef
= allmessages_modified
;
26 allmessages_running
= true;
28 for ( var name
in allmessages_nodelist
) {
29 var nodes
= allmessages_nodelist
[name
];
30 var display
= ( name
.toLowerCase().indexOf( text
) == -1 ? 'none' : '' );
32 for ( var i
= 0; i
< nodes
.length
; i
++)
33 nodes
[i
].style
.display
=
34 ( nodes
[i
].className
== "def" && nodef
38 if ( text
!= document
.getElementById('allmessagesinput').value
.toLowerCase() ||
39 nodef
!= allmessages_modified
)
40 allmessagesfilter_do(); // repeat
42 allmessages_running
= false;
45 function allmessagesfilter_init() {
46 if ( allmessages_nodelist
)
49 var nodelist
= new Array();
50 var templist
= new Array();
52 var table
= document
.getElementById('allmessagestable');
55 var rows
= document
.getElementsByTagName('tr');
56 for ( var i
= 0; i
< rows
.length
; i
++ ) {
57 var id
= rows
[i
].getAttribute('id')
58 if ( id
&& id
.substring(0,16) != 'sp-allmessages-r' ) continue;
59 templist
[ id
] = rows
[i
];
62 var spans
= table
.getElementsByTagName('span');
63 for ( var i
= 0; i
< spans
.length
; i
++ ) {
64 var id
= spans
[i
].getAttribute('id')
65 if ( id
&& id
.substring(0,17) != 'sp-allmessages-i-' ) continue;
66 if ( !spans
[i
].firstChild
|| spans
[i
].firstChild
.nodeType
!= 3 ) continue;
68 var nodes
= new Array();
69 var row1
= templist
[ id
.replace('i', 'r1') ];
70 var row2
= templist
[ id
.replace('i', 'r2') ];
72 if ( row1
) nodes
[nodes
.length
] = row1
;
73 if ( row2
) nodes
[nodes
.length
] = row2
;
74 nodelist
[ spans
[i
].firstChild
.nodeValue
] = nodes
;
77 var k
= document
.getElementById('allmessagesfilter');
78 if (k
) { k
.style
.display
= ''; }
80 allmessages_nodelist
= nodelist
;
83 hookEvent( "load", allmessagesfilter_init
);