]> git.stg.codes - stg.git/blob - doc/xslt/slides/browser/slides.js
Allowed to build on Darwin.
[stg.git] / doc / xslt / slides / browser / slides.js
1 // -*- Java -*-
2 //
3 // $Id: slides.js 4931 2005-06-21 15:45:53Z kosek $
4 //
5 // Copyright (C) 2002 Norman Walsh
6 //
7 // You are free to use, modify and distribute this software without limitation.
8 // This software is provided "AS IS," without a warranty of any kind.
9 //
10 // This script assumes that the Netscape 'ua.js' module has also been loaded.
11
12 function newPage(filename, overlay) {
13     divs = document.getElementsByTagName("div");
14
15     if (divs) {
16         var xdiv = divs[0];
17
18         if (xdiv) {
19             var xid = xdiv.getAttribute("id");
20
21             var mytoc = window.top.frames[0];
22             if (mytoc.lastUnderlined) {
23                 mytoc.lastUnderlined.style.textDecoration = "none";
24             }
25
26             var tdiv = xbGetElementById(xid, mytoc);
27
28             if (tdiv) {
29                 var ta = tdiv.getElementsByTagName("a").item(0);
30                 ta.style.textDecoration = "underline";
31                 mytoc.lastUnderlined = ta;
32             }
33         }
34     }
35
36     if (overlay != 0) {
37         overlaySetup('lc');
38     }
39 }
40
41
42 function navigate (evt) {
43     var kc = -1;
44
45     if (navigator.org == 'microsoft' || navigator.family == 'opera') {
46         kc = window.event.keyCode;
47     } else if (navigator.family == 'gecko') {
48         kc = evt.keyCode;
49         if(!kc) {
50             kc = evt.which;
51         }
52     } else {
53         kc = evt.which;
54     }
55
56     var forward = (kc == 110) || (kc == 78) || (kc == 32)
57           || (kc == 10) || (kc == 13) || (kc == 34)
58           || (kc == 39);
59           /* n, N, SPACE, ENTER, RETURN, PAGE UP, RIGHT ARROW */
60     var backward = (kc == 112) || (kc == 80) || (kc == 8)
61           || (kc == 33) || (kc == 37);
62           /* p, P, BACKSPACE, PAGE DOWN, LEFT ARROW */
63     var up = (kc == 117) || (kc == 85) || (kc == 38);
64           /* u, U, UP ARROW */
65     var home = (kc == 104) || (kc == 72) || (kc == 36);
66           /* h, H, HOME */
67     var toc = (kc == 116) || (kc == 84);
68           /* t, T */
69           /* previously included META (kc == 244) */
70
71     var links = document.getElementsByTagName("link");
72
73     var count = 0;
74     var target = "";
75
76     for (count = 0; count < links.length; count++) {
77         if (home && (links[count].getAttribute("rel") == 'top')) {
78             target = links[count].getAttribute("href");
79         }
80         if (toc && (links[count].getAttribute("rel") == 'contents')) {
81             target = links[count].getAttribute("href");
82         }
83         if (up && (links[count].getAttribute("rel") == 'up')) {
84             target = links[count].getAttribute("href");
85         }
86         if (forward && (links[count].getAttribute("rel") == 'next')) {
87             target = links[count].getAttribute("href");
88         }
89         if (backward && (links[count].getAttribute("rel") == 'previous')) {
90             target = links[count].getAttribute("href");
91         }
92     }
93
94     if (target != "") {
95         if (window.top.frames[1]) {
96             window.top.frames[1].location = target;
97         } else {
98             window.location = target;
99         }
100     }
101
102     return false;
103 }
104
105 function toggletoc (img, width, hidegraphic, showgraphic) {
106     var fsc = top.GetElementsByTagName('frameset');
107     if (fsc) {
108         var fs = fsc[0];
109         if (fs) {
110             if (fs.cols == "0,*") {
111                 fs.cols = width + ",*";
112                 img.src = hidegraphic;
113             } else {
114                 fs.cols = "0,*";
115                 img.src = showgraphic;
116             }
117         }
118     }
119 }
120