comparison RollUp.js @ 0:629389204276

Import initial
author Franck Deroche <webmaster@defr.org>
date Sat, 20 Oct 2007 14:15:10 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:629389204276
1 var styleSwitch = {
2 set:function(title) {
3 var i, a, main;
4 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
5 if(a.getAttribute("rel").indexOf("Style") != -1 && a.getAttribute("title")) {
6 a.disabled = true;
7 if(a.getAttribute("title") == title) a.disabled = false;
8 }
9 }
10 document._currentStyleSheet = title;
11 },
12
13 get:function() {
14 return document._currentStyleSheet;
15 },
16
17 getPref:function() {
18 var a = document.getElementsByTagName("link");
19 for(var i=0; a[i]; i++) {
20 if(a[i].getAttribute("rel").indexOf("Style") != -1 && a[i].getAttribute("rel").indexOf("Alt") == -1 && a[i].getAttribute("title"))
21 return a[i].getAttribute("title");
22 }
23 return null;
24 },
25
26 unload:function() {
27 var date = new Date();
28 date.setTime(date.getTime() + 365 * 24 * 3600 * 1000);
29 document.cookie="style=" + document._currentStyleSheet +";expires=" + date.toGMTString() + ";path=/";
30 }
31 }
32
33 var arContent = new Array();
34 var arTitle = new Array();
35
36 window.onload = function() {
37 var shownSection = 'About', i, x;
38 x=document.getElementsByTagName('dt');
39 for(i=0;i<x.length;i++) {
40 if(x[i].parentNode.id == 'SideBar') {
41 x[i].onclick=ToggleDisp;
42 arTitle[arTitle.length] = x[i];
43 }
44 }
45 x=document.getElementsByTagName('dd');
46 for (i=0;i<x.length;i++) {
47 if(x[i].parentNode.id == 'SideBar') {
48 arContent[arContent.length] = x[i];
49 if(arTitle[arContent.length - 1].id!=shownSection) {
50 x[i].style.display='none';
51 } else {
52 arTitle[arContent.length - 1].className='Actif';
53 }
54 }
55 }
56 var ad = document.getElementById('Adresse');
57 ad.onclick = ToggleLink;
58 arContent[arContent.length] = document.getElementById("Link");
59 arTitle[arTitle.length] = ad;
60
61 styleSwitch.set(styleSwitch.getPref());
62 /* var dS = document.styleSheets;
63 if(dS && dS[dS.length - 1].title) {
64 for(var i =0; i < dS.length; i++)
65 {
66 if(dS[i].title=='Somatic') {
67 if(dS[i].insertRule)
68 dS[i].insertRule("@import url('/blog/Somatic_JS.css');", 0);
69 else
70 dS[i].addImport('Somatic_JS.css');
71 }
72 }
73 }
74 else if(dS && styleSwitch.get() == "Somatic") {
75 dS[dS.length - 1].insertRule("@import url(/blog/Somatic_JS.css);", 0);
76 //for(j in dS[0]) alert(j);
77 }*/
78 }
79
80 window.onunload = function() {
81 styleSwitch.unload();
82 return true;
83 }
84
85
86 function ToggleDisp(e) {
87 for(var i=0; i<arTitle.length; i++) arTitle[i].className='';
88 var targetAc;
89 if(!e) e=window.event;
90 if(e.target) targetAc=e.target;
91 else targetAc=e.srcElement;
92 //Parait que la ligne suivante est utile pour Safari ^^;... Sauf qu'Opera retourne en plus le ns dans le nodeName...
93 while(targetAc.nodeName.toLowerCase() != 'dt' && targetAc.nodeName.toLowerCase() != 'html:dt') targetAc=targetAc.parentNode;
94 targetAc.className = 'Actif';
95 var nextSib=targetAc.nextSibling;
96 while(nextSib.nodeType!=1) {nextSib=nextSib.nextSibling;}
97 if(styleSwitch.get() != "Somatic") {
98 var nextSibDisp=(nextSib.style.display=='none') ? 'block' : 'none';
99 nextSib.style.display=nextSibDisp;
100 } else {
101 for(i=0;i<arContent.length;i++) arContent[i].style.display = 'none';
102 nextSib.style.display='block';
103 }
104 }
105
106 function ToggleLink() {
107 var obj=document.getElementById('Link');
108 if(styleSwitch.get() == "Somatic") {
109 for(i=0; i<arTitle.length; i++) arTitle[i].className='';
110 arTitle[arTitle.length - 1].className='Actif';
111 for(i=0;i<arContent.length;i++) arContent[i].style.display='none';
112 obj.style.display='block';
113 } else {
114 obj.style.display=(obj.style.display=='block') ? 'none' : 'block';
115 }
116 }
117
118 function pop_config() {
119 alert('Vouip, je sais, faut qu\'j\'remette ca, mais faut l\'updater d\'abord ^^;;');
120 }
121