git.iko.soy/typeable/pandoc
on 2d653dc help sign in
typeable/pandoc/tests/s5.basic.html
761 lines 24 kB history raw
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<!-- configuration parameters -->
5<meta name="defaultView" content="slideshow" />
6<meta name="controlVis" content="hidden" />
7<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
8<meta name="generator" content="pandoc" />
9<style type="text/css" media="projection" id="slideProj">
10/* Do not edit or override these styles! The system will likely break if you do. */
12div#header, div#footer, div#controls, .slide {position: absolute;}
13html>body div#header, html>body div#footer,
14 html>body div#controls, html>body .slide {position: fixed;}
15.handout {display: none;}
16.layout {display: block;}
17.slide, .hideme, .incremental {visibility: hidden;}
18#slide0 {visibility: visible;}
20/* The following styles size, place, and layer the slide components.
21 Edit these if you want to change the overall slide layout.
22 The commented lines can be uncommented (and modified, if necessary)
23 to help you with the rearrangement process. */
25/* target = 1024x768 */
27div#header, div#footer, .slide {width: 100%; top: 0; left: 0;}
28div#header {top: 0; height: 3em; z-index: 1;}
29div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;}
30.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;}
31div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;}
32div#controls form {position: absolute; bottom: 0; right: 0; width: 100%;
33 margin: 0;}
34#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;}
35html>body #currentSlide {position: fixed;}
37/*
38div#header {background: #FCC;}
39div#footer {background: #CCF;}
40div#controls {background: #BBD;}
41div#currentSlide {background: #FFC;}
42*/
44/* Following are the presentation styles -- edit away! */
46body {background: #FFF url(bodybg.gif) -16px 0 no-repeat; color: #000; font-size: 2em;}
47:link, :visited {text-decoration: none; color: #00C;}
48#controls :active {color: #88A !important;}
49#controls :focus {outline: 1px dotted #227;}
50h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;}
51ul, pre {margin: 0; line-height: 1em;}
52html, body {margin: 0; padding: 0;}
54blockquote, q {font-style: italic;}
55blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;}
56blockquote p {margin: 0;}
57blockquote i {font-style: normal;}
58blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;}
59blockquote b i {font-style: italic;}
61kbd {font-weight: bold; font-size: 1em;}
62sup {font-size: smaller; line-height: 1px;}
64.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;}
65.slide code.bad, code del {color: red;}
66.slide code.old {color: silver;}
67.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;}
68.slide pre code {display: block;}
69.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;}
70.slide li {margin-top: 0.75em; margin-right: 0;}
71.slide ul ul {line-height: 1;}
72.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;}
73.slide img.leader {display: block; margin: 0 auto;}
75div#header, div#footer {background: #005; color: #AAB;
76 font-family: Verdana, Helvetica, sans-serif;}
77div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat;
78 line-height: 1px;}
79div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;}
80#footer h1, #footer h2 {display: block; padding: 0 1em;}
81#footer h2 {font-style: italic;}
83div.long {font-size: 0.75em;}
84.slide h1 {position: absolute; top: 0.7em; left: 87px; z-index: 1;
85 margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap;
86 font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize;
87 color: #DDE; background: #005;}
88.slide h3 {font-size: 130%;}
89h1 abbr {font-variant: small-caps;}
91div#controls {position: absolute; left: 50%; bottom: 0;
92 width: 50%;
93 text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;}
94html>body div#controls {position: fixed; padding: 0 0 1em 0;
95 top: auto;}
96div#controls form {position: absolute; bottom: 0; right: 0; width: 100%;
97 margin: 0; padding: 0;}
98#controls #navLinks a {padding: 0; margin: 0 0.5em;
99 background: #005; border: none; color: #779;
100 cursor: pointer;}
101#controls #navList {height: 1em;}
102#controls #navList #jumplist {position: absolute; bottom: 0; right: 0; background: #DDD; color: #227;}
104#currentSlide {text-align: center; font-size: 0.5em; color: #449;}
106#slide0 {padding-top: 3.5em; font-size: 90%;}
107#slide0 h1 {position: static; margin: 1em 0 0; padding: 0;
108 font: bold 2em Helvetica, sans-serif; white-space: normal;
109 color: #000; background: transparent;}
110#slide0 h2 {font: bold italic 1em Helvetica, sans-serif; margin: 0.25em;}
111#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;}
112#slide0 h4 {margin-top: 0; font-size: 1em;}
114ul.urls {list-style: none; display: inline; margin: 0;}
115.urls li {display: inline; margin: 0;}
116.note {display: none;}
117.external {border-bottom: 1px dotted gray;}
118html>body .external {border-bottom: none;}
119.external:after {content: " \274F"; font-size: smaller; color: #77B;}
121.incremental, .incremental *, .incremental *:after {color: #DDE; visibility: visible;}
122img.incremental {visibility: hidden;}
123.slide .current {color: #B02;}
126/* diagnostics
128li:after {content: " [" attr(class) "]"; color: #F88;}
129 */
130</style>
131<style type="text/css" media="projection" id="operaFix">
132/* DO NOT CHANGE THESE unless you really want to break Opera Show */
133.slide {
134 visibility: visible !important;
135 position: static !important;
136 page-break-before: always;
138#slide0 {page-break-before: avoid;}
140</style>
141<style type="text/css" media="screen" id="outlineStyle">
142/* don't change this unless you want the layout stuff to show up in the outline view! */
144.layout div, #footer *, #controlForm * {display: none;}
145#footer, #controls, #controlForm, #navLinks, #toggle {
146 display: block; visibility: visible; margin: 0; padding: 0;}
147#toggle {float: right; padding: 0.5em;}
148html>body #toggle {position: fixed; top: 0; right: 0;}
150/* making the outline look pretty-ish */
152#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;}
153#slide0 h1 {padding-top: 1.5em;}
154.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em;
155 border-top: 1px solid #888; border-bottom: 1px solid #AAA;}
156#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;}
158</style>
159<style type="text/css" media="print" id="slidePrint">
160/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */ .slide, ul {page-break-inside: avoid; visibility: visible !important;} h1 {page-break-after: avoid;} body {font-size: 12pt; background: white;} * {color: black;} #slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;} #slide0 h3 {margin: 0; padding: 0;} #slide0 h4 {margin: 0 0 0.5em; padding: 0;} #slide0 {margin-bottom: 3em;} h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;} .extra {background: transparent !important;} div.extra, pre.extra, .example {font-size: 10pt; color: #333;} ul.extra a {font-weight: bold;} p.example {display: none;} #header {display: none;} #footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;} #footer h2, #controls {display: none;} /* The following rule keeps the layout stuff out of print. Remove at your own risk! */ .layout, .layout * {display: none !important;}
161</style>
162<script type="text/javascript">
163// S5 v1.1 slides.js -- released into the Public Domain
164//
165// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information
166// about all the wonderful and talented contributors to this code!
168var undef;
169var slideCSS = '';
170var snum = 0;
171var smax = 1;
172var incpos = 0;
173var number = undef;
174var s5mode = true;
175var defaultView = 'slideshow';
176var controlVis = 'visible';
178var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0;
179var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0;
180var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0;
182function hasClass(object, className) {
183 if (!object.className) return false;
184 return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
187function hasValue(object, value) {
188 if (!object) return false;
189 return (object.search('(^|\\s)' + value + '(\\s|$)') != -1);
192function removeClass(object,className) {
193 if (!object) return;
194 object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2);
197function addClass(object,className) {
198 if (!object || hasClass(object, className)) return;
199 if (object.className) {
200 object.className += ' '+className;
201 } else {
202 object.className = className;
203 }
206function GetElementsWithClassName(elementName,className) {
207 var allElements = document.getElementsByTagName(elementName);
208 var elemColl = new Array();
209 for (var i = 0; i< allElements.length; i++) {
210 if (hasClass(allElements[i], className)) {
211 elemColl[elemColl.length] = allElements[i];
212 }
213 }
214 return elemColl;
217function isParentOrSelf(element, id) {
218 if (element == null || element.nodeName=='BODY') return false;
219 else if (element.id == id) return true;
220 else return isParentOrSelf(element.parentNode, id);
223function nodeValue(node) {
224 var result = "";
225 if (node.nodeType == 1) {
226 var children = node.childNodes;
227 for (var i = 0; i < children.length; ++i) {
228 result += nodeValue(children[i]);
229 }
230 }
231 else if (node.nodeType == 3) {
232 result = node.nodeValue;
233 }
234 return(result);
237function slideLabel() {
238 var slideColl = GetElementsWithClassName('*','slide');
239 var list = document.getElementById('jumplist');
240 smax = slideColl.length;
241 for (var n = 0; n < smax; n++) {
242 var obj = slideColl[n];
244 var did = 'slide' + n.toString();
245 obj.setAttribute('id',did);
246 if (isOp) continue;
248 var otext = '';
249 var menu = obj.firstChild;
250 if (!menu) continue; // to cope with empty slides
251 while (menu && menu.nodeType == 3) {
252 menu = menu.nextSibling;
253 }
254 if (!menu) continue; // to cope with slides with only text nodes
256 var menunodes = menu.childNodes;
257 for (var o = 0; o < menunodes.length; o++) {
258 otext += nodeValue(menunodes[o]);
259 }
260 list.options[list.length] = new Option(n + ' : ' + otext, n);
261 }
264function currentSlide() {
265 var cs;
266 if (document.getElementById) {
267 cs = document.getElementById('currentSlide');
268 } else {
269 cs = document.currentSlide;
270 }
271 cs.innerHTML = '<span id="csHere">' + snum + '<\/span> ' +
272 '<span id="csSep">\/<\/span> ' +
273 '<span id="csTotal">' + (smax-1) + '<\/span>';
274 if (snum == 0) {
275 cs.style.visibility = 'hidden';
276 } else {
277 cs.style.visibility = 'visible';
278 }
281function go(step) {
282 if (document.getElementById('slideProj').disabled || step == 0) return;
283 var jl = document.getElementById('jumplist');
284 var cid = 'slide' + snum;
285 var ce = document.getElementById(cid);
286 if (incrementals[snum].length > 0) {
287 for (var i = 0; i < incrementals[snum].length; i++) {
288 removeClass(incrementals[snum][i], 'current');
289 removeClass(incrementals[snum][i], 'incremental');
290 }
291 }
292 if (step != 'j') {
293 snum += step;
294 lmax = smax - 1;
295 if (snum > lmax) snum = lmax;
296 if (snum < 0) snum = 0;
297 } else
298 snum = parseInt(jl.value);
299 var nid = 'slide' + snum;
300 var ne = document.getElementById(nid);
301 if (!ne) {
302 ne = document.getElementById('slide0');
303 snum = 0;
304 }
305 if (step < 0) {incpos = incrementals[snum].length} else {incpos = 0;}
306 if (incrementals[snum].length > 0 && incpos == 0) {
307 for (var i = 0; i < incrementals[snum].length; i++) {
308 if (hasClass(incrementals[snum][i], 'current'))
309 incpos = i + 1;
310 else
311 addClass(incrementals[snum][i], 'incremental');
312 }
313 }
314 if (incrementals[snum].length > 0 && incpos > 0)
315 addClass(incrementals[snum][incpos - 1], 'current');
316 ce.style.visibility = 'hidden';
317 ne.style.visibility = 'visible';
318 jl.selectedIndex = snum;
319 currentSlide();
320 number = 0;
323function goTo(target) {
324 if (target >= smax || target == snum) return;
325 go(target - snum);
328function subgo(step) {
329 if (step > 0) {
330 removeClass(incrementals[snum][incpos - 1],'current');
331 removeClass(incrementals[snum][incpos], 'incremental');
332 addClass(incrementals[snum][incpos],'current');
333 incpos++;
334 } else {
335 incpos--;
336 removeClass(incrementals[snum][incpos],'current');
337 addClass(incrementals[snum][incpos], 'incremental');
338 addClass(incrementals[snum][incpos - 1],'current');
339 }
342function toggle() {
343 var slideColl = GetElementsWithClassName('*','slide');
344 var slides = document.getElementById('slideProj');
345 var outline = document.getElementById('outlineStyle');
346 if (!slides.disabled) {
347 slides.disabled = true;
348 outline.disabled = false;
349 s5mode = false;
350 fontSize('1em');
351 for (var n = 0; n < smax; n++) {
352 var slide = slideColl[n];
353 slide.style.visibility = 'visible';
354 }
355 } else {
356 slides.disabled = false;
357 outline.disabled = true;
358 s5mode = true;
359 fontScale();
360 for (var n = 0; n < smax; n++) {
361 var slide = slideColl[n];
362 slide.style.visibility = 'hidden';
363 }
364 slideColl[snum].style.visibility = 'visible';
365 }
368function showHide(action) {
369 var obj = GetElementsWithClassName('*','hideme')[0];
370 switch (action) {
371 case 's': obj.style.visibility = 'visible'; break;
372 case 'h': obj.style.visibility = 'hidden'; break;
373 case 'k':
374 if (obj.style.visibility != 'visible') {
375 obj.style.visibility = 'visible';
376 } else {
377 obj.style.visibility = 'hidden';
378 }
379 break;
380 }
383// 'keys' code adapted from MozPoint (http://mozpoint.mozdev.org/)
384function keys(key) {
385 if (!key) {
386 key = event;
387 key.which = key.keyCode;
388 }
389 if (key.which == 84) {
390 toggle();
391 return;
392 }
393 if (s5mode) {
394 switch (key.which) {
395 case 10: // return
396 case 13: // enter
397 if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
398 if (key.target && isParentOrSelf(key.target, 'controls')) return;
399 if(number != undef) {
400 goTo(number);
401 break;
402 }
403 case 32: // spacebar
404 case 34: // page down
405 case 39: // rightkey
406 case 40: // downkey
407 if(number != undef) {
408 go(number);
409 } else if (!incrementals[snum] || incpos >= incrementals[snum].length) {
410 go(1);
411 } else {
412 subgo(1);
413 }
414 break;
415 case 33: // page up
416 case 37: // leftkey
417 case 38: // upkey
418 if(number != undef) {
419 go(-1 * number);
420 } else if (!incrementals[snum] || incpos <= 0) {
421 go(-1);
422 } else {
423 subgo(-1);
424 }
425 break;
426 case 36: // home
427 goTo(0);
428 break;
429 case 35: // end
430 goTo(smax-1);
431 break;
432 case 67: // c
433 showHide('k');
434 break;
435 }
436 if (key.which < 48 || key.which > 57) {
437 number = undef;
438 } else {
439 if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
440 if (key.target && isParentOrSelf(key.target, 'controls')) return;
441 number = (((number != undef) ? number : 0) * 10) + (key.which - 48);
442 }
443 }
444 return false;
447function clicker(e) {
448 number = undef;
449 var target;
450 if (window.event) {
451 target = window.event.srcElement;
452 e = window.event;
453 } else target = e.target;
454 if (target.getAttribute('href') != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true;
455 if (!e.which || e.which == 1) {
456 if (!incrementals[snum] || incpos >= incrementals[snum].length) {
457 go(1);
458 } else {
459 subgo(1);
460 }
461 }
464function findSlide(hash) {
465 var target = null;
466 var slides = GetElementsWithClassName('*','slide');
467 for (var i = 0; i < slides.length; i++) {
468 var targetSlide = slides[i];
469 if ( (targetSlide.name && targetSlide.name == hash)
470 || (targetSlide.id && targetSlide.id == hash) ) {
471 target = targetSlide;
472 break;
473 }
474 }
475 while(target != null && target.nodeName != 'BODY') {
476 if (hasClass(target, 'slide')) {
477 return parseInt(target.id.slice(5));
478 }
479 target = target.parentNode;
480 }
481 return null;
484function slideJump() {
485 if (window.location.hash == null) return;
486 var sregex = /^#slide(\d+)$/;
487 var matches = sregex.exec(window.location.hash);
488 var dest = null;
489 if (matches != null) {
490 dest = parseInt(matches[1]);
491 } else {
492 dest = findSlide(window.location.hash.slice(1));
493 }
494 if (dest != null)
495 go(dest - snum);
498function fixLinks() {
499 var thisUri = window.location.href;
500 thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length);
501 var aelements = document.getElementsByTagName('A');
502 for (var i = 0; i < aelements.length; i++) {
503 var a = aelements[i].href;
504 var slideID = a.match('\#slide[0-9]{1,2}');
505 if ((slideID) && (slideID[0].slice(0,1) == '#')) {
506 var dest = findSlide(slideID[0].slice(1));
507 if (dest != null) {
508 if (aelements[i].addEventListener) {
509 aelements[i].addEventListener("click", new Function("e",
510 "if (document.getElementById('slideProj').disabled) return;" +
511 "go("+dest+" - snum); " +
512 "if (e.preventDefault) e.preventDefault();"), true);
513 } else if (aelements[i].attachEvent) {
514 aelements[i].attachEvent("onclick", new Function("",
515 "if (document.getElementById('slideProj').disabled) return;" +
516 "go("+dest+" - snum); " +
517 "event.returnValue = false;"));
518 }
519 }
520 }
521 }
524function externalLinks() {
525 if (!document.getElementsByTagName) return;
526 var anchors = document.getElementsByTagName('a');
527 for (var i=0; i<anchors.length; i++) {
528 var anchor = anchors[i];
529 if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) {
530 anchor.target = '_blank';
531 addClass(anchor,'external');
532 }
533 }
536function createControls() {
537 var controlsDiv = document.getElementById("controls");
538 if (!controlsDiv) return;
539 var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"';
540 var hideDiv, hideList = '';
541 if (controlVis == 'hidden') {
542 hideDiv = hider;
543 } else {
544 hideList = hider;
545 }
546 controlsDiv.innerHTML = '<form action="#" id="controlForm"' + hideDiv + '>' +
547 '<div id="navLinks">' +
548 '<a accesskey="t" id="toggle" href="javascript:toggle();">&#216;<\/a>' +
549 '<a accesskey="z" id="prev" href="javascript:go(-1);">&laquo;<\/a>' +
550 '<a accesskey="x" id="next" href="javascript:go(1);">&raquo;<\/a>' +
551 '<div id="navList"' + hideList + '><select id="jumplist" onchange="go(\'j\');"><\/select><\/div>' +
552 '<\/div><\/form>';
553 if (controlVis == 'hidden') {
554 var hidden = document.getElementById('navLinks');
555 } else {
556 var hidden = document.getElementById('jumplist');
557 }
558 addClass(hidden,'hideme');
561function fontScale() { // causes layout problems in FireFox that get fixed if browser's Reload is used; same may be true of other Gecko-based browsers
562 if (!s5mode) return false;
563 var vScale = 22; // both yield 32 (after rounding) at 1024x768
564 var hScale = 32; // perhaps should auto-calculate based on theme's declared value?
565 if (window.innerHeight) {
566 var vSize = window.innerHeight;
567 var hSize = window.innerWidth;
568 } else if (document.documentElement.clientHeight) {
569 var vSize = document.documentElement.clientHeight;
570 var hSize = document.documentElement.clientWidth;
571 } else if (document.body.clientHeight) {
572 var vSize = document.body.clientHeight;
573 var hSize = document.body.clientWidth;
574 } else {
575 var vSize = 700; // assuming 1024x768, minus chrome and such
576 var hSize = 1024; // these do not account for kiosk mode or Opera Show
577 }
578 var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale));
579 fontSize(newSize + 'px');
580 if (isGe) { // hack to counter incremental reflow bugs
581 var obj = document.getElementsByTagName('body')[0];
582 obj.style.display = 'none';
583 obj.style.display = 'block';
584 }
587function fontSize(value) {
588 if (!(s5ss = document.getElementById('s5ss'))) {
589 if (!isIE) {
590 document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style'));
591 s5ss.setAttribute('media','screen, projection');
592 s5ss.setAttribute('id','s5ss');
593 } else {
594 document.createStyleSheet();
595 document.s5ss = document.styleSheets[document.styleSheets.length - 1];
596 }
597 }
598 if (!isIE) {
599 while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild);
600 s5ss.appendChild(document.createTextNode('body {font-size: ' + value + ' !important;}'));
601 } else {
602 document.s5ss.addRule('body','font-size: ' + value + ' !important;');
603 }
606function notOperaFix() {
607 slideCSS = document.getElementById('slideProj').href;
608 var slides = document.getElementById('slideProj');
609 var outline = document.getElementById('outlineStyle');
610 slides.setAttribute('media','screen');
611 outline.disabled = true;
612 if (isGe) {
613 slides.setAttribute('href','null'); // Gecko fix
614 slides.setAttribute('href',slideCSS); // Gecko fix
615 }
616 if (isIE && document.styleSheets && document.styleSheets[0]) {
617 document.styleSheets[0].addRule('img', 'behavior: url(ui/default/iepngfix.htc)');
618 document.styleSheets[0].addRule('div', 'behavior: url(ui/default/iepngfix.htc)');
619 document.styleSheets[0].addRule('.slide', 'behavior: url(ui/default/iepngfix.htc)');
620 }
623function getIncrementals(obj) {
624 var incrementals = new Array();
625 if (!obj)
626 return incrementals;
627 var children = obj.childNodes;
628 for (var i = 0; i < children.length; i++) {
629 var child = children[i];
630 if (hasClass(child, 'incremental')) {
631 if (child.nodeName == 'OL' || child.nodeName == 'UL') {
632 removeClass(child, 'incremental');
633 for (var j = 0; j < child.childNodes.length; j++) {
634 if (child.childNodes[j].nodeType == 1) {
635 addClass(child.childNodes[j], 'incremental');
636 }
637 }
638 } else {
639 incrementals[incrementals.length] = child;
640 removeClass(child,'incremental');
641 }
642 }
643 if (hasClass(child, 'show-first')) {
644 if (child.nodeName == 'OL' || child.nodeName == 'UL') {
645 removeClass(child, 'show-first');
646 if (child.childNodes[isGe].nodeType == 1) {
647 removeClass(child.childNodes[isGe], 'incremental');
648 }
649 } else {
650 incrementals[incrementals.length] = child;
651 }
652 }
653 incrementals = incrementals.concat(getIncrementals(child));
654 }
655 return incrementals;
658function createIncrementals() {
659 var incrementals = new Array();
660 for (var i = 0; i < smax; i++) {
661 incrementals[i] = getIncrementals(document.getElementById('slide'+i));
662 }
663 return incrementals;
666function defaultCheck() {
667 var allMetas = document.getElementsByTagName('meta');
668 for (var i = 0; i< allMetas.length; i++) {
669 if (allMetas[i].name == 'defaultView') {
670 defaultView = allMetas[i].content;
671 }
672 if (allMetas[i].name == 'controlVis') {
673 controlVis = allMetas[i].content;
674 }
675 }
678// Key trap fix, new function body for trap()
679function trap(e) {
680 if (!e) {
681 e = event;
682 e.which = e.keyCode;
683 }
684 try {
685 modifierKey = e.ctrlKey || e.altKey || e.metaKey;
686 }
687 catch(e) {
688 modifierKey = false;
689 }
690 return modifierKey || e.which == 0;
693function startup() {
694 defaultCheck();
695 if (!isOp)
696 createControls();
697 slideLabel();
698 fixLinks();
699 externalLinks();
700 fontScale();
701 if (!isOp) {
702 notOperaFix();
703 incrementals = createIncrementals();
704 slideJump();
705 if (defaultView == 'outline') {
706 toggle();
707 }
708 document.onkeyup = keys;
709 document.onkeypress = trap;
710 document.onclick = clicker;
711 }
714window.onload = startup;
715window.onresize = function(){setTimeout('fontScale()', 50);}</script>
716<meta name="author" content="Sam Smith, Jen Jones" />
717<meta name="date" content="July 15, 2006" />
718<title>My S5 Document</title>
719</head>
720<body>
721<div class="layout">
722<div id="controls"></div>
723<div id="currentSlide"></div>
724<div id="header"></div>
725<div id="footer">
726<h1>July 15, 2006</h1>
727<h2>My S5 Document</h2>
728</div>
729</div>
730<div class="presentation">
732<div class="slide">
733<h1>My S5 Document</h1>
734<h3>Sam Smith, Jen Jones</h3>
735<h4>July 15, 2006</h4>
736</div>
737<div class="slide">
738<h1>First slide</h1>
739<ul>
740<li>first bullet</li>
741<li>second bullet</li>
742</ul>
743</div>
744<div class="slide">
745<h1>Smarty</h1>
746<ul class="incremental">
747<li>"Hello there"</li>
748<li>Here's a -- dash</li>
749<li>And 'ellipses'...</li>
750</ul>
751</div>
752<div class="slide">
753<h1>Math</h1>
754<ul>
755<li>$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</li>
756</ul>
757</div>
758</div>
759</body>
760</html>