]> git.vanrenterghem.biz Git - www.vanrenterghem.biz.git/blob - phpBB2/templates/christmas/rainbow.js
b583e065b63234ee19d91de289d03bc731ca779e
[www.vanrenterghem.biz.git] / phpBB2 / templates / christmas / rainbow.js
1 var rate = 20;\r
2 var obj; \r
3 var act = 0; \r
4 var elmH = 0; \r
5 var elmS = 128; \r
6 var elmV = 255; \r
7 var clrOrg; \r
8 var TimerID; \r
9 \r
10 if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) { \r
11 Browser = true; \r
12 } else { \r
13 Browser = false; \r
14\r
15 \r
16 if (Browser) { \r
17 document.onmouseover = doRainbowAnchor; \r
18 document.onmouseout = stopRainbowAnchor; \r
19\r
20 \r
21 function doRainbow() \r
22\r
23 if (Browser && act != 1) { \r
24 act = 1; \r
25 obj = event.srcElement; \r
26 clrOrg = obj.style.color; \r
27 TimerID = setInterval("ChangeColor()",100); \r
28\r
29\r
30 \r
31 function stopRainbow() \r
32\r
33 if (Browser && act != 0) { \r
34 obj.style.color = clrOrg; \r
35 clearInterval(TimerID); \r
36 act = 0; \r
37\r
38\r
39 \r
40 function doRainbowAnchor() \r
41\r
42 if (Browser && act != 1) { \r
43 obj = event.srcElement; \r
44 \r
45 while (obj.tagName != 'A' && obj.tagName != 'BODY') { \r
46 obj = obj.parentElement; \r
47 if (obj.tagName == 'A' || obj.tagName == 'BODY') \r
48 break; \r
49\r
50 \r
51 if (obj.tagName == 'A' && obj.href != '') { \r
52 act = 1; \r
53 clrOrg = obj.style.color; \r
54 TimerID = setInterval("ChangeColor()",100); \r
55\r
56\r
57\r
58 \r
59 function stopRainbowAnchor() \r
60\r
61 if (Browser && act != 0) { \r
62 if (obj.tagName == 'A') { \r
63 obj.style.color = clrOrg; \r
64 clearInterval(TimerID); \r
65 act = 0; \r
66\r
67\r
68\r
69 \r
70 function ChangeColor() \r
71\r
72 obj.style.color = makeColor(); \r
73\r
74 \r
75 function makeColor() \r
76\r
77 \r
78 if (elmS == 0) { \r
79 elmR = elmV; elmG = elmV; elmB = elmV; \r
80\r
81 else { \r
82 t1 = elmV; \r
83 t2 = (255 - elmS) * elmV / 255; \r
84 t3 = elmH % 60; \r
85 t3 = (t1 - t2) * t3 / 60; \r
86 \r
87 if (elmH < 60) { \r
88 elmR = t1; elmB = t2; elmG = t2 + t3; \r
89\r
90 else if (elmH < 120) { \r
91 elmG = t1; elmB = t2; elmR = t1 - t3; \r
92\r
93 else if (elmH < 180) { \r
94 elmG = t1; elmR = t2; elmB = t2 + t3; \r
95\r
96 else if (elmH < 240) { \r
97 elmB = t1; elmR = t2; elmG = t1 - t3; \r
98\r
99 else if (elmH < 300) { \r
100 elmB = t1; elmG = t2; elmR = t2 + t3; \r
101\r
102 else if (elmH < 360) { \r
103 elmR = t1; elmG = t2; elmB = t1 - t3; \r
104\r
105 else { \r
106 elmR = 0; elmG = 0; elmB = 0; \r
107\r
108\r
109 \r
110 elmR = Math.floor(elmR); \r
111 elmG = Math.floor(elmG); \r
112 elmB = Math.floor(elmB); \r
113 \r
114 clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16); \r
115 \r
116 elmH = elmH + rate; \r
117 if (elmH >= 360) \r
118 elmH = 0; \r
119 \r
120 return clrRGB; \r
121 }\r