20
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 // S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 // Please see http://s5.netzgesta.de/ for more information
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 // based on S5 v1.2a1 slides.js -- released into the Public Domain
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 // Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 // about all the wonderful and talented contributors to this code!
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 // audio extension: soundmanager2 is NOT Public Domain
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 // Please see http://www.schillmania.com/projects/soundmanager2/ for information
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 var undef;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 var slideCSS = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 var snum = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 var smax = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 var incpos = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 var number = undef;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 var firstTime = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 var s5mode = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 var helpmode = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 var defaultView = 'slideshow'; //outline
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 var controlVis = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 // scalable images extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 var empx = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 var images = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 var canvas = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 var medias = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 var piecharts = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 var barcharts = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 var linecharts = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 // scalable images extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 // transition extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 var tranSitions = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 var fadeModus = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 var fadeDuration = 500;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 var incrDuration = 250;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 var opac = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 var cid = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 var nid = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 var tid = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 var jl = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 // transition extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 // autoplay extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 var autoMatic = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 var playLoop = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 var playPause = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 var autoRun = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 var playDelay = 5000;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 var remainDer = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 var incrDelay = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 // autoplay extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 // audio extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 var sound = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 var audioSupport = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 var audioVolume = 100;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 var audioError = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 var swfUnloaded = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 var bgSoundItem = 9999;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 var curSoundID = -1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 // audio extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 // panel extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 var imgWidth = 32;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 var imgHeight = 32;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 // panel extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 // canvas chart extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 var canvasSupport = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 var ChartData = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 var colorSlice = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 var font = document.createElement("img");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 font.setAttribute("src", "ui/graphic_support/numeric.png");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 signs = {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 '0': {sx: 0, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 '1': {sx: 48, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 '2': {sx: 96, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 '3': {sx: 144, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 '4': {sx: 192, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 '5': {sx: 240, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 '6': {sx: 288, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 '7': {sx: 336, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 '8': {sx: 384, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 '9': {sx: 432, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 '%': {sx: 480, sy: 0, sw: 48, sh: 64},
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 '.': {sx: 528, sy: 0, sw: 24, sh: 64}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 };
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 var colorNames= new Array();
|
Yutaka_Kinjyo <yutaka@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";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 var canvas_bgcolor = "";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 var canvas_width = 200;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 var canvas_height = 200;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 var canvas_noshade = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 var canvas_nofill = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 var canvas_noshadow = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 var canvas_htmltext = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 var canvas_imgtext = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 var canvas_notext = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 // canvas chart extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 var s5NotesWindow;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 var s5NotesWindowLoaded = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 var previousSlide = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 var presentationStart = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 var slideStart = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 var countdown = {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 timer: 0,
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 state: 'pause',
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 start: new Date(),
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 end: 0,
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 remaining: 0
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 };
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 function hasClass(object, className) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 if (!object.className) return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 function hasValue(object, value) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 if (!object) return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 return (object.search('(^|\\s)' + value + '(\\s|$)') != -1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 function removeClass(object,className) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 if (!object || !hasClass(object,className)) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 function addClass(object,className) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 if (!object || hasClass(object, className)) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 if (object.className) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 object.className += ' '+className;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 object.className = className;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 function changeClass(object,className) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 if (!object) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 object.firstChild.className = className;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 function GetElementsWithClassName(elementName,className) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 var allElements = document.getElementsByTagName(elementName);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 var elemColl = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 for (var i = 0; i< allElements.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 if (hasClass(allElements[i], className)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 elemColl[elemColl.length] = allElements[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 return elemColl;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 function isParentOrSelf(element, id) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
162 if (element == null || element.nodeName=='BODY') return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
163 else if (element.id == id) return true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
164 else return isParentOrSelf(element.parentNode, id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
165 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
166
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
167 function nodeValue(node) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
168 var result = "";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
169 if (node.nodeType == 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
170 var children = node.childNodes;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
171 for (var i = 0; i < children.length; ++i) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
172 result += nodeValue(children[i]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
173 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
174 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
175 else if (node.nodeType == 3) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
176 result = node.nodeValue;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
177 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
178 return(result);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
179 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
180
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
181 function slideLabel() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
182 var slideColl = GetElementsWithClassName('*','slide');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
183 var list = document.getElementById('jumplist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
184 smax = slideColl.length;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
185 for (var n = 0; n < smax; n++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
186 var obj = slideColl[n];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
187 var did = 'slide' + n.toString();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
188 obj.setAttribute('id',did);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
189 var otext = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
190 var menu = obj.firstChild;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
191 if (!menu) continue; // to cope with empty slides
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
192 while (menu && menu.nodeType == 3) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
193 menu = menu.nextSibling;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
194 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
195 if (!menu) continue; // to cope with slides with only text nodes
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
196 var menunodes = menu.childNodes;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
197 for (var o = 0; o < menunodes.length; o++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
198 otext += nodeValue(menunodes[o]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
199 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
200 list.options[list.length] = new Option(n + ' : ' + otext, n);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
201 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
202 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
203
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
204 function currentSlide() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
205 var cs, at, fd, ss;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
206 if (document.getElementById) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
207 cs = document.getElementById('currentSlide');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
208 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
209 cs = document.currentSlide;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
210 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
211 fd = fadeModus?"F":"–";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
212 ss = audioSupport?"S":"–";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
213 at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
214 cs.innerHTML = '<div id="plink" nowrap="nowrap">' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
215 '<span id="csFade">[' + fd + ss + ']<\/span> ' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
216 '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
217 '<span id="csSep">\/<\/span>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
218 '<span id="csTotal">' + (smax-1) + '<\/span> ' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
219 '<span id="csAuto">[' + at + ']<\/span>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
220 '<\/div>';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
221
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
222 if (snum == 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
223 cs.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
224 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
225 cs.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
226 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
227 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
228
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
229 function go(step) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
230 if (document.getElementById('slideProj').disabled || step == 0) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
231 jl = document.getElementById('jumplist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
232 cid = 'slide' + snum;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
233 var ce = document.getElementById(cid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
234 if (incrementals[snum].length > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
235 for (var i = 0; i < incrementals[snum].length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
236 removeClass(incrementals[snum][i], 'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
237 removeClass(incrementals[snum][i], 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
238 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
239 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
240 if (step != 'j') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
241 snum += step;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
242 lmax = smax - 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
243 if (snum > lmax) snum = lmax;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
244 if (snum < 0) snum = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
245 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
246 snum = parseInt(jl.value);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
247 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
248 nid = 'slide' + snum;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
249 var ne = document.getElementById(nid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
250 if (!ne) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
251 ne = document.getElementById('slide0');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
252 nid = 'slide0';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
253 snum = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
254 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
255 if (step < 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
256 incpos = incrementals[snum].length
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
257 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
258 incpos = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
259 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
260 if (incrementals[snum].length > 0 && incpos == 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
261 for (var i = 0; i < incrementals[snum].length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
262 if (hasClass(incrementals[snum][i], 'current')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
263 incpos = i + 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
264 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
265 addClass(incrementals[snum][i], 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
266 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
267 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
268 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
269 if (incrementals[snum].length > 0 && incpos > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
270 addClass(incrementals[snum][incpos - 1], 'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
271 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
272 var guru = document.getElementById('guru');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
273 if(guru && snum==0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
274 guru.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
275 }else if(guru && snum>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
276 guru.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
277 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
278 if(tranSitions && s5mode && fadeModus) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
279 if(curSoundID != getSoundID(nid)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
280 if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
281 }else {fadeoutSound(curSoundID,true); } // audio support
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
282 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
283 changeOpac(0,nid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
284 changeOpac(100,cid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
285 ce.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
286 shiftOpacity(cid,fadeDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
287 window.setTimeout("changeSlides()",fadeDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
288 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
289 if(curSoundID != getSoundID(nid)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
290 if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
291 }else {stopSound(curSoundID); } // audio support
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
292 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
293 ce.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
294 if (isOp) location.hash = nid;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
295 ne.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
296 finishSlides();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
297 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
298 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
299
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
300 function changeSlides() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
301 if(nid != cid) changeOpac(100,cid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
302 document.getElementById(cid).style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
303 document.getElementById(nid).style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
304 if (isOp) location.hash = nid;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
305 shiftOpacity(nid,fadeDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
306 window.setTimeout("finishSlides()",fadeDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
307 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
308
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
309 function finishSlides() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
310 jl.selectedIndex = snum;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
311 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
312 loadNote();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
313 permaLink();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
314 number = undef;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
315 if(sound[getSoundID(nid)]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
316 playSound(nid); // audio support
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
317 }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
318 playSound(bgSoundItem); // audio support
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
319 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
320 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
321
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
322 function goTo(target) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
323 if (target >= smax || target == snum) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
324 go(target - snum);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
325 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
326
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
327 function subgo(step) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
328 if (step > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
329 removeClass(incrementals[snum][incpos - 1],'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
330 removeClass(incrementals[snum][incpos], 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
331 if(tranSitions && s5mode && fadeModus) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
332 if(!incrementals[snum][incpos].id) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
333 var tmp = new Date(); tid = "inc" + String(tmp.getTime());
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
334 incrementals[snum][incpos].id = tid;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
335 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
336 tid = incrementals[snum][incpos].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
337 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
338 if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
339 changeOpac(0,tid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
340 addClass(incrementals[snum][incpos],'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
341 shiftOpacity(tid,incrDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
342 setTimeout("nextInc()",incrDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
343 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
344 addClass(incrementals[snum][incpos],'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
345 nextInc();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
346 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
347 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
348 addClass(incrementals[snum][incpos],'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
349 nextInc();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
350 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
351 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
352 incpos--;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
353 removeClass(incrementals[snum][incpos],'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
354 addClass(incrementals[snum][incpos], 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
355 addClass(incrementals[snum][incpos - 1],'current');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
356 loadNote();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
357 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
358 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
359
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
360 function nextInc() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
361 incpos++;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
362 loadNote();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
363 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
364
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
365 function toggle() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
366 var slideColl = GetElementsWithClassName('*','slide');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
367 var slides = document.getElementById('slideProj');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
368 var outline = document.getElementById('outlineStyle');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
369 var guru = document.getElementById('guru');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
370 if (!slides.disabled) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
371 stopPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
372 if(audioSupport && !swfUnloaded) stopAllSounds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
373 slides.disabled = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
374 outline.disabled = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
375 s5mode = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
376 fontSize(1,'em');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
377 for (var n = 0; n < smax; n++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
378 var slide = slideColl[n];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
379 slide.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
380 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
381 if(guru) guru.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
382 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
383 slides.disabled = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
384 outline.disabled = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
385 s5mode = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
386 fontScale();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
387 for (var n = 0; n < smax; n++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
388 var slide = slideColl[n];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
389 slide.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
390 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
391 slideColl[snum].style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
392 if(guru && snum==0) guru.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
393 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
394 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
395
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
396 function showHide(action) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
397 var obj = GetElementsWithClassName('*','hideme')[0];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
398 switch (action) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
399 case 's':
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
400 obj.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
401 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
402 case 'h':
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
403 obj.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
404 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
405 case 'k':
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
406 if (obj.style.visibility != 'visible') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
407 obj.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
408 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
409 obj.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
410 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
411 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
412 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
413 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
414
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
415 function keys(key) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
416 if (!key) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
417 key = event;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
418 key.which = key.keyCode;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
419 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
420 if (helpmode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
421 dumpHelpReq();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
422 return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
423 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
424 if (key.which == 84 && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
425 toggle();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
426 return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
427 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
428 if (s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
429 if (autoMatic) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
430 switch (key.which) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
431 case 70: // f/ading on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
432 switchFade();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
433 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
434 case 83: // s/ound on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
435 toggleSounds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
436 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
437 case 67: // c
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
438 showHide('k');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
439 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
440 case 65: // a/utoplay on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
441 stopPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
442 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
443 case 76: // l/ooping on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
444 switchLoop();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
445 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
446 case 80: // p/ause
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
447 case 32: // spacebar
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
448 pausePlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
449 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
450 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
451 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
452 switch (key.which) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
453 case 8: // backspace = HELP
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
454 createHelpReq();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
455 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
456 case 10: // return
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
457 case 13: // enter
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
458 if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
459 if (key.target && isParentOrSelf(key.target, 'controls')) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
460 if(number != undef) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
461 goTo(number);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
462 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
463 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
464 case 32: // spacebar
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
465 case 34: // page down
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
466 case 39: // rightkey
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
467 case 40: // downkey
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
468 if(number != undef) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
469 go(number);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
470 } else if (!incrementals[snum] || incpos >= incrementals[snum].length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
471 go(1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
472 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
473 subgo(1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
474 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
475 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
476 case 33: // page up
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
477 case 37: // leftkey
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
478 case 38: // upkey
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
479 if(number != undef) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
480 go(-1 * number);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
481 } else if (!incrementals[snum] || incpos <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
482 go(-1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
483 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
484 subgo(-1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
485 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
486 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
487 case 65: // a/utoplay
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
488 startPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
489 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
490 case 72: // h
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
491 case 36: // home
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
492 goTo(0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
493 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
494 case 69: // e
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
495 case 35: // end
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
496 goTo(smax-1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
497 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
498 case 70: // f/ade transitions on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
499 switchFade();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
500 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
501 case 76: // l/ooping on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
502 switchLoop();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
503 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
504 case 83: // s/ound support on/off
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
505 toggleSounds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
506 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
507 case 27: // escape
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
508 case 81: // q
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
509 if(!isOp) byby();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
510 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
511 case 67: // c
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
512 showHide('k');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
513 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
514 case 78: // n
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
515 createNotesWindow();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
516 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
517 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
518 if (key.which < 48 || key.which > 57) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
519 number = undef;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
520 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
521 if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
522 if (key.target && isParentOrSelf(key.target, 'controls')) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
523 number = (((number != undef) ? number : 0) * 10) + (key.which - 48);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
524 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
525 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
526 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
527 return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
528 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
529
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
530 function clicker(e) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
531 number = undef;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
532 var target;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
533 if (window.event) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
534 target = window.event.srcElement;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
535 e = window.event;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
536 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
537 target = e.target;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
538 }
|
Yutaka_Kinjyo <yutaka@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;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
540 if (!helpmode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
541 if (!e.which || e.which == 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
542 if (!incrementals[snum] || incpos >= incrementals[snum].length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
543 go(1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
544 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
545 subgo(1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
546 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
547 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
548 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
549 dumpHelpReq();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
550 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
551 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
552
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
553 function findSlide(hash) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
554 var target = null;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
555 var slides = GetElementsWithClassName('*','slide');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
556 for (var i = 0; i < slides.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
557 var targetSlide = slides[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
558 if ( (targetSlide.name && targetSlide.name == hash)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
559 || (targetSlide.id && targetSlide.id == hash) ) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
560 target = targetSlide;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
561 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
562 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
563 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
564 while(target != null && target.nodeName != 'BODY') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
565 if (hasClass(target, 'slide')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
566 return parseInt(target.id.slice(5));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
567 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
568 target = target.parentNode;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
569 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
570 return null;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
571 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
572
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
573 function slideJump() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
574 if (window.location.hash == null) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
575 var sregex = /^#slide(\d+)$/;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
576 var matches = sregex.exec(window.location.hash);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
577 var dest = null;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
578 if (matches != null) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
579 dest = parseInt(matches[1]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
580 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
581 dest = findSlide(window.location.hash.slice(1));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
582 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
583 if (dest != null)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
584 go(dest - snum);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
585 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
586
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
587 function fixLinks() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
588 var thisUri = window.location.href;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
589 thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
590 var aelements = document.getElementsByTagName('A');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
591 for (var i = 0; i < aelements.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
592 var a = aelements[i].href;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
593 var slideID = a.match('\#slide[0-9]{1,2}');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
594 if ((slideID) && (slideID[0].slice(0,1) == '#')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
595 var dest = findSlide(slideID[0].slice(1));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
596 if (dest != null) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
597 if (aelements[i].addEventListener) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
598 aelements[i].addEventListener("click", new Function("e",
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
599 "if (document.getElementById('slideProj').disabled) return;" +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
600 "go("+dest+" - snum); " +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
601 "if (e.preventDefault) e.preventDefault();"), true);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
602 } else if (aelements[i].attachEvent) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
603 aelements[i].attachEvent("onclick", new Function("",
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
604 "if (document.getElementById('slideProj').disabled) return;" +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
605 "go("+dest+" - snum); " +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
606 "event.returnValue = false;"));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
607 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
608 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
609 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
610 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
611 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
612
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
613 function externalLinks() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
614 if (!document.getElementsByTagName) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
615 var anchors = document.getElementsByTagName('a');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
616 for (var i=0; i<anchors.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
617 var anchor = anchors[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
618 if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
619 anchor.target = '_blank';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
620 addClass(anchor,'external');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
621 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
622 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
623 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
624
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
625 function permaLink() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
626 document.getElementById('plink').href = window.location.pathname + '#slide' + snum;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
627 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
628
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
629 function createControls() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
630 var controlsDiv = document.getElementById("controls");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
631 if (!controlsDiv) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
632 var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
633 var hideDiv, hideList = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
634 if (controlVis == 'hidden') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
635 hideDiv = hider;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
636 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
637 hideList = hider;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
638 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
639 if(isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
640 var str = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
641 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
642 var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
643 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
644 if(isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
645 var tmp = "move around&xA0;until the color&xA0;change to red!";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
646 }else if(isS2) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
647 var tmp = "move around\r\nuntil the color\r\nchange to red!";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
648 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
649 var tmp = "move around until color change to red!";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
650 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
651 if(isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
652 controlsDiv.innerHTML = str +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
653 '<form action="#" id="controlForm"' + hideDiv + '>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
654 '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
656 '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
666 '<\/ul><\/div><\/form>';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
667 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
668 controlsDiv.innerHTML = str +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
669 '<form action="#" id="controlForm"' + hideDiv + '>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
671 '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
673 '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
674 '<li class="vr"><\/li>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
680 '<li id="fadeLinks" class="vr"><\/li>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
682 '<li id="audioLinks" class="vr"><\/li>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
685 '<li id="autoLinks" class="vr"><\/li>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
690 '<\/ul>' +
|
Yutaka_Kinjyo <yutaka@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>' +
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
692 '<\/div><\/form>';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
693 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
694 if (controlVis == 'hidden') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
695 var hidden = document.getElementById('navLinks');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
696 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
697 var hidden = document.getElementById('jumplist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
698 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
699 addClass(hidden,'hideme');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
700 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
701
|
Yutaka_Kinjyo <yutaka@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
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
703 if (!s5mode && !isOp) return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
704 var hScreen = screen.width; var vScreen = screen.height;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
705 var vWindow = window.outerHeight; var hWindow = window.outerWidth;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
706 if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
707 toggle();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
708 return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
709 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
710 if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
711 if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
712 var vScale = 48; // both yield 16 (the usual browser default) at 1024x768
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
713 var hScale = 64; // perhaps should auto-calculate based on theme's declared value?
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
714 if (window.innerHeight) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
715 var vSize = window.innerHeight;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
716 var hSize = window.innerWidth;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
717 } else if (document.documentElement.clientHeight) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
718 var vSize = document.documentElement.clientHeight;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
719 var hSize = document.documentElement.clientWidth;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
720 } else if (document.body.clientHeight) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
721 var vSize = document.body.clientHeight;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
722 var hSize = document.body.clientWidth;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
723 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
724 var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
725 var hSize = 1024; // these do not account for kiosk mode or Opera Show
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
726 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
727 var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
728 extendImgSizes(newSize); // scalable images extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
729 extendCanSizes(newSize); // scalable canvas extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
730 extendObjSizes(newSize); // scalable object extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
731 fontSize(newSize,"px");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
732 if(!isS2 || firstTime==0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
733 generateCanvas(); // dynamic canvas extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
734 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
735 if (isGe) { // hack to counter incremental reflow bugs
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
736 var obj = document.getElementsByTagName('body')[0];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
737 obj.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
738 obj.style.display = 'none';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
739 obj.style.display = 'block';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
740 obj.style.visibility = 'visible';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
741 changeOpac(100,'slide' + snum);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
742 shiftOpacity('slide' + snum,10);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
743 window.setTimeout("fixReflow()",10);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
744 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
745 setListPos(); // invisible select extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
746 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
747 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
748
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
749 function fixReflow() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
750 shiftOpacity('slide' + snum,10);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
751 window.setTimeout("finishReflow()",10);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
752 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
753 function finishReflow() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
754 setListPos(); // invisible select extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
755 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
756
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
757 function fontSize(val,fmt) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
758 var value = val + fmt;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
759 if (!(s5ss = document.getElementById('s5ss'))) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
760 if (!document.createStyleSheet) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
761 document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style'));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
762 s5ss.setAttribute('media','screen, projection');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
763 s5ss.setAttribute('id','s5ss');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
764 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
765 document.createStyleSheet();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
766 document.s5ss = document.styleSheets[document.styleSheets.length - 1];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
767 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
768 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
769 if (!(document.s5ss && document.s5ss.addRule)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
770 while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
771 s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}'));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
772 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
773 document.s5ss.addRule('html','font-size: ' + value + ' !important;');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
774 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
775 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
776
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
777 function windowChange() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
778 fontScale();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
779 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
780
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
781 function notOperaFix() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
782 slideCSS = document.getElementById('slideProj').href;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
783 var slides = document.getElementById('slideProj');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
784 var outline = document.getElementById('outlineStyle');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
785 slides.setAttribute('media','screen');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
786 outline.disabled = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
787 if (isGe) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
788 slides.setAttribute('href','null'); // Gecko fix
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
789 slides.setAttribute('href',slideCSS); // Gecko fix
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
790 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
791 if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
792 document.styleSheets[0].addRule('img', 'behavior: url(ui/graphic_support/iepngfix.htc)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
793 document.styleSheets[0].addRule('div', 'behavior: url(ui/graphic_support/iepngfix.htc)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
794 document.styleSheets[0].addRule('.slide', 'behavior: url(ui/graphic_support/iepngfix.htc)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
795 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
796 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
797
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
798 function getIncrementals(obj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
799 var incrementals = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
800 if (!obj)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
801 return incrementals;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
802 var children = obj.childNodes;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
803 for (var i = 0; i < children.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
804 var child = children[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
805 if (hasClass(child, 'incremental')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
806 if (child.nodeName == 'OL' || child.nodeName == 'UL') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
807 removeClass(child, 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
808 for (var j = 0; j < child.childNodes.length; j++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
809 if (child.childNodes[j].nodeType == 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
810 addClass(child.childNodes[j], 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
811 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
812 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
813 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
814 incrementals[incrementals.length] = child;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
815 removeClass(child,'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
816 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
817 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
818 if (hasClass(child, 'show-first')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
819 if (child.nodeName == 'OL' || child.nodeName == 'UL') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
820 removeClass(child, 'show-first');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
821 if (child.childNodes[isGe].nodeType == 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
822 removeClass(child.childNodes[isGe], 'incremental');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
823 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
824 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
825 incrementals[incrementals.length] = child;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
826 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
827 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
828 incrementals = incrementals.concat(getIncrementals(child));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
829 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
830 return incrementals;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
831 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
832
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
833 function createIncrementals() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
834 var incrementals = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
835 for (var i = 0; i < smax; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
836 incrementals[i] = getIncrementals(document.getElementById('slide'+i));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
837 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
838 return incrementals;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
839 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
840
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
841 function trap(e) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
842 if (!e) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
843 e = event;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
844 e.which = e.keyCode;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
845 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
846 try {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
847 modifierKey = e.ctrlKey || e.altKey || e.metaKey;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
848 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
849 catch(e) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
850 modifierKey = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
851 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
852 return modifierKey || e.which == 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
853 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
854
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
855 // notes extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
856 function noteLabel() { // Gives notes id's to match parent slides
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
857 var notes = GetElementsWithClassName('div','notes');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
858 for (var i = 0; i < notes.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
859 var note = notes[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
860 var id = 'note' + note.parentNode.id.substring(5);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
861 note.setAttribute('id',id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
862 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
863 resetElapsedSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
864 resetRemainingTime();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
865 window.setInterval('updateElaspedTime()', 1000);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
866 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
867
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
868 function createNotesWindow() { // creates a window for our notes
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
869 if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
870 s5NotesWindowLoaded = false;
|
Yutaka_Kinjyo <yutaka@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.
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
872 s5NotesWindow = window.open('ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
873 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
874 if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
875 loadNote();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
876 } else { // Keep trying...
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
877 window.setTimeout('createNotesWindow()', 50);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
878 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
879 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
880
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
881 function loadNote() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
882 // Loads a note into the note window
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
883 var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
884 if (document.getElementById('note' + snum)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
885 notes = document.getElementById('note' + snum).innerHTML;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
886 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
887 if (document.getElementById('note' + (snum + 1))) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
888 nextNotes = document.getElementById('note' + (snum + 1)).innerHTML;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
889 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
890
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
891 var jl = document.getElementById('jumplist');
|
Yutaka_Kinjyo <yutaka@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) + ')' : '');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
893 if (incrementals[snum].length > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
894 slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
895 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
896 if (jl.selectedIndex < smax - 1) {
|
Yutaka_Kinjyo <yutaka@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) + ')' : '');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
898 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
899 var nextTitle = '[end of slide show]';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
900 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
901
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
902 if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
903 s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
904 s5NotesWindow.document.getElementById('notes').innerHTML = notes;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
905 s5NotesWindow.document.getElementById('next').innerHTML = nextTitle;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
906 s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
907 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
908 resetElapsedSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
909 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
910
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
911 function minimizeTimer(id) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
912 var obj = s5NotesWindow.document.getElementById(id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
913 if (hasClass(obj,'collapsed')) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
914 removeClass(obj,'collapsed');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
915 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
916 addClass(obj,'collapsed');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
917 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
918 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
919
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
920 function resetElapsedTime() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
921 presentationStart = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
922 slideStart = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
923 updateElaspedTime();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
924 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
925
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
926 function resetElapsedSlide() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
927 if (snum != previousSlide) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
928 slideStart = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
929 previousSlide = snum;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
930 updateElaspedTime();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
931 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
932 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
933
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
934 function updateElaspedTime() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
935 if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
936 var now = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
937 var ep = s5NotesWindow.document.getElementById('elapsed-presentation');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
938 var es = s5NotesWindow.document.getElementById('elapsed-slide');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
939 ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf());
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
940 es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf());
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
941 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
942
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
943 function resetRemainingTime() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
944 if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
945 var startField = s5NotesWindow.document.getElementById('startFrom');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
946 startFrom = readTime(startField.value);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
947 countdown.remaining = startFrom * 60000; // convert to msecs
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
948 countdown.start = new Date().valueOf();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
949 countdown.end = countdown.start + countdown.remaining;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
950 var tl = s5NotesWindow.document.getElementById('timeLeft');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
951 var timeLeft = formatTime(countdown.remaining);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
952 tl.innerHTML = timeLeft;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
953 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
954
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
955 function updateRemainingTime() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
956 if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
957 var tl = s5NotesWindow.document.getElementById('timeLeft');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
958 var now = new Date();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
959 if (countdown.state == 'run') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
960 countdown.remaining = countdown.end - now;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
961 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
962 tl.style.color = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
963 tl.style.backgroundColor = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
964 if (countdown.remaining >= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
965 var timeLeft = formatTime(countdown.remaining);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
966 removeClass(tl,'overtime');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
967 if (countdown.remaining < 300000) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
968 tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
969 tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
970 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
971 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
972 var timeLeft = '-' + formatTime(-countdown.remaining);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
973 addClass(tl,'overtime');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
974 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
975 tl.innerHTML = timeLeft;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
976 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
977
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
978 function toggleRemainingTime() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
979 if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
980 if (countdown.state == 'pause') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
981 window.clearInterval(countdown.timer);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
982 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
983 if (countdown.state == 'run') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
984 countdown.start = new Date().valueOf();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
985 countdown.end = countdown.start + countdown.remaining;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
986 countdown.timer = window.setInterval('updateRemainingTime()', 1000);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
987 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
988 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
989
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
990 function alterRemainingTime(amt) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
991 var change = amt * 60000; // convert to msecs
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
992 countdown.end += change;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
993 countdown.remaining += change;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
994 updateRemainingTime();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
995 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
996
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
997 function formatTime(msecs) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
998 var time = new Date(msecs);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
999
|
Yutaka_Kinjyo <yutaka@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...
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1001 hrs = (hrs < 10) ? '0'+hrs : hrs;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1002 if (hrs == 'NaN' || isNaN(hrs)) hrs = '--';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1003
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1004 var min = time.getUTCMinutes();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1005 min = (min < 10) ? '0'+min : min;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1006 if (min == 'NaN' || isNaN(min)) min = '--';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1007
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1008 var sec = time.getUTCSeconds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1009 sec = (sec < 10) ? '0'+sec : sec;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1010 if (sec == 'NaN' || isNaN(sec)) sec = '--';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1011
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1012 return hrs + ':' + min + ':' + sec;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1013 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1014
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1015 function readTime(val) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1016 var sregex = /:/;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1017 var matches = sregex.exec(val);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1018 if (matches == null) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1019 return val;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1020 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1021 var times = val.split(':');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1022 var hours = parseInt(times[0]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1023 var mins = parseInt(times[1]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1024 var total = (hours * 60) + mins;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1025 return total;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1026 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1027 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1028 // notes extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1029
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1030 // startup process
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1031 function createSlideShow() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1032 defaultCheck();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1033 if(!isIE) createDetector(); // (degrade IE) scalable images extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1034 if(opac!=0 || isIE) { // &&!isIE (degrade IE)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1035 tranSitions = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1036 fadeModus = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1037 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1038 if(tranSitions && document.getElementById && document.createElement){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1039 createProgress();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1040 var nop=document.getElementById('StartupControl');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1041 nop.onload = dumpProgress;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1042 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1043 startup();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1044 showAll();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1045 setListPos(true); // invisible select extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1046 panelSetup();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1047 audioSetup(); // audio extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1048 if(isS2 && firstTime>=1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1049 generateCanvas(); // dynamic canvas extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1050 } firstTime = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1051 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1052 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1053
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1054 function defaultCheck() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1055 var allMetas = document.getElementsByTagName('meta');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1056 for (var i = 0; i< allMetas.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1057 if (allMetas[i].name == 'defaultView') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1058 defaultView = allMetas[i].content;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1059 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1060 if (allMetas[i].name == 'controlVis') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1061 controlVis = allMetas[i].content;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1062 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1063 if (allMetas[i].name == 'tranSitions') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1064 tranSitions = (allMetas[i].content == "true") ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1065 fadeModus = (tranSitions == true) ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1066 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1067 if (allMetas[i].name == 'fadeDuration') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1068 var tmp = parseInt(allMetas[i].content);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1069 fadeDuration = Math.max(200,Math.min(tmp,2000));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1070 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1071 if (allMetas[i].name == 'incrDuration') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1072 var tmp = parseInt(allMetas[i].content);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1073 incrDuration = Math.max(50,Math.min(tmp,500));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1074 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1075 if (allMetas[i].name == 'autoMatic') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1076 autoMatic = (allMetas[i].content == "true") ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1077 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1078 if (allMetas[i].name == 'playLoop') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1079 playLoop = (allMetas[i].content == "true") ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1080 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1081 if (allMetas[i].name == 'playDelay') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1082 var tmp = parseInt(allMetas[i].content);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1083 playDelay = Math.max(5,Math.min(tmp,90))*1000;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1084 playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1085 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1086 if (allMetas[i].name == 'audioSupport') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1087 audioSupport = (allMetas[i].content == "true") ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1088 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1089 if (allMetas[i].name == 'audioVolume') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1090 var tmp = parseInt(allMetas[i].content);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1091 audioVolume = Math.max(0,Math.min(tmp,100));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1092 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1093 if (allMetas[i].name == 'audioError') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1094 audioError = (allMetas[i].content == "true") ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1095 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1096 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1097 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1098
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1099 function createProgress() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1100 var obj = document.getElementsByTagName("body")[0].firstChild;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1101 var pg = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1102 pg.id = "StartupProgress";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1103 pg.style.position = 'absolute';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1104 pg.style.left = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1105 pg.style.top = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1106 pg.style.width = 100 + '%';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1107 pg.style.height = 100 + '%';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1108 pg.style.margin = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1109 pg.style.padding = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1110 if (isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1111 pg.style.filter = "alpha(opacity=100)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1112 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1113 pg.style.opacity = 1.0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1114 }
pg.style.zIndex = 9999;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1115 pg.style.backgroundColor="rgb(255, 255, 255)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1116 pg.style.textAlign = "center";
pg.style.verticalAlign = "middle";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1117 pg.style.backgroundPosition="center center";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1118 pg.style.backgroundRepeat="no-repeat";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1119 pg.style.backgroundImage="url(ui/graphic_support/progress.gif)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1120 document.getElementsByTagName("body")[0].insertBefore(pg,obj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1121
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1122 var im = document.createElement('img');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1123 im.id = "StartupControl";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1124 im.src = "ui/graphic_support/blank.gif?" + new Date().valueOf();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1125 document.getElementsByTagName("body")[0].appendChild(im);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1126 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1127
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1128 function startup() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1129 createControls(); // hallvord
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1130 slideLabel();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1131 incrementals = createIncrementals();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1132 noteLabel(); // [SI:060104] must follow slideLabel()
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1133 loadNote();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1134 fixLinks();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1135 externalLinks();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1136 fontScale();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1137 if (!isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1138 if(isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1139 document.getElementById('lst').style.backgroundImage = 'none';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1140 document.getElementById('del').style.backgroundImage = 'none';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1141 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1142 document.getElementById('audio').style.backgroundImage = 'none';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1143 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1144 notOperaFix();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1145 }else if(isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1146 var obj = document.getElementById('exit');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1147 obj.firstChild.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1148 document.getElementById('exit').style.opacity = 0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1149 obj = document.getElementById('toggle');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1150 obj.firstChild.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1151 document.getElementById('toggle').style.opacity = 0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1152 document.getElementById('jumplist').style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1153 document.getElementById('list').style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1154 document.getElementById('lst').style.opacity = 0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1155 obj = document.getElementById('audio');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1156 obj.firstChild.style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1157 document.getElementById('audio').style.opacity = 0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1158 document.getElementById('volumelist').style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1159 document.getElementById('volume').style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1160 document.getElementById('vol').style.opacity = 0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1161 document.getElementById('delaylist').style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1162 document.getElementById('delay').style.visibility = 'hidden';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1163 document.getElementById('del').style.opacity = 0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1164 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1165 slideJump();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1166 if (defaultView == 'outline') toggle();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1167 document.onkeyup = keys;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1168 document.onkeypress = trap;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1169 document.onclick = clicker;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1170 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1171
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1172 function preloadImgages() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1173 var temp = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1174 var objects = document.getElementsByTagName('img');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1175 for (var i=0; i < objects.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1176 if(objects[i].src != '') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1177 temp = new Image();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1178 temp.src = objects[i].src;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1179 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1180 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1181 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1182
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1183 function showAll() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1184 var obj1 = GetElementsWithClassName('div','presentation')[0];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1185 if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1186 var obj2 = GetElementsWithClassName('div','layout')[0];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1187 if(!obj1){}else {obj1.style.display = 'block'};
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1188 if(!obj2){}else {obj2.style.display = 'block'};
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1189 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1190
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1191 function dumpProgress() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1192 document.body.removeChild(document.getElementById('StartupControl'));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1193 startup();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1194 preloadImgages();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1195 showAll();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1196 createSoundManagerScript();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1197 shiftOpacity('StartupProgress',1000);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1198 window.setTimeout("removeProgress()",1000);
}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1199
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1200 function removeProgress() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1201 document.body.removeChild(document.getElementById('StartupProgress'));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1202 setListPos(true); // invisible select extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1203 panelSetup();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1204 audioSetup(); // audio extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1205 if(isS2 && firstTime>=1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1206 generateCanvas(); // dynamic canvas extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1207 } firstTime = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1208 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1209 function panelSetup() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1210 if(playPause) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1211 var obj = document.getElementById('pause'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1212 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1213 if(playLoop) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1214 var obj = document.getElementById('loop'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1215 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1216 if(audioSupport && !isIE && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1217 var obj = document.getElementById('audio'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1218 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1219 if(fadeModus && !isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1220 var obj = document.getElementById('fade'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1221 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1222 if(autoMatic) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1223 var obj = document.getElementById('auto'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1224 startPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1225 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1226 if(audioVolume && !isIE && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1227 var idx = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1228 if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1229 else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1230 else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1231 else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1232 else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1233 else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1234 else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1235 else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1236 else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1237 else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1238 else {idx = 10;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1239 document.getElementById('volumelist').selectedIndex = idx;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1240 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1241 if(playDelay && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1242 var idx = 0; var vol = parseInt(playDelay/1000);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1243 if(vol >= 83 && vol <= 90) {idx = 0;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1244 else if(vol >= 68 && vol < 83) {idx = 1;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1245 else if(vol >= 53 && vol < 68) {idx = 2;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1246 else if(vol >= 38 && vol < 53) {idx = 3;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1247 else if(vol >= 25 && vol < 38) {idx = 4;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1248 else if(vol >= 18 && vol < 25) {idx = 5;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1249 else if(vol >= 13 && vol < 18) {idx = 6;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1250 else if(vol >= 8 && vol < 13) {idx = 7;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1251 else {idx = 8;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1252 document.getElementById('delaylist').selectedIndex = idx;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1253 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1254 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1255 // startup process
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1256
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1257 // shutdown process
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1258 function byby() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1259 stopPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1260 if(tranSitions && fadeModus && s5mode && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1261 fadeoutSound(curSoundID,true); // audio support
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1262 var pg = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1263 pg.id = "GoodBy";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1264 pg.style.position = 'absolute';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1265 pg.style.left = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1266 pg.style.top = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1267 pg.style.width = 100 + '%';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1268 pg.style.height = 100 + '%';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1269 pg.style.margin = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1270 pg.style.padding = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1271 if (isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1272 pg.style.filter = "alpha(opacity=0)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1273 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1274 pg.style.opacity = 0.0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1275 }
pg.style.zIndex = 9999;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1276 pg.style.backgroundColor="rgb(255, 255, 255)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1277 pg.style.textAlign = "center";
pg.style.verticalAlign = "middle";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1278 pg.style.backgroundPosition="center center";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1279 pg.style.backgroundRepeat="no-repeat";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1280 pg.style.backgroundImage="url(ui/graphic_support/finish.gif)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1281 document.getElementsByTagName("body")[0].appendChild(pg);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1282 shiftOpacity('GoodBy',1000);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1283 window.setTimeout("history.back()",1000);
}else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1284 stopSound(curSoundID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1285 history.back();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1286 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1287 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1288 // shutdown process
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1289
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1290 // scalable images extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1291 function createDetector() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1292 var em = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1293 em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1294 em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1295 document.getElementsByTagName("body")[0].appendChild(em);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1296 var nop=document.getElementById('EMSizeControl');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1297 if(!nop||findPosX(nop)!=-999) {}else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1298 opac=document.getElementById('EMSizeControl').style.opacity;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1299 empx=document.getElementById('EMSizeControl').offsetHeight;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1300 document.body.removeChild(document.getElementById('EMSizeControl'));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1301 var objects = document.getElementsByTagName('img');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1302 var j = 0; var i = 0; var k = 0; var d; var obj;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1303 for (i=0; i < objects.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1304 if(objects[i].className.match(/^scale/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1305 images[j] = objects[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1306 ++j;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1307 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1308 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1309 var objects = document.getElementsByTagName('canvas'); j = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1310 for (i=0; i < objects.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1311 if(objects[i].className.match(/^scale/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1312 canvas[objects[i].id] = objects[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1313 if(j==0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1314 if(objects[i].getContext) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1315 canvasSupport = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1316 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1317 ++j;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1318 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1319 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1320 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1321 if(canvasSupport!=true) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1322 for (d in canvas) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1323 canvas[d].setAttribute("width",1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1324 canvas[d].setAttribute("height",1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1325 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1326 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1327 var objects = document.getElementsByTagName('table');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1328 j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1329 for (i=0; i < objects.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1330 if(objects[i].className.match(/^piechart/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1331 tmp = objects[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1332 cnt = tmp.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1333 obj = cnt[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1334 if(canvas[obj]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1335 w = canvas[obj].getAttribute("width");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1336 h = canvas[obj].getAttribute("height");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1337 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1338 piecharts[j] = objects[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1339 em = piecharts[j].getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1340 if(em != "") em = "," + em;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1341 piecharts[j].setAttribute("summary", w + "," + h + em);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1342 ++j;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1343 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1344 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1345 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1346 if(objects[i].className.match(/^barchart/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1347 tmp = objects[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1348 cnt = tmp.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1349 obj = cnt[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1350 if(canvas[obj]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1351 w = canvas[obj].getAttribute("width");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1352 h = canvas[obj].getAttribute("height");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1353 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1354 barcharts[k] = objects[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1355 em = barcharts[k].getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1356 if(em != "") em = "," + em;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1357 barcharts[k].setAttribute("summary", w + "," + h + em);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1358 ++k;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1359 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1360 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1361 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1362 if(objects[i].className.match(/^linechart/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1363 tmp = objects[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1364 cnt = tmp.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1365 obj = cnt[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1366 if(canvas[obj]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1367 w = canvas[obj].getAttribute("width");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1368 h = canvas[obj].getAttribute("height");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1369 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1370 linecharts[l] = objects[i];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1371 em = linecharts[l].getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1372 if(em != "") em = "," + em;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1373 linecharts[l].setAttribute("summary", w + "," + h + em);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1374 ++l;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1375 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1376 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1377 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1378 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1379 objects = document.getElementsByTagName('object'); j = 0; i = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1380 for (i=0; i < objects.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1381 if(objects[i].className.match(/^scale/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1382 medias[j] = objects[i]; ++j;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1383 if(!isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1384 if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid"));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1385 if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase"));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1386 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1387 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1388 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1389 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1390 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1391 function extendImgSizes(f) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1392 if(empx>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1393 var q = (f/empx); var w = 0; var h = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1394 for(var i=0; i < images.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1395 w=images[i].getAttribute("width",0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1396 h=images[i].getAttribute("height",0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1397 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@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";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1399 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1400 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1401 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1402 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1403
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1404 function extendCanSizes(f) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1405 if(empx>0 && canvasSupport) {
|
Yutaka_Kinjyo <yutaka@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;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1407 for(var i=0; i < piecharts.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1408 if(piecharts[i].getAttribute("summary")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1409 tmp = piecharts[i].getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1410 cnt = tmp.split(",");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1411 if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1412 if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1413 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1414 tmp = piecharts[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1415 cnt = tmp.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1416 obj = cnt[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1417 canvas[obj].setAttribute("width",Math.floor(w*q));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1418 canvas[obj].setAttribute("height",Math.floor(h*q));
|
Yutaka_Kinjyo <yutaka@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";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1420 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1421 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1422 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1423 for(var i=0; i < barcharts.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1424 if(barcharts[i].getAttribute("summary")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1425 tmp = barcharts[i].getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1426 cnt = tmp.split(",");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1427 if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1428 if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1429 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1430 tmp = barcharts[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1431 cnt = tmp.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1432 obj = cnt[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1433 canvas[obj].setAttribute("width",Math.floor(w*q));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1434 canvas[obj].setAttribute("height",Math.floor(h*q));
|
Yutaka_Kinjyo <yutaka@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";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1436 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1437 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1438 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1439 for(var i=0; i < linecharts.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1440 if(linecharts[i].getAttribute("summary")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1441 tmp = linecharts[i].getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1442 cnt = tmp.split(",");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1443 if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1444 if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1445 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1446 tmp = linecharts[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1447 cnt = tmp.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1448 obj = cnt[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1449 canvas[obj].setAttribute("width",Math.floor(w*q));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1450 canvas[obj].setAttribute("height",Math.floor(h*q));
|
Yutaka_Kinjyo <yutaka@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";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1452 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1453 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1454 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1455 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1456 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1457 function extendObjSizes(f) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1458 if(empx>0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1459 var q = (f/empx); var w = 0; var h = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1460 for(var i=0; i < medias.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1461 w=medias[i].getAttribute("width",0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1462 h=medias[i].getAttribute("height",0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1463 if(w>0&&h>0) {
|
Yutaka_Kinjyo <yutaka@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";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1465 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1466 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1467 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1468 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1469 function findPosX(obj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1470 var posLeft = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1471 while (obj.offsetParent) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1472 posLeft += obj.offsetLeft;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1473 obj = obj.offsetParent;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1474 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1475 return posLeft;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1476 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1477 function findPosY(obj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1478 var posTop = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1479 while (obj.offsetParent) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1480 posTop += obj.offsetTop;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1481 obj = obj.offsetParent;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1482 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1483 return posTop;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1484 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1485 // scalable images extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1486
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1487 // canvas chart extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1488 function deg2rad(degrees) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1489 return Math.PI *degrees/180;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1490 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1491 function rad2deg(radians) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1492 return 180.0 *radians/Math.PI;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1493 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1494 function circle_point_x(radians, diameter) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1495 var x = Math.cos(radians)*(diameter/2);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1496 return x;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1497 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1498 function circle_point_y(radians, diameter) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1499 var y = Math.sin(radians)*(diameter/2);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1500 return y;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1501 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1502 function roundTo(val,dig) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1503 var num = val;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1504 if (val > 8191 && val < 10485) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1505 val = val-5000;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1506 num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1507 num = num+5000;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1508 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1509 num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1510 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1511 return num;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1512 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1513 function searchColor(value) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1514 for (var dat in colorNames) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1515 if(dat==value) return colorNames[dat];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1516 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1517 return false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1518 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1519 function scanColor(value) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1520 if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1521 var val1 = value.substr(1,1).toLowerCase();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1522 var val2 = value.substr(2,1).toLowerCase();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1523 var val3 = value.substr(3,1).toLowerCase();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1524 value = '#' + val1 + val1 + val2 + val2 + val3 + val3;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1525 }
|
Yutaka_Kinjyo <yutaka@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)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1527 var tmp = searchColor(value.toLowerCase());
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1528 if(!tmp) {}else{value = tmp;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1529 }
|
Yutaka_Kinjyo <yutaka@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)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1531 value = '#000000';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1532 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1533 return value.toLowerCase();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1534 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1535 function hex2rgb(val,trans) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1536 if(val.length==7) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1537 var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1538 var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1539 var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1540 return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1541 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1542 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1543 function trim(str) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1544 return (str.replace(/\s+$/,"").replace(/^\s+/,""));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1545 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1546 function roundedRect(ctx,x,y,width,height,radius){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1547 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1548 ctx.moveTo(x,y+radius);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1549 ctx.lineTo(x,y+height-radius);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1550 ctx.quadraticCurveTo(x,y+height,x+radius,y+height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1551 ctx.lineTo(x+width-radius,y+height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1552 ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1553 ctx.lineTo(x+width,y+radius);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1554 ctx.quadraticCurveTo(x+width,y,x+width-radius,y);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1555 ctx.lineTo(x+radius,y);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1556 ctx.quadraticCurveTo(x,y,x,y+radius);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1557 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1558 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1559 function drawString(ctx, text, fc, tx, ty) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1560 var xp = 0; var c = "";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1561 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1562 for (var i = 0; i < text.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1563 c = text[i];
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1565 xp += (signs[c].sw*fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1566 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1567 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1568 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1569 function strokeString(ctx, txt, col, fh, tx, ty) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1570 var fw = fh*0.666666; var lw = fh*0.125;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1571 var ls = lw/2; var cr = lw; var xp = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1572 ctx.lineCap = "round"; ctx.lineJoin = "round"
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1573 ctx.lineWidth = lw; ctx.strokeStyle = col;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1574 for (var i = 0; i < txt.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1575 strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1576 xp += (txt[i]!="."?fw+cr:(fw/2)+cr);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1577 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1578 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1579 function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1580 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1581 switch (symbol) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1582 case "0":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1583 ctx.moveTo(cx+fc,cy+(ch*0.333333));
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1586 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1587 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1588 case "1":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1589 ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1590 ctx.lineTo(cx+cw-fc,cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1591 ctx.moveTo(cx+(cw*0.666666),cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1592 ctx.lineTo(cx+(cw*0.666666),cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1593 ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1594 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1595 case "2":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1596 ctx.moveTo(cx+cw-fc,cy+(ch*0.8));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1597 ctx.lineTo(cx+cw-fc,cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1598 ctx.lineTo(cx+fc,cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1600 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1601 case "3":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1602 ctx.moveTo(cx+(cw*0.1)+fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1603 ctx.lineTo(cx+(cw*0.9)-fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1605 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1606 case "4":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1607 ctx.moveTo(cx+(cw*0.75),cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1608 ctx.lineTo(cx+(cw*0.75),cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1609 ctx.moveTo(cx+cw-fc,cy+(ch*0.666666));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1610 ctx.lineTo(cx+fc,cy+(ch*0.666666));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1611 ctx.lineTo(cx+(cw*0.75),cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1612 ctx.moveTo(cx+cw-fc,cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1613 ctx.lineTo(cx+(cw*0.5),cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1614 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1615 case "5":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1616 ctx.moveTo(cx+(cw*0.9)-fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1617 ctx.lineTo(cx+(cw*0.1)+fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1618 ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333));
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1620 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1621 case "6":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1622 ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1625 ctx.moveTo(cx+(cw*0.9)-fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1626 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1627 case "7":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1628 ctx.moveTo(cx+(cw*0.5),cy+ch-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1629 ctx.lineTo(cx+cw-fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1630 ctx.lineTo(cx+(cw*0.1)+fc,cy+fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1631 ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1632 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1633 case "8":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1634 ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59));
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1637 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1638 ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1639 ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1640 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1641 case "9":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1642 ctx.moveTo(cx+cw-fc,cy+(cw*0.5));
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1645 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1646 case "%":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1647 ctx.moveTo(cx+fc,cy+(ch*0.75));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1648 ctx.lineTo(cx+cw-fc,cy+(ch*0.25));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1649 ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3));
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1651 ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3));
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1653 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1654 case ".":
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1655 ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc);
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1657 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1658 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1659 default:
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1660 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1661 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1662 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1663 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1664 function drawBar(ctx,x,y,width,height,color,value,textdiv){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1665 var rw = width/2; var rh = rw/2;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1666 height = Math.max(height,rw);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1667 var dh = Math.max(height-(2*rh),0.1); var S2L;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1668 var xx = rw/8; var yy = rh/4;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1669 var yo = rh/2; y = y - yy;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1670 if(canvas_noshadow <= 0 && canvas_noshade <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1671 ctx.save();
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1673 S2L.addColorStop(0, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1674 S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1675 S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1676 S2L.addColorStop(1, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1677 ctx.fillStyle = S2L;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1678 ctx.scale(1,0.5);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1679 ctx.translate(xx,y+height+yy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1680 if(isOp){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1681 ctx.fillRect(x,y+yy+height-width,width,width);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1682 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1683 ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1684 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1685 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1686 ctx.restore();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1687 }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1688 ctx.fillStyle = 'rgba(0,0,0,0.2)';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1689 ctx.fillRect(x+yo,y+rh+yo+yo,width,dh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1690 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1691
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1692 if(canvas_noshade <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1693 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1694 ctx.moveTo(x,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1695 ctx.lineTo(x,y+rh+dh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1696 ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1697 ctx.lineTo(x+width,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1698 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1699 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1700 ctx.fillStyle = color;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1701 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1702 S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1703 S2L.addColorStop(0, 'rgba(255,255,255,0.75)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1704 S2L.addColorStop(0.2, 'rgba(255,255,255,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1705 S2L.addColorStop(0.3, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1706 S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1707 S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1708 S2L.addColorStop(1, 'rgba(0,0,0,0.3)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1709 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1710 ctx.moveTo(x,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1711 ctx.lineTo(x,y+rh+dh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1712 ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1713 ctx.lineTo(x+width,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1714 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1715 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1716 ctx.fillStyle = S2L;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1717 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1718 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1719 ctx.moveTo(x+width,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1720 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
|
Yutaka_Kinjyo <yutaka@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)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1722 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1723 ctx.fillStyle = color;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1724 ctx.fill();
|
Yutaka_Kinjyo <yutaka@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));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1726 S2L.addColorStop(0, 'rgba(255,255,255,0.9)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1727 S2L.addColorStop(0.5, 'rgba(255,255,255,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1728 S2L.addColorStop(0.6, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1729 S2L.addColorStop(1, 'rgba(0,0,0,0.3)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1730 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1731 ctx.moveTo(x+width,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1732 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
|
Yutaka_Kinjyo <yutaka@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)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1734 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1735 ctx.fillStyle = S2L;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1736 ctx.fill();
|
Yutaka_Kinjyo <yutaka@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));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1738 S2L.addColorStop(0, 'rgba(255,255,255,0.9)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1739 S2L.addColorStop(0.5, 'rgba(255,255,255,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1740 S2L.addColorStop(0.6, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1741 S2L.addColorStop(1, 'rgba(0,0,0,0.1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1742 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1743 ctx.moveTo(x+width,y+rh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1744 ctx.bezierCurveTo(x+width,y,x,y,x,y+rh)
|
Yutaka_Kinjyo <yutaka@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)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1746 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1747 ctx.strokeStyle = S2L;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1748 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1749 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1750 ctx.fillStyle = color;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1751 ctx.fillRect(x,y+rh+yo,width,dh);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1752 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1753 ctx.lineCap = "butt";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1754 ctx.lineWidth = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1755 ctx.fillStyle = 'rgba(255,255,255,0.5)';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1756 var bw = width; var bh = bw/4;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1757 var th = roundTo(bh*0.75,0); var tf = bh/80;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1758 var c; var w;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1759 if(canvas_notext <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1760 if(canvas_htmltext <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1761 w = '"' + per + '"';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1762 if(w.indexOf(".")!=-1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1763 c = w.length+0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1764 w = parseFloat(c-2)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1765 bw = parseFloat(c-1)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1766 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1767 c = w.length;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1768 w = parseFloat(c-1)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1769 bw = parseFloat(c)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1770 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1771 roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1772 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1773 if(canvas_imgtext <= 0) {
|
Yutaka_Kinjyo <yutaka@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));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1775 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1776 drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1777 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1778 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1779 var bh = bw/3; var th = roundTo(bh*0.75,0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1780 roundedRect(ctx,x,y,bw,bh,bh/4);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1781 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1782 var obj = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1783 obj.style.position = "absolute";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1784 obj.style.overflow = "hidden";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1785 obj.style.textAlign = "center";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1786 obj.style.width = bw + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1787 obj.style.left = x + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1788 obj.style.top = y+((bh-th)/2.2) + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1789 obj.appendChild(document.createTextNode(per + "%"));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1790 textdiv.appendChild(obj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1791 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1792
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1793 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1794 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1795 function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1796 if(fill <= 0){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1797 var style = hex2rgb(color,0.5);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1798 ctx.lineJoin = "miter";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1799 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1800 ctx.moveTo(x,y+height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1801 for (var i = 0; i < array.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1802 ctx.lineTo(x+(i*dist),y+height-(array[i]*factor));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1803 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1804 ctx.lineTo(x+width,y+height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1805 ctx.lineTo(x,y+height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1806 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1807 ctx.fillStyle = style;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1808 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1809 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1810 ctx.lineJoin = "round";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1811 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1812 ctx.moveTo(x,y+height-(array[0]*factor));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1813 for (var i = 0; i < array.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1814 ctx.lineTo(x+(i*dist),y+height-(array[i]*factor));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1815 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1816 ctx.strokeStyle = color;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1817 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1818 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1819 function setDataURL(cid) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1820 if(cid.toDataURL) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1821 var obj = document.getElementById(cid.id + "_link");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1822 if(obj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1823 obj.setAttribute("title", "To Data URL");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1824 obj.setAttribute("target", "_blank");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1825 obj.setAttribute("href", cid.toDataURL());
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1826 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1827 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1828 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1829 function get_input(dataobj,canvasobj,linechart) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1830 var table = document.getElementById(dataobj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1831 var canvas = document.getElementById(canvasobj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1832 var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = "";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1833 if(canvas.getContext) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1834 canvas_width = parseInt(canvas.style.width);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1835 canvas_height = parseInt(canvas.style.height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1836 if(canvas_width >= 16 && canvas_height >= 16) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1837 var tmp = table.getAttribute("summary");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1838 canvas_noshade = 0; canvas_noshadow = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1839 canvas_notext = 0; canvas_imgtext = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1840 canvas_htmltext = 0; canvas_nofill = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1841 if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1842 if(tmp.search(/noshade/) != -1) canvas_noshade = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1843 if(tmp.search(/nofill/) != -1) canvas_nofill = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1844 if(tmp.search(/notext/) != -1) canvas_notext = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1845 if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1846 if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1847 if(table.getAttribute("bgcolor")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1848 canvas_bgcolor = scanColor(table.getAttribute("bgcolor"));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1849 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1850 ChartData = new Array(); colorSlice = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1851 if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1852 for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1853 row = table.getElementsByTagName("tr")[r];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1854 clm = row.getElementsByTagName("td").length;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1855 if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1856 col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1857 nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,""));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1858 if(!linechart) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1859 if(clm > 3) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1860 for(var z = 2; z < clm; z++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1861 val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1862 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1863 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1864 val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,""));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1865 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1866 if(!isNaN(val) && val > 0 && nme != '') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1867 colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1868 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1869 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1870 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1871 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1872 val = 0; i = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1873 if(clm > 3 && nme != '') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1874 ChartData[r-cnt] = new Array();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1875 colorSlice[r-cnt] = col;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1876 for(var z = 2; z < clm; z++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1877 val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1878 if(!isNaN(val) && val >= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1879 ChartData[r-cnt][i] = val; i++;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1880 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1881 ChartData[r-cnt][i] = 0; i++;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1882 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1883 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1884 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1885 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1886 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1887 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1888 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1889 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1890 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1891 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1892 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1893 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1894 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1895 function setPieChart(canvasobj,textobj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1896 var cd = (Math.min(canvas_width,canvas_height)/110)*100;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1897 var cp = cd*0.1; var cr = cd/2;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1898 var sr = cr*0.93; var cw = cd+cp; var ch = cw;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1899 var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1900 for (var data in ChartData) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1901 ct += ChartData[data];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1902 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1903 var poc = ct/100;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1904 var canvas = document.getElementById(canvasobj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1905 if(canvas_htmltext >= 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1906 if(document.getElementById(textobj)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1907 canvas.parentNode.removeChild(canvas.parentNode.lastChild);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1908 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1909 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1910 if(canvas.getContext) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1911 var ctx = canvas.getContext('2d');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1912 if(canvas_bgcolor != "") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1913 ctx.fillStyle = canvas_bgcolor;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1914 ctx.fillRect(0,0,cw,ch);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1915 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1916 ctx.clearRect(0,0,cw,ch);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1917 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1918 if(canvas_noshadow <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1919 if(!isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1920 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1922 B2B.addColorStop(0, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1923 B2B.addColorStop(1, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1925 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1926 ctx.fillStyle = B2B;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1927 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1928 }else {
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1930 B2B.addColorStop(0, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1931 B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1932 B2B.addColorStop(1, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1933 ctx.fillStyle = B2B;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1934 ctx.fillRect(0,0,cw,ch);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1935 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1936 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1937 var val = 0; var deg = 0; var idx = 0; var data;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1938 for (data in ChartData) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1939 val = ChartData[data]; sdeg = deg;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1940 deg += (val/ct)*deg2rad(360); edeg = deg;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1941 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1942 ctx.moveTo(cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1943 ctx.arc(cx,cy,cr,sdeg,edeg, false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1944 ctx.lineTo(cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1945 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1946 ctx.fillStyle = colorSlice[(idx++)];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1947 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1948 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1949 if(canvas_noshade <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1950 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1951 var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1952 W2T.addColorStop(0, 'rgba(255,255,255,0.8)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1953 W2T.addColorStop(1, 'rgba(255,255,255,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1954 ctx.moveTo(cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1955 ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1956 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1957 ctx.fillStyle = W2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1958 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1959 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1960 var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1961 T2B.addColorStop(0, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1962 T2B.addColorStop(1, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1963 ctx.moveTo(cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1964 ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1965 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1966 ctx.fillStyle = T2B;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1967 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1968 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1969 var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1970 B2T.addColorStop(0, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1971 B2T.addColorStop(1, 'rgba(0,0,0,0.6)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1972 ctx.lineWidth = cr*0.07;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1973 ctx.lineCap = "round";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1974 ctx.moveTo(cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1975 ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1976 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1977 ctx.strokeStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1978 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1979 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1980 var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1981 T2W.addColorStop(0, 'rgba(255,255,255,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1982 T2W.addColorStop(1, 'rgba(255,255,255,0.6)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1983 ctx.lineWidth = cr*0.07;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1984 ctx.lineCap = "round";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1985 ctx.moveTo(cx,cy);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1986 ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1987 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1988 ctx.strokeStyle = T2W;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1989 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1990 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1991 ctx.lineCap = "butt";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1992 ctx.lineWidth = 1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1993 ctx.fillStyle = 'rgba(255,255,255,0.5)';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1994 var mpos = 0; var per = 0; var gx = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1995 var gy = 0; var tx = 0; var ty = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1996 var obj = ""; var w = 0; var c = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1997 var bw = cr*0.45; var bh = cr*0.125;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1998 var th = roundTo(bh*0.75,0); var tf = bh/80;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1999 if(canvas_notext <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2000 if(canvas_htmltext >= 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2001 bw = (cr*0.365);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2002 canvas.parentNode.style.position = "relative";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2003 if(!document.getElementById(textobj)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2004 obj = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2005 obj.id = textobj;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2006 obj.style.color = "rgb(0,0,0)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2007 obj.style.fontFamily = "Arial,sans-serif";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2008 obj.style.fontSize = th + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2009 obj.style.zIndex = 11;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2010 canvas.parentNode.appendChild(obj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2011 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2012 var textdiv = document.getElementById(obj.id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2013 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2014 for (data in ChartData) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2015 val = ChartData[data];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2016 sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2017 deg += (val/ct)*deg2rad(360); edeg = deg;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2018 per = roundTo(val/poc,2);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2019 gx = circle_point_x(mpos, cd);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2020 gy = circle_point_y(mpos, cd);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2021 tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2022 ty = (cy+(2*Math.floor(cy + gy)))/3;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2023 if(canvas_htmltext <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2024 w = '"' + per + '"';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2025 if(w.indexOf(".")!=-1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2026 c = w.length+0.5;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2027 w = parseFloat(c-2)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2028 bw = parseFloat(c-1)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2029 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2030 c = w.length;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2031 w = parseFloat(c-1)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2032 bw = parseFloat(c)*parseFloat(48*tf);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2033 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2034 roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2035 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2036 if(canvas_imgtext >= 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2037 drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2038 }else {
|
Yutaka_Kinjyo <yutaka@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));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2040 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2041 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2042 roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2043 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2044 obj = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2045 obj.style.position = "absolute";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2046 obj.style.overflow = "hidden";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2047 obj.style.textAlign = "center";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2048 obj.style.width = bw + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2049 obj.style.left = (tx-(bw/2)) + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2050 obj.style.top = ty-(th/1.8) + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2051 obj.appendChild(document.createTextNode(per + "%"));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2052 textdiv.appendChild(obj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2053 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2054 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2055 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2056 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2057 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2058 function setBarChart(canvasobj,textobj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2059 var iw = canvas_width*0.9; var ih = canvas_height*0.9;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2060 var pw = canvas_width*0.05; var ph = canvas_height*0.05;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2061 var cm = 0; var ct = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2062 for (var data in ChartData) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2063 cm = Math.max(cm,ChartData[data]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2064 ct += ChartData[data];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2065 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2066 var hf = ih/cm; var bs = colorSlice.length;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2067 var bw = iw/(bs*1.1); var poc = ct/100;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2068 var th = roundTo((bw/3)*0.75,0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2069 var canvas = document.getElementById(canvasobj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2070 if(canvas.getContext) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2071 var ctx = canvas.getContext('2d');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2072 if(canvas_bgcolor != "") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2073 ctx.fillStyle = canvas_bgcolor;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2074 ctx.fillRect(0,0,canvas_width,canvas_height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2075 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2076 ctx.clearRect(0,0,canvas_width,canvas_height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2077 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2078 if(canvas_htmltext >= 1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2079 if(document.getElementById(textobj)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2080 canvas.parentNode.removeChild(canvas.parentNode.lastChild);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2081 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2082 canvas.parentNode.style.position = "relative";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2083 if(!document.getElementById(textobj)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2084 var obj = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2085 obj.id = textobj;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2086 obj.style.color = "rgb(0,0,0)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2087 obj.style.fontFamily = "Arial,sans-serif";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2088 obj.style.fontSize = th + "px";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2089 obj.style.zIndex = 11;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2090 canvas.parentNode.appendChild(obj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2091 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2092 var textdiv = document.getElementById(obj.id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2093 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2094 var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2095 for (var data in ChartData) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2096 per = roundTo(ChartData[data]/poc,2);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2097 bh = ChartData[data]*hf;
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2099 t++;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2100 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2101 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2102 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2103 function setLineChart(canvasobj,textobj) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2104 var iw = canvas_width*0.9;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2105 var ih = canvas_height*0.9;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2106 var pw = canvas_width*0.05;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2107 var ph = canvas_height*0.05;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2108 var cm = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2109 for (var i = 0; i < ChartData.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2110 for (var j = 0; j < ChartData[i].length; j++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2111 cm = Math.max(cm,ChartData[i][j]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2112 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2113 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2114 var hf = (ih*0.95)/cm; var bw = iw;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2115 var dw = iw/(ChartData[0].length-1)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2116 var dh = ih/(ChartData[0].length-1)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2117 var ps = Math.min(pw,ph); lw = ps/4;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2118 var B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2119 var canvas = document.getElementById(canvasobj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2120 if(canvas.getContext) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2121 var ctx = canvas.getContext('2d');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2122 if(canvas_bgcolor != "") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2123 ctx.fillStyle = canvas_bgcolor;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2124 ctx.fillRect(0,0,canvas_width,canvas_height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2125 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2126 ctx.clearRect(0,0,canvas_width,canvas_height);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2127 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2128 if(canvas_noshadow <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2129 B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2130 B2T.addColorStop(0, 'rgba(0,0,0,0.0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2131 B2T.addColorStop(1, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2132 ctx.fillStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2133 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2134 ctx.moveTo(pw+ps,ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2135 ctx.lineTo(pw+ps,ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2136 ctx.lineTo(pw+ps+ps,ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2137 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2138 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2139 B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2140 B2T.addColorStop(0, 'rgba(0,0,0,0.5)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2141 B2T.addColorStop(1, 'rgba(0,0,0,0.0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2142 ctx.fillStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2143 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2144 ctx.moveTo(pw+ps+ps,ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2145 ctx.lineTo(pw+iw,ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2146 ctx.lineTo(pw+ps+iw,ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2147 ctx.lineTo(pw+ps,ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2148 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2149 ctx.fill();
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2151 B2T.addColorStop(0, 'rgba(0,0,0,0.0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2152 B2T.addColorStop(1, 'rgba(0,0,0,0.35)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2153 ctx.fillStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2154 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2155 ctx.moveTo(pw+iw,ph+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2156 ctx.lineTo(pw+iw,ph+ps+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2157 ctx.lineTo(pw+iw+ps,ph+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2158 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2159 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2160 B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2161 B2T.addColorStop(0, 'rgba(0,0,0,0.35)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2162 B2T.addColorStop(1, 'rgba(0,0,0,0.0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2163 ctx.fillStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2164 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2165 ctx.moveTo(pw+iw,ph+ps+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2166 ctx.lineTo(pw+iw,ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2167 ctx.lineTo(pw+iw+ps,ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2168 ctx.lineTo(pw+iw+ps,ph+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2169 ctx.closePath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2170 ctx.fill();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2171 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2172 ctx.lineCap = "butt";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2173 ctx.lineWidth = lw/2;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2174 ctx.strokeStyle = "rgba(255,255,255,0.25)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2175 if(canvas_nofill <= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2176 ctx.fillStyle = "rgba(240,240,240,0.8)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2177 ctx.strokeStyle = "rgba(255,255,255,1)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2178 ctx.fillRect(pw,ph,iw,ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2179 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2180 for (var i = 0; i < ChartData[0].length-1; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2181 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2182 ctx.moveTo(pw+(i*dw),ph);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2183 ctx.lineTo(pw+(i*dw),ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2184 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2185 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2186 for (var i = 1; i < ChartData[0].length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2187 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2188 ctx.moveTo(pw,ph+(i*dh));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2189 ctx.lineTo(pw+iw,ph+(i*dh));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2190 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2191 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2192 ctx.lineWidth = lw;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2193 var cc = ""; var bh = 0; var idx = 0; var t = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2194 for (var i = 0; i < ChartData.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2195 for (var j = 0; j < ChartData[i].length; j++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2196 t = Math.max(t,ChartData[i][j]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2197 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2198 bh = t*hf; cc = colorSlice[(idx++)];
|
Yutaka_Kinjyo <yutaka@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);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2200 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2201 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2202 ctx.moveTo(pw,ph);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2203 ctx.lineTo(pw,ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2204 ctx.lineTo(pw+iw+(lw/2),ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2205 ctx.strokeStyle = "rgba(48,48,48,1)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2206 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2207 ctx.lineWidth = lw/2;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2208 B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2209 B2T.addColorStop(0, 'rgba(0,0,0,1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2210 B2T.addColorStop(0.5, 'rgba(0,0,0,1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2211 B2T.addColorStop(1, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2212 ctx.strokeStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2213 for (var i = 0; i < ChartData[0].length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2214 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2215 ctx.moveTo(pw+(i*dw),ph+ih);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2216 ctx.lineTo(pw+(i*dw),ph+ih+ps);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2217 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2218 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2219 B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2220 B2T.addColorStop(0, 'rgba(0,0,0,0)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2221 B2T.addColorStop(0.5, 'rgba(0,0,0,1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2222 B2T.addColorStop(1, 'rgba(0,0,0,1)');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2223 ctx.strokeStyle = B2T;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2224 for (var i = 1; i < ChartData[0].length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2225 ctx.beginPath();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2226 ctx.moveTo(pw-ps,ph+(i*dh));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2227 ctx.lineTo(pw,ph+(i*dh));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2228 ctx.stroke();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2229 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2230 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2231 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2232 function generateCanvas() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2233 if(canvasSupport) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2234 var canvasID; var tdataID; var textID;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2235 var tmp; var dat; var i; var j;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2236 for(i=0; i < piecharts.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2237 tmp = piecharts[i].id.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2238 tdataID = piecharts[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2239 canvasID = tmp[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2240 textID = tmp[0] + "_text";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2241 if(document.getElementById(tdataID)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2242 get_input(tdataID,canvasID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2243 if(colorSlice.length > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2244 j = 0; dat = ""; for(dat in ChartData) {j++; }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2245 if(j > 0 && j == colorSlice.length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2246 setPieChart(canvasID,textID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2247 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2248 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2249 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2250 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2251 for(i=0; i < barcharts.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2252 tmp = barcharts[i].id.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2253 tdataID = barcharts[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2254 canvasID = tmp[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2255 textID = tmp[0] + "_text";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2256 if(document.getElementById(tdataID)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2257 get_input(tdataID,canvasID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2258 if(colorSlice.length > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2259 j = 0; dat = ""; for(dat in ChartData) {j++; }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2260 if(j > 0 && j == colorSlice.length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2261 setBarChart(canvasID,textID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2262 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2263 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2264 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2265 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2266 for(i=0; i < linecharts.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2267 tmp = linecharts[i].id.split("_");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2268 tdataID = linecharts[i].id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2269 canvasID = tmp[0] + "_canvas";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2270 textID = tmp[0] + "_text";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2271 if(document.getElementById(tdataID)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2272 get_input(tdataID,canvasID,true);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2273 if(colorSlice.length > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2274 if(ChartData.length == colorSlice.length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2275 setLineChart(canvasID,textID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2276 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2277 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2278 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2279 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2280 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2281 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2282 // canvas chart extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2283
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2284 // invisible select extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2285 function setListPos(opt) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2286 if(!isIE) { //(degrade IE)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2287 var ref = document.getElementById('list');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2288 var x = findPosX(ref); var y = findPosY(ref);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2289 var obj = document.getElementById('jumplist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2290 obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2291 var vol = document.getElementById('volumelist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2292 ref = document.getElementById('volume');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2293 x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2294 vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2295 var del = document.getElementById('delaylist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2296 ref = document.getElementById('delay');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2297 x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2298 del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2299 var pnl = document.getElementById('navLinks');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2300 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2301 if(opt) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2302 if(isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2303 //(degrade IE)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2304 //pnl.style.filter = "alpha(opacity=80)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2305 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2306 obj.style.opacity = 0.0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2307 vol.style.opacity = 0.0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2308 del.style.opacity = 0.0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2309 pnl.style.opacity = 0.8;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2310 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2311 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2312 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2313 // invisible select extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2314
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2315 // transition extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2316 function switchFade() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2317 if(tranSitions && s5mode && fadeModus) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2318 fadeModus = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2319 playDelay = playDelay-(2*fadeDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2320 var obj = document.getElementById('fade'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2321 }else if(tranSitions && s5mode && !fadeModus) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2322 fadeModus = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2323 playDelay = playDelay+(2*fadeDuration);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2324 var obj = document.getElementById('fade'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2325 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2326 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2327 }
|
Yutaka_Kinjyo <yutaka@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++;
}
}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2329 }
function changeOpac(opacity, ids) {
var obj = document.getElementById(ids);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2330 if (isIE) {
|
Yutaka_Kinjyo <yutaka@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;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2332 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2333 var currentOpac = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2334 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2335 if(currentOpac == 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2336 opacity(ids, currentOpac, 100, millisec);
} else if(currentOpac > 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2337 opacity(ids, currentOpac, 0, millisec);
}
}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2338 // transition extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2339
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2340 // autoplay extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2341 function autoPlay() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2342 if (s5mode && autoMatic && !playPause) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2343 if ((snum >= (smax-1)) && playLoop) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2344 goTo(0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2345 autoRun = setTimeout('autoPlay();',playDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2346 }else if ((snum >= (smax-1)) && !playLoop) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2347 stopPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2348 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2349 if (!incrementals[snum] || incpos >= incrementals[snum].length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2350 go(1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2351 if (incrementals[snum].length >0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2352 clearTimeout(autoRun); autoRun = null;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2353 incrDelay = parseInt(playDelay/(incrementals[snum].length+1));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2354 remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2355 autoRun = setTimeout('autoPlayIncr()',incrDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2356 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2357 } else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2358 clearTimeout(autoRun); autoRun = null;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2359 incrDelay = incrDuration;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2360 remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2361 autoRun = setTimeout('autoPlayIncr()',incrDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2362 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2363 autoRun = setTimeout('autoPlay();',playDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2364 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2365 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2366 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2367 function autoPlayIncr() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2368 if (incpos < incrementals[snum].length) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2369 subgo(1);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2370 autoRun = setTimeout('autoPlayIncr();',incrDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2371 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2372 autoRun = setTimeout('nop();',remainDer);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2373 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2374 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2375 function nop() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2376 // no operation dummy
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2377 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2378 function togglePlay() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2379 if (autoRun && s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2380 stopPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2381 }else if (!autoRun && s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2382 startPlay();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2383 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2384 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2385 function stopPlay() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2386 if (autoRun && s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2387 clearTimeout(autoRun); autoRun = null;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2388 autoMatic = false; playPause = false; var obj = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2389 obj = document.getElementById('auto'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2390 obj = document.getElementById('pause'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2391 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2392 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2393 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2394 function startPlay() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2395 if (!autoRun && s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2396 playPause = false; autoMatic = true; var obj = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2397 obj = document.getElementById('auto'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2398 obj = document.getElementById('pause'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2399 autoRun = setTimeout('autoPlay();',playDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2400 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2401 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2402 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2403 function pausePlay() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2404 if (s5mode && autoMatic) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2405 if (playPause) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2406 playPause = false; autoRun = setTimeout('autoPlay();',playDelay);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2407 var obj = document.getElementById('pause'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2408 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2409 if (autoRun){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2410 clearTimeout(autoRun); autoRun = null; playPause = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2411 var obj = document.getElementById('pause'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2412 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2413 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2414 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2415 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2416 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2417 function switchLoop() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2418 if(s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2419 if (playLoop) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2420 playLoop = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2421 var obj = document.getElementById('loop'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2422 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2423 playLoop = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2424 var obj = document.getElementById('loop'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2425 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2426 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2427 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2428 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2429 function setDelay() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2430 var val = document.getElementById('delaylist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2431 if(s5mode) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2432 var delay = Math.max(5,Math.min(parseInt(val.value),300));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2433 playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2434 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2435 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2436 // autoplay extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2437
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2438 // audio extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2439 function createSoundManagerScript() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2440 if(typeof soundManager=="undefined") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2441 onerrorSM2();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2442 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2443 var script=document.createElement('SCRIPT');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2444 var tx=document.createTextNode("soundManager.createMovie();");
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2445 script.appendChild(tx);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2446 document.getElementsByTagName("body")[0].appendChild(script);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2447 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2448 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2449 //soundManager.onload = function() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2450 function onloadSM2() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2451 if(!isIE) { //(degrade IE)
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2452 swfUnloaded = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2453 preloadSounds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2454 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2455 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2456 //soundManager.onerror = function() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2457 function onerrorSM2() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2458 if(typeof soundManager!="undefined") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2459 soundManager.destruct;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2460 delete soundManager;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2461 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2462 audioSupport = false; swfUnloaded = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2463 if(audioError && !isIE && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2464 var dv = document.createElement('div'); dv.id = "guru";
|
Yutaka_Kinjyo <yutaka@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!');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2466 d2.appendChild(tx); document.getElementById('slide0').appendChild(dv);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2467 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2468 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2469 function audioSetup() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2470 if(sound[0]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2471 playSound(0);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2472 }else if(sound[bgSoundItem] && !sound[0]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2473 playSound(bgSoundItem);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2474 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2475 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2476 function fadeoutSound(ids, option) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2477 if(curSoundID >= 0 && !swfUnloaded) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2478 if(isNaN(ids)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2479 if(ids == "bgSound") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2480 var cnum = parseInt(bgSoundItem);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2481 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2482 for (var i = 0; i < (sound.length-1); i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2483 if(sound[i] && ids == sound[i]["id"]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2484 var cnum = i;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2485 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2486 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2487 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2488 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2489 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2490 var cnum = ids;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2491 ids = sound[cnum]["id"];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2492 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2493 var vol = getMaxVolume(sound[cnum]["volume"]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2494 var millisec = fadeDuration;
|
Yutaka_Kinjyo <yutaka@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++;
}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2496 if(option) setTimeout("stopSound('"+ids+"')",millisec);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2497 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2498 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2499 function fadeout(volume, id) {
soundManager.setVolume(id,volume);
}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2500 function stopSound(ids) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2501 var sid;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2502 if(isNaN(ids)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2503 sid = ids;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2504 }else if(sound[ids]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2505 sid = sound[ids]["id"];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2506 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2507 if(sid!='' && curSoundID >= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2508 soundManager.stop(sid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2509 curSoundID = -1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2510 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2511 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2512 function toggleSounds() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2513 if(audioSupport && !swfUnloaded) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2514 stopAllSounds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2515 }else if (!audioSupport && !swfUnloaded) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2516 allowSounds();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2517 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2518 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2519 function allowSounds() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2520 if(!swfUnloaded) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2521 audioSupport = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2522 var obj = document.getElementById('audio'); changeClass(obj,'ison');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2523 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2524 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2525 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2526 function stopAllSounds() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2527 if(curSoundID >= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2528 stopSound(curSoundID);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2529 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2530 soundManager.stopAll();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2531 curSoundID = -1;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2532 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2533 audioSupport = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2534 var obj = document.getElementById('audio'); changeClass(obj,'isoff');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2535 currentSlide();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2536 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2537 function playSound(id) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2538 if(audioSupport && !swfUnloaded) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2539 var url, sid, vol, lps, cnum;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2540 if(isNaN(id)) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2541 sid = id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2542 if(sid == "bgSound") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2543 cnum = parseInt(bgSoundItem);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2544 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2545 cnum = getSoundID(id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2546 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2547 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2548 cnum = parseInt(id);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2549 if(sound[cnum]) sid = sound[cnum]["id"];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2550 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2551 if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2552 url = sound[cnum]["url"];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2553 vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2554 lps = (sound[cnum]["loops"])?true:false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2555 if(lps) {
|
Yutaka_Kinjyo <yutaka@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"])});}});
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2557 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2558 soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}});
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2559 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2560 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2561 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2562 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2563 function getSoundID(str) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2564 for (var i = 0; i < (sound.length-1); i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2565 if(sound[i] && str == sound[i]["id"]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2566 var id = i;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2567 break;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2568 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2569 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2570 return id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2571 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2572 function setVolume() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2573 var vol = document.getElementById('volumelist');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2574 if(audioSupport && !swfUnloaded) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2575 audioVolume = parseInt(vol.value);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2576 if(curSoundID >= 0) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2577 if(sound[curSoundID]) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2578 var sid = sound[curSoundID]["id"];
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2579 var vid = getMaxVolume(sound[curSoundID]["volume"]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2580 soundManager.setVolume(sid,vid);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2581 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2582 }
}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2583 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2584 function getMaxVolume(value) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2585 if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;}
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2586 return Math.max(0,Math.min(parseInt(value*factor),audioVolume));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2587 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2588 function preloadSounds() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2589 var temp = ''; var parm = ''; var t = ''; var cl = '';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2590 var objects = document.getElementsByTagName('object');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2591 for (var i=0; i < objects.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2592 if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2593 objects[i].width = 0; objects[i].height = 0;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2594 if(objects[i].parentNode.tagName == 'DIV') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2595 cl = objects[i].parentNode.className.toLowerCase();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2596 if(cl == 'presentation' || cl == 'slide') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2597 if(cl == 'presentation') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2598 t = parseInt(bgSoundItem);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2599 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2600 t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2601 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2602 sound[t] = new Object();
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2603 if(t < bgSoundItem) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2604 sound[t]["id"] = objects[i].parentNode.id;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2605 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2606 sound[t]["id"] = "bgSound";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2607 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2608 sound[t]["url"] = objects[i].data;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2609 sound[t]["volume"] = 100; sound[t]["loops"] = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2610 if(objects[i].archive != '') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2611 parm = objects[i].archive.toLowerCase().split(',');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2612 for (var j=0; j < parm.length; j++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2613 if(parm[j] == 'loop') sound[t]["loops"] = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2614 if(parm[j].search(/^volume/) != -1) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2615 var tmp = parm[j].split(':');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2616 sound[t]["volume"] = parseInt(tmp[1]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2617 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2618 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2619 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2620 soundManager.createSound(sound[t]["id"],sound[t]["url"]);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2621 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2622 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2623 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2624 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2625 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2626 // audio extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2627
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2628 // help extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2629 function createHelpReq() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2630 if(!document.getElementById("HelpReq")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2631 var obj = document.getElementsByTagName("body")[0].firstChild;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2632 var pg = document.createElement('div');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2633 pg.id = "HelpReq";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2634 if (pg.addEventListener) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2635 pg.addEventListener("onclick",dumpHelpReq,false);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2636 } else if (pg.attachEvent) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2637 pg.attachEvent("onclick",dumpHelpReq);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2638 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2639 pg.style.position = 'absolute';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2640 pg.style.left = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2641 pg.style.top = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2642 pg.style.width = 100 + '%';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2643 pg.style.height = 100 + '%';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2644 pg.style.margin = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2645 pg.style.padding = 0 + 'px';
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2646 if (isIE) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2647 pg.style.filter = "alpha(opacity=90)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2648 }else {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2649 pg.style.opacity = 0.9;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2650 }
pg.style.zIndex = 9999;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2651 pg.style.backgroundColor="rgb(64,64,64)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2652 pg.style.textAlign = "center";
pg.style.verticalAlign = "middle";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2653 pg.style.backgroundPosition="center center";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2654 pg.style.backgroundRepeat="no-repeat";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2655 pg.style.backgroundImage="url(ui/graphic_support/help.jpg)";
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2656 document.getElementsByTagName("body")[0].insertBefore(pg,obj);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2657 if(document.getElementById("HelpReq")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2658 helpmode = true;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2659 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2660 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2661 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2662 function dumpHelpReq() {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2663 if(document.getElementById("HelpReq")) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2664 document.body.removeChild(document.getElementById('HelpReq'));
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2665 helpmode = false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2666 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2667 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2668 // help extension
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2669
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2670 //DEBUG
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2671 function ConsoleLog(value) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2672 if(window.console) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2673 window.console.log(value);
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2674 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2675 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2676 //DEBUG
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2677
|
Yutaka_Kinjyo <yutaka@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>');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2679
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2680 if(!isIE && !isOp) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2681 document.write('<script type="text/javascript" src="ui/audio_support/soundmanager2.js"></script>');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2682 if(typeof soundManager!="undefined") {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2683 var allMetas = document.getElementsByTagName('meta');
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2684 for (var i = 0; i< allMetas.length; i++) {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2685 if (allMetas[i].name == 'audioDebug') {
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2686 var audioDebug = (allMetas[i].content == "true") ? true : false;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2687 soundManager.defaultOptions.debugMode = audioDebug;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2688 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2689 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2690 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2691 }
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2692
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2693 window.onload = createSlideShow;
|
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2694 window.onresize = function(){setTimeout('windowChange()',5);} |