]> git.evergreen-ils.org Git - working/Evergreen.git/blob - stylesheets/styleguide/docbook-xsl-1.75.2/slides/browser/overlay.js
stylesheet changes.
[working/Evergreen.git] / stylesheets / styleguide / docbook-xsl-1.75.2 / slides / browser / overlay.js
1 // -*- Java -*-\r
2 //\r
3 // Overlay.js, adapted from Floating image II on dynamicdrive.com\r
4 /* Usage:\r
5 <html>\r
6 <head>\r
7 <script LANGUAGE="JavaScript1.2" src="overlay.js"></script>\r
8 ...rest of head...\r
9 </head>\r
10 <body onload="overlaySetup(corner)">\r
11 <div id="overlayDiv" STYLE="position:absolute;visibility:visible;">\r
12 ...body of overlay...\r
13 </div>\r
14 ...rest of page...\r
15 */\r
16 \r
17 var overlayNS4 = document.layers ? 1 : 0;\r
18 var overlayIE  = document.all ? 1 : 0;\r
19 var overlayNS6 = document.getElementById && !document.all ? 1 : 0;\r
20 \r
21 var overlayPadX = 15;\r
22 var overlayPadY = 15;\r
23 var overlayDelay = 60;\r
24 \r
25 var overlayCorner = 'ur'; // ul, ll, ur, lr, uc, lc, cl, cr\r
26 \r
27 function overlayRefresh() {\r
28     var overlayLx = 0;\r
29     var overlayLy = 0;\r
30 \r
31     var overlayX = 0;\r
32     var overlayY = 0;\r
33     var overlayW = 0;\r
34     var overlayH = 0;\r
35     var contentH = 0;\r
36 \r
37     var links = document.getElementsByTagName("body")[0];\r
38 \r
39     if (overlayIE) {\r
40         overlayLx = document.body.clientWidth;\r
41         overlayLy = document.body.clientHeight;\r
42 \r
43         if (document.body.parentElement) {\r
44           // For IE6\r
45           overlayLx = document.body.parentElement.clientWidth;\r
46           overlayLy = document.body.parentElement.clientHeight;\r
47         }\r
48 \r
49         overlayH  = overlayDiv.offsetHeight;\r
50         overlayW  = body.offsetWidth; // overlayDiv.offsetWidth;\r
51         contentH  = body.offsetHeight;\r
52     } else if (overlayNS4) {\r
53         overlayLy = window.innerHeight;\r
54         overlayLx = window.innerWidth;\r
55         overlayH  = document.overlayDiv.clip.height;\r
56         overlayW  = body.clip.width; // document.overlayDiv.clip.width;\r
57         contentH  = body.clip.height;\r
58     } else if (overlayNS6) {\r
59         var odiv = document.getElementById('overlayDiv');\r
60 \r
61         overlayLy = window.innerHeight;\r
62         overlayLx = window.innerWidth;\r
63         overlayH  = odiv.offsetHeight;\r
64         overlayW  = odiv.offsetWidth; // body.offsetWidth; \r
65         contentH  = odiv.offsetHeight;\r
66     }\r
67 \r
68     if (overlayCorner == 'ul') {\r
69         overlayX = overlayPadX;\r
70         overlayY = overlayPadY;\r
71     } else if (overlayCorner == 'cl') {\r
72         overlayX = overlayPadX;\r
73         overlayY = (overlayLy - overlayH) / 2;\r
74     } else if (overlayCorner == 'll') {\r
75         overlayX = overlayPadX;\r
76         overlayY = (overlayLy - overlayH) - overlayPadY;\r
77     } else if (overlayCorner == 'ur') {\r
78         overlayX = (overlayLx - overlayW) - overlayPadX;\r
79         overlayY = overlayPadY;\r
80     } else if (overlayCorner == 'cr') {\r
81         overlayX = (overlayLx - overlayW) - overlayPadX;\r
82         overlayY = (overlayLy - overlayH) / 2;\r
83     } else if (overlayCorner == 'lr') {\r
84         overlayX = (overlayLx - overlayW) - overlayPadX;\r
85         overlayY = (overlayLy - overlayH) - overlayPadY;\r
86     } else if (overlayCorner == 'uc') {\r
87         overlayX = (overlayLx - overlayW) / 2;\r
88         overlayY = overlayPadY;\r
89     } else { // overlayCorner == 'lc'\r
90         overlayX = (overlayLx - overlayW) / 2;\r
91         overlayY = (overlayLy - overlayH) - overlayPadY;\r
92     }\r
93 \r
94     if (overlayIE) {\r
95         overlayDiv.style.left=overlayX;\r
96         overlayDiv.style.top=overlayY+document.body.scrollTop;\r
97 \r
98         if (contentH > overlayLy) {\r
99             overlayDiv.style.visibility = "hidden";\r
100         }\r
101     } else if (overlayNS4) {\r
102         document.overlayDiv.pageX=overlayX;\r
103         document.overlayDiv.pageY=overlayY+window.pageYOffset;\r
104         document.overlayDiv.visibility="visible";\r
105 \r
106         if (contentH > overlayLy) {\r
107             document.overlayDiv.style.visibility = "hidden";\r
108         }\r
109     } else if (overlayNS6) {\r
110         var div = document.getElementById("overlayDiv");\r
111         var leftpx = overlayX;\r
112         var toppx = overlayY+window.pageYOffset;\r
113         var widthpx = overlayW;\r
114 \r
115         div.style.left = leftpx + "px";\r
116         div.style.top = toppx + "px";\r
117         div.style.width = widthpx + "px";\r
118 \r
119         if (contentH > overlayLy) {\r
120             div.style.visibility = "hidden";\r
121         } else {\r
122             div.style.visibility = "visible";\r
123         }\r
124     }\r
125 }\r
126 \r
127 function onad() {\r
128     loopfunc();\r
129 }\r
130 \r
131 function loopfunc() {\r
132     overlayRefresh();\r
133     setTimeout('loopfunc()',overlayDelay);\r
134 }\r
135 \r
136 function overlaySetup(corner) {\r
137     overlayCorner = corner;\r
138 \r
139     if (overlayIE || overlayNS4 || overlayNS6) {\r
140         onad();\r
141     }\r
142 }\r