1/*
2  SearchTable
3  version 0.1 alpha
4  22nd October 2010
5  Robert Henjes, http://www.rhenjes.de
6
7  22 Okt 2010
8
9
10  Code partly copied from: http://www.vonloesch.de/node/23
11  Thanks to many, many people for contributions and suggestions.
12*/
13
14searchtable = {
15  filtersingle: function(term, _id, cellNr) {
16        var suche = term.value.toLowerCase();
17        var table = searchtable.getTableByID(_id);
18        var ele;
19        for (var r = 1; r < table.rows.length; r++){
20                ele = table.rows[r].cells[cellNr].innerHTML.replace(/<[^>]+>/g,"");
21                if (ele.toLowerCase().indexOf(suche)>=0 )
22                        table.rows[r].style.display = '';
23                else table.rows[r].style.display = 'none';
24        }
25  },
26
27  filterwords: function(phrase, _id) {
28        var words = phrase.value.toLowerCase().split(" ");
29        var table = searchtable.getTableByID(_id);
30        var ele;
31        for (var r = 1; r < table.rows.length; r++){
32                ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
33                var displayStyle = 'none';
34                for (var i = 0; i < words.length; i++) {
35                    if (ele.toLowerCase().indexOf(words[i])>=0)
36                        displayStyle = '';
37                    else {
38                        displayStyle = 'none';
39                        break;
40                    }
41                }
42                table.rows[r].style.display = displayStyle;
43        }
44  },
45
46  filterall: function(term, _id) {
47        var searchstr = term.value.toLowerCase();
48        var table = searchtable.getTableByID(_id);
49        var ele;
50        for (var r = 1; r < table.rows.length; r++){
51                ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
52                var displayStyle = 'none';
53                if (ele.toLowerCase().indexOf(searchstr)>=0)
54                        displayStyle = '';
55                else displayStyle = 'none';
56                table.rows[r].style.display = displayStyle;
57        }
58  },
59
60  getTableByID: function(_id) {
61        var _table = document.getElementById(_id).getElementsByTagName('table')[0];
62        return _table;
63  },
64
65};
66