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 );