annotate OpenSourceConference/ui/scala_gfx/slides.js @ 0:7451f481250b

add OSC presen
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Wed, 07 Sep 2011 21:43:27 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 // S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 // Please see http://s5.netzgesta.de/ for more information
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 // based on S5 v1.2a1 slides.js -- released into the Public Domain
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 // Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 // about all the wonderful and talented contributors to this code!
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 // audio extension: soundmanager2 is NOT Public Domain
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 // Please see http://www.schillmania.com/projects/soundmanager2/ for information
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 var undef;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 var slideCSS = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 var snum = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 var smax = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 var incpos = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 var number = undef;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 var firstTime = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 var s5mode = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 var helpmode = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 var defaultView = 'slideshow'; //outline
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 var controlVis = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 // scalable images extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 var empx = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 var images = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 var canvas = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 var medias = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 var piecharts = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 var barcharts = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 var linecharts = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 // scalable images extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 // transition extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 var tranSitions = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 var fadeModus = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 var fadeDuration = 500;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 var incrDuration = 250;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 var opac = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 var cid = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 var nid = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 var tid = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 var jl = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 // transition extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 // autoplay extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 var autoMatic = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 var playLoop = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 var playPause = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 var autoRun = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 var playDelay = 5000;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 var remainDer = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 var incrDelay = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 // autoplay extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 // audio extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 var sound = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 var audioSupport = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 var audioVolume = 100;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 var audioError = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 var swfUnloaded = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 var bgSoundItem = 9999;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 var curSoundID = -1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 // audio extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 // panel extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 var imgWidth = 32;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 var imgHeight = 32;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 // panel extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 // canvas chart extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 var canvasSupport = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 var ChartData = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 var colorSlice = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 var font = document.createElement("img");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 font.setAttribute("src", "ui/graphic_support/numeric.png");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 signs = {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 '0': {sx: 0, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 '1': {sx: 48, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 '2': {sx: 96, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 '3': {sx: 144, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 '4': {sx: 192, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 '5': {sx: 240, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 '6': {sx: 288, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 '7': {sx: 336, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 '8': {sx: 384, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 '9': {sx: 432, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 '%': {sx: 480, sy: 0, sw: 48, sh: 64},
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 '.': {sx: 528, sy: 0, sw: 24, sh: 64}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 };
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 var colorNames= new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 colorNames["black"]="#000000"; colorNames["maroon"]="#800000"; colorNames["green"]="#008000"; colorNames["olive"]="#808000"; colorNames["navy"]="#000080"; colorNames["purple"]="#800080"; colorNames["teal"]="#008080"; colorNames["gray"]="#808080"; colorNames["silver"]="#C0C0C0"; colorNames["red"]="#FF0000"; colorNames["lime"]="#00FF00"; colorNames["yellow"]="#FFFF00"; colorNames["blue"]="#0000FF"; colorNames["fuchsia"]="#FF00FF"; colorNames["aqua"]="#00FFFF"; colorNames["white"]="#FFFFFF"; colorNames["aliceblue"]="#F0F8FF"; colorNames["antiquewhite"]="#FAEBD7"; colorNames["aquamarine"]="#7FFFD4"; colorNames["azure"]="#F0FFFF"; colorNames["beige"]="#F5F5DC"; colorNames["blueviolet"]="#8A2BE2"; colorNames["brown"]="#A52A2A"; colorNames["burlywood"]="#DEB887"; colorNames["cadetblue"]="#5F9EA0"; colorNames["chartreuse"]="#7FFF00"; colorNames["chocolate"]="#D2691E"; colorNames["coral"]="#FF7F50"; colorNames["cornflowerblue"]="#6495ED"; colorNames["cornsilk"]="#FFF8DC"; colorNames["crimson"]="#DC143C"; colorNames["darkblue"]="#00008B"; colorNames["darkcyan"]="#008B8B"; colorNames["darkgoldenrod"]="#B8860B"; colorNames["darkgray"]="#A9A9A9"; colorNames["darkgreen"]="#006400"; colorNames["darkkhaki"]="#BDB76B"; colorNames["darkmagenta"]="#8B008B"; colorNames["darkolivegreen"]="#556B2F"; colorNames["darkorange"]="#FF8C00"; colorNames["darkorchid"]="#9932CC"; colorNames["darkred"]="#8B0000"; colorNames["darksalmon"]="#E9967A"; colorNames["darkseagreen"]="#8FBC8F"; colorNames["darkslateblue"]="#483D8B"; colorNames["darkslategray"]="#2F4F4F"; colorNames["darkturquoise"]="#00CED1"; colorNames["darkviolet"]="#9400D3"; colorNames["deeppink"]="#FF1493"; colorNames["deepskyblue"]="#00BFFF"; colorNames["dimgray"]="#696969"; colorNames["dodgerblue"]="#1E90FF"; colorNames["firebrick"]="#B22222"; colorNames["floralwhite"]="#FFFAF0"; colorNames["forestgreen"]="#228B22"; colorNames["gainsboro"]="#DCDCDC"; colorNames["ghostwhite"]="#F8F8FF"; colorNames["gold"]="#FFD700"; colorNames["goldenrod"]="#DAA520"; colorNames["greenyellow"]="#ADFF2F"; colorNames["honeydew"]="#F0FFF0"; colorNames["hotpink"]="#FF69B4"; colorNames["indianred"]="#CD5C5C"; colorNames["indigo"]="#4B0082"; colorNames["ivory"]="#FFFFF0"; colorNames["khaki"]="#F0E68C"; colorNames["lavender"]="#E6E6FA"; colorNames["lavenderblush"]="#FFF0F5"; colorNames["lawngreen"]="#7CFC00"; colorNames["lemonchiffon"]="#FFFACD"; colorNames["lightblue"]="#ADD8E6"; colorNames["lightcoral"]="#F08080"; colorNames["lightcyan"]="#E0FFFF"; colorNames["lightgoldenrodyellow"]="#FAFAD2"; colorNames["lightgreen"]="#90EE90"; colorNames["lightgrey"]="#D3D3D3"; colorNames["lightpink"]="#FFB6C1"; colorNames["lightsalmon"]="#FFA07A"; colorNames["lightseagreen"]="#20B2AA"; colorNames["lightskyblue"]="#87CEFA"; colorNames["lightslategray"]="#778899"; colorNames["lightsteelblue"]="#B0C4DE"; colorNames["lightyellow"]="#FFFFE0"; colorNames["limegreen"]="#32CD32"; colorNames["linen"]="#FAF0E6"; colorNames["mediumaquamarine"]="#66CDAA"; colorNames["mediumblue"]="#0000CD"; colorNames["mediumorchid"]="#BA55D3"; colorNames["ediumpurple"]="#9370D"; colorNames["mediumseagreen"]="#3CB371"; colorNames["mediumslateblue"]="#7B68EE"; colorNames["mediumspringgreen"]="#00FA9A"; colorNames["mediumturquoise"]="#48D1CC"; colorNames["mediumvioletred"]="#C71585"; colorNames["midnightblue"]="#191970"; colorNames["mintcream"]="#F5FFFA"; colorNames["mistyrose"]="#FFE4E1"; colorNames["moccasin"]="#FFE4B5"; colorNames["navajowhite"]="#FFDEAD"; colorNames["oldlace"]="#FDF5E6"; colorNames["olivedrab"]="#6B8E23"; colorNames["orange"]="#FFA500"; colorNames["orangered"]="#FF4500"; colorNames["orchid"]="#DA70D6"; colorNames["palegoldenrod"]="#EEE8AA"; colorNames["palegreen"]="#98FB98"; colorNames["paleturquoise"]="#AFEEEE"; colorNames["palevioletred"]="#DB7093"; colorNames["papayawhip"]="#FFEFD5"; colorNames["peachpuff"]="#FFDAB9"; colorNames["peru"]="#CD853F"; colorNames["pink"]="#FFC0CB"; colorNames["plum"]="#DDA0DD"; colorNames["powderblue"]="#B0E0E6"; colorNames["rosybrown"]="#BC8F8F"; colorNames["royalblue"]="#4169E1"; colorNames["saddlebrown"]="#8B4513"; colorNames["salmon"]="#FA8072"; colorNames["sandybrown"]="#F4A460"; colorNames["seagreen"]="#2E8B57"; colorNames["seashell"]="#FFF5EE"; colorNames["sienna"]="#A0522D"; colorNames["skyblue"]="#87CEEB"; colorNames["slateblue"]="#6A5ACD"; colorNames["slategray"]="#708090"; colorNames["snow"]="#FFFAFA"; colorNames["springgreen"]="#00FF7F"; colorNames["steelblue"]="#4682B4"; colorNames["tan"]="#D2B48C"; colorNames["thistle"]="#D8BFD8"; colorNames["tomato"]="#FF6347"; colorNames["turquoise"]="#40E0D0"; colorNames["violet"]="#EE82EE"; colorNames["wheat"]="#F5DEB3"; colorNames["whitesmoke"]="#F5F5F5"; colorNames["yellowgreen"]="#9ACD32";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 var canvas_bgcolor = "";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 var canvas_width = 200;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 var canvas_height = 200;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 var canvas_noshade = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 var canvas_nofill = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 var canvas_noshadow = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 var canvas_htmltext = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 var canvas_imgtext = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 var canvas_notext = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 // canvas chart extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 var s5NotesWindow;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 var s5NotesWindowLoaded = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 var previousSlide = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 var presentationStart = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 var slideStart = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 var countdown = {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 timer: 0,
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 state: 'pause',
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 start: new Date(),
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 end: 0,
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 remaining: 0
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 };
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 function hasClass(object, className) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 if (!object.className) return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 function hasValue(object, value) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 if (!object) return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 return (object.search('(^|\\s)' + value + '(\\s|$)') != -1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 function removeClass(object,className) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 if (!object || !hasClass(object,className)) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 function addClass(object,className) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 if (!object || hasClass(object, className)) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 if (object.className) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 object.className += ' '+className;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 object.className = className;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 function changeClass(object,className) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 if (!object) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 object.firstChild.className = className;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 function GetElementsWithClassName(elementName,className) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 var allElements = document.getElementsByTagName(elementName);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 var elemColl = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 for (var i = 0; i< allElements.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 if (hasClass(allElements[i], className)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 elemColl[elemColl.length] = allElements[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 return elemColl;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 function isParentOrSelf(element, id) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 if (element == null || element.nodeName=='BODY') return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 else if (element.id == id) return true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 else return isParentOrSelf(element.parentNode, id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 function nodeValue(node) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 var result = "";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 if (node.nodeType == 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 var children = node.childNodes;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 for (var i = 0; i < children.length; ++i) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 result += nodeValue(children[i]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 else if (node.nodeType == 3) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 result = node.nodeValue;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 return(result);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 function slideLabel() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 var slideColl = GetElementsWithClassName('*','slide');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 var list = document.getElementById('jumplist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 smax = slideColl.length;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 for (var n = 0; n < smax; n++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 var obj = slideColl[n];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 var did = 'slide' + n.toString();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 obj.setAttribute('id',did);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 var otext = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 var menu = obj.firstChild;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 if (!menu) continue; // to cope with empty slides
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 while (menu && menu.nodeType == 3) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 menu = menu.nextSibling;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 if (!menu) continue; // to cope with slides with only text nodes
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 var menunodes = menu.childNodes;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 for (var o = 0; o < menunodes.length; o++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 otext += nodeValue(menunodes[o]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 list.options[list.length] = new Option(n + ' : ' + otext, n);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 function currentSlide() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 var cs, at, fd, ss;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 if (document.getElementById) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 cs = document.getElementById('currentSlide');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 cs = document.currentSlide;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 fd = fadeModus?"F":"&ndash;";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 ss = audioSupport?"S":"&ndash;";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 at = (autoMatic?(playPause?"||":(playLoop?"&gt;0":"&gt;|")):"&ndash;&ndash;");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 cs.innerHTML = '<div id="plink" nowrap="nowrap">' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 '<span id="csFade">[' + fd + ss + ']<\/span>&nbsp;' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 '<span id="csSep">\/<\/span>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 '<span id="csTotal">' + (smax-1) + '<\/span>&nbsp;' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 '<span id="csAuto">[' + at + ']<\/span>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 '<\/div>';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 if (snum == 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 cs.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 cs.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 function go(step) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 if (document.getElementById('slideProj').disabled || step == 0) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 jl = document.getElementById('jumplist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 cid = 'slide' + snum;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 var ce = document.getElementById(cid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 if (incrementals[snum].length > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 for (var i = 0; i < incrementals[snum].length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 removeClass(incrementals[snum][i], 'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 removeClass(incrementals[snum][i], 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 if (step != 'j') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 snum += step;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 lmax = smax - 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 if (snum > lmax) snum = lmax;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 if (snum < 0) snum = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 snum = parseInt(jl.value);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 nid = 'slide' + snum;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 var ne = document.getElementById(nid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 if (!ne) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 ne = document.getElementById('slide0');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 nid = 'slide0';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 snum = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 if (step < 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 incpos = incrementals[snum].length
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 incpos = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 if (incrementals[snum].length > 0 && incpos == 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 for (var i = 0; i < incrementals[snum].length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 if (hasClass(incrementals[snum][i], 'current')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 incpos = i + 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 addClass(incrementals[snum][i], 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 if (incrementals[snum].length > 0 && incpos > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 addClass(incrementals[snum][incpos - 1], 'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 var guru = document.getElementById('guru');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 if(guru && snum==0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 guru.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 }else if(guru && snum>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 guru.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 if(tranSitions && s5mode && fadeModus) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 if(curSoundID != getSoundID(nid)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 }else {fadeoutSound(curSoundID,true); } // audio support
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 changeOpac(0,nid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 changeOpac(100,cid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 ce.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 shiftOpacity(cid,fadeDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 window.setTimeout("changeSlides()",fadeDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 if(curSoundID != getSoundID(nid)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 }else {stopSound(curSoundID); } // audio support
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 ce.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 if (isOp) location.hash = nid;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 ne.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 finishSlides();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 function changeSlides() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 if(nid != cid) changeOpac(100,cid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 document.getElementById(cid).style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 document.getElementById(nid).style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 if (isOp) location.hash = nid;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 shiftOpacity(nid,fadeDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 window.setTimeout("finishSlides()",fadeDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 function finishSlides() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 jl.selectedIndex = snum;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 loadNote();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 permaLink();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 number = undef;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 if(sound[getSoundID(nid)]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 playSound(nid); // audio support
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 playSound(bgSoundItem); // audio support
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 function goTo(target) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 if (target >= smax || target == snum) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 go(target - snum);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 function subgo(step) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 if (step > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 removeClass(incrementals[snum][incpos - 1],'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 removeClass(incrementals[snum][incpos], 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 if(tranSitions && s5mode && fadeModus) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 if(!incrementals[snum][incpos].id) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 var tmp = new Date(); tid = "inc" + String(tmp.getTime());
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 incrementals[snum][incpos].id = tid;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 tid = incrementals[snum][incpos].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 changeOpac(0,tid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 addClass(incrementals[snum][incpos],'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 shiftOpacity(tid,incrDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 setTimeout("nextInc()",incrDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 addClass(incrementals[snum][incpos],'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 nextInc();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 addClass(incrementals[snum][incpos],'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 nextInc();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 incpos--;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 removeClass(incrementals[snum][incpos],'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 addClass(incrementals[snum][incpos], 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 addClass(incrementals[snum][incpos - 1],'current');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 loadNote();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 function nextInc() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 incpos++;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 loadNote();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 function toggle() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 var slideColl = GetElementsWithClassName('*','slide');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 var slides = document.getElementById('slideProj');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 var outline = document.getElementById('outlineStyle');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 var guru = document.getElementById('guru');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 if (!slides.disabled) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 stopPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 if(audioSupport && !swfUnloaded) stopAllSounds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 slides.disabled = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 outline.disabled = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 s5mode = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 fontSize(1,'em');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 for (var n = 0; n < smax; n++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 var slide = slideColl[n];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 slide.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 if(guru) guru.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 slides.disabled = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 outline.disabled = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 s5mode = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 fontScale();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 for (var n = 0; n < smax; n++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 var slide = slideColl[n];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 slide.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 slideColl[snum].style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 if(guru && snum==0) guru.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 function showHide(action) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 var obj = GetElementsWithClassName('*','hideme')[0];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 switch (action) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 case 's':
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 obj.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 case 'h':
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 obj.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 case 'k':
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 if (obj.style.visibility != 'visible') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 obj.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409 obj.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 function keys(key) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 if (!key) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 key = event;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 key.which = key.keyCode;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 if (helpmode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 dumpHelpReq();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422 return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 if (key.which == 84 && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 toggle();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 if (s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 if (autoMatic) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 switch (key.which) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 case 70: // f/ading on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 switchFade();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 case 83: // s/ound on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 toggleSounds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437 case 67: // c
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438 showHide('k');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 case 65: // a/utoplay on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 stopPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
443 case 76: // l/ooping on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 switchLoop();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 case 80: // p/ause
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447 case 32: // spacebar
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 pausePlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452 switch (key.which) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 case 8: // backspace = HELP
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 createHelpReq();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
455 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
456 case 10: // return
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 case 13: // enter
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
458 if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
459 if (key.target && isParentOrSelf(key.target, 'controls')) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
460 if(number != undef) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 goTo(number);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
462 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
463 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
464 case 32: // spacebar
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465 case 34: // page down
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 case 39: // rightkey
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
467 case 40: // downkey
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
468 if(number != undef) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
469 go(number);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
470 } else if (!incrementals[snum] || incpos >= incrementals[snum].length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
471 go(1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
473 subgo(1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
475 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
476 case 33: // page up
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
477 case 37: // leftkey
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478 case 38: // upkey
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
479 if(number != undef) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
480 go(-1 * number);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
481 } else if (!incrementals[snum] || incpos <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
482 go(-1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
483 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
484 subgo(-1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
485 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
486 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
487 case 65: // a/utoplay
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
488 startPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
489 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
490 case 72: // h
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
491 case 36: // home
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
492 goTo(0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
493 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
494 case 69: // e
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
495 case 35: // end
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
496 goTo(smax-1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
497 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
498 case 70: // f/ade transitions on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
499 switchFade();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
500 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
501 case 76: // l/ooping on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
502 switchLoop();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
503 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 case 83: // s/ound support on/off
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 toggleSounds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
506 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
507 case 27: // escape
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
508 case 81: // q
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
509 if(!isOp) byby();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
510 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
511 case 67: // c
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
512 showHide('k');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
513 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
514 case 78: // n
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
515 createNotesWindow();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
516 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
517 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
518 if (key.which < 48 || key.which > 57) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
519 number = undef;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
521 if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
522 if (key.target && isParentOrSelf(key.target, 'controls')) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
523 number = (((number != undef) ? number : 0) * 10) + (key.which - 48);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
524 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
526 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
527 return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
528 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
529
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
530 function clicker(e) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
531 number = undef;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
532 var target;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
533 if (window.event) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
534 target = window.event.srcElement;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
535 e = window.event;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
536 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
537 target = e.target;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
538 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
539 if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
540 if (!helpmode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
541 if (!e.which || e.which == 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
542 if (!incrementals[snum] || incpos >= incrementals[snum].length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
543 go(1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
544 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
545 subgo(1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
546 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
547 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
548 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
549 dumpHelpReq();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
550 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
551 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
552
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
553 function findSlide(hash) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
554 var target = null;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
555 var slides = GetElementsWithClassName('*','slide');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
556 for (var i = 0; i < slides.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
557 var targetSlide = slides[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
558 if ( (targetSlide.name && targetSlide.name == hash)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
559 || (targetSlide.id && targetSlide.id == hash) ) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
560 target = targetSlide;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
561 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
562 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
563 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
564 while(target != null && target.nodeName != 'BODY') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
565 if (hasClass(target, 'slide')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
566 return parseInt(target.id.slice(5));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
567 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
568 target = target.parentNode;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
569 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
570 return null;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
571 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
572
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
573 function slideJump() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
574 if (window.location.hash == null) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 var sregex = /^#slide(\d+)$/;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
576 var matches = sregex.exec(window.location.hash);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
577 var dest = null;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
578 if (matches != null) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
579 dest = parseInt(matches[1]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
580 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
581 dest = findSlide(window.location.hash.slice(1));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
582 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
583 if (dest != null)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
584 go(dest - snum);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
585 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
586
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
587 function fixLinks() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
588 var thisUri = window.location.href;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
589 thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
590 var aelements = document.getElementsByTagName('A');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
591 for (var i = 0; i < aelements.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
592 var a = aelements[i].href;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
593 var slideID = a.match('\#slide[0-9]{1,2}');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
594 if ((slideID) && (slideID[0].slice(0,1) == '#')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
595 var dest = findSlide(slideID[0].slice(1));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
596 if (dest != null) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
597 if (aelements[i].addEventListener) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
598 aelements[i].addEventListener("click", new Function("e",
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
599 "if (document.getElementById('slideProj').disabled) return;" +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
600 "go("+dest+" - snum); " +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
601 "if (e.preventDefault) e.preventDefault();"), true);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
602 } else if (aelements[i].attachEvent) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
603 aelements[i].attachEvent("onclick", new Function("",
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
604 "if (document.getElementById('slideProj').disabled) return;" +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
605 "go("+dest+" - snum); " +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
606 "event.returnValue = false;"));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
608 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
610 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
611 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
612
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
613 function externalLinks() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
614 if (!document.getElementsByTagName) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
615 var anchors = document.getElementsByTagName('a');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
616 for (var i=0; i<anchors.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
617 var anchor = anchors[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
618 if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
619 anchor.target = '_blank';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
620 addClass(anchor,'external');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
622 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
624
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
625 function permaLink() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
626 document.getElementById('plink').href = window.location.pathname + '#slide' + snum;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
627 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
628
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
629 function createControls() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
630 var controlsDiv = document.getElementById("controls");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
631 if (!controlsDiv) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
632 var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
633 var hideDiv, hideList = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
634 if (controlVis == 'hidden') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
635 hideDiv = hider;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
636 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
637 hideList = hider;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
638 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
639 if(isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
640 var str = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
641 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
642 var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">&plusmn;<\/a>';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
643 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
644 if(isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
645 var tmp = "move around&xA0;until the color&xA0;change to red!";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
646 }else if(isS2) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
647 var tmp = "move around\r\nuntil the color\r\nchange to red!";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
648 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
649 var tmp = "move around until color change to red!";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
650 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
651 if(isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
652 controlsDiv.innerHTML = str +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
653 '<form action="#" id="controlForm"' + hideDiv + '>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
654 '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
655 '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
656 '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
657 '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
658 '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
659 '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
660 '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
661 '<li id="lst" style="vertical-align: middle; width: 160px;"><select style="cursor: auto; width: 160px; height: auto;" id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
662 '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
663 '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
664 '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
665 '<li id="del" style="vertical-align: middle; width: 52px;"><select style="cursor: auto; width: 52px; height: auto;" id="delaylist" title="select Delay" onchange="setDelay();"><option value="90">90<\/option><option value="75">75<\/option><option value="60">60<\/option><option value="45">45<\/option><option value="30">30<\/option><option value="20">20<\/option><option value="15">15<\/option><option value="10">10<\/option><option value="5">5<\/option><\/select><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
666 '<\/ul><\/div><\/form>';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
667 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
668 controlsDiv.innerHTML = str +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
669 '<form action="#" id="controlForm"' + hideDiv + '>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
670 '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
671 '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
672 '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
673 '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
674 '<li class="vr"><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
675 '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
676 '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
677 '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
678 '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
679 '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
680 '<li id="fadeLinks" class="vr"><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
681 '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
682 '<li id="audioLinks" class="vr"><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
683 '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
684 '<li id="vol"><a id="volume" style="cursor:wait;" title="' + tmp + '"><\/a><select id="volumelist" title="select Volume" onchange="setVolume();"><option value="100">100<\/option><option value="90">90<\/option><option value="80">80<\/option><option value="70">70<\/option><option value="60">60<\/option><option value="50">50<\/option><option value="40">40<\/option><option value="30">30<\/option><option value="20">20<\/option><option value="10">10<\/option><option value="0">0<\/option><\/select><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
685 '<li id="autoLinks" class="vr"><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
686 '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
687 '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
688 '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
689 '<li id="del"><a id="delay" style="cursor:wait;" title="' + tmp + '"><\/a><select id="delaylist" title="select Delay" onchange="setDelay();"><option value="90">90<\/option><option value="75">75<\/option><option value="60">60<\/option><option value="45">45<\/option><option value="30">30<\/option><option value="20">20<\/option><option value="15">15<\/option><option value="10">10<\/option><option value="5">5<\/option><\/select><\/li>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
690 '<\/ul>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
691 '<a href="http://s5.netzgesta.de" target="_blank" title="S5 Reloaded"><img style="position: absolute; right: 0; bottom: 0;" src="data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAYAAAASYli2AAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAYpSURBVHjaYvz//z8DOYCRkZEZRAEx0Ij/f2HiAAHEgqYIpACkkB1J7g8Q/wLRIJ1QNSB5fiDmAOLvQKHPQPoHSB4ggFiQDGMCUnxALAPECkAsBLIdiD8A8SMgfghU8wlqkTgQK1ZVVWldv3792fr16y8D+c9AhgMEECPIy1DDRIDYAojdzMzMWNXV1UG2/v/y5Qvzw4cPP587d24/kH8Gar/uwoULQ+/cufNFXFyciZmZ+UVmZuZKoFmvAQII5kJOIDbi4uKK2Llz53EbG5vP6GGWn5+vMWnSpJtA5jcg5v327Rtnc3PzfSD79+rVq2WBNBtIHUAAwQzkAWKzBQsWnIUZFhISovXmzZsfkpKSDD09PY8kJCR+QtWCguGvrKwsz7Rp07Q4ODh+srCwgILiH0gSIIBgBrICsUBoaCgorBiANgqvXbtWDMg8AcQf9+7d+x0o9xbI/gJV/3fVqlUvmJiY/gIdcaWhoYETahEDQADBDPwNxO9h3gNpBiq6f/HiRbWjR4+yvnr16grQNbeh6kCWsxkYGIhClT8yNDQUgyYhBoAAYoIKfgXi06mpqUowQ+vr6x+uW7fu0suXL8+uWbOGS0BAwB7kC6jXvqmoqLDIyclxzZo1S4udnR2WtBgAAggWyyCXSgOxZUxMjGpWVtY7S0vLr8iRsnnzZl4/P7/DQCYoYtSA2DApKUkVGNNPDh06dBrIvwU06xNAAMEM5AIKqAOxCjQsmHl5eXWdnJx4N2zYcB4prd4CUpfwJRuAAGJCimULoGYpbm5uZ5DBnz9/5tq4caPWkSNHeJEc+g0aTFzfv3/nACabjzk5OW8FBQVloLmHASCAYJECUiTg7+//HJiQTzY2NsrfvXv3n7m5+T5YMgJGEkjDS2gY/pKRkeHt7Ow0Bsb0v9+/fz+HxTJAAMG8DHKFLTC9aRUXF79BT9Qgw4CWHAAy70FdYgjEDgkJCTpWVlYMQBfeAaaMPqBZbwECCGYgMzQGQSleCehS0X///jEDvf9lxYoVoOTyAIjfANX+BqrlBrL1gLFf09vb+0FaWvoHMBctA6USUKQABBAjrPiCliKg7AOKIG5ougLlju9Ipc1foDJWqMWGhYWFtsBg4RISEnrg5uY2BWQgQACxIBkGMkQKijmRfPwXWuI8ASp7DQ1vEP4DDO8PwBzzDJheT0CLPQaAAEJOh0o8zAzeihwMiv+gGZ0B4sz/bIwM797/YTh1/wfDIWj5qAfMmtFnzpz5ICIiwqKoqPgjKChoOtCs5wABhJyXpUCGzddgOIethJ71jEFi1nNwgQrKz8zv37//097eDop15qVLl0pAzWAACCAWhEMYOJFdduELA++b3wxsTIwMfzmYGH6xMDG8gYYpKAg+cnJy/gB6VwuYZFiA7E+wvAwQQCy46ozexwzG17+BYx6UVE4B8Vmo68CRFR0dDQo3UAHBBUwJ4lCLGAACCNnAv4zQxAkCxbIMZ0EuBIYb98EPDFo3voGTzjOogVzArGf969cvNmC2+wssHD7BDAQIIBakmHwPDPy3MAMNeBhgpfbbVEkGhqQbDJaXvjI8BPJB4jz79u37DcwlP+fPn38NuTwECCBkA1+8+8Nwtusxg+STHwwcP/8z8EuwMXA1KjBcBSlwEmRgBhrID/U2O7QMBIEHxsbGkrAwBAggmIGgNMT64AfDWyB+By0EQMVZlC0/wwsXQYa38hzgCGGBWv5ZU1OT4c+fP8yLFi1SA3r5Haw8BAggmIGg5KBpJ8BgeOYTg8S3f2DN/OxMDNwgw0AKnv0EJ+avsITu7u6+EZqzQEHwHFqaMwAEEAtShS/pLcTwrU+Z4QwsyQANOwIL06tfGV5BqwmQWoGKigoLYJnJvWPHjhstLS169vb2M0DqAAIIVh6CXHT/9ndIawEUITCXgUDrQwbGbe8YjkJdAzZQVVVV/t69e8LAgtUYaNgxWKQABBByacMHzfTK9gIMYkBZpj//GT4c+8gAKm1AsfseqPYPtHTXAtaEacBqlgHoyq+srKw3XV1dFwHlvwEEECNyYwmp3cIJjbUf0DbLP7RGEg+0bcMCjQxQzH8BWQgQQIzktr5wAYAAYmKgMgAIMAAp8Fx3osz1lgAAAABJRU5ErkJggg==" width="20" height="32" alt="S5" \/><\/a>' +
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
692 '<\/div><\/form>';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
693 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
694 if (controlVis == 'hidden') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
695 var hidden = document.getElementById('navLinks');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
696 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
697 var hidden = document.getElementById('jumplist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
698 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
699 addClass(hidden,'hideme');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
700 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
701
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
702 function fontScale() { // causes layout problems in FireFox that get fixed if browser's Reload is used; same may be true of other Gecko-based browsers
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
703 if (!s5mode && !isOp) return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
704 var hScreen = screen.width; var vScreen = screen.height;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
705 var vWindow = window.outerHeight; var hWindow = window.outerWidth;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
706 if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
707 toggle();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
708 return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
709 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
710 if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
711 if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
712 var vScale = 48; // both yield 16 (the usual browser default) at 1024x768
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
713 var hScale = 64; // perhaps should auto-calculate based on theme's declared value?
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
714 if (window.innerHeight) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
715 var vSize = window.innerHeight;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
716 var hSize = window.innerWidth;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
717 } else if (document.documentElement.clientHeight) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
718 var vSize = document.documentElement.clientHeight;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
719 var hSize = document.documentElement.clientWidth;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
720 } else if (document.body.clientHeight) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
721 var vSize = document.body.clientHeight;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
722 var hSize = document.body.clientWidth;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
723 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
724 var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
725 var hSize = 1024; // these do not account for kiosk mode or Opera Show
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
726 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
727 var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
728 extendImgSizes(newSize); // scalable images extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
729 extendCanSizes(newSize); // scalable canvas extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
730 extendObjSizes(newSize); // scalable object extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
731 fontSize(newSize,"px");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
732 if(!isS2 || firstTime==0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
733 generateCanvas(); // dynamic canvas extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
734 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
735 if (isGe) { // hack to counter incremental reflow bugs
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
736 var obj = document.getElementsByTagName('body')[0];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
737 obj.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
738 obj.style.display = 'none';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
739 obj.style.display = 'block';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
740 obj.style.visibility = 'visible';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
741 changeOpac(100,'slide' + snum);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
742 shiftOpacity('slide' + snum,10);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
743 window.setTimeout("fixReflow()",10);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
744 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
745 setListPos(); // invisible select extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
746 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
747 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
748
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
749 function fixReflow() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
750 shiftOpacity('slide' + snum,10);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
751 window.setTimeout("finishReflow()",10);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
752 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
753 function finishReflow() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
754 setListPos(); // invisible select extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
755 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
756
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
757 function fontSize(val,fmt) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
758 var value = val + fmt;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
759 if (!(s5ss = document.getElementById('s5ss'))) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
760 if (!document.createStyleSheet) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
761 document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style'));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
762 s5ss.setAttribute('media','screen, projection');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
763 s5ss.setAttribute('id','s5ss');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
764 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
765 document.createStyleSheet();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
766 document.s5ss = document.styleSheets[document.styleSheets.length - 1];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
767 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
768 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
769 if (!(document.s5ss && document.s5ss.addRule)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
770 while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
771 s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}'));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
772 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
773 document.s5ss.addRule('html','font-size: ' + value + ' !important;');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
774 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
775 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
776
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
777 function windowChange() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
778 fontScale();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
779 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
780
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
781 function notOperaFix() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
782 slideCSS = document.getElementById('slideProj').href;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
783 var slides = document.getElementById('slideProj');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
784 var outline = document.getElementById('outlineStyle');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
785 slides.setAttribute('media','screen');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
786 outline.disabled = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
787 if (isGe) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
788 slides.setAttribute('href','null'); // Gecko fix
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
789 slides.setAttribute('href',slideCSS); // Gecko fix
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
790 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
791 if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
792 document.styleSheets[0].addRule('img', 'behavior: url(ui/graphic_support/iepngfix.htc)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
793 document.styleSheets[0].addRule('div', 'behavior: url(ui/graphic_support/iepngfix.htc)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
794 document.styleSheets[0].addRule('.slide', 'behavior: url(ui/graphic_support/iepngfix.htc)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
795 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
796 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
797
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
798 function getIncrementals(obj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
799 var incrementals = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
800 if (!obj)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
801 return incrementals;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
802 var children = obj.childNodes;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
803 for (var i = 0; i < children.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
804 var child = children[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
805 if (hasClass(child, 'incremental')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
806 if (child.nodeName == 'OL' || child.nodeName == 'UL') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
807 removeClass(child, 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
808 for (var j = 0; j < child.childNodes.length; j++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
809 if (child.childNodes[j].nodeType == 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
810 addClass(child.childNodes[j], 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
811 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
812 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
813 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
814 incrementals[incrementals.length] = child;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
815 removeClass(child,'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
816 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
817 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
818 if (hasClass(child, 'show-first')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
819 if (child.nodeName == 'OL' || child.nodeName == 'UL') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
820 removeClass(child, 'show-first');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
821 if (child.childNodes[isGe].nodeType == 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
822 removeClass(child.childNodes[isGe], 'incremental');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
823 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
824 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
825 incrementals[incrementals.length] = child;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
826 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
827 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
828 incrementals = incrementals.concat(getIncrementals(child));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
829 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
830 return incrementals;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
831 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
832
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
833 function createIncrementals() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
834 var incrementals = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
835 for (var i = 0; i < smax; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
836 incrementals[i] = getIncrementals(document.getElementById('slide'+i));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
837 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
838 return incrementals;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
839 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
840
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
841 function trap(e) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
842 if (!e) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
843 e = event;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
844 e.which = e.keyCode;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
845 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
846 try {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
847 modifierKey = e.ctrlKey || e.altKey || e.metaKey;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
848 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
849 catch(e) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
850 modifierKey = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
851 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
852 return modifierKey || e.which == 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
853 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
854
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
855 // notes extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
856 function noteLabel() { // Gives notes id's to match parent slides
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
857 var notes = GetElementsWithClassName('div','notes');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
858 for (var i = 0; i < notes.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
859 var note = notes[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
860 var id = 'note' + note.parentNode.id.substring(5);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
861 note.setAttribute('id',id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
862 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
863 resetElapsedSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
864 resetRemainingTime();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
865 window.setInterval('updateElaspedTime()', 1000);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
866 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
867
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
868 function createNotesWindow() { // creates a window for our notes
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
869 if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
870 s5NotesWindowLoaded = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
871 // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr.
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
872 s5NotesWindow = window.open('ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
873 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
874 if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
875 loadNote();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
876 } else { // Keep trying...
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
877 window.setTimeout('createNotesWindow()', 50);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
878 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
879 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
880
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
881 function loadNote() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
882 // Loads a note into the note window
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
883 var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
884 if (document.getElementById('note' + snum)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
885 notes = document.getElementById('note' + snum).innerHTML;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
886 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
887 if (document.getElementById('note' + (snum + 1))) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
888 nextNotes = document.getElementById('note' + (snum + 1)).innerHTML;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
889 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
890
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
891 var jl = document.getElementById('jumplist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
892 var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : '');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
893 if (incrementals[snum].length > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
894 slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
895 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
896 if (jl.selectedIndex < smax - 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
897 var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : '');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
898 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
899 var nextTitle = '[end of slide show]';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
900 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
901
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
902 if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
903 s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
904 s5NotesWindow.document.getElementById('notes').innerHTML = notes;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
905 s5NotesWindow.document.getElementById('next').innerHTML = nextTitle;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
906 s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
907 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
908 resetElapsedSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
909 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
910
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
911 function minimizeTimer(id) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
912 var obj = s5NotesWindow.document.getElementById(id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
913 if (hasClass(obj,'collapsed')) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
914 removeClass(obj,'collapsed');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
915 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
916 addClass(obj,'collapsed');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
917 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
918 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
919
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
920 function resetElapsedTime() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
921 presentationStart = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
922 slideStart = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
923 updateElaspedTime();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
924 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
925
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
926 function resetElapsedSlide() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
927 if (snum != previousSlide) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
928 slideStart = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
929 previousSlide = snum;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
930 updateElaspedTime();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
931 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
932 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
933
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
934 function updateElaspedTime() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
935 if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
936 var now = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
937 var ep = s5NotesWindow.document.getElementById('elapsed-presentation');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
938 var es = s5NotesWindow.document.getElementById('elapsed-slide');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
939 ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf());
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
940 es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf());
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
941 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
942
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
943 function resetRemainingTime() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
944 if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
945 var startField = s5NotesWindow.document.getElementById('startFrom');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
946 startFrom = readTime(startField.value);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
947 countdown.remaining = startFrom * 60000; // convert to msecs
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
948 countdown.start = new Date().valueOf();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
949 countdown.end = countdown.start + countdown.remaining;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
950 var tl = s5NotesWindow.document.getElementById('timeLeft');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
951 var timeLeft = formatTime(countdown.remaining);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
952 tl.innerHTML = timeLeft;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
953 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
954
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
955 function updateRemainingTime() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
956 if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
957 var tl = s5NotesWindow.document.getElementById('timeLeft');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
958 var now = new Date();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
959 if (countdown.state == 'run') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
960 countdown.remaining = countdown.end - now;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
961 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
962 tl.style.color = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
963 tl.style.backgroundColor = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
964 if (countdown.remaining >= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
965 var timeLeft = formatTime(countdown.remaining);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
966 removeClass(tl,'overtime');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
967 if (countdown.remaining < 300000) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
968 tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
969 tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
970 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
971 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
972 var timeLeft = '-' + formatTime(-countdown.remaining);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
973 addClass(tl,'overtime');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
974 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
975 tl.innerHTML = timeLeft;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
976 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
977
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
978 function toggleRemainingTime() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
979 if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
980 if (countdown.state == 'pause') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
981 window.clearInterval(countdown.timer);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
982 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
983 if (countdown.state == 'run') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
984 countdown.start = new Date().valueOf();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
985 countdown.end = countdown.start + countdown.remaining;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
986 countdown.timer = window.setInterval('updateRemainingTime()', 1000);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
987 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
988 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
989
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
990 function alterRemainingTime(amt) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
991 var change = amt * 60000; // convert to msecs
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
992 countdown.end += change;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
993 countdown.remaining += change;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
994 updateRemainingTime();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
995 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
996
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
997 function formatTime(msecs) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
998 var time = new Date(msecs);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
999
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1000 var hrs = time.getUTCHours() + ((time.getUTCDate() -1) * 24); // I doubt anyone will spend more than 24 hours on a presentation or single slide but just in case...
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1001 hrs = (hrs < 10) ? '0'+hrs : hrs;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1002 if (hrs == 'NaN' || isNaN(hrs)) hrs = '--';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1003
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1004 var min = time.getUTCMinutes();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1005 min = (min < 10) ? '0'+min : min;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1006 if (min == 'NaN' || isNaN(min)) min = '--';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1007
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1008 var sec = time.getUTCSeconds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1009 sec = (sec < 10) ? '0'+sec : sec;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1010 if (sec == 'NaN' || isNaN(sec)) sec = '--';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1011
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1012 return hrs + ':' + min + ':' + sec;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1013 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1014
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1015 function readTime(val) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1016 var sregex = /:/;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1017 var matches = sregex.exec(val);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1018 if (matches == null) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1019 return val;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1020 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1021 var times = val.split(':');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1022 var hours = parseInt(times[0]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1023 var mins = parseInt(times[1]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1024 var total = (hours * 60) + mins;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1025 return total;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1026 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1027 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1028 // notes extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1029
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1030 // startup process
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1031 function createSlideShow() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1032 defaultCheck();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1033 if(!isIE) createDetector(); // (degrade IE) scalable images extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1034 if(opac!=0 || isIE) { // &&!isIE (degrade IE)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1035 tranSitions = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1036 fadeModus = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1037 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1038 if(tranSitions && document.getElementById && document.createElement){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1039 createProgress();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1040 var nop=document.getElementById('StartupControl');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1041 nop.onload = dumpProgress;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1042 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1043 startup();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1044 showAll();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1045 setListPos(true); // invisible select extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1046 panelSetup();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1047 audioSetup(); // audio extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1048 if(isS2 && firstTime>=1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1049 generateCanvas(); // dynamic canvas extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1050 } firstTime = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1051 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1052 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1053
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1054 function defaultCheck() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1055 var allMetas = document.getElementsByTagName('meta');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1056 for (var i = 0; i< allMetas.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1057 if (allMetas[i].name == 'defaultView') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1058 defaultView = allMetas[i].content;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1059 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1060 if (allMetas[i].name == 'controlVis') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1061 controlVis = allMetas[i].content;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1062 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1063 if (allMetas[i].name == 'tranSitions') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1064 tranSitions = (allMetas[i].content == "true") ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1065 fadeModus = (tranSitions == true) ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1066 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1067 if (allMetas[i].name == 'fadeDuration') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1068 var tmp = parseInt(allMetas[i].content);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1069 fadeDuration = Math.max(200,Math.min(tmp,2000));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1070 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1071 if (allMetas[i].name == 'incrDuration') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1072 var tmp = parseInt(allMetas[i].content);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1073 incrDuration = Math.max(50,Math.min(tmp,500));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1074 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1075 if (allMetas[i].name == 'autoMatic') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1076 autoMatic = (allMetas[i].content == "true") ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1077 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1078 if (allMetas[i].name == 'playLoop') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1079 playLoop = (allMetas[i].content == "true") ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1080 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1081 if (allMetas[i].name == 'playDelay') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1082 var tmp = parseInt(allMetas[i].content);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1083 playDelay = Math.max(5,Math.min(tmp,90))*1000;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1084 playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1085 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1086 if (allMetas[i].name == 'audioSupport') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1087 audioSupport = (allMetas[i].content == "true") ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1088 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1089 if (allMetas[i].name == 'audioVolume') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1090 var tmp = parseInt(allMetas[i].content);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1091 audioVolume = Math.max(0,Math.min(tmp,100));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1092 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1093 if (allMetas[i].name == 'audioError') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1094 audioError = (allMetas[i].content == "true") ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1095 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1096 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1097 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1098
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1099 function createProgress() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1100 var obj = document.getElementsByTagName("body")[0].firstChild;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1101 var pg = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1102 pg.id = "StartupProgress";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1103 pg.style.position = 'absolute';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1104 pg.style.left = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1105 pg.style.top = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1106 pg.style.width = 100 + '%';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1107 pg.style.height = 100 + '%';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1108 pg.style.margin = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1109 pg.style.padding = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1110 if (isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1111 pg.style.filter = "alpha(opacity=100)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1112 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1113 pg.style.opacity = 1.0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1114 } pg.style.zIndex = 9999;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1115 pg.style.backgroundColor="rgb(255, 255, 255)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1116 pg.style.textAlign = "center"; pg.style.verticalAlign = "middle";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1117 pg.style.backgroundPosition="center center";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1118 pg.style.backgroundRepeat="no-repeat";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1119 pg.style.backgroundImage="url(ui/graphic_support/progress.gif)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1120 document.getElementsByTagName("body")[0].insertBefore(pg,obj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1121
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1122 var im = document.createElement('img');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1123 im.id = "StartupControl";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1124 im.src = "ui/graphic_support/blank.gif?" + new Date().valueOf();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1125 document.getElementsByTagName("body")[0].appendChild(im);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1126 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1127
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1128 function startup() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1129 createControls(); // hallvord
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1130 slideLabel();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1131 incrementals = createIncrementals();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1132 noteLabel(); // [SI:060104] must follow slideLabel()
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1133 loadNote();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1134 fixLinks();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1135 externalLinks();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1136 fontScale();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1137 if (!isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1138 if(isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1139 document.getElementById('lst').style.backgroundImage = 'none';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1140 document.getElementById('del').style.backgroundImage = 'none';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1141 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1142 document.getElementById('audio').style.backgroundImage = 'none';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1143 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1144 notOperaFix();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1145 }else if(isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1146 var obj = document.getElementById('exit');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1147 obj.firstChild.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1148 document.getElementById('exit').style.opacity = 0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1149 obj = document.getElementById('toggle');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1150 obj.firstChild.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1151 document.getElementById('toggle').style.opacity = 0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1152 document.getElementById('jumplist').style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1153 document.getElementById('list').style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1154 document.getElementById('lst').style.opacity = 0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1155 obj = document.getElementById('audio');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1156 obj.firstChild.style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1157 document.getElementById('audio').style.opacity = 0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1158 document.getElementById('volumelist').style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1159 document.getElementById('volume').style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1160 document.getElementById('vol').style.opacity = 0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1161 document.getElementById('delaylist').style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1162 document.getElementById('delay').style.visibility = 'hidden';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1163 document.getElementById('del').style.opacity = 0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1164 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1165 slideJump();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1166 if (defaultView == 'outline') toggle();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1167 document.onkeyup = keys;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1168 document.onkeypress = trap;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1169 document.onclick = clicker;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1170 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1171
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1172 function preloadImgages() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1173 var temp = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1174 var objects = document.getElementsByTagName('img');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1175 for (var i=0; i < objects.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1176 if(objects[i].src != '') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1177 temp = new Image();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1178 temp.src = objects[i].src;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1179 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1180 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1181 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1182
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1183 function showAll() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1184 var obj1 = GetElementsWithClassName('div','presentation')[0];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1185 if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1186 var obj2 = GetElementsWithClassName('div','layout')[0];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1187 if(!obj1){}else {obj1.style.display = 'block'};
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1188 if(!obj2){}else {obj2.style.display = 'block'};
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1189 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1190
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1191 function dumpProgress() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1192 document.body.removeChild(document.getElementById('StartupControl'));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1193 startup();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1194 preloadImgages();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1195 showAll();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1196 createSoundManagerScript();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1197 shiftOpacity('StartupProgress',1000);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1198 window.setTimeout("removeProgress()",1000); }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1199
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1200 function removeProgress() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1201 document.body.removeChild(document.getElementById('StartupProgress'));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1202 setListPos(true); // invisible select extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1203 panelSetup();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1204 audioSetup(); // audio extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1205 if(isS2 && firstTime>=1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1206 generateCanvas(); // dynamic canvas extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1207 } firstTime = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1208 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1209 function panelSetup() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1210 if(playPause) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1211 var obj = document.getElementById('pause'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1212 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1213 if(playLoop) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1214 var obj = document.getElementById('loop'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1215 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1216 if(audioSupport && !isIE && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1217 var obj = document.getElementById('audio'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1218 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1219 if(fadeModus && !isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1220 var obj = document.getElementById('fade'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1221 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1222 if(autoMatic) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1223 var obj = document.getElementById('auto'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1224 startPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1225 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1226 if(audioVolume && !isIE && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1227 var idx = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1228 if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1229 else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1230 else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1231 else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1232 else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1233 else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1234 else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1235 else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1236 else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1237 else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1238 else {idx = 10;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1239 document.getElementById('volumelist').selectedIndex = idx;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1240 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1241 if(playDelay && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1242 var idx = 0; var vol = parseInt(playDelay/1000);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1243 if(vol >= 83 && vol <= 90) {idx = 0;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1244 else if(vol >= 68 && vol < 83) {idx = 1;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1245 else if(vol >= 53 && vol < 68) {idx = 2;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1246 else if(vol >= 38 && vol < 53) {idx = 3;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1247 else if(vol >= 25 && vol < 38) {idx = 4;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1248 else if(vol >= 18 && vol < 25) {idx = 5;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1249 else if(vol >= 13 && vol < 18) {idx = 6;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1250 else if(vol >= 8 && vol < 13) {idx = 7;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1251 else {idx = 8;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1252 document.getElementById('delaylist').selectedIndex = idx;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1253 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1254 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1255 // startup process
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1256
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1257 // shutdown process
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1258 function byby() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1259 stopPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1260 if(tranSitions && fadeModus && s5mode && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1261 fadeoutSound(curSoundID,true); // audio support
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1262 var pg = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1263 pg.id = "GoodBy";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1264 pg.style.position = 'absolute';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1265 pg.style.left = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1266 pg.style.top = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1267 pg.style.width = 100 + '%';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1268 pg.style.height = 100 + '%';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1269 pg.style.margin = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1270 pg.style.padding = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1271 if (isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1272 pg.style.filter = "alpha(opacity=0)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1273 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1274 pg.style.opacity = 0.0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1275 } pg.style.zIndex = 9999;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1276 pg.style.backgroundColor="rgb(255, 255, 255)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1277 pg.style.textAlign = "center"; pg.style.verticalAlign = "middle";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1278 pg.style.backgroundPosition="center center";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1279 pg.style.backgroundRepeat="no-repeat";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1280 pg.style.backgroundImage="url(ui/graphic_support/finish.gif)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1281 document.getElementsByTagName("body")[0].appendChild(pg);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1282 shiftOpacity('GoodBy',1000);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1283 window.setTimeout("history.back()",1000); }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1284 stopSound(curSoundID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1285 history.back();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1286 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1287 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1288 // shutdown process
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1289
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1290 // scalable images extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1291 function createDetector() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1292 var em = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1293 em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1294 em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1295 document.getElementsByTagName("body")[0].appendChild(em);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1296 var nop=document.getElementById('EMSizeControl');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1297 if(!nop||findPosX(nop)!=-999) {}else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1298 opac=document.getElementById('EMSizeControl').style.opacity;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1299 empx=document.getElementById('EMSizeControl').offsetHeight;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1300 document.body.removeChild(document.getElementById('EMSizeControl'));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1301 var objects = document.getElementsByTagName('img');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1302 var j = 0; var i = 0; var k = 0; var d; var obj;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1303 for (i=0; i < objects.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1304 if(objects[i].className.match(/^scale/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1305 images[j] = objects[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1306 ++j;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1307 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1308 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1309 var objects = document.getElementsByTagName('canvas'); j = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1310 for (i=0; i < objects.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1311 if(objects[i].className.match(/^scale/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1312 canvas[objects[i].id] = objects[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1313 if(j==0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1314 if(objects[i].getContext) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1315 canvasSupport = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1316 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1317 ++j;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1318 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1319 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1320 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1321 if(canvasSupport!=true) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1322 for (d in canvas) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1323 canvas[d].setAttribute("width",1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1324 canvas[d].setAttribute("height",1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1325 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1326 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1327 var objects = document.getElementsByTagName('table');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1328 j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1329 for (i=0; i < objects.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1330 if(objects[i].className.match(/^piechart/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1331 tmp = objects[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1332 cnt = tmp.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1333 obj = cnt[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1334 if(canvas[obj]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1335 w = canvas[obj].getAttribute("width");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1336 h = canvas[obj].getAttribute("height");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1337 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1338 piecharts[j] = objects[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1339 em = piecharts[j].getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1340 if(em != "") em = "," + em;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1341 piecharts[j].setAttribute("summary", w + "," + h + em);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1342 ++j;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1343 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1344 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1345 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1346 if(objects[i].className.match(/^barchart/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1347 tmp = objects[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1348 cnt = tmp.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1349 obj = cnt[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1350 if(canvas[obj]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1351 w = canvas[obj].getAttribute("width");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1352 h = canvas[obj].getAttribute("height");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1353 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1354 barcharts[k] = objects[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1355 em = barcharts[k].getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1356 if(em != "") em = "," + em;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1357 barcharts[k].setAttribute("summary", w + "," + h + em);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1358 ++k;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1359 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1360 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1361 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1362 if(objects[i].className.match(/^linechart/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1363 tmp = objects[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1364 cnt = tmp.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1365 obj = cnt[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1366 if(canvas[obj]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1367 w = canvas[obj].getAttribute("width");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1368 h = canvas[obj].getAttribute("height");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1369 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1370 linecharts[l] = objects[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1371 em = linecharts[l].getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1372 if(em != "") em = "," + em;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1373 linecharts[l].setAttribute("summary", w + "," + h + em);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1374 ++l;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1375 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1376 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1377 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1378 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1379 objects = document.getElementsByTagName('object'); j = 0; i = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1380 for (i=0; i < objects.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1381 if(objects[i].className.match(/^scale/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1382 medias[j] = objects[i]; ++j;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1383 if(!isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1384 if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid"));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1385 if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase"));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1386 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1387 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1388 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1389 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1390 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1391 function extendImgSizes(f) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1392 if(empx>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1393 var q = (f/empx); var w = 0; var h = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1394 for(var i=0; i < images.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1395 w=images[i].getAttribute("width",0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1396 h=images[i].getAttribute("height",0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1397 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1398 images[i].style.width=Math.floor(w*q)+"px"; images[i].style.height=Math.floor(h*q)+"px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1399 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1400 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1401 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1402 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1403
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1404 function extendCanSizes(f) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1405 if(empx>0 && canvasSupport) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1406 var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1407 for(var i=0; i < piecharts.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1408 if(piecharts[i].getAttribute("summary")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1409 tmp = piecharts[i].getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1410 cnt = tmp.split(",");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1411 if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1412 if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1413 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1414 tmp = piecharts[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1415 cnt = tmp.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1416 obj = cnt[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1417 canvas[obj].setAttribute("width",Math.floor(w*q));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1418 canvas[obj].setAttribute("height",Math.floor(h*q));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1419 canvas[obj].style.width=Math.floor(w*q)+"px"; canvas[obj].style.height=Math.floor(h*q)+"px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1420 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1421 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1422 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1423 for(var i=0; i < barcharts.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1424 if(barcharts[i].getAttribute("summary")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1425 tmp = barcharts[i].getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1426 cnt = tmp.split(",");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1427 if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1428 if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1429 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1430 tmp = barcharts[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1431 cnt = tmp.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1432 obj = cnt[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1433 canvas[obj].setAttribute("width",Math.floor(w*q));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1434 canvas[obj].setAttribute("height",Math.floor(h*q));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1435 canvas[obj].style.width=Math.floor(w*q)+"px"; canvas[obj].style.height=Math.floor(h*q)+"px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1436 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1437 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1438 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1439 for(var i=0; i < linecharts.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1440 if(linecharts[i].getAttribute("summary")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1441 tmp = linecharts[i].getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1442 cnt = tmp.split(",");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1443 if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1444 if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1445 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1446 tmp = linecharts[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1447 cnt = tmp.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1448 obj = cnt[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1449 canvas[obj].setAttribute("width",Math.floor(w*q));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1450 canvas[obj].setAttribute("height",Math.floor(h*q));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1451 canvas[obj].style.width=Math.floor(w*q)+"px"; canvas[obj].style.height=Math.floor(h*q)+"px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1452 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1453 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1454 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1455 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1456 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1457 function extendObjSizes(f) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1458 if(empx>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1459 var q = (f/empx); var w = 0; var h = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1460 for(var i=0; i < medias.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1461 w=medias[i].getAttribute("width",0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1462 h=medias[i].getAttribute("height",0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1463 if(w>0&&h>0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1464 medias[i].style.width=Math.floor(w*q)+"px"; medias[i].style.height=Math.floor(h*q)+"px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1465 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1466 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1467 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1468 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1469 function findPosX(obj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1470 var posLeft = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1471 while (obj.offsetParent) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1472 posLeft += obj.offsetLeft;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1473 obj = obj.offsetParent;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1474 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1475 return posLeft;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1476 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1477 function findPosY(obj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1478 var posTop = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1479 while (obj.offsetParent) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1480 posTop += obj.offsetTop;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1481 obj = obj.offsetParent;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1482 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1483 return posTop;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1484 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1485 // scalable images extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1486
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1487 // canvas chart extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1488 function deg2rad(degrees) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1489 return Math.PI *degrees/180;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1490 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1491 function rad2deg(radians) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1492 return 180.0 *radians/Math.PI;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1493 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1494 function circle_point_x(radians, diameter) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1495 var x = Math.cos(radians)*(diameter/2);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1496 return x;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1497 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1498 function circle_point_y(radians, diameter) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1499 var y = Math.sin(radians)*(diameter/2);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1500 return y;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1501 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1502 function roundTo(val,dig) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1503 var num = val;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1504 if (val > 8191 && val < 10485) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1505 val = val-5000;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1506 num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1507 num = num+5000;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1508 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1509 num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1510 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1511 return num;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1512 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1513 function searchColor(value) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1514 for (var dat in colorNames) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1515 if(dat==value) return colorNames[dat];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1516 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1517 return false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1518 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1519 function scanColor(value) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1520 if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1521 var val1 = value.substr(1,1).toLowerCase();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1522 var val2 = value.substr(2,1).toLowerCase();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1523 var val3 = value.substr(3,1).toLowerCase();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1524 value = '#' + val1 + val1 + val2 + val2 + val3 + val3;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1525 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1526 if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1527 var tmp = searchColor(value.toLowerCase());
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1528 if(!tmp) {}else{value = tmp;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1529 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1530 if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1531 value = '#000000';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1532 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1533 return value.toLowerCase();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1534 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1535 function hex2rgb(val,trans) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1536 if(val.length==7) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1537 var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1538 var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1539 var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1540 return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1541 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1542 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1543 function trim(str) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1544 return (str.replace(/\s+$/,"").replace(/^\s+/,""));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1545 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1546 function roundedRect(ctx,x,y,width,height,radius){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1547 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1548 ctx.moveTo(x,y+radius);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1549 ctx.lineTo(x,y+height-radius);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1550 ctx.quadraticCurveTo(x,y+height,x+radius,y+height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1551 ctx.lineTo(x+width-radius,y+height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1552 ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1553 ctx.lineTo(x+width,y+radius);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1554 ctx.quadraticCurveTo(x+width,y,x+width-radius,y);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1555 ctx.lineTo(x+radius,y);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1556 ctx.quadraticCurveTo(x,y,x,y+radius);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1557 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1558 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1559 function drawString(ctx, text, fc, tx, ty) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1560 var xp = 0; var c = "";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1561 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1562 for (var i = 0; i < text.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1563 c = text[i];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1564 ctx.drawImage(font, signs[c].sx, signs[c].sy, signs[c].sw, signs[c].sh, tx+xp, ty, signs[c].sw*fc, signs[c].sh*fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1565 xp += (signs[c].sw*fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1566 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1567 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1568 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1569 function strokeString(ctx, txt, col, fh, tx, ty) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1570 var fw = fh*0.666666; var lw = fh*0.125;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1571 var ls = lw/2; var cr = lw; var xp = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1572 ctx.lineCap = "round"; ctx.lineJoin = "round"
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1573 ctx.lineWidth = lw; ctx.strokeStyle = col;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1574 for (var i = 0; i < txt.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1575 strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1576 xp += (txt[i]!="."?fw+cr:(fw/2)+cr);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1577 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1578 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1579 function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1580 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1581 switch (symbol) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1582 case "0":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1583 ctx.moveTo(cx+fc,cy+(ch*0.333333));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1584 ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1585 ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1586 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1587 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1588 case "1":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1589 ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1590 ctx.lineTo(cx+cw-fc,cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1591 ctx.moveTo(cx+(cw*0.666666),cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1592 ctx.lineTo(cx+(cw*0.666666),cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1593 ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1594 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1595 case "2":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1596 ctx.moveTo(cx+cw-fc,cy+(ch*0.8));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1597 ctx.lineTo(cx+cw-fc,cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1598 ctx.lineTo(cx+fc,cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1599 ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1600 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1601 case "3":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1602 ctx.moveTo(cx+(cw*0.1)+fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1603 ctx.lineTo(cx+(cw*0.9)-fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1604 ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1605 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1606 case "4":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1607 ctx.moveTo(cx+(cw*0.75),cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1608 ctx.lineTo(cx+(cw*0.75),cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1609 ctx.moveTo(cx+cw-fc,cy+(ch*0.666666));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1610 ctx.lineTo(cx+fc,cy+(ch*0.666666));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1611 ctx.lineTo(cx+(cw*0.75),cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1612 ctx.moveTo(cx+cw-fc,cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1613 ctx.lineTo(cx+(cw*0.5),cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1614 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1615 case "5":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1616 ctx.moveTo(cx+(cw*0.9)-fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1617 ctx.lineTo(cx+(cw*0.1)+fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1618 ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1619 ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1620 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1621 case "6":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1622 ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1623 ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1624 ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1625 ctx.moveTo(cx+(cw*0.9)-fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1626 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1627 case "7":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1628 ctx.moveTo(cx+(cw*0.5),cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1629 ctx.lineTo(cx+cw-fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1630 ctx.lineTo(cx+(cw*0.1)+fc,cy+fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1631 ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1632 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1633 case "8":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1634 ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1635 ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1636 ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1637 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1638 ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1639 ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1640 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1641 case "9":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1642 ctx.moveTo(cx+cw-fc,cy+(cw*0.5));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1643 ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1644 ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1645 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1646 case "%":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1647 ctx.moveTo(cx+fc,cy+(ch*0.75));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1648 ctx.lineTo(cx+cw-fc,cy+(ch*0.25));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1649 ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1650 ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1651 ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1652 ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1653 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1654 case ".":
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1655 ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1656 ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1657 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1658 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1659 default:
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1660 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1661 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1662 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1663 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1664 function drawBar(ctx,x,y,width,height,color,value,textdiv){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1665 var rw = width/2; var rh = rw/2;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1666 height = Math.max(height,rw);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1667 var dh = Math.max(height-(2*rh),0.1); var S2L;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1668 var xx = rw/8; var yy = rh/4;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1669 var yo = rh/2; y = y - yy;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1670 if(canvas_noshadow <= 0 && canvas_noshade <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1671 ctx.save();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1672 S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1673 S2L.addColorStop(0, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1674 S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1675 S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1676 S2L.addColorStop(1, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1677 ctx.fillStyle = S2L;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1678 ctx.scale(1,0.5);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1679 ctx.translate(xx,y+height+yy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1680 if(isOp){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1681 ctx.fillRect(x,y+yy+height-width,width,width);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1682 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1683 ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1684 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1685 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1686 ctx.restore();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1687 }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1688 ctx.fillStyle = 'rgba(0,0,0,0.2)';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1689 ctx.fillRect(x+yo,y+rh+yo+yo,width,dh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1690 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1691
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1692 if(canvas_noshade <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1693 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1694 ctx.moveTo(x,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1695 ctx.lineTo(x,y+rh+dh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1696 ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1697 ctx.lineTo(x+width,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1698 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1699 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1700 ctx.fillStyle = color;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1701 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1702 S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1703 S2L.addColorStop(0, 'rgba(255,255,255,0.75)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1704 S2L.addColorStop(0.2, 'rgba(255,255,255,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1705 S2L.addColorStop(0.3, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1706 S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1707 S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1708 S2L.addColorStop(1, 'rgba(0,0,0,0.3)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1709 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1710 ctx.moveTo(x,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1711 ctx.lineTo(x,y+rh+dh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1712 ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1713 ctx.lineTo(x+width,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1714 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1715 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1716 ctx.fillStyle = S2L;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1717 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1718 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1719 ctx.moveTo(x+width,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1720 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1721 ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1722 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1723 ctx.fillStyle = color;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1724 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1725 S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1726 S2L.addColorStop(0, 'rgba(255,255,255,0.9)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1727 S2L.addColorStop(0.5, 'rgba(255,255,255,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1728 S2L.addColorStop(0.6, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1729 S2L.addColorStop(1, 'rgba(0,0,0,0.3)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1730 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1731 ctx.moveTo(x+width,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1732 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1733 ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1734 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1735 ctx.fillStyle = S2L;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1736 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1737 S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1738 S2L.addColorStop(0, 'rgba(255,255,255,0.9)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1739 S2L.addColorStop(0.5, 'rgba(255,255,255,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1740 S2L.addColorStop(0.6, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1741 S2L.addColorStop(1, 'rgba(0,0,0,0.1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1742 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1743 ctx.moveTo(x+width,y+rh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1744 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1745 ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1746 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1747 ctx.strokeStyle = S2L;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1748 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1749 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1750 ctx.fillStyle = color;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1751 ctx.fillRect(x,y+rh+yo,width,dh);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1752 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1753 ctx.lineCap = "butt";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1754 ctx.lineWidth = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1755 ctx.fillStyle = 'rgba(255,255,255,0.5)';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1756 var bw = width; var bh = bw/4;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1757 var th = roundTo(bh*0.75,0); var tf = bh/80;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1758 var c; var w;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1759 if(canvas_notext <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1760 if(canvas_htmltext <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1761 w = '"' + per + '"';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1762 if(w.indexOf(".")!=-1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1763 c = w.length+0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1764 w = parseFloat(c-2)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1765 bw = parseFloat(c-1)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1766 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1767 c = w.length;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1768 w = parseFloat(c-1)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1769 bw = parseFloat(c)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1770 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1771 roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1772 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1773 if(canvas_imgtext <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1774 strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1775 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1776 drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1777 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1778 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1779 var bh = bw/3; var th = roundTo(bh*0.75,0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1780 roundedRect(ctx,x,y,bw,bh,bh/4);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1781 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1782 var obj = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1783 obj.style.position = "absolute";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1784 obj.style.overflow = "hidden";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1785 obj.style.textAlign = "center";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1786 obj.style.width = bw + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1787 obj.style.left = x + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1788 obj.style.top = y+((bh-th)/2.2) + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1789 obj.appendChild(document.createTextNode(per + "%"));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1790 textdiv.appendChild(obj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1791 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1792
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1793 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1794 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1795 function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1796 if(fill <= 0){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1797 var style = hex2rgb(color,0.5);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1798 ctx.lineJoin = "miter";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1799 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1800 ctx.moveTo(x,y+height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1801 for (var i = 0; i < array.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1802 ctx.lineTo(x+(i*dist),y+height-(array[i]*factor));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1803 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1804 ctx.lineTo(x+width,y+height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1805 ctx.lineTo(x,y+height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1806 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1807 ctx.fillStyle = style;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1808 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1809 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1810 ctx.lineJoin = "round";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1811 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1812 ctx.moveTo(x,y+height-(array[0]*factor));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1813 for (var i = 0; i < array.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1814 ctx.lineTo(x+(i*dist),y+height-(array[i]*factor));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1815 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1816 ctx.strokeStyle = color;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1817 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1818 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1819 function setDataURL(cid) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1820 if(cid.toDataURL) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1821 var obj = document.getElementById(cid.id + "_link");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1822 if(obj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1823 obj.setAttribute("title", "To Data URL");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1824 obj.setAttribute("target", "_blank");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1825 obj.setAttribute("href", cid.toDataURL());
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1826 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1827 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1828 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1829 function get_input(dataobj,canvasobj,linechart) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1830 var table = document.getElementById(dataobj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1831 var canvas = document.getElementById(canvasobj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1832 var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = "";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1833 if(canvas.getContext) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1834 canvas_width = parseInt(canvas.style.width);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1835 canvas_height = parseInt(canvas.style.height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1836 if(canvas_width >= 16 && canvas_height >= 16) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1837 var tmp = table.getAttribute("summary");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1838 canvas_noshade = 0; canvas_noshadow = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1839 canvas_notext = 0; canvas_imgtext = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1840 canvas_htmltext = 0; canvas_nofill = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1841 if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1842 if(tmp.search(/noshade/) != -1) canvas_noshade = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1843 if(tmp.search(/nofill/) != -1) canvas_nofill = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1844 if(tmp.search(/notext/) != -1) canvas_notext = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1845 if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1846 if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1847 if(table.getAttribute("bgcolor")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1848 canvas_bgcolor = scanColor(table.getAttribute("bgcolor"));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1849 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1850 ChartData = new Array(); colorSlice = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1851 if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1852 for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1853 row = table.getElementsByTagName("tr")[r];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1854 clm = row.getElementsByTagName("td").length;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1855 if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1856 col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1857 nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,""));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1858 if(!linechart) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1859 if(clm > 3) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1860 for(var z = 2; z < clm; z++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1861 val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1862 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1863 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1864 val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,""));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1865 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1866 if(!isNaN(val) && val > 0 && nme != '') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1867 colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1868 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1869 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1870 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1871 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1872 val = 0; i = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1873 if(clm > 3 && nme != '') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1874 ChartData[r-cnt] = new Array();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1875 colorSlice[r-cnt] = col;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1876 for(var z = 2; z < clm; z++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1877 val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1878 if(!isNaN(val) && val >= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1879 ChartData[r-cnt][i] = val; i++;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1880 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1881 ChartData[r-cnt][i] = 0; i++;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1882 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1883 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1884 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1885 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1886 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1887 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1888 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1889 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1890 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1891 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1892 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1893 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1894 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1895 function setPieChart(canvasobj,textobj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1896 var cd = (Math.min(canvas_width,canvas_height)/110)*100;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1897 var cp = cd*0.1; var cr = cd/2;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1898 var sr = cr*0.93; var cw = cd+cp; var ch = cw;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1899 var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1900 for (var data in ChartData) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1901 ct += ChartData[data];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1902 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1903 var poc = ct/100;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1904 var canvas = document.getElementById(canvasobj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1905 if(canvas_htmltext >= 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1906 if(document.getElementById(textobj)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1907 canvas.parentNode.removeChild(canvas.parentNode.lastChild);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1908 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1909 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1910 if(canvas.getContext) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1911 var ctx = canvas.getContext('2d');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1912 if(canvas_bgcolor != "") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1913 ctx.fillStyle = canvas_bgcolor;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1914 ctx.fillRect(0,0,cw,ch);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1915 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1916 ctx.clearRect(0,0,cw,ch);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1917 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1918 if(canvas_noshadow <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1919 if(!isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1920 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1921 var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1922 B2B.addColorStop(0, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1923 B2B.addColorStop(1, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1924 ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1925 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1926 ctx.fillStyle = B2B;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1927 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1928 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1929 var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1930 B2B.addColorStop(0, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1931 B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1932 B2B.addColorStop(1, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1933 ctx.fillStyle = B2B;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1934 ctx.fillRect(0,0,cw,ch);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1935 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1936 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1937 var val = 0; var deg = 0; var idx = 0; var data;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1938 for (data in ChartData) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1939 val = ChartData[data]; sdeg = deg;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1940 deg += (val/ct)*deg2rad(360); edeg = deg;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1941 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1942 ctx.moveTo(cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1943 ctx.arc(cx,cy,cr,sdeg,edeg, false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1944 ctx.lineTo(cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1945 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1946 ctx.fillStyle = colorSlice[(idx++)];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1947 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1948 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1949 if(canvas_noshade <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1950 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1951 var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1952 W2T.addColorStop(0, 'rgba(255,255,255,0.8)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1953 W2T.addColorStop(1, 'rgba(255,255,255,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1954 ctx.moveTo(cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1955 ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1956 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1957 ctx.fillStyle = W2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1958 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1959 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1960 var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1961 T2B.addColorStop(0, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1962 T2B.addColorStop(1, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1963 ctx.moveTo(cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1964 ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1965 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1966 ctx.fillStyle = T2B;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1967 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1968 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1969 var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1970 B2T.addColorStop(0, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1971 B2T.addColorStop(1, 'rgba(0,0,0,0.6)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1972 ctx.lineWidth = cr*0.07;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1973 ctx.lineCap = "round";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1974 ctx.moveTo(cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1975 ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1976 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1977 ctx.strokeStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1978 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1979 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1980 var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1981 T2W.addColorStop(0, 'rgba(255,255,255,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1982 T2W.addColorStop(1, 'rgba(255,255,255,0.6)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1983 ctx.lineWidth = cr*0.07;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1984 ctx.lineCap = "round";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1985 ctx.moveTo(cx,cy);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1986 ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1987 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1988 ctx.strokeStyle = T2W;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1989 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1990 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1991 ctx.lineCap = "butt";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1992 ctx.lineWidth = 1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1993 ctx.fillStyle = 'rgba(255,255,255,0.5)';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1994 var mpos = 0; var per = 0; var gx = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1995 var gy = 0; var tx = 0; var ty = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1996 var obj = ""; var w = 0; var c = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1997 var bw = cr*0.45; var bh = cr*0.125;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1998 var th = roundTo(bh*0.75,0); var tf = bh/80;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1999 if(canvas_notext <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2000 if(canvas_htmltext >= 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2001 bw = (cr*0.365);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2002 canvas.parentNode.style.position = "relative";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2003 if(!document.getElementById(textobj)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2004 obj = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2005 obj.id = textobj;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2006 obj.style.color = "rgb(0,0,0)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2007 obj.style.fontFamily = "Arial,sans-serif";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2008 obj.style.fontSize = th + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2009 obj.style.zIndex = 11;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2010 canvas.parentNode.appendChild(obj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2011 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2012 var textdiv = document.getElementById(obj.id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2013 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2014 for (data in ChartData) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2015 val = ChartData[data];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2016 sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2017 deg += (val/ct)*deg2rad(360); edeg = deg;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2018 per = roundTo(val/poc,2);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2019 gx = circle_point_x(mpos, cd);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2020 gy = circle_point_y(mpos, cd);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2021 tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2022 ty = (cy+(2*Math.floor(cy + gy)))/3;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2023 if(canvas_htmltext <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2024 w = '"' + per + '"';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2025 if(w.indexOf(".")!=-1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2026 c = w.length+0.5;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2027 w = parseFloat(c-2)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2028 bw = parseFloat(c-1)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2029 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2030 c = w.length;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2031 w = parseFloat(c-1)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2032 bw = parseFloat(c)*parseFloat(48*tf);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2033 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2034 roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2035 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2036 if(canvas_imgtext >= 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2037 drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2038 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2039 strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2040 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2041 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2042 roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2043 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2044 obj = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2045 obj.style.position = "absolute";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2046 obj.style.overflow = "hidden";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2047 obj.style.textAlign = "center";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2048 obj.style.width = bw + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2049 obj.style.left = (tx-(bw/2)) + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2050 obj.style.top = ty-(th/1.8) + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2051 obj.appendChild(document.createTextNode(per + "%"));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2052 textdiv.appendChild(obj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2053 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2054 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2055 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2056 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2057 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2058 function setBarChart(canvasobj,textobj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2059 var iw = canvas_width*0.9; var ih = canvas_height*0.9;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2060 var pw = canvas_width*0.05; var ph = canvas_height*0.05;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2061 var cm = 0; var ct = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2062 for (var data in ChartData) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2063 cm = Math.max(cm,ChartData[data]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2064 ct += ChartData[data];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2065 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2066 var hf = ih/cm; var bs = colorSlice.length;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2067 var bw = iw/(bs*1.1); var poc = ct/100;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2068 var th = roundTo((bw/3)*0.75,0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2069 var canvas = document.getElementById(canvasobj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2070 if(canvas.getContext) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2071 var ctx = canvas.getContext('2d');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2072 if(canvas_bgcolor != "") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2073 ctx.fillStyle = canvas_bgcolor;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2074 ctx.fillRect(0,0,canvas_width,canvas_height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2075 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2076 ctx.clearRect(0,0,canvas_width,canvas_height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2077 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2078 if(canvas_htmltext >= 1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2079 if(document.getElementById(textobj)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2080 canvas.parentNode.removeChild(canvas.parentNode.lastChild);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2081 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2082 canvas.parentNode.style.position = "relative";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2083 if(!document.getElementById(textobj)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2084 var obj = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2085 obj.id = textobj;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2086 obj.style.color = "rgb(0,0,0)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2087 obj.style.fontFamily = "Arial,sans-serif";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2088 obj.style.fontSize = th + "px";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2089 obj.style.zIndex = 11;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2090 canvas.parentNode.appendChild(obj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2091 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2092 var textdiv = document.getElementById(obj.id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2093 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2094 var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2095 for (var data in ChartData) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2096 per = roundTo(ChartData[data]/poc,2);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2097 bh = ChartData[data]*hf;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2098 drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2099 t++;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2100 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2101 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2102 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2103 function setLineChart(canvasobj,textobj) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2104 var iw = canvas_width*0.9;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2105 var ih = canvas_height*0.9;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2106 var pw = canvas_width*0.05;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2107 var ph = canvas_height*0.05;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2108 var cm = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2109 for (var i = 0; i < ChartData.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2110 for (var j = 0; j < ChartData[i].length; j++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2111 cm = Math.max(cm,ChartData[i][j]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2112 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2113 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2114 var hf = (ih*0.95)/cm; var bw = iw;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2115 var dw = iw/(ChartData[0].length-1)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2116 var dh = ih/(ChartData[0].length-1)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2117 var ps = Math.min(pw,ph); lw = ps/4;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2118 var B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2119 var canvas = document.getElementById(canvasobj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2120 if(canvas.getContext) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2121 var ctx = canvas.getContext('2d');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2122 if(canvas_bgcolor != "") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2123 ctx.fillStyle = canvas_bgcolor;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2124 ctx.fillRect(0,0,canvas_width,canvas_height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2125 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2126 ctx.clearRect(0,0,canvas_width,canvas_height);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2127 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2128 if(canvas_noshadow <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2129 B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2130 B2T.addColorStop(0, 'rgba(0,0,0,0.0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2131 B2T.addColorStop(1, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2132 ctx.fillStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2133 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2134 ctx.moveTo(pw+ps,ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2135 ctx.lineTo(pw+ps,ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2136 ctx.lineTo(pw+ps+ps,ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2137 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2138 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2139 B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2140 B2T.addColorStop(0, 'rgba(0,0,0,0.5)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2141 B2T.addColorStop(1, 'rgba(0,0,0,0.0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2142 ctx.fillStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2143 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2144 ctx.moveTo(pw+ps+ps,ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2145 ctx.lineTo(pw+iw,ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2146 ctx.lineTo(pw+ps+iw,ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2147 ctx.lineTo(pw+ps,ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2148 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2149 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2150 var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2151 B2T.addColorStop(0, 'rgba(0,0,0,0.0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2152 B2T.addColorStop(1, 'rgba(0,0,0,0.35)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2153 ctx.fillStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2154 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2155 ctx.moveTo(pw+iw,ph+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2156 ctx.lineTo(pw+iw,ph+ps+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2157 ctx.lineTo(pw+iw+ps,ph+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2158 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2159 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2160 B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2161 B2T.addColorStop(0, 'rgba(0,0,0,0.35)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2162 B2T.addColorStop(1, 'rgba(0,0,0,0.0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2163 ctx.fillStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2164 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2165 ctx.moveTo(pw+iw,ph+ps+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2166 ctx.lineTo(pw+iw,ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2167 ctx.lineTo(pw+iw+ps,ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2168 ctx.lineTo(pw+iw+ps,ph+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2169 ctx.closePath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2170 ctx.fill();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2171 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2172 ctx.lineCap = "butt";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2173 ctx.lineWidth = lw/2;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2174 ctx.strokeStyle = "rgba(255,255,255,0.25)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2175 if(canvas_nofill <= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2176 ctx.fillStyle = "rgba(240,240,240,0.8)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2177 ctx.strokeStyle = "rgba(255,255,255,1)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2178 ctx.fillRect(pw,ph,iw,ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2179 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2180 for (var i = 0; i < ChartData[0].length-1; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2181 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2182 ctx.moveTo(pw+(i*dw),ph);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2183 ctx.lineTo(pw+(i*dw),ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2184 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2185 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2186 for (var i = 1; i < ChartData[0].length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2187 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2188 ctx.moveTo(pw,ph+(i*dh));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2189 ctx.lineTo(pw+iw,ph+(i*dh));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2190 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2191 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2192 ctx.lineWidth = lw;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2193 var cc = ""; var bh = 0; var idx = 0; var t = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2194 for (var i = 0; i < ChartData.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2195 for (var j = 0; j < ChartData[i].length; j++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2196 t = Math.max(t,ChartData[i][j]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2197 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2198 bh = t*hf; cc = colorSlice[(idx++)];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2199 drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2200 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2201 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2202 ctx.moveTo(pw,ph);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2203 ctx.lineTo(pw,ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2204 ctx.lineTo(pw+iw+(lw/2),ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2205 ctx.strokeStyle = "rgba(48,48,48,1)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2206 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2207 ctx.lineWidth = lw/2;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2208 B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2209 B2T.addColorStop(0, 'rgba(0,0,0,1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2210 B2T.addColorStop(0.5, 'rgba(0,0,0,1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2211 B2T.addColorStop(1, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2212 ctx.strokeStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2213 for (var i = 0; i < ChartData[0].length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2214 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2215 ctx.moveTo(pw+(i*dw),ph+ih);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2216 ctx.lineTo(pw+(i*dw),ph+ih+ps);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2217 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2218 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2219 B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2220 B2T.addColorStop(0, 'rgba(0,0,0,0)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2221 B2T.addColorStop(0.5, 'rgba(0,0,0,1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2222 B2T.addColorStop(1, 'rgba(0,0,0,1)');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2223 ctx.strokeStyle = B2T;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2224 for (var i = 1; i < ChartData[0].length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2225 ctx.beginPath();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2226 ctx.moveTo(pw-ps,ph+(i*dh));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2227 ctx.lineTo(pw,ph+(i*dh));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2228 ctx.stroke();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2229 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2230 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2231 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2232 function generateCanvas() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2233 if(canvasSupport) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2234 var canvasID; var tdataID; var textID;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2235 var tmp; var dat; var i; var j;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2236 for(i=0; i < piecharts.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2237 tmp = piecharts[i].id.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2238 tdataID = piecharts[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2239 canvasID = tmp[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2240 textID = tmp[0] + "_text";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2241 if(document.getElementById(tdataID)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2242 get_input(tdataID,canvasID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2243 if(colorSlice.length > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2244 j = 0; dat = ""; for(dat in ChartData) {j++; }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2245 if(j > 0 && j == colorSlice.length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2246 setPieChart(canvasID,textID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2247 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2248 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2249 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2250 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2251 for(i=0; i < barcharts.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2252 tmp = barcharts[i].id.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2253 tdataID = barcharts[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2254 canvasID = tmp[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2255 textID = tmp[0] + "_text";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2256 if(document.getElementById(tdataID)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2257 get_input(tdataID,canvasID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2258 if(colorSlice.length > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2259 j = 0; dat = ""; for(dat in ChartData) {j++; }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2260 if(j > 0 && j == colorSlice.length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2261 setBarChart(canvasID,textID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2262 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2263 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2264 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2265 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2266 for(i=0; i < linecharts.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2267 tmp = linecharts[i].id.split("_");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2268 tdataID = linecharts[i].id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2269 canvasID = tmp[0] + "_canvas";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2270 textID = tmp[0] + "_text";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2271 if(document.getElementById(tdataID)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2272 get_input(tdataID,canvasID,true);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2273 if(colorSlice.length > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2274 if(ChartData.length == colorSlice.length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2275 setLineChart(canvasID,textID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2276 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2277 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2278 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2279 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2280 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2281 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2282 // canvas chart extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2283
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2284 // invisible select extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2285 function setListPos(opt) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2286 if(!isIE) { //(degrade IE)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2287 var ref = document.getElementById('list');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2288 var x = findPosX(ref); var y = findPosY(ref);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2289 var obj = document.getElementById('jumplist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2290 obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2291 var vol = document.getElementById('volumelist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2292 ref = document.getElementById('volume');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2293 x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2294 vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2295 var del = document.getElementById('delaylist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2296 ref = document.getElementById('delay');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2297 x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2298 del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2299 var pnl = document.getElementById('navLinks');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2300 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2301 if(opt) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2302 if(isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2303 //(degrade IE)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2304 //pnl.style.filter = "alpha(opacity=80)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2305 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2306 obj.style.opacity = 0.0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2307 vol.style.opacity = 0.0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2308 del.style.opacity = 0.0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2309 pnl.style.opacity = 0.8;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2310 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2311 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2312 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2313 // invisible select extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2314
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2315 // transition extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2316 function switchFade() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2317 if(tranSitions && s5mode && fadeModus) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2318 fadeModus = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2319 playDelay = playDelay-(2*fadeDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2320 var obj = document.getElementById('fade'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2321 }else if(tranSitions && s5mode && !fadeModus) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2322 fadeModus = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2323 playDelay = playDelay+(2*fadeDuration);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2324 var obj = document.getElementById('fade'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2325 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2326 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2327 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2328 function opacity(ids, opacStart, opacEnd, millisec) { var speed = Math.round(millisec / 100); var timer = 0; if(opacStart > opacEnd) { for(var i = opacStart; i >= opacEnd; i--) { window.setTimeout("changeOpac(" + i + ",'" + ids + "')",(timer * speed)); timer++; } } else if(opacStart < opacEnd) { for(var i = opacStart; i <= opacEnd; i++) { window.setTimeout("changeOpac(" + i + ",'" + ids + "')",(timer * speed)); timer++; } }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2329 } function changeOpac(opacity, ids) { var obj = document.getElementById(ids);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2330 if (isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2331 obj.style.filter = "alpha(opacity=" + opacity + ")"; } else { obj.style.opacity = (opacity / 100); } } function shiftOpacity(ids, millisec) { if(document.getElementById(ids).style.opacity != '') { var currentOpac = document.getElementById(ids).style.opacity * 100;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2332 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2333 var currentOpac = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2334 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2335 if(currentOpac == 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2336 opacity(ids, currentOpac, 100, millisec); } else if(currentOpac > 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2337 opacity(ids, currentOpac, 0, millisec); } }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2338 // transition extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2339
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2340 // autoplay extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2341 function autoPlay() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2342 if (s5mode && autoMatic && !playPause) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2343 if ((snum >= (smax-1)) && playLoop) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2344 goTo(0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2345 autoRun = setTimeout('autoPlay();',playDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2346 }else if ((snum >= (smax-1)) && !playLoop) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2347 stopPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2348 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2349 if (!incrementals[snum] || incpos >= incrementals[snum].length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2350 go(1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2351 if (incrementals[snum].length >0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2352 clearTimeout(autoRun); autoRun = null;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2353 incrDelay = parseInt(playDelay/(incrementals[snum].length+1));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2354 remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2355 autoRun = setTimeout('autoPlayIncr()',incrDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2356 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2357 } else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2358 clearTimeout(autoRun); autoRun = null;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2359 incrDelay = incrDuration;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2360 remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2361 autoRun = setTimeout('autoPlayIncr()',incrDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2362 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2363 autoRun = setTimeout('autoPlay();',playDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2364 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2365 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2366 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2367 function autoPlayIncr() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2368 if (incpos < incrementals[snum].length) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2369 subgo(1);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2370 autoRun = setTimeout('autoPlayIncr();',incrDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2371 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2372 autoRun = setTimeout('nop();',remainDer);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2373 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2374 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2375 function nop() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2376 // no operation dummy
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2377 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2378 function togglePlay() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2379 if (autoRun && s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2380 stopPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2381 }else if (!autoRun && s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2382 startPlay();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2383 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2384 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2385 function stopPlay() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2386 if (autoRun && s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2387 clearTimeout(autoRun); autoRun = null;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2388 autoMatic = false; playPause = false; var obj = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2389 obj = document.getElementById('auto'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2390 obj = document.getElementById('pause'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2391 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2392 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2393 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2394 function startPlay() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2395 if (!autoRun && s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2396 playPause = false; autoMatic = true; var obj = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2397 obj = document.getElementById('auto'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2398 obj = document.getElementById('pause'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2399 autoRun = setTimeout('autoPlay();',playDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2400 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2401 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2402 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2403 function pausePlay() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2404 if (s5mode && autoMatic) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2405 if (playPause) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2406 playPause = false; autoRun = setTimeout('autoPlay();',playDelay);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2407 var obj = document.getElementById('pause'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2408 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2409 if (autoRun){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2410 clearTimeout(autoRun); autoRun = null; playPause = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2411 var obj = document.getElementById('pause'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2412 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2413 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2414 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2415 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2416 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2417 function switchLoop() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2418 if(s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2419 if (playLoop) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2420 playLoop = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2421 var obj = document.getElementById('loop'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2422 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2423 playLoop = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2424 var obj = document.getElementById('loop'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2425 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2426 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2427 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2428 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2429 function setDelay() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2430 var val = document.getElementById('delaylist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2431 if(s5mode) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2432 var delay = Math.max(5,Math.min(parseInt(val.value),300));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2433 playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2434 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2435 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2436 // autoplay extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2437
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2438 // audio extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2439 function createSoundManagerScript() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2440 if(typeof soundManager=="undefined") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2441 onerrorSM2();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2442 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2443 var script=document.createElement('SCRIPT');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2444 var tx=document.createTextNode("soundManager.createMovie();");
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2445 script.appendChild(tx);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2446 document.getElementsByTagName("body")[0].appendChild(script);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2447 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2448 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2449 //soundManager.onload = function() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2450 function onloadSM2() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2451 if(!isIE) { //(degrade IE)
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2452 swfUnloaded = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2453 preloadSounds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2454 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2455 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2456 //soundManager.onerror = function() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2457 function onerrorSM2() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2458 if(typeof soundManager!="undefined") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2459 soundManager.destruct;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2460 delete soundManager;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2461 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2462 audioSupport = false; swfUnloaded = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2463 if(audioError && !isIE && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2464 var dv = document.createElement('div'); dv.id = "guru";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2465 var d2=document.createElement('div'); dv.appendChild(d2); var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2466 d2.appendChild(tx); document.getElementById('slide0').appendChild(dv);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2467 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2468 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2469 function audioSetup() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2470 if(sound[0]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2471 playSound(0);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2472 }else if(sound[bgSoundItem] && !sound[0]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2473 playSound(bgSoundItem);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2474 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2475 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2476 function fadeoutSound(ids, option) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2477 if(curSoundID >= 0 && !swfUnloaded) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2478 if(isNaN(ids)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2479 if(ids == "bgSound") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2480 var cnum = parseInt(bgSoundItem);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2481 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2482 for (var i = 0; i < (sound.length-1); i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2483 if(sound[i] && ids == sound[i]["id"]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2484 var cnum = i;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2485 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2486 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2487 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2488 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2489 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2490 var cnum = ids;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2491 ids = sound[cnum]["id"];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2492 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2493 var vol = getMaxVolume(sound[cnum]["volume"]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2494 var millisec = fadeDuration;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2495 var speed = Math.round(millisec / vol); var timer = 0; for(var i = vol; i > 0; i--) { setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); timer++; }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2496 if(option) setTimeout("stopSound('"+ids+"')",millisec);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2497 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2498 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2499 function fadeout(volume, id) { soundManager.setVolume(id,volume); }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2500 function stopSound(ids) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2501 var sid;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2502 if(isNaN(ids)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2503 sid = ids;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2504 }else if(sound[ids]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2505 sid = sound[ids]["id"];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2506 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2507 if(sid!='' && curSoundID >= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2508 soundManager.stop(sid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2509 curSoundID = -1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2510 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2511 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2512 function toggleSounds() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2513 if(audioSupport && !swfUnloaded) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2514 stopAllSounds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2515 }else if (!audioSupport && !swfUnloaded) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2516 allowSounds();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2517 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2518 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2519 function allowSounds() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2520 if(!swfUnloaded) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2521 audioSupport = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2522 var obj = document.getElementById('audio'); changeClass(obj,'ison');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2523 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2524 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2525 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2526 function stopAllSounds() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2527 if(curSoundID >= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2528 stopSound(curSoundID);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2529 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2530 soundManager.stopAll();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2531 curSoundID = -1;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2532 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2533 audioSupport = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2534 var obj = document.getElementById('audio'); changeClass(obj,'isoff');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2535 currentSlide();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2536 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2537 function playSound(id) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2538 if(audioSupport && !swfUnloaded) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2539 var url, sid, vol, lps, cnum;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2540 if(isNaN(id)) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2541 sid = id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2542 if(sid == "bgSound") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2543 cnum = parseInt(bgSoundItem);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2544 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2545 cnum = getSoundID(id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2546 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2547 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2548 cnum = parseInt(id);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2549 if(sound[cnum]) sid = sound[cnum]["id"];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2550 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2551 if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2552 url = sound[cnum]["url"];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2553 vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2554 lps = (sound[cnum]["loops"])?true:false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2555 if(lps) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2556 soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}});
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2557 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2558 soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}});
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2559 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2560 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2561 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2562 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2563 function getSoundID(str) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2564 for (var i = 0; i < (sound.length-1); i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2565 if(sound[i] && str == sound[i]["id"]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2566 var id = i;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2567 break;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2568 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2569 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2570 return id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2571 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2572 function setVolume() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2573 var vol = document.getElementById('volumelist');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2574 if(audioSupport && !swfUnloaded) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2575 audioVolume = parseInt(vol.value);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2576 if(curSoundID >= 0) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2577 if(sound[curSoundID]) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2578 var sid = sound[curSoundID]["id"];
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2579 var vid = getMaxVolume(sound[curSoundID]["volume"]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2580 soundManager.setVolume(sid,vid);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2581 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2582 } }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2583 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2584 function getMaxVolume(value) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2585 if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;}
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2586 return Math.max(0,Math.min(parseInt(value*factor),audioVolume));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2587 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2588 function preloadSounds() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2589 var temp = ''; var parm = ''; var t = ''; var cl = '';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2590 var objects = document.getElementsByTagName('object');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2591 for (var i=0; i < objects.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2592 if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2593 objects[i].width = 0; objects[i].height = 0;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2594 if(objects[i].parentNode.tagName == 'DIV') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2595 cl = objects[i].parentNode.className.toLowerCase();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2596 if(cl == 'presentation' || cl == 'slide') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2597 if(cl == 'presentation') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2598 t = parseInt(bgSoundItem);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2599 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2600 t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2601 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2602 sound[t] = new Object();
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2603 if(t < bgSoundItem) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2604 sound[t]["id"] = objects[i].parentNode.id;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2605 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2606 sound[t]["id"] = "bgSound";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2607 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2608 sound[t]["url"] = objects[i].data;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2609 sound[t]["volume"] = 100; sound[t]["loops"] = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2610 if(objects[i].archive != '') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2611 parm = objects[i].archive.toLowerCase().split(',');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2612 for (var j=0; j < parm.length; j++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2613 if(parm[j] == 'loop') sound[t]["loops"] = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2614 if(parm[j].search(/^volume/) != -1) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2615 var tmp = parm[j].split(':');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2616 sound[t]["volume"] = parseInt(tmp[1]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2617 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2618 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2619 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2620 soundManager.createSound(sound[t]["id"],sound[t]["url"]);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2621 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2622 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2623 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2624 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2625 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2626 // audio extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2627
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2628 // help extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2629 function createHelpReq() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2630 if(!document.getElementById("HelpReq")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2631 var obj = document.getElementsByTagName("body")[0].firstChild;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2632 var pg = document.createElement('div');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2633 pg.id = "HelpReq";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2634 if (pg.addEventListener) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2635 pg.addEventListener("onclick",dumpHelpReq,false);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2636 } else if (pg.attachEvent) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2637 pg.attachEvent("onclick",dumpHelpReq);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2638 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2639 pg.style.position = 'absolute';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2640 pg.style.left = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2641 pg.style.top = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2642 pg.style.width = 100 + '%';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2643 pg.style.height = 100 + '%';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2644 pg.style.margin = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2645 pg.style.padding = 0 + 'px';
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2646 if (isIE) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2647 pg.style.filter = "alpha(opacity=90)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2648 }else {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2649 pg.style.opacity = 0.9;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2650 } pg.style.zIndex = 9999;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2651 pg.style.backgroundColor="rgb(64,64,64)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2652 pg.style.textAlign = "center"; pg.style.verticalAlign = "middle";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2653 pg.style.backgroundPosition="center center";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2654 pg.style.backgroundRepeat="no-repeat";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2655 pg.style.backgroundImage="url(ui/graphic_support/help.jpg)";
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2656 document.getElementsByTagName("body")[0].insertBefore(pg,obj);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2657 if(document.getElementById("HelpReq")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2658 helpmode = true;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2659 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2660 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2661 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2662 function dumpHelpReq() {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2663 if(document.getElementById("HelpReq")) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2664 document.body.removeChild(document.getElementById('HelpReq'));
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2665 helpmode = false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2666 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2667 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2668 // help extension
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2669
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2670 //DEBUG
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2671 function ConsoleLog(value) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2672 if(window.console) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2673 window.console.log(value);
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2674 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2675 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2676 //DEBUG
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2677
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2678 document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2679
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2680 if(!isIE && !isOp) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2681 document.write('<script type="text/javascript" src="ui/audio_support/soundmanager2.js"></script>');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2682 if(typeof soundManager!="undefined") {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2683 var allMetas = document.getElementsByTagName('meta');
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2684 for (var i = 0; i< allMetas.length; i++) {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2685 if (allMetas[i].name == 'audioDebug') {
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2686 var audioDebug = (allMetas[i].content == "true") ? true : false;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2687 soundManager.defaultOptions.debugMode = audioDebug;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2688 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2689 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2690 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2691 }
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2692
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2693 window.onload = createSlideShow;
7451f481250b add OSC presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2694 window.onresize = function(){setTimeout('windowChange()',5);}