ed092c7f63048744a471efe72517e5b1af0613aa
[m6w6/ext-raphf] / dynsections.js
1 function toggleVisibility(linkObj)
2 {
3 var base = $(linkObj).attr('id');
4 var summary = $('#'+base+'-summary');
5 var content = $('#'+base+'-content');
6 var trigger = $('#'+base+'-trigger');
7 var src=$(trigger).attr('src');
8 if (content.is(':visible')===true) {
9 content.hide();
10 summary.show();
11 $(linkObj).addClass('closed').removeClass('opened');
12 $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
13 } else {
14 content.show();
15 summary.hide();
16 $(linkObj).removeClass('closed').addClass('opened');
17 $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
18 }
19 return false;
20 }
21
22 function updateStripes()
23 {
24 $('table.directory tr').
25 removeClass('even').filter(':visible:even').addClass('even');
26 }
27 function toggleLevel(level)
28 {
29 $('table.directory tr').each(function(){
30 var l = this.id.split('_').length-1;
31 var i = $('#img'+this.id.substring(3));
32 var a = $('#arr'+this.id.substring(3));
33 if (l<level+1) {
34 i.attr('src','ftv2folderopen.png');
35 a.attr('src','ftv2mnode.png');
36 $(this).show();
37 } else if (l==level+1) {
38 i.attr('src','ftv2folderclosed.png');
39 a.attr('src','ftv2pnode.png');
40 $(this).show();
41 } else {
42 $(this).hide();
43 }
44 });
45 updateStripes();
46 }
47
48 function toggleFolder(id)
49 {
50 //The clicked row
51 var currentRow = $('#row_'+id);
52 var currentRowImages = currentRow.find("img");
53
54 //All rows after the clicked row
55 var rows = currentRow.nextAll("tr");
56
57 //Only match elements AFTER this one (can't hide elements before)
58 var childRows = rows.filter(function() {
59 var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
60 return this.id.match(re);
61 });
62
63 //First row is visible we are HIDING
64 if (childRows.filter(':first').is(':visible')===true) {
65 currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
66 currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
67 rows.filter("[id^=row_"+id+"]").hide();
68 } else { //We are SHOWING
69 //All sub images
70 var childImages = childRows.find("img");
71 var childImg = childImages.filter("[id^=img]");
72 var childArr = childImages.filter("[id^=arr]");
73
74 currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
75 currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
76 childImg.attr('src','ftv2folderclosed.png'); //children closed
77 childArr.attr('src','ftv2pnode.png'); //children closed
78 childRows.show(); //show all children
79 }
80 updateStripes();
81 }
82
83
84 function toggleInherit(id)
85 {
86 var rows = $('tr.inherit.'+id);
87 var img = $('tr.inherit_header.'+id+' img');
88 var src = $(img).attr('src');
89 if (rows.filter(':first').is(':visible')===true) {
90 rows.css('display','none');
91 $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
92 } else {
93 rows.css('display','table-row'); // using show() causes jump in firefox
94 $(img).attr('src',src.substring(0,src.length-10)+'open.png');
95 }
96 }
97