annotate probation-slide/slidy.js @ 13:12cb508ee15d after-organizing

add slides for probation.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Tue, 16 Feb 2010 14:48:06 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /* slidy.js
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 Copyright (c) 2005-2009 W3C (MIT, ERCIM, Keio), All Rights Reserved.
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 W3C liability, trademark, document use and software licensing
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 rules apply, see:
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 http://www.w3.org/Consortium/Legal/copyright-documents
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 http://www.w3.org/Consortium/Legal/copyright-software
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 */
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 var ns_pos = (typeof window.pageYOffset!='undefined');
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 var khtml = ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 var opera = ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 var ie = (typeof document.all != "undefined" && !opera);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 var ie7 = (!ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 var ie8 = (!ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 var slidy_started = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 // added by kent.
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 var showspeak = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 if (ie && !ie8)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 document.write("<iframe id='historyFrame' src='javascript:\"<html"+"></"+"html>\"' height='1' width='1' style='position:absolute;left:-800px'></iframe>");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 // IE only event handlers to ensure all slides are printed
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 // I don't yet know how to emulate these for other browsers
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 if (typeof beforePrint != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 window.onbeforeprint = beforePrint;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 window.onafterprint = afterPrint;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 // to avoid a clash with other scripts or onload attribute on <body>
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 // we use something smarter than window.onload
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 //window.onload = startup;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 if (ie)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 setTimeout(ieSlidyInit, 100);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 else if (document.addEventListener)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 document.addEventListener("DOMContentLoaded", startup, false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 function ieSlidyInit()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 if (//document.readyState == "interactive" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 document.readyState == "complete" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 document.readyState == "loaded")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 startup();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 setTimeout(ieSlidyInit, 100);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 setTimeout(hideSlides, 50);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 function hideSlides()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 if (document.body)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 document.body.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 setTimeout(hideSlides, 50);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 var slidenum = 0; // integer slide count: 0, 1, 2, ...
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 var slides; // set to array of slide div's
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 var slideNumElement; // element containing slide number
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 var notes; // set to array of handout div's
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 var backgrounds; // set to array of background div's
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 var toolbar; // element containing toolbar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 var title; // document title
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 var lastShown = null; // last incrementally shown item
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 var eos = null; // span element for end of slide indicator
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 var toc = null; // table of contents
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 var outline = null; // outline element with the focus
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 var selectedTextLen; // length of drag selection on document
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 var viewAll = 0; // 1 to view all slides + handouts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 var wantToolbar = 1; // 0 if toolbar isn't wanted
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 var mouseClickEnabled = true; // enables left click for next slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 var scrollhack = 0; // IE work around for position: fixed
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 var helpAnchor; // used for keyboard focus hack in showToolbar()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 var helpPage = "http://www.w3.org/Talks/Tools/Slidy/help.html";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 var helpText = "Navigate with mouse click, space bar, Cursor Left/Right, " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 "or Pg Up and Pg Dn. Use S and B to change font size.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 var sizeIndex = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 var sizeAdjustment = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 var sizes = new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 "22pt", "24pt", "26pt", "28pt", "30pt", "32pt");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 var okayForIncremental = incrementalElementList();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 // needed for efficient resizing
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 var lastWidth = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 var lastHeight = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 // Needed for cross browser support for relative width/height on
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 // object elements. The work around is to save width/height attributes
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 // and then to recompute absolute width/height dimensions on resizing
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 var objects;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 // updated to language specified by html file
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 var lang = "en";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 //var localize = {};
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 // for each language there is an associative array
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 var strings_es = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 "slide":"pág.",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 "help?":"Ayuda",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 "contents?":"Índice",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 "table of contents":"tabla de contenidos",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 "Table of Contents":"Tabla de Contenidos",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 "restart presentation":"Reiniciar presentación",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 "restart?":"Inicio"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 strings_es[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 var strings_ca = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 "slide":"pàg..",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 "help?":"Ajuda",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 "contents?":"Índex",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 "table of contents":"taula de continguts",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 "Table of Contents":"Taula de Continguts",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 "restart presentation":"Reiniciar presentació",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 "restart?":"Inici"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 strings_ca[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 var strings_nl = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 "slide":"pagina",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 "help?":"Help?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 "contents?":"Inhoud?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 "table of contents":"inhoudsopgave",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 "Table of Contents":"Inhoudsopgave",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 "restart presentation":"herstart presentatie",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 "restart?":"Herstart?"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 strings_nl[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 var strings_de = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 "slide":"Seite",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 "help?":"Hilfe",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 "contents?":"Übersicht",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 "table of contents":"Inhaltsverzeichnis",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 "Table of Contents":"Inhaltsverzeichnis",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 "restart presentation":"Präsentation neu starten",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 "restart?":"Neustart"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 strings_de[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 var strings_pl = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 "slide":"slajd",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 "help?":"pomoc?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 "contents?":"spis treści?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 "table of contents":"spis treści",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 "Table of Contents":"Spis Treści",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 "restart presentation":"Restartuj prezentację",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 "restart?":"restart?"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 strings_pl[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 var strings_fr = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 "slide":"page",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 "help?":"Aide",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 "contents?":"Index",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 "table of contents":"table des matières",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 "Table of Contents":"Table des matières",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 "restart presentation":"Recommencer l'exposé",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 "restart?":"Début"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 strings_fr[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 "Naviguez avec la souris, la barre d'espace, les flèches " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 "les touches S et B pour modifier la taille de la police.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 var strings_hu = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 "slide":"oldal",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 "help?":"segítség",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 "contents?":"tartalom",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 "table of contents":"tartalomjegyzék",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 "Table of Contents":"Tartalomjegyzék",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 "restart presentation":"bemutató újraindítása",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 "restart?":"újraindítás"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 strings_hu[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 "a szöveg méretét.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 var strings_it = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 "slide":"pag.",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 "help?":"Aiuto",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 "contents?":"Indice",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 "table of contents":"indice",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 "Table of Contents":"Indice",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 "restart presentation":"Ricominciare la presentazione",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 "restart?":"Inizio"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 strings_it[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 "Navigare con mouse, barra spazio, frecce sinistra/destra o " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 var strings_el = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 "slide":"σελίδα",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 "help?":"βοήθεια;",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 "contents?":"περιεχόμενα;",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 "table of contents":"πίνακας περιεχομένων",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 "Table of Contents":"Πίνακας Περιεχομένων",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 "restart presentation":"επανεκκίνηση παρουσίασης",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 "restart?":"επανεκκίνηση;"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 strings_el[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 "το μέγεθος της γραμματοσειράς.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 var strings_ja = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 "slide":"スライド",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 "help?":"ヘルプ",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 "contents?":"目次",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 "table of contents":"目次を表示",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 "Table of Contents":"目次",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 "restart presentation":"最初から再生",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 "restart?":"最初から"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 strings_ja[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 "マウス左クリック ・ スペース ・ 左右キー " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 var strings_zh = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 "slide":"幻灯片",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 "help?":"帮助?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 "contents?":"内容?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 "table of contents":"目录",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 "Table of Contents":"目录",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 "restart presentation":"重新启动展示",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 "restart?":"重新启动?"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 strings_zh[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 "用 S, B 改变字体大小.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 var strings_ru = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 "slide":"слайд",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 "help?":"помощь?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 "contents?":"содержание?",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 "table of contents":"оглавление",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 "Table of Contents":"Оглавление",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 "restart presentation":"перезапустить презентацию",
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 "restart?":"перезапуск?"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 strings_ru[helpText] =
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 // each such language array is declared in the localize array
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 // used indirectly as in help.innerHTML = "help".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 var localize = {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 "es":strings_es,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 "ca":strings_ca,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 "nl":strings_nl,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 "de":strings_de,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 "pl":strings_pl,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 "fr":strings_fr,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 "hu":strings_hu,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 "it":strings_it,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 "el":strings_el,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 "jp":strings_ja,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 "zh":strings_zh,
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 "ru":strings_ru
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 /* general initialization */
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 function startup()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 if (slidy_started)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 alert("already started");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 return;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 slidy_started = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 // find human language from html element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 // for use in localizing strings
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 lang = document.body.parentNode.getAttribute("lang");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 if (!lang)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 lang = document.body.parentNode.getAttribute("xml:lang");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 if (!lang)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 lang = "en";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 document.body.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 title = document.title;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 toolbar = addToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 wrapImplicitSlides();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 slides = collectSlides();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 notes = collectNotes();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 objects = document.body.getElementsByTagName("object");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 backgrounds = collectBackgrounds();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 patchAnchors();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 slidenum = findSlideNumber(location.href);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 window.offscreenbuffering = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 sizeAdjustment = findSizeAdjust();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 hideImageToolbar(); // suppress IE image toolbar popup
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 initOutliner(); // activate fold/unfold support
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 if (slides.length > 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 slide.style.position = "absolute";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 if (slidenum > 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 setVisibilityAllIncremental("visible");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 lastShown = previousIncrementalItem(null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 setEosStatus(true);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 lastShown = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 setVisibilityAllIncremental("hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 setEosStatus(!nextIncrementalItem(lastShown));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 toc = tableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 // bind event handlers
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 document.onclick = mouseButtonClick;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 document.onmouseup = mouseButtonUp;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 document.onkeydown = keyDown;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 window.onresize = resized;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 window.onscroll = scrolled;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 window.onunload = unloaded;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 singleSlideView();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 resized();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 if (ie7)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 setTimeout("ieHack()", 100);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 showToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 setInterval("checkLocation()", 200); // for back button detection
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 // add localize method to all strings for use
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 // as in help.innerHTML = "help".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 String.prototype.localize = function()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 if (this == "")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 return this;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 // try full language code, e.g. en-US
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 var s, lookup = localize[lang];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 if (lookup)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 s = lookup[this];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395 if (s)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 return s;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 // try en if undefined for en-US
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 var lg = lang.split("-");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 if (lg.length > 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 lookup = localize[lg[0]];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 if (lookup)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 s = lookup[this];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410 if (s)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 return s;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 // otherwise string as is
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 return this;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 // suppress IE's image toolbar pop up
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 function hideImageToolbar()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422 if (!ns_pos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 var images = document.getElementsByTagName("IMG");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 for (var i = 0; i < images.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427 images[i].setAttribute("galleryimg", "no");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 // hack to persuade IE to compute correct document height
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 // as needed for simulating fixed positioning of toolbar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 function ieHack()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 window.resizeBy(0,-1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 window.resizeBy(0, 1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 function unloaded(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 //alert("unloaded");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
443
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 // Firefox reload SVG bug work around
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 function reload(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 hideBackgrounds();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 setTimeout("document.reload();", 100);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 e.cancel = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
455 e.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
456
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
458 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
459
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
460 // Safari and Konqueror don't yet support getComputedStyle()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 // and they always reload page when location.href is updated
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
462 function isKHTML()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
463 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
464 var agent = navigator.userAgent;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465 return (agent.indexOf("KHTML") >= 0 ? true : false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
467
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
468 function resized()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
469 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
470 var width = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
471
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 if ( typeof( window.innerWidth ) == 'number' )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
473 width = window.innerWidth; // Non IE browser
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474 else if (document.documentElement && document.documentElement.clientWidth)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
475 width = document.documentElement.clientWidth; // IE6
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
476 else if (document.body && document.body.clientWidth)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
477 width = document.body.clientWidth; // IE4
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
479 var height = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
480
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
481 if ( typeof( window.innerHeight ) == 'number' )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
482 height = window.innerHeight; // Non IE browser
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
483 else if (document.documentElement && document.documentElement.clientHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
484 height = document.documentElement.clientHeight; // IE6
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
485 else if (document.body && document.body.clientHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
486 height = document.body.clientHeight; // IE4
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
487
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
488 if (height && (width/height > 1.05*1024/768))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
489 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
490 width = height * 1024.0/768;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
491 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
492
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
493 // IE fires onresize even when only font size is changed!
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
494 // so we do a check to avoid blocking < and > actions
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
495 if (width != lastWidth || height != lastHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
496 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
497 if (width >= 1100)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
498 sizeIndex = 5; // 4
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
499 else if (width >= 1000)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
500 sizeIndex = 4; // 3
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
501 else if (width >= 800)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
502 sizeIndex = 3; // 2
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
503 else if (width >= 600)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 sizeIndex = 2; // 1
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 else if (width)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
506 sizeIndex = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
507
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
508 // add in font size adjustment from meta element e.g.
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
509 // <meta name="font-size-adjustment" content="-2" />
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
510 // useful when slides have too much content ;-)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
511
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
512 if (0 <= sizeIndex + sizeAdjustment &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
513 sizeIndex + sizeAdjustment < sizes.length)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
514 sizeIndex = sizeIndex + sizeAdjustment;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
515
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
516 // enables cross browser use of relative width/height
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
517 // on object elements for use with SVG and Flash media
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
518 adjustObjectDimensions(width, height);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
519
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 document.body.style.fontSize = sizes[sizeIndex];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
521
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
522 lastWidth = width;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
523 lastHeight = height;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
524
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 // force reflow to work around Mozilla bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
526 //if (ns_pos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
527 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
528 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
529 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
530 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
531 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
532
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
533 // force correct positioning of toolbar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
534 refreshToolbar(200);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
535 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
536 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
537
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
538 function scrolled()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
539 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
540 if (toolbar && !ns_pos && !ie7)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
541 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
542 hackoffset = scrollXOffset();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
543 // hide toolbar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
544 toolbar.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
545
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
546 // make it reappear later
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
547 if (scrollhack == 0 && !viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
548 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
549 setTimeout(showToolbar, 1000);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
550 scrollhack = 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
551 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
552 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
553 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
554
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
555 // used to ensure IE refreshes toolbar in correct position
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
556 function refreshToolbar(interval)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
557 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
558 if (!ns_pos && !ie7)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
559 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
560 hideToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
561 setTimeout(showToolbar, interval);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
562 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
563 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
564
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
565 // restores toolbar after short delay
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
566 function showToolbar()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
567 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
568 if (wantToolbar)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
569 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
570 if (!ns_pos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
571 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
572 // adjust position to allow for scrolling
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
573 var xoffset = scrollXOffset();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
574 toolbar.style.left = xoffset;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 toolbar.style.right = xoffset;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
576
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
577 // determine vertical scroll offset
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
578 //var yoffset = scrollYOffset();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
579
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
580 // bottom is doc height - window height - scroll offset
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
581 //var bottom = documentHeight() - lastHeight - yoffset
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
582
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
583 //if (yoffset > 0 || documentHeight() > lastHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
584 // bottom += 16; // allow for height of scrollbar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
585
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
586 toolbar.style.bottom = 0; //bottom;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
587 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
588
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
589 toolbar.style.display = "block";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
590 toolbar.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
591 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
592
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
593 scrollhack = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
594
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
595
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
596 // set the keyboard focus to the help link on the
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
597 // toolbar to ensure that document has the focus
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
598 // IE doesn't always work with window.focus()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
599 // and this hack has benefit of Enter for help
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
600
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
601 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
602 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
603 if (!opera)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
604 helpAnchor.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
605 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
606 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
608 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
610
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
611 function hideToolbar()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
612 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
613 toolbar.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
614 toolbar.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
615 window.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
616 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
617
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
618 // invoked via F key
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
619 function toggleToolbar()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
620 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 if (!viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
622 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 if (toolbar.style.display == "none")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
624 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
625 toolbar.style.display = "block";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
626 toolbar.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
627 wantToolbar = 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
628 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
629 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
630 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
631 toolbar.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
632 toolbar.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
633 wantToolbar = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
634 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
635 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
636 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
637
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
638 function scrollXOffset()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
639 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
640 if (window.pageXOffset)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
641 return self.pageXOffset;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
642
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
643 if (document.documentElement &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
644 document.documentElement.scrollLeft)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
645 return document.documentElement.scrollLeft;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
646
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
647 if (document.body)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
648 return document.body.scrollLeft;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
649
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
650 return 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
651 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
652
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
653
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
654 function scrollYOffset()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
655 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
656 if (window.pageYOffset)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
657 return self.pageYOffset;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
658
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
659 if (document.documentElement &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
660 document.documentElement.scrollTop)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
661 return document.documentElement.scrollTop;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
662
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
663 if (document.body)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
664 return document.body.scrollTop;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
665
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
666 return 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
667 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
668
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
669 // looking for a way to determine height of slide content
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
670 // the slide itself is set to the height of the window
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
671 function optimizeFontSize()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
672 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
673 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
674
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
675 //var dh = documentHeight(); //getDocHeight(document);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
676 var dh = slide.scrollHeight;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
677 var wh = getWindowHeight();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
678 var u = 100 * dh / wh;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
679
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
680 alert("window utilization = " + u + "% (doc "
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
681 + dh + " win " + wh + ")");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
682 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
683
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
684 function getDocHeight(doc) // from document object
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
685 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
686 if (!doc)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
687 doc = document;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
688
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
689 if (doc && doc.body && doc.body.offsetHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
690 return doc.body.offsetHeight; // ns/gecko syntax
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
691
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
692 if (doc && doc.body && doc.body.scrollHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
693 return doc.body.scrollHeight;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
694
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
695 alert("couldn't determine document height");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
696 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
697
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
698 function getWindowHeight()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
699 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
700 if ( typeof( window.innerHeight ) == 'number' )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
701 return window.innerHeight; // Non IE browser
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
702
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
703 if (document.documentElement && document.documentElement.clientHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
704 return document.documentElement.clientHeight; // IE6
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
705
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
706 if (document.body && document.body.clientHeight)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
707 return document.body.clientHeight; // IE4
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
708 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
709
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
710
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
711
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
712 function documentHeight()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
713 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
714 var sh, oh;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
715
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
716 sh = document.body.scrollHeight;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
717 oh = document.body.offsetHeight;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
718
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
719 if (sh && oh)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
720 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
721 return (sh > oh ? sh : oh);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
722 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
723
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
724 // no idea!
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
725 return 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
726 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
727
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
728 function smaller()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
729 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
730 if (sizeIndex > 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
731 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
732 --sizeIndex;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
733 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
734
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
735 toolbar.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
736 document.body.style.fontSize = sizes[sizeIndex];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
737 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
738 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
739 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
740 setTimeout(showToolbar, 300);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
741 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
742
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
743 function bigger()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
744 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
745 if (sizeIndex < sizes.length - 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
746 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
747 ++sizeIndex;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
748 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
749
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
750 toolbar.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
751 document.body.style.fontSize = sizes[sizeIndex];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
752 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
753 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
754 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
755 setTimeout(showToolbar, 300);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
756 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
757
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
758 // enables cross browser use of relative width/height
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
759 // on object elements for use with SVG and Flash media
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
760 // with thanks to Ivan Herman for the suggestion
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
761 function adjustObjectDimensions(width, height)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
762 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
763 for( var i = 0; i < objects.length; i++ )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
764 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
765 var obj = objects[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
766 var mimeType = obj.getAttribute("type");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
767
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
768 if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
769 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
770 if ( !obj.initialWidth )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
771 obj.initialWidth = obj.getAttribute("width");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
772
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
773 if ( !obj.initialHeight )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
774 obj.initialHeight = obj.getAttribute("height");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
775
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
776 if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
777 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
778 var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
779 var newW = width * (w/100.0);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
780 obj.setAttribute("width",newW);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
781 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
782
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
783 if ( obj.initialHeight && obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" )
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
784 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
785 var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
786 var newH = height * (h/100.0);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
787 obj.setAttribute("height", newH);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
788 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
789 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
790 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
791 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
792
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
793 function cancel(event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
794 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
795 if (event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
796 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
797 event.cancel = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
798 event.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
799
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
800 if (event.preventDefault)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
801 event.preventDefault();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
802 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
803
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
804 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
805 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
806
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
807 // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
808 function keyDown(event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
809 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
810 var key;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
811
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
812 if (!event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
813 var event = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
814
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
815 // kludge around NS/IE differences
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
816 if (window.event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
817 key = window.event.keyCode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
818 else if (event.which)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
819 key = event.which;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
820 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
821 return true; // Yikes! unknown browser
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
822
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
823 // ignore event if key value is zero
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
824 // as for alt on Opera and Konqueror
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
825 if (!key)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
826 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
827
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
828 // check for concurrent control/command/alt key
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
829 // but are these only present on mouse events?
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
830
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
831 if (event.ctrlKey || event.altKey || event.metaKey)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
832 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
833
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
834 // dismiss table of contents if visible
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
835 if (isShownToc() && key != 9 && key != 16 && key != 38 && key != 40)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
836 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
837 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
838
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
839 if (key == 27 || key == 84 || key == 67)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
840 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
841 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
842
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
843 if (key == 34) // Page Down
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
844 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
845 if (viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
846 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
847
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
848 nextSlide(false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
849 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
850 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
851 else if (key == 33) // Page Up
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
852 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
853 if (viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
854 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
855
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
856 previousSlide(false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
857 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
858 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
859 else if (key == 32) // space bar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
860 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
861 nextSlide(true);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
862 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
863 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
864 else if (key == 37) // Left arrow
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
865 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
866 previousSlide(!event.shiftKey);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
867 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
868 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
869 else if (key == 36) // Home
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
870 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
871 firstSlide();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
872 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
873 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
874 else if (key == 35) // End
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
875 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
876 lastSlide();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
877 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
878 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
879 else if (key == 39) // Right arrow
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
880 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
881 nextSlide(!event.shiftKey);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
882 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
883 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
884 else if (key == 13) // Enter
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
885 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
886 if (outline)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
887 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
888 if (outline.visible)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
889 fold(outline);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
890 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
891 unfold(outline);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
892
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
893 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
894 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
895 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
896 else if (key == 188) // < for smaller fonts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
897 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
898 smaller();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
899 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
900 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
901 else if (key == 190) // > for larger fonts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
902 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
903 bigger();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
904 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
905 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
906 else if (key == 189 || key == 109) // - for smaller fonts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
907 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
908 smaller();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
909 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
910 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
911 else if (key == 187 || key == 191 || key == 107) // = + for larger fonts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
912 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
913 bigger();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
914 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
915 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
916 else if (key == 83) // S for smaller fonts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
917 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
918 smaller();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
919 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
920 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
921 else if (key == 66) // B for larger fonts
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
922 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
923 bigger();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
924 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
925 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
926 else if (key == 90) // Z for last slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
927 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
928 lastSlide();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
929 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
930 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
931 else if (key == 70) // F for toggle toolbar
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
932 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
933 toggleToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
934 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
935 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
936 else if (key == 65) // A for toggle view single/all slides
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
937 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
938 toggleView();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
939 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
940 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
941 else if (key == 75) // toggle action of left click for next page
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
942 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
943 // commented out by kent 20100210.
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
944 /*
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
945 mouseClickEnabled = !mouseClickEnabled;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
946 alert((mouseClickEnabled ? "enabled" : "disabled") + " mouse click advance");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
947 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
948 */
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
949 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
950 else if (key == 84 || key == 67) // T or C for table of contents
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
951 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
952 if (toc)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
953 showTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
954
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
955 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
956 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
957 else if (key == 72) // H for help
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
958 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
959 window.location = helpPage;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
960 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
961 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
962
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
963 // added by kent 20100210
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
964 else if (key == 77) {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
965 showspeak = !showspeak;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
966 var value = (showspeak? "visible":"hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
967 var elems = document.getElementsByClassName("speak");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
968
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
969 for (var i=0; i<elems.length; i++) {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
970 elems[i].style.visibility = value;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
971 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
972 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
973 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
974
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
975 //else if (key == 93) // Windows menu key
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
976 //alert("lastShown is " + lastShown);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
977 //else alert("key code is "+ key);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
978
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
979
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
980 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
981 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
982
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
983 // make note of length of selected text
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
984 // as this evaluates to zero in click event
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
985 function mouseButtonUp(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
986 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
987 selectedTextLen = getSelectedText().length;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
988 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
989
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
990 // right mouse button click is reserved for context menus
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
991 // it is more reliable to detect rightclick than leftclick
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
992 function mouseButtonClick(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
993 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
994 var rightclick = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
995 var leftclick = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
996 var middleclick = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
997 var target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
998
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
999 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1000 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1001
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1002 if (e.target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1003 target = e.target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1004 else if (e.srcElement)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1005 target = e.srcElement;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1006
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1007 // work around Safari bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1008 if (target.nodeType == 3)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1009 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1010
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1011 if (e.which) // all browsers except IE
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1012 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1013 leftclick = (e.which == 1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1014 middleclick = (e.which == 2);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1015 rightclick = (e.which == 3);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1016 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1017 else if (e.button)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1018 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1019 // Konqueror gives 1 for left, 4 for middle
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1020 // IE6 gives 0 for left and not 1 as I expected
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1021
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1022 if (e.button == 4)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1023 middleclick = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1024
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1025 // all browsers agree on 2 for right button
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1026 rightclick = (e.button == 2);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1027 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1028 else leftclick = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1029
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1030 //alert("selected text length = "+selectedTextLen);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1031
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1032 if (selectedTextLen > 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1033 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1034 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1035 e.cancel = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1036 e.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1037 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1038 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1039
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1040 // dismiss table of contents
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1041 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1042
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1043 // check if target is something that probably want's clicks
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1044 // e.g. embed, object, input, textarea, select, option
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1045
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1046 if (mouseClickEnabled && leftclick &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1047 target.nodeName != "EMBED" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1048 target.nodeName != "OBJECT" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1049 target.nodeName != "VIDEO" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1050 target.nodeName != "INPUT" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1051 target.nodeName != "TEXTAREA" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1052 target.nodeName != "SELECT" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1053 target.nodeName != "OPTION")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1054 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1055 nextSlide(true);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1056 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1057 e.cancel = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1058 e.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1059 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1060 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1061
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1062 function previousSlide(incremental)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1063 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1064 if (!viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1065 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1066 var slide;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1067
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1068 if ((incremental || slidenum == 0) && lastShown != null)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1069 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1070 lastShown = hidePreviousItem(lastShown);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1071 setEosStatus(false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1072 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1073 else if (slidenum > 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1074 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1075 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1076 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1077
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1078 slidenum = slidenum - 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1079 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1080 setVisibilityAllIncremental("visible");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1081 lastShown = previousIncrementalItem(null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1082 setEosStatus(true);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1083 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1084 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1085
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1086 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1087
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1088 if (!ns_pos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1089 refreshToolbar(200);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1090 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1091 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1092
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1093 function nextSlide(incremental)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1094 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1095 if (!viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1096 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1097 var slide, last = lastShown;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1098
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1099 if (incremental || slidenum == slides.length - 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1100 lastShown = revealNextItem(lastShown);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1101
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1102 if ((!incremental || lastShown == null) && slidenum < slides.length - 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1103 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1104 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1105 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1106
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1107 slidenum = slidenum + 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1108 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1109 lastShown = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1110 setVisibilityAllIncremental("hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1111 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1112 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1113 else if (!lastShown)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1114 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1115 if (last && incremental)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1116 lastShown = last;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1117 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1118
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1119 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1120
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1121 setEosStatus(!nextIncrementalItem(lastShown));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1122
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1123 if (!ns_pos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1124 refreshToolbar(200);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1125 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1126 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1127
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1128 // to first slide with nothing revealed
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1129 // i.e. state at start of presentation
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1130 function firstSlide()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1131 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1132 if (!viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1133 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1134 var slide;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1135
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1136 if (slidenum != 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1137 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1138 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1139 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1140
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1141 slidenum = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1142 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1143 lastShown = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1144 setVisibilityAllIncremental("hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1145 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1146 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1147
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1148 setEosStatus(!nextIncrementalItem(lastShown));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1149 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1150 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1151 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1152
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1153
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1154 // to last slide with everything revealed
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1155 // i.e. state at end of presentation
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1156 function lastSlide()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1157 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1158 if (!viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1159 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1160 var slide;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1161
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1162 lastShown = null; //revealNextItem(lastShown);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1163
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1164 if (lastShown == null && slidenum < slides.length - 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1165 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1166 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1167 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1168 slidenum = slides.length - 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1169 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1170 setVisibilityAllIncremental("visible");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1171 lastShown = previousIncrementalItem(null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1172
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1173 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1174 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1175 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1176 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1177 setVisibilityAllIncremental("visible");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1178 lastShown = previousIncrementalItem(null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1179 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1180
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1181 setEosStatus(true);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1182 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1183 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1184 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1185
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1186 // first slide is 0
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1187 function gotoSlide(num)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1188 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1189 //alert("going to slide " + (num+1));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1190 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1191 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1192 slidenum = num;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1193 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1194 lastShown = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1195 setVisibilityAllIncremental("hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1196 setEosStatus(!nextIncrementalItem(lastShown));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1197 document.title = title + " (" + (slidenum+1) + ")";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1198 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1199 showSlideNumber();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1200 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1201
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1202 function setEosStatus(state)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1203 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1204 if (eos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1205 eos.style.color = (state ? "rgb(240,240,240)" : "red");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1206 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1207
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1208 function showSlide(slide)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1209 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1210 syncBackground(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1211 window.scrollTo(0,0);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1212 slide.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1213 slide.style.display = "block";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1214 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1215
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1216 function hideSlide(slide)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1217 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1218 slide.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1219 slide.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1220 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1221
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1222 function beforePrint()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1223 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1224 showAllSlides();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1225 hideToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1226 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1227
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1228 function afterPrint()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1229 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1230 if (!viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1231 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1232 singleSlideView();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1233 showToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1234 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1235 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1236
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1237 function printSlides()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1238 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1239 beforePrint();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1240 window.print();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1241 afterPrint();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1242 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1243
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1244 function toggleView()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1245 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1246 if (viewAll)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1247 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1248 singleSlideView();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1249 showToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1250 viewAll = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1251 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1252 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1253 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1254 showAllSlides();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1255 hideToolbar();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1256 viewAll = 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1257 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1258 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1259
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1260 // prepare for printing
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1261 function showAllSlides()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1262 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1263 var slide;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1264
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1265 for (var i = 0; i < slides.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1266 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1267 slide = slides[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1268
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1269 slide.style.position = "relative";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1270 slide.style.borderTopStyle = "solid";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1271 slide.style.borderTopWidth = "thin";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1272 slide.style.borderTopColor = "black";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1273
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1274 try {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1275 if (i == 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1276 slide.style.pageBreakBefore = "avoid";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1277 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1278 slide.style.pageBreakBefore = "always";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1279 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1280 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1281 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1282 //do nothing
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1283 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1284
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1285 setVisibilityAllIncremental("visible");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1286 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1287 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1288
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1289 var note;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1290
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1291 for (var i = 0; i < notes.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1292 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1293 showSlide(notes[i]);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1294 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1295
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1296 // no easy way to render background under each slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1297 // without duplicating the background divs for each slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1298 // therefore hide backgrounds to avoid messing up slides
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1299 hideBackgrounds();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1300 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1301
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1302 // restore after printing
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1303 function singleSlideView()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1304 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1305 var slide;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1306
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1307 for (var i = 0; i < slides.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1308 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1309 slide = slides[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1310
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1311 slide.style.position = "absolute";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1312
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1313 if (i == slidenum)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1314 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1315 slide.style.borderStyle = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1316 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1317 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1318 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1319 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1320 slide.style.borderStyle = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1321 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1322 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1323 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1324
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1325 setVisibilityAllIncremental("visible");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1326 lastShown = previousIncrementalItem(null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1327
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1328 var note;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1329
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1330 for (var i = 0; i < notes.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1331 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1332 hideSlide(notes[i]);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1333 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1334 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1335
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1336 // the string str is a whitespace separated list of tokens
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1337 // test if str contains a particular token, e.g. "slide"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1338 function hasToken(str, token)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1339 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1340 if (str)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1341 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1342 // define pattern as regular expression
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1343 var pattern = /\w+/g;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1344
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1345 // check for matches
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1346 // place result in array
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1347 var result = str.match(pattern);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1348
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1349 // now check if desired token is present
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1350 for (var i = 0; i < result.length; i++)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1351 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1352 if (result[i] == token)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1353 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1354 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1355 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1356
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1357 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1358 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1359
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1360 function getClassList(element)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1361 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1362 if (typeof element.className != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1363 return element.className;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1364
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1365 var clsname = (ns_pos||ie8) ? "class" : "className";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1366 return element.getAttribute(clsname);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1367 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1368
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1369 function hasClass(element, name)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1370 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1371 var regexp = new RegExp("(^| )" + name + "\W*");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1372
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1373 if (typeof element.className != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1374 return regexp.test(element.className);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1375
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1376 var clsname = (ns_pos||ie8) ? "class" : "className";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1377 return regexp.test(element.getAttribute(clsname));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1378 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1379
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1380 function removeClass(element, name)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1381 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1382 var regexp = new RegExp("(^| )" + name + "\W*");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1383 var clsval = "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1384
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1385 if (typeof element.className != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1386 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1387 clsval = element.className;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1388
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1389 if (clsval)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1390 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1391 clsval = clsval.replace(regexp, "");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1392 element.className = clsval;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1393 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1394 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1395 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1396 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1397 var clsname = (ns_pos||ie8) ? "class" : "className";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1398 clsval = element.getAttribute(clsname);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1399
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1400 if (clsval)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1401 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1402 clsval = clsval.replace(regexp, "");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1403 element.setAttribute(clsname, clsval);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1404 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1405 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1406 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1407
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1408 function addClass(element, name)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1409 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1410 if (!hasClass(element, name))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1411 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1412 if (typeof element.className != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1413 element.className += " " + name;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1414 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1415 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1416 var clsname = (ns_pos||ie8) ? "class" : "className";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1417 var clsval = element.getAttribute(clsname);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1418 clsval = clsval ? clsval + " " + name : name;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1419 element.setAttribute(clsname, clsval);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1420 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1421 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1422 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1423
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1424 // wysiwyg editors make it hard to use div elements
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1425 // e.g. amaya loses the div when you copy and paste
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1426 // this function wraps div elements around implicit
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1427 // slides which start with an h1 element and continue
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1428 // up to the next heading or div element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1429 function wrapImplicitSlides()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1430 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1431 var i, heading, node, next, div;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1432 var headings = document.getElementsByTagName("h1");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1433
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1434 if (!headings)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1435 return;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1436
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1437 for (i = 0; i < headings.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1438 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1439 heading = headings[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1440
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1441 if (heading.parentNode != document.body)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1442 continue;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1443
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1444 node = heading.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1445
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1446 div = document.createElement("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1447 addClass(div, "slide");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1448 document.body.replaceChild(div, heading);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1449 div.appendChild(heading);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1450
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1451 while (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1452 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1453 if (node.nodeType == 1 && // an element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1454 (node.nodeName == "H1" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1455 node.nodeName == "h1" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1456 node.nodeName == "DIV" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1457 node.nodeName == "div"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1458 break;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1459
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1460 next = node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1461 node = document.body.removeChild(node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1462 div.appendChild(node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1463 node = next;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1464 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1465 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1466 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1467
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1468 // return new array of all slides
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1469 function collectSlides()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1470 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1471 var slides = new Array();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1472 var divs = document.body.getElementsByTagName("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1473
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1474 for (var i = 0; i < divs.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1475 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1476 div = divs.item(i);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1477
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1478 if (hasClass(div, "slide"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1479 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1480 // add slide to collection
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1481 slides[slides.length] = div;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1482
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1483 // hide each slide as it is found
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1484 div.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1485 div.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1486
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1487 // add dummy <br/> at end for scrolling hack
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1488 var node1 = document.createElement("br");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1489 div.appendChild(node1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1490 var node2 = document.createElement("br");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1491 div.appendChild(node2);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1492 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1493 else if (hasClass(div, "background"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1494 { // work around for Firefox SVG reload bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1495 // which otherwise replaces 1st SVG graphic with 2nd
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1496 div.style.display = "block";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1497 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1498 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1499
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1500 return slides;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1501 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1502
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1503 // return new array of all <div class="handout">
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1504 function collectNotes()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1505 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1506 var notes = new Array();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1507 var divs = document.body.getElementsByTagName("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1508
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1509 for (var i = 0; i < divs.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1510 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1511 div = divs.item(i);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1512
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1513 if (hasClass(div, "handout"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1514 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1515 // add slide to collection
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1516 notes[notes.length] = div;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1517
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1518 // hide handout notes as they are found
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1519 div.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1520 div.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1521 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1522 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1523
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1524 return notes;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1525 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1526
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1527 // return new array of all <div class="background">
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1528 // including named backgrounds e.g. class="background titlepage"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1529 function collectBackgrounds()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1530 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1531 var backgrounds = new Array();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1532 var divs = document.body.getElementsByTagName("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1533
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1534 for (var i = 0; i < divs.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1535 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1536 div = divs.item(i);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1537
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1538 if (hasClass(div, "background"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1539 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1540 // add slide to collection
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1541 backgrounds[backgrounds.length] = div;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1542
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1543 // hide named backgrounds as they are found
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1544 // e.g. class="background epilog"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1545 if (getClassList(div) != "background")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1546 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1547 div.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1548 div.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1549 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1550 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1551 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1552
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1553 return backgrounds;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1554 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1555
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1556 // show just the backgrounds pertinent to this slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1557 function syncBackground(slide)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1558 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1559 var background;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1560 var bgColor;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1561
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1562 if (slide.currentStyle)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1563 bgColor = slide.currentStyle["backgroundColor"];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1564 else if (document.defaultView)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1565 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1566 var styles = document.defaultView.getComputedStyle(slide,null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1567
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1568 if (styles)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1569 bgColor = styles.getPropertyValue("background-color");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1570 else // broken implementation probably due Safari or Konqueror
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1571 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1572 //alert("defective implementation of getComputedStyle()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1573 bgColor = "transparent";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1574 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1575 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1576 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1577 bgColor == "transparent";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1578
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1579 if (bgColor == "transparent")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1580 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1581 var slideClass = getClassList(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1582
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1583 for (var i = 0; i < backgrounds.length; i++)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1584 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1585 background = backgrounds[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1586
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1587 var bgClass = getClassList(background);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1588
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1589 if (matchingBackground(slideClass, bgClass))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1590 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1591 background.style.display = "block";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1592 background.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1593 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1594 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1595 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1596 background.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1597 background.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1598 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1599 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1600 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1601 else // forcibly hide all backgrounds
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1602 hideBackgrounds();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1603 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1604
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1605 function hideBackgrounds()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1606 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1607 for (var i = 0; i < backgrounds.length; i++)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1608 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1609 background = backgrounds[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1610 background.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1611 background.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1612 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1613 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1614
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1615 // compare classes for slide and background
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1616 function matchingBackground(slideClass, bgClass)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1617 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1618 if (bgClass == "background")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1619 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1620
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1621 // define pattern as regular expression
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1622 var pattern = /\w+/g;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1623
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1624 // check for matches and place result in array
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1625 var result = slideClass.match(pattern);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1626
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1627 // now check if desired name is present for background
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1628 for (var i = 0; i < result.length; i++)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1629 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1630 if (hasToken(bgClass, result[i]))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1631 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1632 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1633
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1634 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1635 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1636
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1637 // left to right traversal of root's content
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1638 function nextNode(root, node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1639 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1640 if (node == null)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1641 return root.firstChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1642
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1643 if (node.firstChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1644 return node.firstChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1645
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1646 if (node.nextSibling)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1647 return node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1648
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1649 for (;;)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1650 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1651 node = node.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1652
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1653 if (!node || node == root)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1654 break;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1655
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1656 if (node && node.nextSibling)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1657 return node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1658 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1659
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1660 return null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1661 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1662
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1663 // right to left traversal of root's content
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1664 function previousNode(root, node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1665 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1666 if (node == null)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1667 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1668 node = root.lastChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1669
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1670 if (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1671 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1672 while (node.lastChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1673 node = node.lastChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1674 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1675
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1676 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1677 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1678
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1679 if (node.previousSibling)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1680 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1681 node = node.previousSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1682
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1683 while (node.lastChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1684 node = node.lastChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1685
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1686 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1687 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1688
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1689 if (node.parentNode != root)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1690 return node.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1691
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1692 return null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1693 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1694
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1695 // HTML elements that can be used with class="incremental"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1696 // note that you can also put the class on containers like
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1697 // up, ol, dl, and div to make their contents appear
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1698 // incrementally. Upper case is used since this is what
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1699 // browsers report for HTML node names (text/html).
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1700 function incrementalElementList()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1701 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1702 var inclist = new Array();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1703 inclist["P"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1704 inclist["PRE"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1705 inclist["LI"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1706 inclist["BLOCKQUOTE"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1707 inclist["DT"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1708 inclist["DD"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1709 inclist["H2"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1710 inclist["H3"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1711 inclist["H4"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1712 inclist["H5"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1713 inclist["H6"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1714 inclist["SPAN"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1715 inclist["ADDRESS"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1716 inclist["TABLE"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1717 inclist["TR"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1718 inclist["TH"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1719 inclist["TD"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1720 inclist["IMG"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1721 inclist["OBJECT"] = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1722 return inclist;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1723 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1724
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1725 function nextIncrementalItem(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1726 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1727 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1728
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1729 for (;;)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1730 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1731 node = nextNode(slide, node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1732
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1733 if (node == null || node.parentNode == null)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1734 break;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1735
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1736 if (node.nodeType == 1) // ELEMENT
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1737 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1738 if (node.nodeName == "BR")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1739 continue;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1740
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1741 if (hasClass(node, "incremental")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1742 && okayForIncremental[node.nodeName])
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1743 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1744
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1745 if (hasClass(node.parentNode, "incremental")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1746 && !hasClass(node, "non-incremental"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1747 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1748 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1749 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1750
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1751 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1752 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1753
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1754 function previousIncrementalItem(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1755 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1756 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1757
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1758 for (;;)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1759 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1760 node = previousNode(slide, node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1761
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1762 if (node == null || node.parentNode == null)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1763 break;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1764
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1765 if (node.nodeType == 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1766 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1767 if (node.nodeName == "BR")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1768 continue;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1769
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1770 if (hasClass(node, "incremental")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1771 && okayForIncremental[node.nodeName])
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1772 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1773
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1774 if (hasClass(node.parentNode, "incremental")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1775 && !hasClass(node, "non-incremental"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1776 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1777 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1778 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1779
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1780 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1781 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1782
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1783 // set visibility for all elements on current slide with
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1784 // a parent element with attribute class="incremental"
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1785 function setVisibilityAllIncremental(value)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1786 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1787 var node = nextIncrementalItem(null);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1788
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1789 while (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1790 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1791 node.style.visibility = value;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1792 node = nextIncrementalItem(node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1793 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1794 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1795
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1796 // reveal the next hidden item on the slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1797 // node is null or the node that was last revealed
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1798 function revealNextItem(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1799 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1800 node = nextIncrementalItem(node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1801
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1802 if (node && node.nodeType == 1) // an element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1803 node.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1804
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1805 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1806 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1807
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1808
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1809 // exact inverse of revealNextItem(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1810 function hidePreviousItem(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1811 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1812 if (node && node.nodeType == 1) // an element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1813 node.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1814
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1815 return previousIncrementalItem(node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1816 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1817
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1818
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1819 /* set click handlers on all anchors */
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1820 function patchAnchors()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1821 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1822 var anchors = document.body.getElementsByTagName("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1823
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1824 for (var i = 0; i < anchors.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1825 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1826 anchors[i].onclick = clickedAnchor;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1827 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1828 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1829
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1830 function clickedAnchor(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1831 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1832 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1833 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1834
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1835 // compare this.href with location.href
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1836 // for link to another slide in this doc
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1837
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1838 if (pageAddress(this.href) == pageAddress(location.href))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1839 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1840 // yes, so find new slide number
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1841 var newslidenum = findSlideNumber(this.href);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1842
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1843 if (newslidenum != slidenum)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1844 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1845 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1846 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1847 slidenum = newslidenum;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1848 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1849 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1850 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1851 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1852 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1853 else if (this.target == null)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1854 location.href = this.href;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1855
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1856 this.blur();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1857 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1858 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1859
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1860 function pageAddress(uri)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1861 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1862 var i = uri.indexOf("#");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1863
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1864 if (i < 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1865 i = uri.indexOf("%23");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1866
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1867 // check if anchor is entire page
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1868
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1869 if (i < 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1870 return uri; // yes
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1871
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1872 return uri.substr(0, i);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1873 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1874
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1875 function showSlideNumber()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1876 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1877 slideNumElement.innerHTML = "slide".localize() + " " +
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1878 (slidenum + 1) + "/" + slides.length;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1879 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1880
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1881 // every 200mS check if the location has been changed as a
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1882 // result of the user activating the Back button/menu item
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1883 // doesn't work for Opera < 9.5
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1884 function checkLocation()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1885 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1886 var hash = location.hash;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1887
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1888 if (slidenum > 0 && (hash == "" || hash == "#"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1889 gotoSlide(0);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1890 else if (hash.length > 2 && hash != "#("+(slidenum+1)+")")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1891 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1892 var num = parseInt(location.hash.substr(2));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1893
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1894 if (!isNaN(num))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1895 gotoSlide(num-1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1896 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1897 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1898
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1899 // this doesn't push location onto history stack for IE
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1900 // for which a hidden iframe hack is needed: load page into
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1901 // the iframe with script that set's parent's location.hash
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1902 // but that won't work for standalone use unless we can
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1903 // create the page dynamically via a javascript: URL
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1904 function setLocation()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1905 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1906 var uri = pageAddress(location.href);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1907 var hash = "#(" + (slidenum+1) + ")";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1908
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1909 if (slidenum >= 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1910 uri = uri + hash;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1911
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1912 if (ie && !ie8)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1913 pushHash(hash);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1914
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1915 if (uri != location.href /*&& !khtml */)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1916 location.href = uri;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1917
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1918 if (khtml)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1919 hash = "(" + (slidenum+1) + ")";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1920
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1921 if (!ie && location.hash != hash && location.hash != "")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1922 location.hash = hash;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1923
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1924 document.title = title + " (" + (slidenum+1) + ")";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1925 showSlideNumber();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1926 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1927
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1928 // only used for IE6 and IE7
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1929 function onFrameLoaded(hash)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1930 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1931 location.hash = hash;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1932 var uri = pageAddress(location.href);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1933 location.href = uri + hash;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1934 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1935
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1936 // history hack with thanks to Bertrand Le Roy
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1937 function pushHash(hash)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1938 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1939 if (hash == "") hash = "#(1)";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1940 window.location.hash = hash;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1941 var doc = document.getElementById("historyFrame").contentWindow.document;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1942 doc.open("javascript:'<html></html>'");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1943 doc.write("<html><head><script type=\"text/javascript\">parent.onFrameLoaded('"+
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1944 (hash) + "');</script></head><body>hello mum</body></html>");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1945 doc.close();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1946 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1947
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1948 // find current slide based upon location
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1949 // first find target anchor and then look
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1950 // for associated div element enclosing it
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1951 // finally map that to slide number
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1952 function findSlideNumber(uri)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1953 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1954 // first get anchor from page location
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1955
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1956 var i = uri.indexOf("#");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1957
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1958 // check if anchor is entire page
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1959
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1960 if (i < 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1961 return 0; // yes
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1962
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1963 var anchor = unescape(uri.substr(i+1));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1964
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1965 // now use anchor as XML ID to find target
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1966 var target = document.getElementById(anchor);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1967
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1968 if (!target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1969 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1970 // does anchor look like "(2)" for slide 2 ??
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1971 // where first slide is (1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1972 var re = /\((\d)+\)/;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1973
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1974 if (anchor.match(re))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1975 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1976 var num = parseInt(anchor.substring(1, anchor.length-1));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1977
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1978 if (num > slides.length)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1979 num = 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1980
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1981 if (--num < 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1982 num = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1983
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1984 return num;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1985 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1986
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1987 // accept [2] for backwards compatibility
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1988 re = /\[(\d)+\]/;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1989
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1990 if (anchor.match(re))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1991 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1992 var num = parseInt(anchor.substring(1, anchor.length-1));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1993
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1994 if (num > slides.length)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1995 num = 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1996
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1997 if (--num < 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1998 num = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1999
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2000 return num;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2001 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2002
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2003 // oh dear unknown anchor
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2004 return 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2005 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2006
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2007 // search for enclosing slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2008
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2009 while (true)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2010 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2011 // browser coerces html elements to uppercase!
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2012 if (target.nodeName.toLowerCase() == "div" &&
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2013 hasClass(target, "slide"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2014 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2015 // found the slide element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2016 break;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2017 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2018
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2019 // otherwise try parent element if any
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2020
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2021 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2022
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2023 if (!target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2024 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2025 return 0; // no luck!
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2026 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2027 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2028
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2029 for (i = 0; i < slides.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2030 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2031 if (slides[i] == target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2032 return i; // success
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2033 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2034
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2035 // oh dear still no luck
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2036 return 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2037 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2038
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2039 // find slide name from first h1 element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2040 // default to document title + slide number
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2041 function slideName(index)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2042 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2043 var name = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2044 var slide = slides[index];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2045
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2046 var heading = findHeading(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2047
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2048 if (heading)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2049 name = extractText(heading);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2050
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2051 if (!name)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2052 name = title + "(" + (index + 1) + ")";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2053
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2054 name.replace(/\&/g, "&amp;");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2055 name.replace(/\</g, "&lt;");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2056 name.replace(/\>/g, "&gt;");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2057
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2058 return name;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2059 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2060
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2061 // find first h1 element in DOM tree
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2062 function findHeading(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2063 { if (!node || node.nodeType != 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2064 return null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2065
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2066 if (node.nodeName == "H1" || node.nodeName == "h1")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2067 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2068
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2069 var child = node.firstChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2070
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2071 while (child)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2072 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2073 node = findHeading(child);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2074
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2075 if (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2076 return node;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2077
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2078 child = child.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2079 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2080
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2081 return null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2082 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2083
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2084 // recursively extract text from DOM tree
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2085 function extractText(node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2086 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2087 if (!node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2088 return "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2089
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2090 // text nodes
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2091 if (node.nodeType == 3)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2092 return node.nodeValue;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2093
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2094 // elements
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2095 if (node.nodeType == 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2096 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2097 node = node.firstChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2098 var text = "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2099
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2100 while (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2101 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2102 text = text + extractText(node);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2103 node = node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2104 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2105
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2106 return text;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2107 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2108
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2109 return "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2110 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2111
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2112
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2113 // find copyright text from meta element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2114 function findCopyright()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2115 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2116 var name, content;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2117 var meta = document.getElementsByTagName("meta");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2118
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2119 for (var i = 0; i < meta.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2120 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2121 name = meta[i].getAttribute("name");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2122 content = meta[i].getAttribute("content");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2123
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2124 if (name == "copyright")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2125 return content;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2126 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2127
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2128 return null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2129 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2130
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2131 function findSizeAdjust()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2132 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2133 var name, content, offset;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2134 var meta = document.getElementsByTagName("meta");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2135
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2136 for (var i = 0; i < meta.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2137 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2138 name = meta[i].getAttribute("name");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2139 content = meta[i].getAttribute("content");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2140
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2141 if (name == "font-size-adjustment")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2142 return 1 * content;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2143 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2144
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2145 return 1;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2146 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2147
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2148 function addToolbar()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2149 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2150 var slideCounter, page;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2151
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2152 var toolbar = createElement("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2153 toolbar.setAttribute("class", "toolbar");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2154
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2155 if (ns_pos) // a reasonably behaved browser
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2156 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2157 var right = document.createElement("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2158 right.setAttribute("style", "float: right; text-align: right");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2159
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2160 slideCounter = document.createElement("div")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2161 slideCounter.innerHTML = "slide".localize() + " n/m";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2162 right.appendChild(slideCounter);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2163 toolbar.appendChild(right);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2164
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2165 var left = document.createElement("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2166 left.setAttribute("style", "text-align: left");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2167
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2168 // global end of slide indicator
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2169 eos = document.createElement("span");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2170 eos.innerHTML = "* ";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2171 left.appendChild(eos);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2172
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2173 var help = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2174 help.setAttribute("href", helpPage);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2175 help.setAttribute("title", helpText.localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2176 help.innerHTML = "help?".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2177 left.appendChild(help);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2178 helpAnchor = help; // save for focus hack
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2179
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2180 var gap1 = document.createTextNode(" ");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2181 left.appendChild(gap1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2182
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2183 var contents = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2184 contents.setAttribute("href", "javascript:toggleTableOfContents()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2185 contents.setAttribute("title", "table of contents".localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2186 contents.innerHTML = "contents?".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2187 left.appendChild(contents);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2188
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2189 var gap2 = document.createTextNode(" ");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2190 left.appendChild(gap2);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2191
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2192 var start = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2193 start.setAttribute("href", "javascript:firstSlide()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2194 start.setAttribute("title", "restart presentation".localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2195 start.innerHTML = "restart?".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2196 // start.setAttribute("href", "javascript:printSlides()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2197 // start.setAttribute("title", "print all slides".localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2198 // start.innerHTML = "print!".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2199 left.appendChild(start);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2200
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2201 var copyright = findCopyright();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2202
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2203 if (copyright)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2204 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2205 var span = document.createElement("span");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2206 span.innerHTML = copyright;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2207 span.style.color = "black";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2208 span.style.marginLeft = "4em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2209 left.appendChild(span);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2210 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2211
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2212 toolbar.appendChild(left);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2213 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2214 else // IE so need to work around its poor CSS support
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2215 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2216 toolbar.style.position = (ie7 ? "fixed" : "absolute");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2217 toolbar.style.zIndex = "200";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2218 toolbar.style.width = "99.9%";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2219 toolbar.style.height = "1.2em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2220 toolbar.style.top = "auto";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2221 toolbar.style.bottom = "0";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2222 toolbar.style.left = "0";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2223 toolbar.style.right = "0";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2224 toolbar.style.textAlign = "left";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2225 toolbar.style.fontSize = "60%";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2226 toolbar.style.color = "red";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2227 toolbar.borderWidth = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2228 toolbar.style.background = "rgb(240,240,240)";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2229
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2230 // would like to have help text left aligned
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2231 // and page counter right aligned, floating
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2232 // div's don't work, so instead use nested
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2233 // absolutely positioned div's.
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2234
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2235 var sp = document.createElement("span");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2236 sp.innerHTML = "&nbsp;&nbsp;*&nbsp;";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2237 toolbar.appendChild(sp);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2238 eos = sp; // end of slide indicator
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2239
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2240 var help = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2241 help.setAttribute("href", helpPage);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2242 help.setAttribute("title", helpText.localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2243 help.innerHTML = "help?".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2244 toolbar.appendChild(help);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2245 helpAnchor = help; // save for focus hack
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2246
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2247 var gap1 = document.createTextNode(" ");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2248 toolbar.appendChild(gap1);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2249
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2250 var contents = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2251 contents.setAttribute("href", "javascript:toggleTableOfContents()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2252 contents.setAttribute("title", "table of contents".localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2253 contents.innerHTML = "contents?".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2254 toolbar.appendChild(contents);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2255
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2256 var gap2 = document.createTextNode(" ");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2257 toolbar.appendChild(gap2);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2258
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2259 var start = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2260 start.setAttribute("href", "javascript:firstSlide()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2261 start.setAttribute("title", "restart presentation".localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2262 start.innerHTML = "restart?".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2263 // start.setAttribute("href", "javascript:printSlides()");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2264 // start.setAttribute("title", "print all slides".localize());
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2265 // start.innerHTML = "print!".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2266 toolbar.appendChild(start);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2267
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2268 var copyright = findCopyright();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2269
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2270 if (copyright)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2271 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2272 var span = document.createElement("span");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2273 span.innerHTML = copyright;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2274 span.style.color = "black";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2275 span.style.marginLeft = "2em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2276 toolbar.appendChild(span);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2277 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2278
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2279 slideCounter = document.createElement("div")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2280 slideCounter.style.position = "absolute";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2281 slideCounter.style.width = "auto"; //"20%";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2282 slideCounter.style.height = "1.2em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2283 slideCounter.style.top = "auto";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2284 slideCounter.style.bottom = 0;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2285 slideCounter.style.right = "0";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2286 slideCounter.style.textAlign = "right";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2287 slideCounter.style.color = "red";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2288 slideCounter.style.background = "rgb(240,240,240)";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2289
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2290 slideCounter.innerHTML = "slide".localize() + " n/m";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2291 toolbar.appendChild(slideCounter);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2292 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2293
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2294 // ensure that click isn't passed through to the page
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2295 toolbar.onclick = stopPropagation;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2296 document.body.appendChild(toolbar);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2297 slideNumElement = slideCounter;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2298 setEosStatus(false);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2299
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2300 return toolbar;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2301 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2302
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2303 function isShownToc()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2304 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2305 if (toc && toc.style.visible == "visible")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2306 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2307
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2308 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2309 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2310
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2311 function showTableOfContents()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2312 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2313 if (toc)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2314 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2315 if (toc.style.visibility != "visible")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2316 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2317 toc.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2318 toc.style.display = "block";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2319 toc.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2320
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2321 if (ie7 && slidenum == 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2322 setTimeout("ieHack()", 100);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2323 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2324 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2325 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2326 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2327 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2328
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2329 function hideTableOfContents()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2330 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2331 if (toc && toc.style.visibility != "hidden")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2332 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2333 toc.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2334 toc.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2335
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2336 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2337 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2338 if (!opera)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2339 helpAnchor.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2340 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2341 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2342 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2343 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2344 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2345 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2346
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2347 function toggleTableOfContents()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2348 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2349 if (toc)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2350 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2351 if (toc.style.visible != "visible")
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2352 showTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2353 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2354 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2355 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2356 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2357
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2358 // called on clicking toc entry
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2359 function gotoEntry(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2360 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2361 var target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2362
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2363 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2364 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2365
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2366 if (e.target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2367 target = e.target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2368 else if (e.srcElement)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2369 target = e.srcElement;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2370
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2371 // work around Safari bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2372 if (target.nodeType == 3)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2373 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2374
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2375 if (target && target.nodeType == 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2376 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2377 var uri = target.getAttribute("href");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2378
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2379 if (uri)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2380 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2381 //alert("going to " + uri);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2382 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2383 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2384 slidenum = findSlideNumber(uri);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2385 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2386 lastShown = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2387 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2388 setVisibilityAllIncremental("hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2389 setEosStatus(!nextIncrementalItem(lastShown));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2390 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2391 //target.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2392
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2393 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2394 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2395 if (!opera)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2396 helpAnchor.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2397 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2398 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2399 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2400 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2401 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2402 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2403
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2404 hideTableOfContents(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2405 if (ie7) ieHack();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2406 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2407 return cancel(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2408 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2409
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2410 // called onkeydown for toc entry
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2411 function gotoTocEntry(event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2412 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2413 var key;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2414
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2415 if (!event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2416 var event = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2417
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2418 // kludge around NS/IE differences
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2419 if (window.event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2420 key = window.event.keyCode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2421 else if (event.which)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2422 key = event.which;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2423 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2424 return true; // Yikes! unknown browser
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2425
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2426 // ignore event if key value is zero
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2427 // as for alt on Opera and Konqueror
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2428 if (!key)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2429 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2430
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2431 // check for concurrent control/command/alt key
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2432 // but are these only present on mouse events?
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2433
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2434 if (event.ctrlKey || event.altKey)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2435 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2436
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2437 if (key == 13)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2438 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2439 var uri = this.getAttribute("href");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2440
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2441 if (uri)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2442 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2443 //alert("going to " + uri);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2444 var slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2445 hideSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2446 slidenum = findSlideNumber(uri);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2447 slide = slides[slidenum];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2448 lastShown = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2449 setLocation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2450 setVisibilityAllIncremental("hidden");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2451 setEosStatus(!nextIncrementalItem(lastShown));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2452 showSlide(slide);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2453 //target.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2454
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2455 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2456 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2457 if (!opera)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2458 helpAnchor.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2459 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2460 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2461 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2462 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2463 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2464
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2465 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2466 if (ie7) ieHack();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2467 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2468 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2469
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2470 if (key == 40 && this.next)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2471 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2472 this.next.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2473 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2474 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2475
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2476 if (key == 38 && this.previous)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2477 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2478 this.previous.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2479 return cancel(event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2480 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2481
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2482 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2483 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2484
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2485 function isTitleSlide(slide)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2486 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2487 return hasClass(slide, "title");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2488 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2489
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2490 // create div element with links to each slide
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2491 function tableOfContents()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2492 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2493 var toc = document.createElement("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2494 addClass(toc, "toc");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2495 //toc.setAttribute("tabindex", "0");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2496
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2497 var heading = document.createElement("div");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2498 addClass(heading, "toc-heading");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2499 heading.innerHTML = "Table of Contents".localize();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2500
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2501 heading.style.textAlign = "center";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2502 heading.style.width = "100%";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2503 heading.style.margin = "0";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2504 heading.style.marginBottom = "1em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2505 heading.style.borderBottomStyle = "solid";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2506 heading.style.borderBottomColor = "rgb(180,180,180)";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2507 heading.style.borderBottomWidth = "1px";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2508
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2509 toc.appendChild(heading);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2510 var previous = null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2511
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2512 for (var i = 0; i < slides.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2513 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2514 var title = hasClass(slides[i], "title");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2515 var num = document.createTextNode((i + 1) + ". ");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2516
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2517 toc.appendChild(num);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2518
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2519 var a = document.createElement("a");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2520 a.setAttribute("href", "#(" + (i+1) + ")");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2521
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2522 if (title)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2523 addClass(a, "titleslide");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2524
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2525 var name = document.createTextNode(slideName(i));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2526 a.appendChild(name);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2527 a.onclick = gotoEntry;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2528 a.onkeydown = gotoTocEntry;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2529 a.previous = previous;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2530
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2531 if (previous)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2532 previous.next = a;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2533
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2534 toc.appendChild(a);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2535
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2536 if (i == 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2537 toc.first = a;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2538
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2539 if (i < slides.length - 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2540 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2541 var br = document.createElement("br");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2542 toc.appendChild(br);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2543 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2544
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2545 previous = a;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2546 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2547
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2548 toc.focus = function () {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2549 if (this.first)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2550 this.first.focus();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2551 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2552
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2553 toc.onmouseup = mouseButtonUp;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2554
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2555 toc.onclick = function (e) {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2556 e||(e=window.event);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2557
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2558 if (selectedTextLen <= 0)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2559 hideTableOfContents();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2560
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2561 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2562
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2563 if (e.cancel != undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2564 e.cancel = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2565
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2566 if (e.returnValue != undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2567 e.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2568
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2569 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2570 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2571
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2572 toc.style.position = "absolute";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2573 toc.style.zIndex = "300";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2574 toc.style.width = "60%";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2575 toc.style.maxWidth = "30em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2576 toc.style.height = "30em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2577 toc.style.overflow = "auto";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2578 toc.style.top = "auto";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2579 toc.style.right = "auto";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2580 toc.style.left = "4em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2581 toc.style.bottom = "4em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2582 toc.style.padding = "1em";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2583 toc.style.background = "rgb(240,240,240)";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2584 toc.style.borderStyle = "solid";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2585 toc.style.borderWidth = "2px";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2586 toc.style.fontSize = "60%";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2587
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2588 document.body.insertBefore(toc, document.body.firstChild);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2589 return toc;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2590 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2591
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2592 function replaceByNonBreakingSpace(str)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2593 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2594 for (var i = 0; i < str.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2595 str[i] = 160;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2596 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2597
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2598
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2599 function initOutliner()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2600 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2601 var items = document.getElementsByTagName("LI");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2602
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2603 for (var i = 0; i < items.length; ++i)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2604 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2605 var target = items[i];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2606
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2607 if (!hasClass(target.parentNode, "outline"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2608 continue;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2609
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2610 target.onclick = outlineClick;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2611
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2612 if (!ns_pos)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2613 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2614 target.onmouseover = hoverOutline;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2615 target.onmouseout = unhoverOutline;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2616 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2617
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2618 if (foldable(target))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2619 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2620 target.foldable = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2621 target.onfocus = function () {outline = this;};
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2622 target.onblur = function () {outline = null;};
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2623
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2624 if (!target.getAttribute("tabindex"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2625 target.setAttribute("tabindex", "0");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2626
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2627 if (hasClass(target, "expand"))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2628 unfold(target);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2629 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2630 fold(target);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2631 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2632 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2633 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2634 addClass(target, "nofold");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2635 target.visible = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2636 target.foldable = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2637 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2638 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2639 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2640
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2641 function foldable(item)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2642 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2643 if (!item || item.nodeType != 1)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2644 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2645
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2646 var node = item.firstChild;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2647
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2648 while (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2649 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2650 if (node.nodeType == 1 && isBlock(node))
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2651 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2652
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2653 node = node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2654 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2655
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2656 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2657 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2658
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2659 function fold(item)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2660 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2661 if (item)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2662 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2663 removeClass(item, "unfolded");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2664 addClass(item, "folded");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2665 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2666
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2667 var node = item ? item.firstChild : null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2668
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2669 while (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2670 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2671 if (node.nodeType == 1 && isBlock(node)) // element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2672 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2673 // note that getElementStyle won't work for Safari 1.3
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2674 node.display = getElementStyle(node, "display", "display");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2675 node.style.display = "none";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2676 node.style.visibility = "hidden";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2677 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2678
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2679 node = node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2680 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2681
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2682 item.visible = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2683 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2684
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2685 function unfold(item)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2686 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2687 if (item)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2688 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2689 addClass(item, "unfolded");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2690 removeClass(item, "folded");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2691 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2692
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2693 var node = item ? item.firstChild : null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2694
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2695 while (node)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2696 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2697 if (node.nodeType == 1 && isBlock(node)) // element
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2698 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2699 // with fallback for Safari, see above
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2700 node.style.display = (node.display ? node.display : "block");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2701 node.style.visibility = "visible";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2702 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2703
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2704 node = node.nextSibling;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2705 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2706
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2707 item.visible = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2708 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2709
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2710 function outlineClick(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2711 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2712 var rightclick = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2713 var target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2714
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2715 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2716 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2717
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2718 if (e.target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2719 target = e.target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2720 else if (e.srcElement)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2721 target = e.srcElement;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2722
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2723 // work around Safari bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2724 if (target.nodeType == 3)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2725 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2726
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2727 while (target && target.visible == undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2728 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2729
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2730 if (!target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2731 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2732
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2733 if (e.which)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2734 rightclick = (e.which == 3);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2735 else if (e.button)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2736 rightclick = (e.button == 2);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2737
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2738 if (!rightclick && target.visible != undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2739 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2740 if (target.foldable)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2741 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2742 if (target.visible)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2743 fold(target);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2744 else
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2745 unfold(target);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2746 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2747
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2748 stopPropagation(e);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2749 e.cancel = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2750 e.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2751 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2752
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2753 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2754 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2755
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2756 function hoverOutline(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2757 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2758 var target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2759
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2760 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2761 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2762
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2763 if (e.target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2764 target = e.target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2765 else if (e.srcElement)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2766 target = e.srcElement;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2767
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2768 // work around Safari bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2769 if (target.nodeType == 3)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2770 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2771
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2772 while (target && target.visible == undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2773 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2774
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2775 if (target && target.foldable)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2776 target.style.cursor = "pointer";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2777
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2778 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2779 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2780
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2781 function unhoverOutline(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2782 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2783 var target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2784
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2785 if (!e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2786 var e = window.event;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2787
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2788 if (e.target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2789 target = e.target;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2790 else if (e.srcElement)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2791 target = e.srcElement;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2792
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2793 // work around Safari bug
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2794 if (target.nodeType == 3)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2795 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2796
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2797 while (target && target.visible == undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2798 target = target.parentNode;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2799
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2800 if (target)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2801 target.style.cursor = "default";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2802
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2803 return true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2804 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2805
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2806
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2807 function stopPropagation(e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2808 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2809 if (window.event)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2810 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2811 window.event.cancelBubble = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2812 //window.event.returnValue = false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2813 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2814 else if (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2815 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2816 e.cancelBubble = true;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2817 e.stopPropagation();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2818 //e.preventDefault();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2819 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2820 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2821
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2822 /* can't rely on display since we set that to none to hide things */
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2823 function isBlock(elem)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2824 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2825 var tag = elem.nodeName;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2826
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2827 return tag == "OL" || tag == "UL" || tag == "P" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2828 tag == "LI" || tag == "TABLE" || tag == "PRE" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2829 tag == "H1" || tag == "H2" || tag == "H3" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2830 tag == "H4" || tag == "H5" || tag == "H6" ||
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2831 tag == "BLOCKQUOTE" || tag == "ADDRESS";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2832 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2833
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2834 function getElementStyle(elem, IEStyleProp, CSSStyleProp)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2835 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2836 if (elem.currentStyle)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2837 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2838 return elem.currentStyle[IEStyleProp];
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2839 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2840 else if (window.getComputedStyle)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2841 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2842 var compStyle = window.getComputedStyle(elem, "");
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2843 return compStyle.getPropertyValue(CSSStyleProp);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2844 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2845 return "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2846 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2847
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2848 // works with text/html and text/xhtml+xml with thanks to Simon Willison
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2849 function createElement(element)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2850 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2851 if (typeof document.createElementNS != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2852 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2853 return document.createElementNS('http://www.w3.org/1999/xhtml', element);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2854 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2855
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2856 if (typeof document.createElement != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2857 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2858 return document.createElement(element);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2859 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2860
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2861 return false;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2862 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2863
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2864 // designed to work with both text/html and text/xhtml+xml
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2865 function getElementsByTagName(name)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2866 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2867 if (typeof document.getElementsByTagNameNS != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2868 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2869 return document.getElementsByTagNameNS('http://www.w3.org/1999/xhtml', name);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2870 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2871
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2872 if (typeof document.getElementsByTagName != 'undefined')
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2873 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2874 return document.getElementsByTagName(name);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2875 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2876
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2877 return null;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2878 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2879
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2880 /*
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2881 // clean alternative to innerHTML method, but on IE6
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2882 // it doesn't work with named entities like &nbsp;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2883 // which need to be replaced by numeric entities
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2884 function insertText(element, text)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2885 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2886 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2887 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2888 element.textContent = text; // DOM3 only
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2889 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2890 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2891 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2892 if (element.firstChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2893 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2894 // remove current children
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2895 while (element.firstChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2896 element.removeChild(element.firstChild);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2897 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2898
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2899 element.appendChild(document.createTextNode(text));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2900 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2901 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2902
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2903 // as above, but as method of all element nodes
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2904 // doesn't work in IE6 which doesn't allow you to
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2905 // add methods to the HTMLElement prototype
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2906 if (HTMLElement != undefined)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2907 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2908 HTMLElement.prototype.insertText = function(text) {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2909 var element = this;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2910
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2911 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2912 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2913 element.textContent = text; // DOM3 only
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2914 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2915 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2916 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2917 if (element.firstChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2918 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2919 // remove current children
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2920 while (element.firstChild)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2921 element.removeChild(element.firstChild);
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2922 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2923
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2924 element.appendChild(document.createTextNode(text));
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2925 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2926 };
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2927 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2928 */
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2929
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2930 function getSelectedText()
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2931 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2932 try
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2933 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2934 if (window.getSelection)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2935 return window.getSelection().toString();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2936
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2937 if (document.getSelection)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2938 return document.getSelection().toString();
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2939
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2940 if (document.selection)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2941 return document.selection.createRange().text;
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2942 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2943 catch (e)
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2944 {
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2945 return "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2946 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2947 return "";
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2948 }
12cb508ee15d add slides for probation.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2949